Tempo [ /ˈtɛmˌpoʊ/ ] is a consensus mechanism integral to the fifth iteration of Radix. Tempo was designed for a pre-sharded data structure, allowing for the grouping of related transactions. Tempo is Byzantine Fault Deterministic as opposed to the more common Byzantine Fault Tolerant.
LEDGER | |
Sybil Protection | Mass |
State Model | Sharded (18.4 * 10^18 shards) |
Consensus Mechanism | |
Fault Tolerance | Byzantine Fault Deterministic |
Execution Environment | Radix Engine v1 |
Validator Node Cap | n/a |
State Model
A Tempo ‘Universe’ is an instance of a digital ledger partitioned into 18.4 quintillion () shards, with each shard deterministically corresponding to an address, consisting of a public key and a checksum. Any discrete state change - such as a transaction or a message - is called a ‘Particle’, making the global ledger state a sum of all particles.
Nodes
Tempo nodes are responsible for the execution and validation of events on the network. Nodes can be configured across any subset of the shardspace - from a single shard to the global ledger - which makes validation possible for low-power devices such as the Internet of Things (IoT).
Events
For any event such as a message or transaction, the relevant particles are built by the nodes responsible for the relevant shards and packaged into containers called ‘atoms’ to be processed atomically by validator nodes. Almost all transactions involve at least two shards because the number of shards makes it extremely unlikely that any two randomly generated addresses will live in the same shard.
- Nodes maintaining relevant shards chosen to create temporal proofs.
- Commitment: Node creates a merkle hash of all recent events.
History
On June 11th, 2019, engineers from RDX Works replayed 10 years worth of Bitcoin transactions on the Radix ledger in under 30 minutes using the Tempo consensus mechanism.
The invention of Tempo led to Dan Hughes being accepted into Y Combinator in 2017.
Problems
The Weak Atom Problem
The Weak Atom Problem meant it was possible to manufacture substates that were validated by very few nodes, leading to them not able to be considered final.
Sybil Attacks
Tempo employed a Sybil protection mechanism called Mass, which increased the relative weight of validator nodes based on their history of good behavior. This theoretically allowed for a secondary market to emerge whereby reputation - and hence, voting power - could be purchased by malicious actors.
Further Reading
- https://medium.com/paradigm-research/radix-detailed-review-on-the-project-248a11c0c710
- https://dev.to/radixdlt/knowledgebase-update-atom-model-263i