Update docs/liquid/liquid-part1.md
This commit is contained in:
parent
d047f809bf
commit
c4a8d07ed4
@ -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:**
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user