github keep-network/keep-core solidity/v2.0.0
Solidity: v2.0.0 (Mainnet)

latest releases: v2.1.0, v2.0.1, v2.0.0...
2 years ago

solidity/v2.0.0 is the release of two key contracts that implement the Solidity side of functionalities underpinning Threshold Network tBTC v2 on Ethereum mainnet. These are:

WalletRegistry: The contract is responsible for requesting and managing new ECDSA signing groups, including signing group members selection, verification of a generated key, group lifecycle, and slashing. ECDSA signing groups registered in the contract are backing tBTCv2 wallets. The contract provides an efficient implementation for supporting large wallets on-chain, such as 51-of-100 wallets holding BTC assets for tBTC v2.

KeepRandomBeacon: The Threshold Network and tBTC v2 specifically require a trusted source of randomness for the process of a trustless group election. While the network requires that randomness to function correctly, the source of randomness is itself broadly applicable. This trusted source of randomness takes the form of a BLS Threshold Relay. The threshold relay generates verifiable randomness that is resistant to bad actors both in the relay network and on the anchoring Ethereum blockchain. RandomBeacon contract is in charge of requesting relay entries, verifying submitted entries, and all other activities such as relay group lifecycle or slashing.

The release commit hash is signed by the development team, verifiable on Keybase. Our Keybase usernames are all associated with the Keep organization and with our GitHub usernames.


Commit hash for clean builds is be7d537ccc8909b20837c375501aca3cd583cf41.

Signatures of commit hash from the development team (verify these in the Keybase app):

  • @pdyraga:
    BEGIN KEYBASE SALTPACK SIGNED MESSAGE. kXR7VktZdyH7rvq v5weRa0zk8SRO9e gN94erb57G43YvY asc2ypx7KtJhJpq tOozFkj38nze8ES VZG79swpYGVfjHW 3NvIZUaMO1seQn1 7WpblHz56y4sbyA fPb2CBL93huEcO5 SqQvPqYheBkRC6X CSdC8sSIZDRtZHL Cr52ck79n1L6f7z 0beqCmvvcPuju3Z WRVyI8MwxnUqRDY kLbal0Se55JHnH0 sgrsuUePZlEJND7 . END KEYBASE SALTPACK SIGNED MESSAGE.

  • @nkuba:
    BEGIN KEYBASE SALTPACK SIGNED MESSAGE. kXR7VktZdyH7rvq v5weRa0zkUgHswq LONGnytauGuQ68W zKcm0YTewHXEGd3 2M8FiSegAT4a6Aw MazGRUp4ZC9m5H9 zax4TmrhUwiIZSa bRXFJaaNgV9ycfu oceOTTnRRKmS0In VcXS2HfnHtrEEuU QzqqlzIuAARVC5K gd9L8DNhjj6JKM4 E3mpbrtsIoaej44 OTFMWt4RIESpISc dbNsx0Se55JHnH0 sgrsuUePZlEJND7 . END KEYBASE SALTPACK SIGNED MESSAGE.


Finally, note that the full set of work that went into the solidity/v2.0.0 version can be found in the corresponding solidity/v2.0.0 milestone.

Don't miss a new keep-core release

NewReleases is sending notifications on new releases.