Skip to content
This repository was archived by the owner on Mar 5, 2025. It is now read-only.

Commit 63094fe

Browse files
author
sudikshyapant
committed
docs: apply formatting updates
# Documentation Pull Request Template ## Description This pull request updates the Bitcoin bridge documentation to improve clarity, accuracy, and completeness. The main changes are: 1. Update time-lock to 1 week based on current DRT implementation 2. Add information on current operator fee and mining fees 3. Ensure proper nesting in points of deposit process 4. Minor improvements to the withdrawal process description for better clarity. These updates aim to provide more accurate and up-to-date information about the Bitcoin bridge operations, enhancing user understanding and reducing potential misinterpretations. --- ## Type of Change - [ ] New Document - [x] Update to Existing Document - [ ] Bug Fix - [ ] Question/clarification - [ ] Other (please describe): --- ## Related Issues Fixes #[issue number related to documentation update, if any] --- ## Checklist - [x] I have reviewed the existing documentation to avoid duplication. - [x] The new or updated document includes clear and concise information. - [ ] All relevant sections (e.g., introduction, usage examples, references) are included. - [x] The document follows the project's style guide and formatting rules. - [ ] I have included any necessary references or external resources. - [x] Spellcheck and grammar check have been performed. - [x] (For updates) I have verified that the changes reflect the current state of the project. --- ## Additional Information The updates to the time-lock period and fee information reflect the current implementation of the Bitcoin bridge. The restructuring of certain sections aims to improve readability and reduce potential misunderstandings. --- ## Reviewer Checklist - [ ] The purpose and scope of the document are clear. - [ ] The document is easy to understand and follow. - [ ] There are no typos or grammatical errors. - [ ] All necessary sections are included and well-structured. - [ ] The document is consistent with the project's style guide. - [ ] Any referenced links or resources are valid and appropriate.
1 parent 8e0ed74 commit 63094fe

File tree

1 file changed

+16
-16
lines changed

1 file changed

+16
-16
lines changed

docs/technical/bitcoin-bridge.md

+16-16
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
as "bitcoin signet" or "signet BTC" when describing the current system.
99

1010
The Strata bitcoin bridge enables the transfer of BTC between the bitcoin
11-
and Strata blockchains.
11+
and Strata blockchain.
1212
The bridge is run by a federation of operators who
1313
co-sign transactions to move BTC into and out of the Strata bridge address.
1414

@@ -31,6 +31,7 @@ it is broadcast to bitcoin for confirmation.
3131

3232
Deposits and withdrawals are allowed in a denomination of $D$ BTC where
3333
$D = 10 \ \text{BTC}$ is a value predefined by the bridge federation.
34+
The operator fee is set at 5% of the bridge denomination. The minimum relay fee for transactions is 10 satoshis per vByte.
3435

3536
!!! info
3637

@@ -62,27 +63,27 @@ who sends 10[^fees] BTC to a P2TR address, where:
6263
This can be verified by revealing the random scalar $r$
6364
used to generate the pubkey by shifting the NUMS point.
6465

65-
1. The script path spend has two paths:
66-
1. "Deposit path", an $N$-of-$N$ multisig path,
66+
2. The script path spend has two paths:
67+
1. "Deposit path", an $N$-of-$N$ multisig path,
6768
where $N$ is the number of operators in the bridge.
68-
1. "Take back" path,
69+
2. "Take back" path,
6970
which allows the user to take back their funds if the bridge fails to
7071
move funds from the Deposit Request Transaction (DRT)
71-
into the bridge address within a two-week period,
72-
i.e. it is time-locked and the user provides a signature to spend it.
72+
into the bridge address within a 1-week period,
73+
i.e. it is time-locked and the user can spend it by providing a signature.
7374

7475
This transaction has some metadata attached to it, in the form of an `OP_RETURN`
7576
output, that can be up to 80 bytes long (according to bitcoin standardness policy),
7677
and is composed of the following data:
7778

7879
1. Magic bytes.
7980
These take $11$ bytes and are used to identify the bridge.
80-
1. "Take back" TapLeaf hash.
81+
2. "Take back" TapLeaf hash.
8182
These take $32$ bytes and are used to validate the
8283
Deposit Request Transaction (DRT),
8384
while also necessary for the control block required
8485
to spend the P2TR output via the $N$-of-$N$ Tapscript.
85-
1. Execution Layer (EL) address.
86+
3. Execution Layer (EL) address.
8687
The Execution Layer (EL) address is the Strata address where
8788
the user wants to receive the BTC in Strata.
8889
It is a 20-byte Ethereum Virtual Machine (EVM) address.
@@ -122,16 +123,15 @@ sequenceDiagram
122123
The user requests a withdrawal on Strata and an operator is assigned to
123124
fulfill the request on bitcoin:
124125

125-
1. The user requests a withdrawal making sure to burn the
126-
same amount of `BTC` on Strata.
127-
1. The assigned operator creates and signs a Withdrawal Transaction
128-
(WT) where they spend 10 BTC from the bridge address' UTXO set,
129-
while subtracting the operator's fee and the mining fee,
130-
and requests the other $N−1$ operators to sign
126+
1. The user initiates a withdrawal request, in response to which the corresponding amount of strata BTC or `sBTC` is burned from Strata.
127+
2. After the burn is confirmed, the assigned operator creates and signs a Withdrawal Transaction
128+
(WT) on the Bitcoin blockchain where they spend 10 BTC from the bridge address' UTXO set,
129+
while subtracting the operator's fee (5% of the bridge denomination) and the mining fee (minimum 10 satoshis per vByte),
130+
and requests the other $N-1$ operators to sign
131131
the Withdrawal Transaction.
132-
1. Once all the signatures have been aggregated, the transaction is submitted to
132+
3. Once all the signatures have been aggregated, the transaction is submitted to
133133
bitcoin.
134-
1. Once the transaction is confirmed,
134+
4. Once the transaction is confirmed,
135135
the withdrawal request is fulfilled.
136136

137137
The withdrawal flow is shown below:

0 commit comments

Comments
 (0)