Skip to content

Commit 5e3dde8

Browse files
authored
Update op_stack_chains.mdx (#38)
- Capitalized "Finality Providers" - Corrected "Babbylon" - Changed "Process the block..." to "Processes the block..." multiple instances in singular form for consistency - Changed "It:" to "it:" for consistent capitalization after sentence breaks
1 parent 84b46c9 commit 5e3dde8

File tree

1 file changed

+16
-16
lines changed

1 file changed

+16
-16
lines changed

docs/developers/bsns/op_stack_chains/op_stack_chains.mdx

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ The design involves the following main components:
2323
}}
2424
/>;
2525

26-
- **Finality provider:** a daemon program that receives BTC stake and keeps
26+
- **Finality Provider:** a daemon program that receives BTC stake and keeps
2727
submitting finality signatures over L2 blocks to the finality contract on Babylon.
2828
- It connects to a Babylon node to query its voting power.
2929
- It connects to the finality contract via the Babylon node for submitting
@@ -33,45 +33,45 @@ finality signatures.
3333
Upon a new L2 block in the OP-stack chain, It:
3434

3535
- Gets the L2 block metadata.
36-
- Queries Babbylon Genesis to determine whether it has voting power at this L2 block height.
36+
- Queries Babylon Genesis to determine whether it has voting power at this L2 block height.
3737
- 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.
39-
- It will be deployed on the Babbylon Genesis.
40-
- It will query Babylon to determine the finality provider’s status and voting power.
38+
- **Finality contract:** a CosmWasm smart contract that maintains all finality signatures submitted from OP-stack Finality Providers.
39+
- It will be deployed on Babylon Genesis.
40+
- It will query Babylon Genesis to determine the Finality Provider’s status and voting power.
4141

4242
Upon a finality signature, the finality contract verifies it and identifies equivocation:
4343

4444
- If invalid, reject.
4545
- If valid and non-conflicting with any existing ones, accept.
46-
- 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.
46+
- 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.
4747
- **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.
48-
- It connects to a Babylon node for querying the voting power of finality providers.
48+
- It connects to a Babylon node for querying the voting power of Finality Providers.
4949
- It connects to the finality contract via the Babylon node for querying finality signatures.
5050
- It connects to an RPC of the OP stack chain to get L2 block metadata.
5151

52-
Upon a new L2 block in the OP-stack chain, It:
52+
Upon a new L2 block in the OP-stack chain, it:
5353

5454
- Queries the finality contract to get all finality signatures over this L2 block.
55-
- 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-
- Tallies finality signatures and determine whether the L2 block receives a quorum.
57-
- If this L2 block receives a quorum and its parent block is also BTC staking-finalized, mark it BTC staking-finalized and store it in the finality gadget’s local database.
55+
- 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+
- Tallies finality signatures and determines whether the L2 block receives a quorum.
57+
- 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.
5858
- **OP node with finality gadget:** a modified OP node that enforces BTC-voting quorum before finalizing L2 blocks.
5959
- It connects to the finality gadget for querying consecutive BTC-voting quorums to determine the finalization status of the L2 blocks.
6060
- It notifies OP-geth about the L2 blocks’ finalization status to move the L2 finalized block head.
6161

6262
Upon a new L2 block derived from L1 batch transactions, the OP node does the following:
6363

64-
- Process the block in its derivation pipeline and perform various validation checks.
64+
- Processes the block in its derivation pipeline and performs various validation checks.
6565
- Before the last step to mark the block finalized, it queries the finality gadget to check if the block is BTC staking-finalized.
66-
- If yes, mark this L2 block finalized and output it in the derivation pipeline.
66+
- If yes, marks this L2 block finalized and outputs it in the derivation pipeline.
6767

6868
## Implementation
6969

7070
We have finished the reference implementation. The codebases include:
7171

7272
- [babylon](https://github.com/babylonlabs-io/babylon): Babylon node with BTC staking integration support to OP-stack
73-
- [finality-provider](https://github.com/babylonlabs-io/finality-provider/tree/base/consumer-chain-support): The finality provider program
74-
- [btc-staker](https://github.com/babylonlabs-io/btc-staker/tree/base/consumer-chain-support): The BTC staker program
73+
- [finality-provider](https://github.com/babylonlabs-io/finality-provider/tree/base/consumer-chain-support): The Finality Provider program
74+
- [btc-staker](https://github.com/babylonlabs-io/btc-staker/tree/base/consumer-chain-support): The BTC Staker program
7575
- [babylon-contract](https://github.com/babylonlabs-io/babylon-contract): The CosmWasm contracts, including the finality contract for OP-stack chains.
7676
- [finality-gadget](https://github.com/babylonlabs-io/finality-gadget): The finality gadget program. It can be used by OP node or user as an SDK or run as a standalone daemon program.
7777
- [optimism](https://github.com/babylonlabs-io/optimism/tree/feat/babylon-rfc): The fork of OP Stack codebase that installs finality-gadget.
@@ -80,7 +80,7 @@ We have finished the reference implementation. The codebases include:
8080

8181
We have developed local deployment scripts for the OP stack integration.
8282

83-
- https://github.com/Snapchain/babylon-deployment for spinning up a OP stack chain integrating with Babylon Euphrates devnet
83+
- https://github.com/Snapchain/babylon-deployment for spinning up an OP stack chain integrating with Babylon Euphrates devnet
8484
- https://github.com/Snapchain/op-chain-deployment for spinning up the entire stack (OP stack chain + ETH L1 + Babylon + Bitcoin)
8585

8686
---

0 commit comments

Comments
 (0)