Skip to content

Commit 5c618b4

Browse files
author
tac0turtle
committed
add x/attestion section
1 parent 6c4cd5d commit 5c618b4

1 file changed

Lines changed: 4 additions & 7 deletions

File tree

specs/lazy-adr/adr-022-validator-network.md

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -13,10 +13,9 @@ The original design and implementation was centered around IBC and adding a extr
1313

1414
## Decision
1515

16-
Rollkit will introduce a validator network in which there will be a set of validators verifying execution and construction. There are two options for how this can be done, blocking and non-blocking.
16+
Rollkit will introduce a validator network in which there will be a set of validators verifying execution and construction.
1717

18-
- Blocking: The blocking design is centered around the propser waiting for signatures to return to it in order to consider the block having a soft confirmation.
19-
- Non-blocking: The non-blocking design is centered around the proposer producing blocks as fast as possible but asking for signatures after fact. This design is optimized for block production performance. The validators will need to submit there attestations as a transaction to the state machine before the end of the epoch. If a validator does not submit their attesttation within the epoch, they will not be slashed but instead they will not get a reward.
18+
- The design is centered around the proposer producing blocks as fast as possible but asking for signatures after fact. This design is optimized for block production performance. The validators will need to submit there attestations as a transaction to the state machine before the end of the epoch. If a validator does not submit their attesttation within the epoch, they will not be slashed but instead they will not get a reward.
2019

2120
### High-level workflow
2221

@@ -43,15 +42,13 @@ The attester layer can plug into different validator‑set providers. Below we o
4342

4443
For the Cosmos SDK the attester system will be located in the ABCI execution environment.
4544

46-
OPEN QUESTIONS:
47-
48-
- grpc based or libp2p based
49-
5045
- The staking module is the single source of truth for membership and voting power.
5146
- Create / Edit / Unbond msgs emit ValidatorSetUpdate events every block; sequencer & attesters rebuild the bitmap each height.
5247
- Joining — once bonded, a validator runs the attester daemon.
5348
- Leaving — when voting power reaches 0 the sequencer drops the validator from the next bitmap, ignoring late sigs.
5449

50+
The design adds a dedicated x/attestation Cosmos-SDK module that intercepts every IBC message in the AnteHandler, parks it in a state-kept queue, and releases it only after ≥ ⅔ validator voting-power has submitted attestations. Validators sign a hash of the queued tx; the module tracks signatures with a compact bitmap, finalises transactions in EndBlock (executing them through the normal IBC router), rewards timely signers, and optionally jails low-participation validators. Parameters cover quorum fraction, attestation window, pruning window, and queue size, keeping the solution pluggable and light-touch on existing IBC code.
51+
5552
#### Reth/EVM Rollup
5653

5754
- Stake manager contract holds the validator stake/weight and maps an address to a key. It will emit `StakeSnapshot(epoch)` events that will be consumed by the consensus client.

0 commit comments

Comments
 (0)