Difference between revisions of "Trading L-BTC"

From Bisq Wiki
Jump to navigation Jump to search
Line 45: Line 45:
 
Find the L-BTC address in the Bisq trade details
 
Find the L-BTC address in the Bisq trade details
 
Open the GUI console window of your Elements Core full node, or use `elements-cli`
 
Open the GUI console window of your Elements Core full node, or use `elements-cli`
Type the following command: `dumpblindingkey <address>`
+
Type the following command: <code>dumpblindingkey <address></code>
  
The elements node console will return the blinding key in hex. For this example, our blinding key is 3611d1e254c6f5182763b667ced45799a294837c9b1950ff3982d009e6a1c8f7
+
The elements node console will return the blinding key in hex. For this example, our blinding key is <code>3611d1e254c6f5182763b667ced45799a294837c9b1950ff3982d009e6a1c8f7</code>
  
 
======Prerequisites for Bisq Mediator======
 
======Prerequisites for Bisq Mediator======
  
 
Install the Elements Core full node on your computer from https://github.com/ElementsProject/elements/releases
 
Install the Elements Core full node on your computer from https://github.com/ElementsProject/elements/releases
Set the `txindex=1` option must in `elements.conf` (the L-BTC sender and receiver do not need the `txindex=1` setting)
+
Set the <code>txindex=1'' option must in ''elements.conf</code> (the L-BTC sender and receiver do not need the `txindex=1` setting)
 
Wait until fully synced to the Liquid blockchain
 
Wait until fully synced to the Liquid blockchain
 
Obtain the Blinding Key for the receiving L-BTC address from the L-BTC receiver
 
Obtain the Blinding Key for the receiving L-BTC address from the L-BTC receiver
  
For this example, the L-BTC receiver’s address is VJLAuukJX2WPzdiGJz4RKFFK49aZcSeDgHagGnfTib3bg22G4HMKfWNonPezPdCisdspf7bHMkoDGVTB
+
For this example, the L-BTC receiver’s address is <code>VJLAuukJX2WPzdiGJz4RKFFK49aZcSeDgHagGnfTib3bg22G4HMKfWNonPezPdCisdspf7bHMkoDGVTB</code>
  
 
Either trade party can disclose the TXID for the L-BTC payment
 
Either trade party can disclose the TXID for the L-BTC payment
  
For this example, the L-BTC payment TXID is 842719feb92914a553fc8e8fccec27a4d0e4833ac3fb363f882ba1dc9bff9078
+
For this example, the L-BTC payment TXID is <code>842719feb92914a553fc8e8fccec27a4d0e4833ac3fb363f882ba1dc9bff9078</code>
  
 
Verify both the L-BTC address and TXID are visible on https://blockstream.info/liquid
 
Verify both the L-BTC address and TXID are visible on https://blockstream.info/liquid
Line 66: Line 66:
 
======Instructions for Bisq Mediator======
 
======Instructions for Bisq Mediator======
  
Open the GUI console window of your Elements Core full node, or use `elements-cli`
+
Open the GUI console window of your Elements Core full node, or use <code>elements-cli</code>
Type the following command: `importaddress <address>` using the L-BTC address from the Bisq trade details
+
Type the following command: <code>importaddress <address></code> using the L-BTC address from the Bisq trade details
  
 
This will add the address to your wallet as “watch only” and rescan the entire liquid blockchain, it might take an hour or longer to complete depending on your computer.
 
This will add the address to your wallet as “watch only” and rescan the entire liquid blockchain, it might take an hour or longer to complete depending on your computer.
Line 73: Line 73:
 
After scanning is complete, fetch the details for the L-BTC payment TXID
 
After scanning is complete, fetch the details for the L-BTC payment TXID
  
`gettransaction 842719feb92914a553fc8e8fccec27a4d0e4833ac3fb363f882ba1dc9bff9078 true`
+
<code>gettransaction 842719feb92914a553fc8e8fccec27a4d0e4833ac3fb363f882ba1dc9bff9078 true</code>
  
 
You should see the transaction object, but with an empty “details”, since you have not yet imported the blinding key to reveal the confidential transaction details.
 
You should see the transaction object, but with an empty “details”, since you have not yet imported the blinding key to reveal the confidential transaction details.
Line 79: Line 79:
 
Import the blinding key with the following command
 
Import the blinding key with the following command
  
`importblindingkey VJLAuukJX2WPzdiGJz4RKFFK49aZcSeDgHagGnfTib3bg22G4HMKfWNonPezPdCisdspf7bHMkoDGVTB 3611d1e254c6f5182763b667ced45799a294837c9b1950ff3982d009e6a1c8f7`
+
<code>importblindingkey VJLAuukJX2WPzdiGJz4RKFFK49aZcSeDgHagGnfTib3bg22G4HMKfWNonPezPdCisdspf7bHMkoDGVTB 3611d1e254c6f5182763b667ced45799a294837c9b1950ff3982d009e6a1c8f7</code>
  
 
Request the TX details again, and this time they will be visible
 
Request the TX details again, and this time they will be visible
  
`gettransaction 842719feb92914a553fc8e8fccec27a4d0e4833ac3fb363f882ba1dc9bff9078 true`
+
<code>gettransaction 842719feb92914a553fc8e8fccec27a4d0e4833ac3fb363f882ba1dc9bff9078 true</code>

Revision as of 13:08, 5 April 2020

About L-BTC

L-BTC, or Liquid Bitcoin, is a Confidential Asset fully verifiable 1:1 backed BTC token created by Liquid, a federated sidechain pegged to the Bitcoin blockchain. Liquid is implemented by Elements, an open source, sidechain-capable blockchain platform based on the Bitcoin codebase created by Blockstream.

A sidechan is a mechanism that allows tokens from one blockchain to be used securely in an independent blockchain which runs in parallel and uses a different set of rules, performance requirements, and security mechanisms. On a sidechain, one can move tokens back to the original chain through a two-way peg. Sidechains enable new functionality that may have security trade-offs or as a way to test new features that may not be ready for use on the parent blockchain. These are the new functionalities that Liquid enables:

  • Confidential Transactions: Hides the amount from the information displayed at the blockchain, it's the most important feature for Bisq users.
  • Issued Assets: Allows issuing tokenized fiat, securities, altcoins or digital collectibles.
  • Federated consensus mechanism: allows 2 or 3 minute settlement times in normal conditions.
  • In development: Schnorr signatures, which will improve network privacy and capacity.

P2P swaps

All addresses in Liquid are blinded by default using Confidential Transactions. The asset and amount of a transaction is hidden to those watching the Liquid sidechain. Bisq users can mix their coins with all of Liquid federation BTC holdings just trading both assets.

Trading L-BTC

Buy L-BTC is very similar to buying other privacy coins. The user L-BTC receiver needs to generate a proof of payment to be delivered in case of dispute. Otherwise, Confidential Transactions makes it impossible for a third party to verify if a payment was made. Next section provides detailed information on how to provide the blinding key to moderator or refund agent. L-BTC buyer should be familiar with this requirements, as failing to provide the blinding key will result in losing the mediation case.

Sell L-BTC is like selling any other altcoin. It just requires a wallet capable of receive L-BTC, like Greenwallet, and create a new Bisq account for this payment method.

Generate blinding key

Greenwallet or custodial wallets can't generate blinding keys. To provide blinding keys, install Elements Core full node -it's not necessary to connect Elements node to a Bitcoin full node- and follow this steps:

  • Find the L-BTC address in the Bisq trade details.
  • Open the GUI console window of your Elements Core full node, or use 'elements-cli'.
  • Type the following command: dumpblindingkey <address>

The elements node console will return the blinding key in hex. This blinding key will be required and used in case of dispute to verify if a L-BTC payment was done.

FAQ

How is the price of L-BTC determined?

L-BTC is a 1:1 BTC pegged token to Bitcoin, so high volatility is not expected. Buyers and sellers make their fixed price orders close to parity. There's no price feed with market % based prices for this market.

Why not just use the peg-in and peg-out mechanism to exchange L-BTC and BTC?

A peg-in -block BTC to create L-BTC- transaction requires 102 confirmations on the Bitcoin network (17 hours) before the funds can be claimed on the Liquid Network. Peg-out requires 2/3 Liquid functionaries approval and it takes about 17-35 minutes to complete. Bisq offers private, easy and secure L-BTC on and off-ramp.

How to verify the details of a confidential L-BTC transaction

Instructions for L-BTC receiver

Find the L-BTC address in the Bisq trade details Open the GUI console window of your Elements Core full node, or use `elements-cli` Type the following command: dumpblindingkey <address>

The elements node console will return the blinding key in hex. For this example, our blinding key is 3611d1e254c6f5182763b667ced45799a294837c9b1950ff3982d009e6a1c8f7

Prerequisites for Bisq Mediator

Install the Elements Core full node on your computer from https://github.com/ElementsProject/elements/releases Set the txindex=1 option must in elements.conf (the L-BTC sender and receiver do not need the `txindex=1` setting) Wait until fully synced to the Liquid blockchain Obtain the Blinding Key for the receiving L-BTC address from the L-BTC receiver

For this example, the L-BTC receiver’s address is VJLAuukJX2WPzdiGJz4RKFFK49aZcSeDgHagGnfTib3bg22G4HMKfWNonPezPdCisdspf7bHMkoDGVTB

Either trade party can disclose the TXID for the L-BTC payment

For this example, the L-BTC payment TXID is 842719feb92914a553fc8e8fccec27a4d0e4833ac3fb363f882ba1dc9bff9078

Verify both the L-BTC address and TXID are visible on https://blockstream.info/liquid

Instructions for Bisq Mediator

Open the GUI console window of your Elements Core full node, or use elements-cli Type the following command: importaddress <address> using the L-BTC address from the Bisq trade details

This will add the address to your wallet as “watch only” and rescan the entire liquid blockchain, it might take an hour or longer to complete depending on your computer.

After scanning is complete, fetch the details for the L-BTC payment TXID

gettransaction 842719feb92914a553fc8e8fccec27a4d0e4833ac3fb363f882ba1dc9bff9078 true

You should see the transaction object, but with an empty “details”, since you have not yet imported the blinding key to reveal the confidential transaction details.

Import the blinding key with the following command

importblindingkey VJLAuukJX2WPzdiGJz4RKFFK49aZcSeDgHagGnfTib3bg22G4HMKfWNonPezPdCisdspf7bHMkoDGVTB 3611d1e254c6f5182763b667ced45799a294837c9b1950ff3982d009e6a1c8f7

Request the TX details again, and this time they will be visible

gettransaction 842719feb92914a553fc8e8fccec27a4d0e4833ac3fb363f882ba1dc9bff9078 true