You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
-**Finality Provider:** a daemon program that receives BTC stake and keeps
27
-
submitting finality signatures over L2 blocks to the finality contract on Babylon.
27
+
### Finality Provider
28
+
29
+
A daemon program that receives BTC stake and keeps submitting finality signatures over L2 blocks to the finality contract on Babylon.
28
30
- It connects to a Babylon node to query its voting power.
29
31
- It connects to the finality contract via the Babylon node for submitting
30
32
finality signatures.
@@ -35,7 +37,10 @@ Upon a new L2 block in the OP-stack chain, It:
35
37
- Gets the L2 block metadata.
36
38
- Queries Babylon Genesis to determine whether it has voting power at this L2 block height.
37
39
- If yes, sign and submit a finality signature to the finality contract.
38
-
-**Finality contract:** a CosmWasm smart contract that maintains all finality signatures submitted from OP-stack Finality Providers.
40
+
41
+
### Finality Contract
42
+
43
+
A CosmWasm smart contract that maintains all finality signatures submitted from OP-stack Finality Providers.
39
44
- It will be deployed on Babylon Genesis.
40
45
- It will query Babylon Genesis to determine the Finality Provider’s status and voting power.
41
46
@@ -44,7 +49,10 @@ Upon a finality signature, the finality contract verifies it and identifies equi
44
49
- If invalid, reject.
45
50
- If valid and non-conflicting with any existing ones, accept.
46
51
- If valid but conflicting with an existing finality signature, it emits an event so anyone can slash the Finality Provider and the BTC stake under it.
47
-
-**Finality gadget**: a daemon program that keeps tallying all finality signatures for L2 blocks and serves RPC to allow querying the BTC-voting quorum of those blocks.
52
+
53
+
### Finality Gadget
54
+
55
+
A daemon program that keeps tallying all finality signatures for L2 blocks and serves RPC to allow querying the BTC-voting quorum of those blocks.
48
56
- It connects to a Babylon node for querying the voting power of Finality Providers.
49
57
- It connects to the finality contract via the Babylon node for querying finality signatures.
50
58
- It connects to an RPC of the OP stack chain to get L2 block metadata.
@@ -55,7 +63,10 @@ Upon a new L2 block in the OP-stack chain, it:
55
63
- Queries Babylon to get all Finality Providers’ BTC delegations for this chain and use the L2 block’s timestamp to determine the voting power distribution among all its Finality Providers at the time of this block.
56
64
- Tallies finality signatures and determines whether the L2 block receives a quorum.
57
65
- If this L2 block receives a quorum and its parent block is also BTC staking-finalized, marks it as BTC staking-finalized and stores it in the finality gadget’s local database.
58
-
-**OP node with finality gadget:** a modified OP node that enforces BTC-voting quorum before finalizing L2 blocks.
66
+
67
+
### OP Node with Finality Gadget
68
+
69
+
A modified OP node that enforces BTC-voting quorum before finalizing L2 blocks.
59
70
- It connects to the finality gadget for querying consecutive BTC-voting quorums to determine the finalization status of the L2 blocks.
60
71
- It notifies OP-geth about the L2 blocks’ finalization status to move the L2 finalized block head.
61
72
@@ -81,6 +92,6 @@ We have finished the reference implementation. The codebases include:
81
92
We have developed local deployment scripts for the OP stack integration.
82
93
83
94
-https://github.com/Snapchain/babylon-deployment for spinning up an OP stack chain integrating with Babylon Euphrates devnet
84
-
-https://github.com/Snapchain/op-chain-deployment for spinning up the entire stack (OP stack chain + ETH L1 + Babylon + Bitcoin)
95
+
-https://github.com/Snapchain/op-chain-deployment for spinning up the entire stack (OP stack chain + ETH L1 + Babylon Genesis + Bitcoin)
0 commit comments