diff --git a/docs/bridge/light-client-bridge.md b/docs/bridge/light-client-bridge.md index f165c57b7..a90cae0e9 100644 --- a/docs/bridge/light-client-bridge.md +++ b/docs/bridge/light-client-bridge.md @@ -48,6 +48,12 @@ Measured on the test EVM: a 29-voter table costs about 5.3 million gas to instal verifies in about 3.9 million gas (the pairing and the two map-to-curve calls dominate; a G1 addition per signer is 375 gas). On Sepolia at a 1 gwei tip that is under 0.01 ETH per certificate. +Recovery locks (finality rule v4's majority-continuity recovery after an empty window, review B item F04) are not a +kind the contract knows: the certificate bytes carry no lock label, so the verifier reads only weight against the +installed table and accepts the final rule alone. A certificate signed by over half but under two thirds of the +table returns `ok = false` and `submitCertificate` reverts: a recovery lock is never recorded as final, and a +consumer that needs recovery locks must carry its own state, since nothing here tells them apart. + ## What the account proof proves `verifyAccount(stateRoot, account, proof)` walks an Ethereum account proof (the `eth_getProof` shape: RLP nodes from