dfinity / grant-rfps

Grant RFPs and Bounties
Apache License 2.0
52 stars 11 forks source link

BNT-11: Multi-subnet Bitcoin Custody #46

Closed domwoe closed 7 months ago

domwoe commented 11 months ago

Overview

Status: Completed Project Type: Cooperative/Contest - Multiple workers can submit work and the bounty is shared Time Commitment: Days - weeks Experience Level: Intermediate/Advanced Size: USD 5'000 in ICP (at time of distribution) Deadline: -

Description

The Internet Computer can be used to create Bitcoin wallets, where the private key never exists physically, but signatures are generated by a secure multi-party computation among the nodes of a fiduciary subnet. However, for some very high-value custody applications, we might want to increase the security even further.

Bitcoin Script allows to require multiple signatures to spend a UTXO. Hence, we can create a wallet (or even a version of ckBTC) that consists of multiple canisters running on different fiduciary subnets, requesting signatures derived from different master keys (Currently, we only have two master keys deployed, key_1 and test_key_1).

Hence, the node providers of multiple subnets would need to collude to steal assets.

Requirements

Acceptance Criteria

Evaluation Criteria

How to participate?

Post your submission in the following forum thread. Please be aware that Terms and Conditions of the DFINITY Developer Grants Program apply.

References

domwoe commented 7 months ago

Completed by @sardariuss

https://github.com/sardariuss/ic_btc_multisig