Threshold ECDSA Signatures

Milestone accomplished! :partying_face:

The milestone of having an integration of the consensus functionality and cryptographic primitives for the presigning protocol has been reached this week. In addition to what has been originally planned for the milestone, encryption has been implemented already for this milestone. Presigning is the most complex part of the implementation of the threshold ECDSA feature and is working now end to end with some shortcuts that we still need to “iron out”.

Paul from our consensus team has given an internal demo of this on Wednesday in our company-wide team meeting. To make the presigning more tangible, the functionality has been visualized via a Grafana dashboard showing metrics related to the computation of the quadruples via DKGs on a size-4 subnet. These operations are executed besides the regular subnet operation to fill up a pool of quadruples to be consumed by instances of the threshold ECDSA signing protocol. See the screenshot from the internal demo session for the visualization: You can see the quantities of various related operations and the actual number of quadruples (limited to 8 for this test) in the pool.

We have, as mentioned previously, taken some “shortcuts” in the implementation to get the core of the protocol working end to end. For those shortcuts we still need to implement the full functionality which will be done once the signing protocol has been implemented.

The next upcoming milestone is the implementation of the signing protocol that consumes a quadruple generated in the presigning protocol for each threshold ECDSA signature. It is simpler than the presigning protocol and is being worked on right now.

This has been a great joint effort of multiple dedicated teams and its nice to see how everything has come together after lots of hard work!

14 Likes