THE PROTOCOL AND ITS MAIN FEATURES
What is the principal function of the fast-path?
The fast-path offers both high throughput and instant confirmation of transactions.
What is the principal function of the slow-chain?
The “slow chain” makes sure that no damage can be done to the blockchain, and then to recover in a provably sound manner.
What are the principal actors of the Fast path?
- The Committe: the fast path protocol is executed by a committee of stake-holders.
- The Accelerator: the fast path protocol is coordinated by a central authority called the Accelerator. The Accelerator ’s job is to linearize transactions and data (which is a task that is hard to do in a decentralized way, yet easy for a central authority).
Under what conditions the slow chain has to be used?
- The Accelerator misbehaves or is under attack.
- Less than 3/4 of the Committee are working correctly.
- Network conditions are bad.
How transactions are instantly finalized through the fast-path?
S1: the leader proposes transactions with sequence (seq) numbers and sends them to a group of committee players.
S2: members of the committee acknowledge transactions they receive with seq numbers, sign them and send them back to the leader. If committee players receive more than one transaction with the same seq number, they only sign one.
S3: if a transaction has enough acknowledgments, it is viewed as confirmed.
S4: transactions require slightly more than 2/3 acknowledgments to be confirmed.
S5: once conditions are met, the transactions are CONFIRMED.
A more in-depth explanation of how transactions are instantly finalized.
1- All new transactions are sent to the Accelerator.
2- The Accelerator bundles up transactions into micro-blocks, signs each micro-block with increasing sequence numbers seq, and sends out the signed micro-block to a “committee” of players.
3- The committee members acknowledge all Accelerator-signed micro-blocks by signing them, but only acknowledge at most one micro-block per sequence number.
4- When a micro-block has received acknowledgements (i.e., signatures) from more than 3/4 of the committee members, the micro-block is notarized.
5- Participants can directly output their longest sequence of consecutive (in terms of their sequence numbers) notarized micro-blocks?—?all transactions contained in them are considered confirmed.
How does the fast-path recover from faults?
If a committee member sees some transactions on the slow-chain that have not gotten notarized within a sufficiently long amount of time, they know that the Accelerator (or a large fraction of the committee members) must be cheating or offline. At this point, the committee member will stop signing heartbeat messages. To correct this, the following occurs:
1- As long as just 1/4 of the committee is honest, a cheating Accelerator will be “choked”, so no new heartbeats by Accelerator will be notarized.
2- Everyone that observes the slow-chain will enter the “cool-down” phase and subsequently the slow mode.
3- Once it has entered the slow mode where all transactions are being posted on the slow-chain, the simplest method to reboot the fast path is by posting a “summon” message to the slow-chain to summon committee members to retry at a certain point of time (Thunder nodes can use the slow-chain to discuss and vote on how and when to rebootstrap).
How to select a Committee?
There are many approaches for selecting the committee among the stake-holders:
1- Thunder requires anyone who wishes to serve on the committee to put down an escrow on to the slow-chain.
2- Thunder sub-selects a group of 500 members from the entities having put down an escrow on the slow-chain.
3- The selection is performed by an algorithm (method from their earlier work Snow White).
Thunder selects the members who have put down the most amount of stake, since we would like to encourage more stake to join the committee and protect the fast path.
The actual algorithm Thunder implemented is motivated by this idea but a carefully crafted variant such that Thunder can prove that the equilibrium behavior satisfies certain desirable properties.
What are the main features of the first Thunder release?
- It will be fully EVM (Ethereum Virtual Machine) compatible to enable direct migration of existing Ethereum DApps.
- Ethereum’s blockchain will be the underlying “slow-chain”.
- Thunder will rely on a single Accelerator; in later versions, the system will be extended to support multiple shards, each having their own dedicated Accelerator.