A walkthrough of wrapping BTC to WBTC (part 2)
In my previous piece I explored how bitcoin is moved from the Bitcoin blockchain to Ethereum (and other networks) via a process called ‘wrapping’.
In this follow up, we’re going to look at a specific example of centralised wrapping and see how the transactions look on-chain….
Wrapped bitcoin (WBTC) is a joint initiative started by REN, Kyber, BitGo and a number of other industry players back in Jan 2019 and is now run by the WBTC Decentralised Autonomous Organisation (WBTC DAO). This DAO has 17 members who each hold a key for a multi-sig contract which allows them to add or remove WBTC merchants and custodians.
Merchants lock up BTC with BitGo (the custodian), thereby triggering a minting process, and then receive an equal amount of WBTC in their Ethereum account. WBTC is an ERC20 token, with 1 BTC always equal to 1 WBTC since all wrapped bitcoin are backed 1-to-1 by a bitcoin.
Users can then take this wrapped version of bitcoin for use on Ethereum-based products and services without ever having to sell their BTC for ETH/ERC20s tokens and can redeem their initial BTC by sending WBTC back to the custodian’s Ethereum account.
Whilst WBTC certainly isn’t the only way of wrapping bitcoin for use on other blockchains, it’s the most used wrapper with over 270,000 bitcoins currently held in custody and a total of over 335,000 bitcoins (worth $13.6billion) wrapped overall!
How Is WBTC Created/Destroyed?
Let’s walk step by step through an example …
In order to mint some WBTC, a verified merchant (list of verified merchants by the DAO: https://wbtc.network/dashboard/partners) must send some BTC to an address which the custodian holds.
In this case we can see that the merchant (the owner of the two input addresses) is sending 2,500 BTC to the custodian’s address: 3JJpCZCk4h4TpQeU7SA1yhH768Xgbtdbfg. The additional input and output accounts for a merchant levied fee on the wrapping and unwrapping process. CoinList charges a flat 0.25% of the transaction amount and based on order book activity Grapefruit appears to charge around 0.05%.
The merchant then creates a transaction with the WBTC DAO on the Ethereum blockchain to request the creation of the wrapped bitcoin. This will always be slightly less than the amount of bitcoin received by the custodian since they take a 0.04–0.05% fee. As such whilst 2,500 BTC was sent to the custodian, only 2,499 WBTC is created.
In the above you can see the amount in satoshis (t he base unit of bitcoin), a reference to the above transaction where the BTC was deposited and a confirmation of the custodian’s deposit address.
The DAO then actions this request to move 2,499 WBTC to an Ethereum account controlled by the custodian: 0xcbd12525cdd4cd76455859ea3da141c412e54f96. This account will be the same for every minting request the specific merchant makes.
This is the opposite process to the creation of wrapped bitcoin on the Ethereum blockchain, and is the user (via the merchant) requesting their original bitcoin back.
We can also walk through how this looks on chain …
First the merchant must request the burn by sending the WBTC back to the WBTC DAO to then be forwarded on to a burner address which is a blackhole on the blockchain for which assets set to it can’t be recovered.
The custodian then actions this request by withdrawing the BTC from their custody account to the merchant’s BTC address 3LC89Wz88iUBnDtnuhBooxJXDWgbYK6paE . Finally, the state of the world is updated on the Ethereum chain to reflect to reduction in WBTC with the custodian completing the burn event as requested by the merchant. Within this transaction the amount of WBTC burnt (and therefore BTC released) is noted, as well as the BTC deposit address and proof of the transaction ID.
As with the initial wrapping, there are custodian and merchant fees for the burning process which means the final amount received by the user will be less than they transferred in WBTC.
WBTC is just one of many wrapped bitcoin versions but hopefully this step by step breakdown has helped you understand how assets can be ‘moved’ across from one chain to another.
Originally published at https://www.linkedin.com.