Skip to main content

AuRa with POSDAO Consensus

The merge

Gnosis transitioned to PoS using the GNO Token, this page defines the pre-merge consensus model. Learn more about The Merge.

Consensus refers to the agreement process between nodes in a network. The nodes must agree on which transactions to include in the next block on the chain before these transactions are committed.

There are 2 aspects to the process - the actual consensus mechanism to add transactions to blocks, and sybil protection, which prevents malicious actors.

Gnosis currently uses Parity's AuRa (Authority Round) proof-of-authority consensus model to append blocks to Gnosis. In this model, selected validators (selected through the POSDAO dPOS process) take turns signing blocks. A signed block is broadcast to all validators, and if the majority agree it is valid, it is added to the chain. A new block is added every 5 seconds, regardless of whether any transactions occurred during that time. Note: POSDAO offers a pluggable consensus feature, so different or additional consensus processes may be added in the future.

Gnosis uses delegated Proof of Stake to provide sybil protection. Validators and delegators must add GNO to the protocol. If the nodes participate as expected, they receive additional GNO rewards. If they engage in malicious behavior (like not revealing random numbers) the validator is banned and their GNO (and delegators GNO) is frozen. These behavioral rewards act as incentives to promote an honest group of validators participating in consensus.

Learn more in the Whitepaper

View current Gnosis validator pools in the BlockScout Staking Application.

info

Finality delay A minimum of n_v/2 + 1 validations being required, with n_v the number of validators. At least 2(n_v/2 + 1) = n_v + 2 message round trips are therefore necessary before a block is finalized by all validators. In the worst case, after exactly n_v validations, the delay will instead be of 2n_v + 2. For Gnosis running with 19 validators, this is the equivalent of 40 blocks.