Update docs/liquid/liquid-part1.md

This commit is contained in:
b0xxer 2024-01-22 05:53:10 -06:00
parent d047f809bf
commit c4a8d07ed4

View File

@ -9,7 +9,7 @@ This is a multipart DeepDive that will focus on the [Liquid Sidechain](https://l
Liquid is a federated BTC sidechain. The federation which controls the network are known as 'Functionaries'. Currently, there are 15 such Functionaries[^1] who are geographically dispered to help isolate the network from both physical and regulatory disruption. Liquid is a federated BTC sidechain. The federation which controls the network are known as 'Functionaries'. Currently, there are 15 such Functionaries[^1] who are geographically dispered to help isolate the network from both physical and regulatory disruption.
Block signing happens in a round-robin style arrangement - consensus requires 11-of-15 to be available. These Functionaries are who does the Block signing, which happens in a round-robin style arrangement - consensus requires 11-of-15 to be available.
A unique aspect of this federation is that functioinary membership is dynamic - using a protocol known as *DynaFed* - this allows members to be rotated out/in depending on circumstance. The signing method the functionaries use is known as [ROAST](https://eprint.iacr.org/2022/550.pdf) (Robust Asynchronous Schnorr Threshold Signatures). As stated: A unique aspect of this federation is that functioinary membership is dynamic - using a protocol known as *DynaFed* - this allows members to be rotated out/in depending on circumstance. The signing method the functionaries use is known as [ROAST](https://eprint.iacr.org/2022/550.pdf) (Robust Asynchronous Schnorr Threshold Signatures). As stated:
@ -22,7 +22,7 @@ A unique aspect of this federation is that functioinary membership is dynamic -
responding at all), the 67 honest signers can successfully produce a signature within responding at all), the 67 honest signers can successfully produce a signature within
a few seconds." a few seconds."
The main benefit of ROAST is that signing becomes less problematic with a large number of federation members. Obviously this along with the inclusion of *DynaFed* (a recent addition to the network), seems to indicate that they plan to increase the total federation functionaries in the future. The main benefit of ROAST is that signing becomes less problematic with a large number of federation members. Obviously this along with the inclusion of *DynaFed* (a recent addition to the network), seems to indicate that they plan to increase the total federation functionaries in the future[].
**Functionaries Sign, not Mine** **Functionaries Sign, not Mine**
@ -105,6 +105,27 @@ Now let's peg-in some bitcoin in order to receive L-BTC within our Liquid wallet
* Copy the BTC transaction ID and save to variable * Copy the BTC transaction ID and save to variable
- `$ export B_TRANSID="bb1d0903XXXXXXXXXXXXXXXXXXXXXXXXXXX"` - `$ export B_TRANSID="bb1d0903XXXXXXXXXXXXXXXXXXXXXXXXXXX"`
* Wait for the BTC transaction to confirm[^4] * Wait for the BTC transaction to confirm[^4]
* On your **BITCOIN** node, run the following command
- `$ sudo ./scripts/app compose bitcoin exec bitcoind bitcoin-cli getrawtransaction $B_TRANSID`
020000000173f50....
* Save that output to bash variable
- `$ export B_RAWTRANS='020000000173f50....`
* On your **BITCOIN** node, get output proof
- `$ sudo ./scripts/app compose bitcoin exec bitcoind bitcoin-cli gettxoutproof '["<transaction_id_paste>"]'`
00406426ea774aff7437de482c73f2ac8......
* Save output proof in bash variable
- `$ export B_OUTPROOF='00406426ea774aff7437de482c73f2ac8....'`
* Now back on the elements node, we can claim the L-BTC
- `$ elements/bin/elements-cli -rpcuser=$E_RPCUSER -rpcpassword=$E_RPCPASS claimpegin $B_RAWTRANS $B_OUTPROOF $E_CLAIMSCR`
* Issue a getwallet info on Elements and you should see an unconfirmed balance
- `$ elements/bin/elements-cli -rpcuser=$E_RPCUSER -rpcpassword=$E_RPCPASS getwalletinfo`
"unconfirmed_balance": {
"bitcoin": 0.00149952
},
**Footnotes:** **Footnotes:**