Although the project is called WBTC, in the white paper, it mainly describes the framework for managing tokens among multiple organizations, how to tokenize assets, and the governance model to avoid single-point risks
Due to the ease of use and universality of ERC20 Token, ERC20 Token has become an important representation of digital assets, and at the same time inherits the advantages from blockchain and Ethereum, better transparency and faster transaction time. If a certain asset can be packaged into an ERC20 Token, to some extent it is like issuing a stable currency on the Ethereum chain. The meaning of stable currency here does not necessarily refer to the 1:1 price of the token and the legal currency, but also refers to the quantity. 1:1, for example, 1 BTC=1 ERC20 BTC Token.
The practice of creating stablecoins generally falls into two categories:
- Algorithmic Stablecoins (ex: DAI, Basis, Carbon, NuBits)
- Centralized stablecoins (ex: Tether, True USD, USDC, Digix, Globcoin)
In this white paper, the method of centralized stable currency, that is, proof of reserve, is adopted to generate stable currency. The benefits of tokenization are:
- faster transaction speed
- Reduce middleman friction
- Enhanced security
- Instant Ease of Use
- improve transparency
In addition, why do you want to issue ERC20 Token?
- Facilitate the circulation of tokens on decentralized exchanges or DApps
- There are many trading pairs of ETH/Token, but there is no trading pair of BTC/Token, and BTC is a mainstream and frequently traded token
- The tools on DApp are relatively mature, and the development and use are relatively easy
- Relatively labor-saving in node management, no need to manage multiple different types of blockchain nodes
- If there is a legal currency stable currency, it will also help e-commerce to use it for transaction receipts and payments
In issuing tokens, the problems and challenges are:
- Can support large transaction volume
- Trust Issues in Token Offerings
- Due to the centralized currency issuance method, the risk of the organization needs to be dispersed
- Who is authorized to hold the asset?
- How to prevent spam?
- How can the custodian demonstrate proper custody of the asset?
- How to supervise?
- Custodian must have a license to guarantee and keep assets, and laws vary from place to place, and Custodian must also provide proof that there are sufficient guarantee assets. For User, KYC/AML is required for token transaction/purchase/redemption
- How are the stakeholders of the alliance governed?
- Since the system has multiple stakeholders, how do you adjust the rules when the token rules change?
Key roles, as shown below:
- Custodian: responsible for custody of assets (in WBTC, the role is BitGo)
- Merchant: Responsible for the distribution of tokens, minting or burning coins (in WBTC, it is managed by Kyber Network and Republic protocol)
- Minting (minting new tokens)
- Burning (burning tokens/reducing the total amount)
- User: A user who holds tokens, which can be used to trade with others
- WBTC DAO member: When the organizers of Custodian and Merchant join or leave, these organization members vote together to manage (multi-signature wallet)
Merchant will maintain a part of the water level, and there is no need to re-mint when the user wants to change
01. Custodian wallet setup
The custody wallet is designed to keep multiple Merchant’s fund pools, and the wallet is controlled by Custodian’s multi-signature wallet. When Custodian sends a transaction to a Merchant, the Merchant’s address must exist in the wallet’s white list. In addition, minting/burning Coin behavior regulations must be completed within 48 hours.
To mint coins, the Merchant must initiate a request, and the Custodian will mint coins to complete the process. The whole process involves multiple transactions, as follows:
- Merchant initiates a transaction requesting minting on the ETH chain, authorizes Custodian to mint, and records the address Merchant uses to receive BTC
- Merchant sends BTC to Custodian
- Custodian is waiting for BTC deposit (6 confirmations)
- Custodian initiates a minting transaction to generate WBTC tokens on the ETH chain
03. Receive WBTC (receiving)
The process of User receiving WBTC
- User requests Merchant to exchange BTC for WBTC (packaged into WBTC)
- Before sending tokens, Merchant must pass the KYC/AML procedure for User
- User and Merchant perform atomic swap or trusted transaction
– User receives WBTC from Merchant
– Merchant receives BTC from user
Burning coins actually means redeeming the WBTC in hand for BTC. Only the Merchant can burn the WBTC. The method is that the Merchant initiates a coin burning transaction and burns the WBTC on its own address.
- Merchant initiates a coin-burning transaction and burns the same amount of WBTC
- Custodian waits for the burn to complete (25 block confirmations)
- Custodian sends the same amount of BTC to Merchant’s BTC address
- Custodian initiates a request to burn coins on the ETH chain
05. Receive BTC (receiving)
- The user initiates a request to redeem BTC from Merchant
- Merchant must pass KYC/AML procedures for users before sending tokens
- Users and Merchant perform atomic swaps or trusted transactions
- User receives BTC from Merchant
- The Merchant receives the WBTC from the user
In the multi-signature wallet of the smart contract, the addition and removal of DAO members need to go through the approval process of the committee, M-of-N multisig wallet.
Transactions on the side chain
At present, the issuance and circulation of WBTC are on the ETH chain. Since the operation and development environment for tokens on the main chain is relatively friendly, there are wallets, browsers, and DApps. Although the transaction cost is cheaper than BTC, the actual operation still requires a handling fee. When the Ethereum chain is congested, there may not be a cheaper transaction handling fee. And this can be done with the help of a pegged sidechain, with the existing parity-bridge scheme run by DAO members. The chain will operate in the form of PoA, and the block production time is about every 4 seconds. In this way, WBTC can achieve better scalability on the main chain and side chain.
Atomic swap will be used between Merchant and User for the exchange of WBTC and BTC. Once the User’s KYC is passed:
- User generates a set of secrets and gives Merchant a hash value Hash(secret) in an off-chain manner
- User and Merchant agree on a set of ETH and BTC addresses for exchange
- User generates a BTC HTLC (Hashed Time Lock Contract) transaction, uses Merchant’s BTC address as the receiving address, and the refund address is his own BTC address, which contains the Hash (secret) used for the lock and the transaction expiration time. Address of P2SH
- After confirming the BTC deposit, the Merchant constructs the HTLC contract on ETH in the same way, using the User’s ETH address as the receiving address, the refund address is the Merchant’s ETH address, and contains the Hash (secret) used for the lock, and the transaction Expiration. Merchant transfers WBTC to atomic swap contract.
- The user discloses the secret and withdraws WBTC to the user’s ETH address.
- Merchant uses this secret to withdraw BTC on P2SH.
- If the user does not reveal the secret to withdraw WBTC, the above process will not happen.
Since the above actions involve transactions, the User must pay the transaction fee when starting the execution process. In addition, the number of confirmations mentioned above can be reduced to speed up transaction execution according to the degree of trust. After all, the entire process involves many BTC and ETH transactions.
- Custodian fee: When the Merchant mints or burns coins, it will be collected by Custodain
- Merchant fee: When the User trades with the Merchant, the Merchant will collect it
- Sidechain transaction fee: Collected by DAO members running the PoA chain to maintain the chain
Trust and Transparency
All records must be on-chain, regularly reviewed and transparent
View Also –