Docs Hub Paper Chapter Yellow Paper Truth Register
Bridge Reference

Bridge2, Withdrawals, and Validator-Set Updates

This page condenses the Bridge2 control plane into one staged flow: user withdrawal entry, validator signatures, finalized-vote state, validator-set update signatures, and the current trust model around dispute-period invalidation and signer reuse.

Signer reuse confirmed
Withdrawal finalization stages confirmed
Dispute invalidation risk active
Bridge2 field oaw bool confirmed, meaning open

1. Bridge2 State Surface

Field familyRole
eth_id_to_deposit_votesDeposit confirmation tracking.
finished_deposits_dataCompleted-deposit state.
withdrawal_signaturesCollected validator signatures for pending withdrawals.
withdrawal_finalized_votesFinalization vote state after the signature stage.
finished_withdrawal_to_timeTiming/tracking surface for completed withdrawals.
validator_set_signaturesSignature collection for bridge validator-set changes.
validator_set_finalized_votesFinalization votes for validator-set updates.
balBridge balance as a UsdcNtl tuple [usdc, ntl]; observed [990593662988097, 0].
last_pruned_deposit_block_numberDeposit pruning watermark.
oawBoolean "only allow withdrawals" flag. When true, deposits are disabled and only withdrawals remain enabled.

2. Withdrawal and Validator-Set Flow

flowchart TD A[withdraw3] --> B[ValidatorSignWithdrawal] B --> C[withdrawal_signatures accumulates] C --> D[Threshold reached] D --> E[VoteEthFinalizedWithdrawal] E --> F[withdrawal_finalized_votes] F --> G[Dispute period and release] H[Epoch or signer-set change] --> I[SignValidatorSetUpdate] I --> J[validator_set_signatures] J --> K[VoteEthFinalizedValidatorSetUpdate] K --> L[validator_set_finalized_votes] L --> M[Ethereum-side validator set update]
  • The current repo truth keeps withdrawal signing and finalized voting as separate bridge phases.
  • Validator-set updates are a first-class bridge flow, not just an implied governance side effect.
  • Bridge signing is currently documented as reusing validator signer keys.

3. Action Families

ActionPurpose
withdraw3User bridge withdrawal entrypoint.
ValidatorSignWithdrawalValidator signature on a pending withdrawal.
VoteEthFinalizedWithdrawalFinalize the staged withdrawal path.
SignValidatorSetUpdateSignature lane for bridge validator-set changes.
VoteEthFinalizedValidatorSetUpdateFinalize the validator-set update path.

4. Current Risk Surface

QuestionCurrent answer
Is the bridge trust-minimized?No. The current docs keep dispute-period invalidation and no-escape-hatch risk explicit.
Is finalization a one-step action?No. Signatures and finalized-vote state are separate surfaces.
Are all Bridge2 fields fully decoded?The Bridge2 tracker shells, pair lists, and nested tuple payloads are now modeled in code. The remaining gap is the exact leaf encoding for fields like chain, tx_hash, destination, usd, and signature limbs, which are still preserved as JSON-backed leaves.