The Internet Computer Community Adopts Threshold ECDSA Signatures Motion Proposal
Work will begin to integrate threshold ECDSA signatures into the Internet Computer so that canister smart contracts can hold BTC and ETH.
The Internet Computer community is actively shaping the blockchain’s feature and upgrade roadmap, with robust discussion taking place within the Developer Forum. The DFINITY Foundation is committing R&D resources to the Internet Computer ecosystem in the form of technical contributions. Technical upgrades are subject to community discussion, voting, and adoption via motion proposals to the Network Nervous System (NNS).
A proposal (#21340) to “Integrate Threshold ECDSA Signatures Into the Internet Computer” was submitted to the NNS on Sept. 20, 2021 at 15:00 UTC. Voting by neuron holders ended 48 hours later on Sept. 22, with 100% logged Yes votes at a voting power of 313,336,901.
Due to community engagement and questions on the Developer Forum, voting on the proposal was postponed from the original Sept. 15 date for five days of additional vetting and reviews. The DFINITY Foundation and Internet Computer Association, and by extension their corresponding neuron followers, abstained from early voting until the broader community of ICP neuron holders had a chance to vote on the proposal.
At each stage of a proposal’s life cycle, neuron holders will have the ability to direct the Foundation’s effort in making the Internet Computer more efficient, faster, and easier to use for developers. The community decides what upgrades are initiated and what code is adopted, allowing the Internet Computer to evolve in real time. This proposal is for starting work on integrating threshold ECDSA signatures into the Internet Computer in order for canister smart contracts to hold BTC and ETH.
There are many types of NNS proposals. This one is a Motion proposal that does not actively change the code of the Internet Computer, but it does provide an on-chain mechanism for the community to vote on the direction. This particular proposal, for example, was to adopt the design and plan of the integration of ECDSA signatures with the Internet Computer. It will take months and multiple NNS proposals to update the code.
Summary
ECDSA signatures are widely used in the blockchain industry. This feature will enable canister smart contracts to have an ECDSA public key and to sign with regard to it. The corresponding secret key is threshold-shared among the nodes of the subnet holding the canister. This is a prerequisite for the integration of the Internet Computer with Bitcoin and Ethereum.
Since those networks use ECDSA, canisters must be able to create ECDSA signatures in order for them to hold BTC and ETH as well as create Bitcoin and Ethereum transactions. Rather than the corresponding secret key being part of the replicated canister state, instead the secret key will be shared among the replicas of the subnet, which must be able to collaboratively create threshold ECDSA signatures whenever a canister makes a signature request.
This is a highly security-critical feature of the Internet Computer, as substantial value in terms of BTC and ETH will be secured with it in the future. Thus, the implementation of the feature needs to be covered by accordingly stringent automated testing. Clearly, unit tests and integration tests will be used to assure the correctness of individual methods and components, respectively.
You can find details, updates, and ask questions on the proposal’s Developer Forum thread.
Documentation
Timeline
- Draft plan for feature posted on the forum for review: September 10, 2021, 15:00 UTC
- NNS Motion Proposal (#21340) submission: September 20, 2021, 15:00 UTC
- Community Conversation with Victor Shoup, DFINITY principal researcher, outlining the cryptographic techniques used to reach the objectives of the proposal: September 16, 16:00 UTC
- NNS Motion Proposal (#21340) expiration: September 22, 2021, 15:00 UTC
- If this NNS proposal passes, then subsequent NNS proposals will follow the proposed design along with code updates. Implementation, testing, and deployment will take months: Q4 2021.
Next Steps
Now that the motion has passed, the research team behind the design will continue to update the community on the project process and timeline. Given the complexity of the feature and requirements for a rigorous quality assurance, we anticipate multiple months of engineering and testing effort.
Updates
09/21/21 — With approximately 22 hours remaining within the voting period, Yes votes logged voting power amounting to 1,364,834 and 0.44%, with 0.00% and a voting power of 3,895 voting No.
09/22/21 — With less than an hour remaining within the voting period, Yes votes logged voting power amounting to 2,177,771 and 0.69%, with 0.00% and a voting power of 3,992 voting No.
09/22/21 — At the close of voting, Yes votes logged voting power amounting to 313,336,901 and 100%, with 0.00% and a voting power of 3,992 voting No.
_____