Closed jsoares closed 2 years ago
We support the use of the same Tendermint blockchain by several subnets, right? And here we are registering a new subnet to the consensus. The assumption here is that only the owner of the node can tailor this registration message, right? Why I ask is because I am wondering how critical would it be for a rogue node to register a subnet he is not part of (or that doesn't even exist yet).
Yes, you are right. We register a Tendermint blockchain offset for a new subnet. Suppose we ran a Tendermint blockchain and a root subnet, then root's subnet offset may be 3 blocks. And then, after an hour, we decided to register a new subnet, its offset is 1000. If we don't use offsets then the second subnet will have to access all previous Tendermint blocks. So, yes, it is critical. A rogue node can register a network earlier than it would be registered, e.g. at epoch h. Then when the network is instantiated by real participants at epoch H they will have to process all blocks from epoch h to epoch H.
Way forward
The project wrapped up with the implementation demoed in the initial B3 project demo. See respective issue for more details: https://github.com/protocol/ConsensusLab/issues/6.
🥳
Description
We intend to rapidly experiment with the hierarchical consensus architecture by integrating an existing, production-ready BFT implementation as a possible subnet consensus protocol. After analysing several options, we decided on Tendermint as a proof-of-concept.
This project will, therefore, consist of implementing, documenting, and evaluating Tendermint as a consensus layer for Eudico subnets. Tendermint Core will be used in the service-based model, rather than in the traditional ABCI-based model.
In our approach, Tendermint Core acts as a message system providing BFT total order broadcast of input messages without any modifications of the Filecoin state. Each Eudico node interacts with a trusted sidecar Tendermint node A Eudico node sends input messages to the corresponding Tendermint node; Tendermint validates them and ensures that the messages are recorded on every Tendermint node in the same order. The Eudico node then retrieves Tendermint blocks, perform static and semantic validation, and generates a Filecoin block with the verified messages, which can be applied directly.
Scope
Dependencies
4
Resources
Talks
2022-02-07 ConsensusLab Team Week 22Q1: Y5 update
Demos
2022-02-10 Y5 Tendermint subnet (Denis)
2022-02-21 Y5 Tendermint fault injection (Denis)
2022-02-28 Y5 Tendermint fault injection (Denis)