0confirmation Public Testnet is LIVE

Jon Tompkins
0confirmation
Published in
6 min readJun 22, 2020

What is 0confirmation (0cf)?

0cf is a community driven project kicked off to address a pain point in the first major use case for RenVM — Using Bitcoin to mint renBTC on Ethereum.

We see Decentralized Finance on Ethereum as having near unlimited potential for growth but also appreciate Bitcoin’s position as the largest, most liquid, and most OG digital asset. Bitcoin can benefit from Ethereum’s flexibility and DeFi on Ethereum can benefit from Bitcoins liquidity. With over $10 million of volume in the first few weeks of renVM’s launch it is clear we aren’t alone in this assumption.

We are excited to be a small part of bridging these two worlds in a more seamless manner. With generous collaboration and guidance from the Ren Project core team, 0cf’s solution has launched on Bitcoin testnet and Ethereum kovan with plans for a mainnet launch in the next couple weeks (more below). You can read more about how Ren enables trustless cross chain communication and asset shifts HERE and HERE.

Access the 0cf testNethttps://swap.0confirmation.com/trade/swap

Community telegram grouphttps://t.me/zeroconfirmation

The Problem — Dumb Finality

Just like any exchange or 3rd party Bitcoin transaction, RenVM only treats Bitcoin transactions as “final” after 6 block confirmations. Waiting up to an hour to access the BTC equivalent on Ethereum is a stark contrast to the relative speed of most actions on Ethereum, where as little as 20 seconds is needed for safe finality. 0cf has been built to address this bottleneck to encourage and support the use of Bitcoin in DeFi via RenVM. This is necessary to avoid exploitation of the protocol and intentional double spends.

Our Solution — Smart Finality

0cf was originally referred to as “Confirmation as a Service” but in reality it is a solution to take on the confirmation risk from the ren protocol in exchange for a fee. The key feature of 0cf is the borrow proxy, a smart contract controlled wallet that permits the user to use pre-shifted BTC on approved DeFi platforms until their BTC swap is fully confirmed. Uniswap will be the first approved platform which will allow users to swap BTC to any approved erc20 with near-immediate execution, greatly limiting additional price slippage, directly from their hardware wallet. For the first time a user can skip depositing their Bitcoin into a platform before trading and immediately swap for another asset. The initial use case will be for selling Bitcoin to liquid Ethereum based assets (ETH, DAI, USDT, USDC, etc.), but as more modules are added users will be able to use many of the popular DeFi protocols, enabling more use cases.

Once the initiating Bitcoin transaction reaches 6 confirmations the borrow proxy forwards all funds to the users target address. At no time does 0cf or anyone else have control of the users funds. If the initiating transaction does not reach 6 confirmations in a predetermined time the proxy wallet is liquidated for renBTC which is returned to the liquidity pool. If the initiating transaction eventually does reach 6 confirmations the user still receives their renBTC and they can use it as they wish.

There are 2 main benefits to this approach vs waiting for all 6 confirmations before being able to perform a transaction:

  1. Reduced Price Risk — When trying to buy an asset with BTC, the price can move while you are waiting for confirmation, meaning you could receive less of the resulting asset than anticipated;
  2. Reduced Attention Risk — Users may forget what they were intending to do with shifted assets or may leave the platform if made to wait.

Risks

There are 3 actors in the 0cf protocol:

Users — BTC holders wanting to swap or use their BTC on enabled modules on Ethereum.

Keepers — Observers that evaluate and approve user’s liquidity requests, execute and provide liquidity providers with surety bonds in exchange for a fee.

Liquidity Providers — renBTC holders who send renBTC to a smart contract managed liquidity pool used to make Keeper-approved 0cf loans to Users in exchange for a fee.

The Liquidity Providers do bear some risk of loss if a user is malicious or a BTC transaction is not confirmed. Since, however, any asset that the bitcoin is swapped for is held in the borrow proxy smart contract until a full 6 confirmations is reached the risk is limited to exchange rate risk, not risk of theft. Furthermore, there is a Keeper bond that would be liquidated into the liquidity pool if any loan liquidation resulted in a loss adding extra protection for liquidity providers.

Other steps being taken to limit the risk or severity of an attack or loss:

  1. Limited modules + asset whitelists — The protocol settings limit the types of transactions available to whitelisted DeFi platforms and DeFi specific assets with reliable liquidity.
  2. Keeper Bond — For now, Keepers must post a first loss bond of 10% of the loan amount to trigger the loan. That bond is used to repay any possible losses to the liquidity pool. This incentivizes Keepers to identify and reject high-risk Bitcoin transactions.
  3. Transaction Timeout — If the Bitcoin transaction does not reach 6 confirmations in the prescribed time window (10k Ethereum blocks to start) the proxy wallet will be liquidated. This limits the window of time in which the assets in the proxy wallet can change in value relative to bitcoin and lead to potential losses on liquidation.
  4. Limited transaction size — The attacker still loses money paying the Bitcoin transaction fee or forcing a reorg (VERY expensive). Smaller transaction sizes make that loss a higher percentage of the loss they can inflict on the system.

0confirmation SWAP

0confirmaton is a service first and we hope to integrate with the most popular current and future DeFi platforms to bring a great user experience to their cross chain implementations. For launch, we have built a simple app for trading directly from BTC to DAI on uniswap.

This is a new protocol and a novel solution to a complicated problem. At first, we will be launching with limited functionality and with a few central controls to protect ourselves and all participants in the network. We hope to iterate quickly and find optimal settings and configurations while working closely with Users, Keepers, and Liquidity Providers. We are committed to decentralizing the protocol in the long term but there will be many centralized components at the start to protect ourselves and the participants in the network.

Rollout Plan

Our first product is “0cf Swap”. A place to swap your Bitcoin directly for DAI using uniswap.

Caverns — testnet BTC + Kovan (2 Weeks)

Invite broad community testing/feedback. Ends 2 weeks from the last critical bug being found. UI changes/requests not counted as critical. Build out documentation & SDK.

Bunker — Protected Mainnet (4 Weeks)

Only team and partner contributions are allowed to liquidity pool. Only teams and partners approved to run keepers. Transaction size limited to .05 BTC. If a critical bug is found liquidity will be removed and will be shut down till it is fixed. Needs to run for 4 weeks with no critical bugs before moving on. Look for partners to do limited test deployment of SDK.

Silo — Open Mainnet Phase 1 (4+ Weeks)

Allow open contribution to liquidity pool. Source more keeper participation but approval is still controlled by team. Increase transaction size limit. Release plans for decentralization of various components.

Next Steps

Over the next 2+ weeks the team will be focusing on internal mainnet testing, fixing testnet bugs, identifying demand for different roadmap options, and a redesign of the home and swap pages (come to the telegram for a preview). While there is logic stored on Ethereum we are inherently a chain-agnostic protocol and are planning on supporting renVM integrations beyond Ethereum as well.

  • Come help us test! Ask questions and learn more about the protocol.
  • If you are interested in integrating 0cf into your platform swing by the telegram or DM us on twitter.

website | twitter | telegram

--

--