Autonity is an EVM-based blockchain protocol implementing the Tendermint BFT consensus algorithm. An Autonity blockchain provides immediate transaction finality and high performance over a dynamically changing validator committee.
Autonity is designed to serve as Layer I ledger infrastructure for decentralised clearing and settlement protocols employing digital assets and fiduciary computations. Fiduciary computations are new financial primitives that replace the clunky patchwork of intermediation that stands between the counterparts to a trade and the trade's settlement.
Key protocol features¶
- deterministic and fast transaction finality
- high transaction performance (throughput and latency)
- dynamic committee selection and weighted consensus voting (Tendermint)
- decentralised fault detection and validator accountability
- configurable, decentralised validator set permissioning
- configurable economic mechanism and protocol crypto-asset(s)
- unpermissioned peer-to-peer overlay network over public internet
- provable safety and liveness guarantees
The validator set is made up of many nodes that are independently operated by members. Members can add their own full nodes to the network through an on-chain mechanism. Such a mechanism could be configured as an unpermissioned, stake-based sybil-resistant solution for a public blockchain. However, in Autonity, that configuration is a special case in a broader mechanism design space and not prioritised in Autonity's roadmap (public chain design goals are well served by other projects).
Autonity prioritises member chain configurations, where the underlying assumption of the blockchain's environment is that the operators of validator nodes make up a community of known parties who have committed to a member-admission procedure implemented in a smart contract. In stark contrast with typical "Enterprise Blockchain" deployments, a member chain's validator set permissioning does not rely on a single point-of-failure or control (e.g., a network operator). Instead, a member chain operates as a DAO, which can be endowed with a limited-purpose legal personality to provide a sound legal basis for system governance and limited liability to members.
Validators incur non-trivial costs to ensure that the nodes they operate are always live and correctly follow the protocol. A multi-party, decentralised system, risks a tragedy-of-the-commons where node operators under-invest in their operations infrastructure. The solution to this problem is an efficient and decentralised mechanism for detecting and punishing faulty nodes to align node operators' incentives to the service objectives of the blockchain.
Autonity contains a module for byzantine fault detection based on cutting-edge research. Proof of certain classes of byzantine behaviour can be constructed by non-faulty validator nodes and submitted to the blockchain, which collects an economic penalty from the operator of the faulty node.
This is analogous to "slashing" in some proof-of-stake blockchains, but Autonity's goals with respect to fault detection are more specific and based on different assumptions. Namely, validator bonding does not serve the dual-purpose of being a sybil-resistance mechanism as well. This allows Autonity to deliver decentralised systems that more optimally align the economic incentives of node operators with liveness, safety and security objectives.
- Autonity whitepaper (detailed but informal protocol description)
- Autonity yellowpaper (semi-formal protocol specification)