Legal Disclaimer : This communication is provided for information purposes only. This communication has been prepared based upon information, including market prices, data and other information, from sources believed to be reliable, but Maker has not independently verified such information and makes no representations about the enduring accuracy of the information or its appropriateness for a given situation. This content is provided for informational purposes only, and should not be relied upon as legal, business, investment, or tax advice. You should consult your own advisers as to those matters. References to any digital assets and the use of finance-related terminology are for illustrative purposes only , and do not constitute any recommendation for any action or an offer to provide investment advisory services. This content is not directed at nor intended for use by the MakerDAO community ("MakerDAO"), and may not under any circumstances be relied upon when making a decision to purchase any other digital asset referenced herein. The digital assets referenced herein currently face an uncertain regulatory landscape in not only the United States but also in many foreign jurisdictions, including but not limited to the UK, European Union, Singapore, Korea, Japan and China. The legal and regulatory risks inherent in referenced digital assets are not the subject of this content . For guidance regarding the possibility of said risks, one should consult with his or her own appropriate legal and/or regulatory counsel. Charts and graphs provided within are for informational purposes solely and should not be relied upon when making any decision. The content speaks only as of the date indicated. Any projections, estimates, forecasts, targets, prospects, and/or opinions expressed in these materials are subject to change without notice and may differ or be contrary to opinions expressed by others.
- Metrics and Analysis
- Proposed Actions
tBTC protocol was created to provide a safe way for people to use Bitcoin on Ethereum and offers a trust-minimized, permissionless, decentralized solution for doing so. It is an open source project, available on GitHub, developed and maintained mainly by three groups - Keep, Summa, and the Cross Chain Group. The Keep project and tBTC in general is supported by Thesis, a company backed by several venture capital firms. Besides the tBTC smart contracts, the protocol also leverages on other modules/projects for its operation and security, notably:
- Keep Random Beacon for random selection of signers for each deposit.
- Summa relay for simplified payment verification (SPV) on the Bitcoin chain.
- MakerDAO price oracles for providing real time deposit's collateral evaluation.
TBTC is the ERC20 token minted through the tBTC protocol. For consistency between this risk evaluation and the official tBTC documentation we will use "tBTC" when referring to the protocol in its entirety, and "TBTC" when referring to the ERC20 token on Ethereum.
tBTC strives to keep TBTC 1-to-1 redeemable for BTC by supply. This means for every TBTC in circulation or available for minting there's one BTC locked in the protocol. This is referred to as a supply peg. On a high level, the mechanics are similar to Maker as it's using overcollateralized bonding with ETH to achieve security and incentivize good behaviour. It uses liquidation mechanics to punish fraud, abort or to prevent under-collateralization.
Since the tBTC system is open source, decentralized and trustless (or rather trust-minimized as noted in the tBTC documentation) it relies on fees to incentivize participation. A high level overview of the minting and redeeming process is well described in tBTC security model page:
Minting 1 TBTC:
- A bonded ECDSA keep is requested from the Keep network to sign for 1 BTC.
- A signer group forms and puts down 150% the value of 1 BTC in ETH as collateral.
- The signer group generates a Bitcoin wallet using a threshold ECDSA protocol.
- The user sends 1 BTC to the generated Bitcoin wallet.
- The user generates an SPV proof of their deposit transaction, and sends it to the Ethereum chain.
- The user mints TBTC.
Redeeming 1 TBTC:
- User burns TBTC and provides a receiving Bitcoin address to begin redemption.
- The signer group generates and publishes a signature for a Bitcoin transaction to send the Bitcoin to the user's requested Bitcoin address.
- The user broadcasts this transaction and the generated signature to the Bitcoin network.
- The signers generate an SPV proof of this transaction, publish it to the Ethereum chain, and receive their bonds back.
The signer fees are paid on redemption and are currently set at 0.05%, configurable between 0.05% and 10%. The system is also limited to a configurable number of lot sizes that can be used; currently available lot sizes are 0.01, 0.1, 0.2, 0.5, 1, 5 and 10 BTC.
While at a high level, minting and redeeming looks fairly straightforward, the specifics of the tBTC system are quite complex. We will mention a few of these specifics but won't cover all scenarios as it would get quite unwieldy and is outside the scope of this evaluation. See tBTC technical specification for more details.
- Each deposit has a term duration of 180 days and has different rules governing it in the before-term phase and at-term phase. This is mainly meant to ensure that the signer group is able to close the deposit, get the signer fees and release their bonds.
- Minting TBTC from the deposit will send 99.95% of the lot size to the minter (TDT owner) and 0.05% TBTC of lot size to the deposit contract. This is the escrowed signer fees.
- tBTC uses NFTs (non-fungible tokens) to determine deposit ownership and rights to the escrowed signer fees. The tBTC Deposit Token, or TDT, is an NFT and grants ownership over the deposit which can be used for minting TBTC or redeeming the locked BTC. The Fee Rebate Token, or FRT, again an NFT, is used to determine ownership over the escrowed fees. Both tokens rights vary depending on the deposit before- or at-term phase, whether the deposit is in liquidation due to undercollaterlization, and other scenarios. The main purposes of both tokens are to ensure signers are paid and to uphold the TBTC:BTC supply peg.
- 3 signers and one user are required for each successful deposit. Bad behaviour, fraud or an attack on a deposit should generally only affect the parties involved and only up to the lot size plus bonds of the deposit.
- A deposit moves to "courtesy call" state if collateralization falls below 125%. Anyone is able to start the redemption process in this state and if the deposit is not redeemed within 6 hours, or regains the required collateralization ratio, the deposit moves to the "liquidation" state.
- Bad behaviour or collateralization issues (ratio under 110% or 6 hours after courtesy call) will trigger the deposit to start liquidation. In this state the signers ETH bond is used in a falling price auction to buy TBTC and compensate the deposit owner. This is required for user/depositor protection and to uphold the supply peg.
- Signers can't rebalance their collateralization. If the collateralization falls below 125% they're advised to close their positions by redeeming the TBTC.
- A minimum of 70,000 KEEP tokens (currently worth ~$19,600) needs to be staked to start up your own Keep network Random Beacon and become a signer. This is in addition to ETH bonding. The Keep team is planning to enable ETH-only staking in the near future.
Sample deposit that closed with redeeming: https://allthekeeps.com/deposit/0x6c832498fbe83c128699c5914cf69e4a50b14657
Sample deposit that closed with liquidation: https://allthekeeps.com/deposit/0x96c8b0e452833ad6c9709c073ec7f04763f748b6
The tBTC community participation and development is rewarded with an initiative called "Playing for Keeps" where community members are rewarded with KEEP tokens, depending on the size of their contribution. The winners are determined by community judges. KEEP is the native token to the Keep network and is purposed for powering the Keep network and supporting the apps built around it.
tBTC launched on Ethereum mainnet in mid May 2020 but was soon shut down due to a bug found in code. The team relaunched tBTC on Sep 22, 2020.
As noted in the tBTC security model:
"The first version of tBTC has been built without any ability to upgrade contracts, following a Bitcoin-inspired philosophy of immutability and opt-in governance. Any future versions of tBTC will be new systems, and require social coordination to "upgrade", similar to how a hard fork on Bitcoin."
"Still, the development team maintains a privileged key with 4 distinct capabilities at launch. These capabilities only apply to new deposits, preventing the team from interfering with existing deposits or long-held funds."
The mentioned team governance capabilities are:
- Updating the signer fee. Would only impact new deposits and is limited between 0.05% to 10%
- Changing list of lot sizes. Would only impact new deposits and has a time delay. At least 1 lot size required and lot size is limited between 0.0005 and 10 BTC.
- Modifying collateralization threshold. Only new deposits with a time delay. Limited between 100 and 300%
- Adding a fallback price feed. Would only come in effect if the original price feed fails. Price feeds are queried in order they were added and the first with a price response is used.
- Pausing new deposits. This is a 10-days pause of new deposits, without a time delay. It can only be used once in the lifetime of a single tBTC version. Meant for 0-day exploits or issues. Note that this was used in the first launch of tBTC in May 2020. As understood by the researchers of this evaluation the tBTC version released in September has not yet "consumed" this system wide pause switch. After 6 months live on mainnet without incidents this emergency pause is deactivated and can no longer be used.
A community developed stats site indicates that 8,423.06 TBTC has been burned until today (9 Dec 2020). As signers receive the signer fees upon burning TBTC and releasing the locked BTC we may estimate a total of 4.2 TBTC in generated fees (which would today amount to ~$76,956) generated by the protocol.
A total of 683 wallets or contracts are currently holding TBTC, most of which is locked in the Curve liquidity pool contract (~82%):
Metrics and analysis
CEX and DEX volume
Compared to other tokens, TBTC is seeing little volume on both centralized and decentralized exchanges, which is reasonable considering the short time it's been available on the Ethereum mainnet. At the moment Hotbit and Kraken are the only centralized exchanges trading TBTC, pairing it with BTC, USD, ETH and EUR.
Here's the Kraken TBTC EUR and USD pairs volume since listing.
Source of data: CryptoCompare
The biggest volume on the decentralized side is on Curve, with Balancer, Uniswap V2, 0x and Sushiswap lagging behind. Here's Curve and Uniswap TBTC volume for comparison:
Source of data: Uniswap V2 Subgraph, Curve.fi
Since the relaunch on 22 Sep 2020, the number of wallets holding TBTC is steadily increasing. There's currently one EOA with ~6.6% of total supply, a few users/addresses seem to have gone for the 10 BTC lot size, while most EOAs hold 1 or less TBTC.
Here's a visualization of unique addresses holding TBTC over time:
Source of data: Nansen
Tokens on exchanges
As mentioned before, the majority of TBTC supply (~82%) currently resides in the Curve pool where users can swap it for other forms of BTC on Ethereum. If we disregarded Curve, we would mention Balancer and Uniswap V2 among the decentralized exchanges with some liquidity and Kraken and Hotbit among the centralized ones. They say a picture is worth a thousand words …
Source of data: Etherscan, Uniswap V2, Nansen
As tBTC has only been on mainnet for 3 months, we'll instead look at the data for BTC to get a comparison against ETH on a larger time frame. As tBTC is redeemable for BTC it has closely followed BTC price.
Daily pullback comparison between ETH and BTC over the past 2 years:
TBTC and BTC price comparison:
As in prior sections we'll have to assume TBTC follows BTC price well enough and would always be 1-to-1 redeemable for BTC to use the BTC price for getting some historical volatility data. As the largest and oldest of crypto currencies BTC is one of the most stable (apart from stablecoins).
Supply of TBTC is at least partly limited or correlated to the Keep network participation and KEEP token as the work token of the Keep network. The majority of KEEP is kept in vesting or grant contracts, the Keep multisig and the KEEP staking contract. With a total supply of 999,848,780.80 KEEP, there's currently 97,874,909 KEEP (9.8%) locked in the KEEP staking contract with 186 operators or signers. There's currently 98,214 ETH bonded, protecting the TBTC supply.
Source of data: Etherscan
We can also look at how the supply of BTC on Ethereum has increased over the past months. The custodial WBTC solution holds the biggest share with 80.7% of BTC on Ethereum, followed by renBTC with 11.9% and others lagging behind.
Supply of BTC on Ethereum on 12 Dec 2020:
|total BTC on Ethereum||142,581|
Supply of BTC on Ethereum over the past months:
Source of data: Dune Analytics
With TBTC being relatively young and competing with other BTC on Ethereum solutions the token hasn't been included in most DeFi projects and is just gaining traction. There's some trading volume on the popular decentralized exchanges such as Uniswap, Balancer, Sushiswap, however as mentioned before, Curve is by far the biggest platform in terms of locked TBTC among DeFi exchanges. TBTC hasn't yet been included in other big DeFi projects but has been proposed on Aave and CREAM platforms.
Summary of notable risks or red flags
- tBTC relies on 3 key modules for it's operation, with each of those performing an essential operation for the system - Keep network, Summa relay, MakerDAO oracle - a failure in any of them may result in issues with minting, redeeming, erroneous bond slashing or even breaking the supply peg. The first release of tBTC was however stopped by a bug in the redemption part of tBTC smart contracts. This resulted in stopping the first release on the Ethereum mainnet back in May 2020. Luckily, the locked funds were successfully retrieved. The next and improved iteration of tBTC was released in Sep 2020 and the team does seem to strive for a secure solution and has undergone several external audits.
- At time of writing the system has been live on mainnet for a bit less than 3 months. That is little time, even in these times of chaotically fast DeFi movements. This is most likely the reason that TBTC hasn't yet seen broad adoption, is missing from other lending DeFi projects and doesn't have a lot of liquidity on decentralized exchanges (apart from Curve). This may pose some problems for keepers in volatile times. The TBTC supply however has been increasing ever since the release of it's second iteration and may get good traction in the future.
- Introducing an asset that is collateralized with ETH is somewhat counterproductive to the Maker efforts of trying to diversify collateral types away from ETH as the dominant token.
- There's currently little liquidity and trading on exchanges apart from Curve. Having most of the liquidity available on a single exchange can be risky in volatile times and may greatly hinder liquidations in case of Curve issues.
With the complex system that's been live on mainnet a short time, little liquidity and trading volume, the risk parameters would be somewhat discouraging for adding and using TBTC in MakerDAO. Using the standard risk modelling for example would only allow for a debt ceiling of up to $300,000. With that DC and the cost of adding and maintaining a new token, introducing it to MakerDAO is questionable. We're proposing to re-evaluate it at a later point. We hope and believe TBTC will get good traction and broader adoption in the following months.
Lead researcher: Jernej Mlakar & Andrej Marolt
- tBTC technical specification; https://docs.keep.network/tbtc/index.html Dec 2020
- "tBTC: A bumpy start, but a bright future?" medium article; https://medium.com/zengo/tbtc-a-bumpy-start-but-a-bright-future-8aa14a4630bf Dec 2020
- "What is tBTC?" medium article; https://omahahiloboy.medium.com/what-is-tbtc-81fd34ccee69 Dec 2020
- "The Importance of Randomness: Keep's Role in tBTC" Keep blog article; https://blog.keep.network/the-importance-of-randomness-keeps-role-in-tbtc-a20e444d285b Dec 2020
- Keep; https://keep.network/ Dec 2020
- Summa; https://summa.one/ Dec 2020
- tBTC docs; https://github.com/keep-network/tbtc/blob/master/docs/introduction-to-tbtc.md Nov 2020
- tBTC Security Model; https://tbtc.network/developers/tbtc-security-model/ Nov 2020
- Consensys tBTC and Keep audit; https://consensys.net/diligence/audits/2020/02/thesis-tbtc-and-keep/ Dec 2020
- How to Play for Keeps; https://blog.keep.network/how-to-play-for-keeps-297f246455d4 Dec 2020
- How the Keep Token Works; https://blog.keep.network/how-the-keep-token-works-500c9722dac0 Dec 2020
- Coindesk article on Keep and Thesis; https://www.coindesk.com/makers-of-keep-protocol-raise-7-7m-to-bring-trustless-btc-to-defi Dec 2020
- TBTC Collateral Onboarding proposal by founder of Thesis Matt Luongo; https://forum.makerdao.com/t/tbtc-proposal-for-collateral-onboarding-tbtc/2328 Dec 2020
- Uniswap V2 Subgraph; https://thegraph.com/explorer/subgraph/uniswap/uniswap-v2 Dec 2020
- Curve coin volume stats; https://www.curve.fi/volumepercoin Dec 2020
- Keep staking documentation; https://staking.keep.network/ Dec 2020
- BTC on Ethereum dashboard; https://explore.duneanalytics.com/dashboard/btc-on-ethereum_1 Dec 2020