mirror of
https://github.com/serai-dex/serai.git
synced 2025-01-09 04:19:33 +00:00
997dd611d5
Previously, Tendermint needed to be live more than it needed to be correct. Under the original intention for it, correctness would fail if any coin desynced, which would cause the node to fail entirely. By accepting a supermajority's view of state, despite its own, a single coin's failure would only lead to inability to participate with that single coin. Now that Tendermint is solely for Tributary, nodes should halt a coin-specific chain if their view of the chain differs. They are unable to meaningless participate regardless. This also means a supermajority of validators can no longer fake messages from other validators, allowing the Tributary chain to use uniform weights with much less impact. There is still enough impact they can't be used (ability to cause a fork), yet they should allow uniform block production (as that's solely a DoS concern). While we prior could've simply additionally checked signatures, add_block's lack of a failure case would've meant it had to panic. This would've been a DoS possible a minority-weight *which affected the entire coordinator* and therefore *the entire validator for all coins*. |
||
---|---|---|
.. | ||
src | ||
tributary | ||
Cargo.toml | ||
LICENSE | ||
README.md |
Coordinator
The Serai coordinator communicates with other coordinators to prepare batches for Serai and sign transactions.
In order to achieve consensus over gossip, and order certain events, a micro-blockchain is instantiated.