Bitcoin on Ethereum: No Games, Just Math

A tBTC development update

Carolyn Reckhow
Keep Network
5 min readDec 23, 2019

--

Since announcing tBTC with Summa at the Cross Chain Summit back in August, we’ve been heads down developing the price feed, redemption and deposit flows, a dApp for deposit and redemption, optionally locked deposits, and much more. We’ve also opened up CCG to new members and proposed tZEC, an Ethereum-Zcash bridge.

tBTC is the first project proposed by the Cross Chain Group (CCG). The protocol was originally designed by Matt Luongo and James Prestwich, and completed with community contributions. Notable mentions to Georgios Konstantopoulos and Dan Robinson for their mechanism contributions.

For continuous updates, you can follow along with our Keep & tBTC updates in the Proof of Work newsletter.

What is tBTC?

If you’ve got some time to spare, check out our detailed tBTC protocol spec. This is your TL;DR:

tBTC maintains Bitcoin’s hard money properties across decentralized finance. It’s the first major dApp built on the Keep Network, leveraging Keep’s infrastructure for censorship-, inflation-, and seizure-resistance. tBTC is your Bitcoin, available on Ethereum. It’s decentralized, liquid, and most importantly, secure.

TBTC is a 1:1 Bitcoin-backed ERC-20, the first to be minted via a decentralized protocol. This means that if you have 1 TBTC, you can be confident that you can redeem it for 1 BTC. It’s a sidechain, or supply peg. tBTC isn’t a synthetic — it’s not the price of Bitcoin on Ethereum, it is Bitcoin on Ethereum, bringing the extensibility of Bitcoin to DeFi (and you don’t have to wait as long for finality).

Minting TBTC

To mint TBTC, you need to deposit Bitcoin:

  • Alice submits intent to open a deposit for TBTC minting (along with a small ETH bond), which produces a unique BTC address for her (a public key hash (PKH) put together by the Keep signers who have put up 150% collateral in ETH to participate). This immediately gives her a tBTC Deposit Token (TDT), an NFT for managing the deposit.
  • Alice sends 1 BTC to the address provided and waits for finality.
  • Then Alice sends an SPV proof of payment from the BTC chain to the deposit contract on the ETH chain.
  • Finally, Alice requests that 1 TBTC be minted from the TBTC Vending Machine contract, giving ownership of her deposit to the Vending Machine in exchange.
  • 1 TBTC is minted and sent to Alice (minus the signer fee).

tBTC deposits and fungible TBTC allow you to take out loans, margin trade, participate in Maker CDPs, and earn interest on your Bitcoin. Now you can access the upside of HODLing without selling or using centralized third parties for loans.

Note that if you are concerned about keeping exclusive access to your Bitcoin UTXO, you should not mint TBTC off of your deposit; instead, you should find applications that can work directly with your TDT. Minting TBTC surrenders exclusive access to the deposit, and therefore allows others to redeem your UTXO if they wish.

The Keep network is an off-chain network of nodes reading and writing to the Ethereum and Bitcoin networks. In the tBTC system, signers must put down collateral of 1.5x the amount of Bitcoin deposited in ETH, to guarantee against malicious activity.

Redeeming TBTC for Bitcoin

Redeeming is as simple as minting; 1 TBTC is always redeemable for 1 BTC. When you’re ready to switch back into BTC, you have the ability to use your tBTC Deposit Token (TDT) to redeem the exact UTXO of your original deposit if it’s within the set 6 month deposit period (signers get paid a fee at the end of the period). Here’s how you can redeem a TBTC for Bitcoin:

  • Submit a redemption request with your TBTC, along with a tBTC Deposit token.
  • If you own a TDT for a deposit, you’ll also need to send in a signers fee (i.e. if you minted 1 TBTC, you’d submit a redemption request with 1.005 TBTC). This will give you the exact UTXO associated with your TDT.
  • If you don’t own a TDT but you want bitcoin for your TBTC, you can just pay the signer fee plus TBTC to redeem a BTC from the system.
  • If you don’t own a TDT, but there is a deposit that has existed for >6 months in the system, it will just cost you 1 TBTC to redeem for 1 BTC. In this case, the signers fees are paid by the current tBTC deposit owner, but you (the redeemer) gets the BTC.
  • The keep system will have you confirm your BTC request on the Ethereum blockchain.
  • The system releases the BTC and confirms the release on the ETH chain.
  • After BTC finality, the Keep system sends the BTC transaction proof to the ETH chain, triggering signer payment.

tBTC development updates

Redemption flow:

The redemption dApp allows a tBTC deposit to be redeemed for its original BTC holdings with a valid tBTC Deposit Token. A TDT is tied to a specific tBTC deposit’s Bitcoin UTXO. Holding the token allows you to redeem that tBTC deposit for the original Bitcoin used to fund it.

In early designs, tBTC deposits were immediately converted to fungible ERC-20 TBTC tokens upon qualification (proof of deposit). In the final design of tBTC v1, by default qualified deposits simply provide you with a TDT. There is a separate contract, referred to as the TBTC Vending Machine, that is used to mint fungible TBTC in exchange for the TDT, minus an escrow amount equal to the signer fee for the deposit. The owner of a TDT holds the exclusive right to redeem the underlying UTXO until the deposit passes its term (6 months), while minting TBTC from the deposit transfers ownership of that token to the vending machine, from where anyone can retrieve and redeem the deposit.

DeFi scales with Ethereum, but imagine what will happen once DeFi has access to Bitcoin’s liquidity. It’s coming soon: tBTC has been running on our internal testnet since October and will be on public testnet in early Q1.

Price feed design:

We’ve been committed to working with the community to design and implement a decentralized price feed mechanism, however for v1 we’ll be using Maker’s medianizer oracle system for the BTC/ETH price feed. The priceless feed will be implemented in a tBTC v2 launch, later in 2020. We’re designing a mechanism that is not a price feed oracle solution, rather a type of reverse auction challenge system we’re calling the priceless feed. Signers can propose any BTC/ETH price bond and challenge any proposed price. With this model, unfair prices will sit open, unfilled.

Get involved

Interested in integrating tBTC with your DeFi protocol, app, or wallet, or getting involved with tBTC when it launches? Contact us at team@crosschain.group.

--

--

Carolyn Reckhow
Keep Network

Macro Social Worker for the Internet. Decentralization. Future stuff. Head of Biz Dev & Strategy at Thesis and @Keep_Project, Formerly @CasaHODL & @ConsenSys