Skip to content

Trustlessly tokenized Bitcoin on Ethereum, version 2

License

Notifications You must be signed in to change notification settings

gunit666/tbtc-v2

This branch is 725 commits behind keep-network/tbtc-v2:main.

Folders and files

NameName
Last commit message
Last commit date
Jul 19, 2023
Aug 7, 2023
May 2, 2023
Aug 3, 2023
Mar 24, 2022
Jul 6, 2023
Jul 12, 2023
Aug 2, 2023
Jan 6, 2023
Jul 7, 2023
Jun 4, 2021
Jan 6, 2023
Mar 9, 2023
Mar 2, 2023
Jul 15, 2021
Feb 14, 2023
Feb 13, 2023
Sep 28, 2022
Sep 28, 2022
Mar 29, 2023
Feb 6, 2023
Jul 15, 2021
Jul 15, 2021

Repository files navigation

TBTC v2

TBTC contracts build status TypeScript bindings build status Yearn build status System tests status Monitoring build status

Docs Chat with us on Discord

For many Bitcoin holders, one question remains: how can I move my assets across blockchains to make them more useful while maintaining Bitcoin’s core values?

Existing solutions that bridge Bitcoin to Ethereum require users to send their Bitcoin to an intermediary in exchange for an Ethereum token that represents the original asset. This centralized model requires you to trust a third party and is prone to censorship, threatening Bitcoin’s promise of secure, permissionless decentralization.

Threshold aims to solve this problem with TBTC v2.

The second generation of TBTC is a truly decentralized bridge between Bitcoin and Ethereum. It provides Bitcoin holders permissionless access to DeFi and the expanding web3 universe.

TBTC v2 replaces centralized intermediaries with a randomly selected group of node operators on the Threshold Network. This group of independent operators works together to secure your deposited Bitcoin through threshold cryptography. That means TBTC v2 requires a majority threshold agreement before operators perform any action with your Bitcoin. By rotating the selection of operators, TBTC v2 protects against any malicious individual or group of operators seizing control. Unlike other solutions on the market, users on TBTC v2 are reliant on math, not hardware or people. Additionally, TBTC v2 is open and accessible to anyone.

TBTC v2 allows anyone to use Bitcoin in the expanding DeFi and Web3 universe without a third-party intermediary.

This repository contains:

Overview

tBTCv2 uses the Random Beacon and Sortition Pool to generate governable-sized (starting at 51-of-100) threshold ECDSA Bitcoin wallets at a governable frequency (starting weekly). The youngest wallet accepts new deposits, and the oldest wallet serves redemptions.

Depositing Bitcoin into the tBTCv2 bridge grants a transferable Bank balance, which can be used to mint a supply-pegged ERC-20: TBTC. For an in-depth explanation about the design, see RFC 1: tBTCv2 Design.

Installation

Prerequisites

  • clone the repository

  • Node.js v14.21.2

  • yarn: $ npm install -g yarn

  • configure git to use https

git config --global url."https://".insteadOf git://
  • Python 3.11.1 for node-gyp. It is suggested to use pyenv to manage multiple Python versions.

brew install pyenv
pyenv install 3.11.1

Install and Test Contracts

cd solidity
yarn install --frozen-lockfile
yarn build
yarn test
yarn test:integration

Install and Test TypeScript Library

cd typescript
yarn install --frozen-lockfile
yarn build
yarn test

About

Trustlessly tokenized Bitcoin on Ethereum, version 2

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • TypeScript 72.7%
  • Solidity 23.3%
  • JavaScript 2.0%
  • Rust 1.8%
  • Shell 0.2%
  • Dockerfile 0.0%