Feature request
You mention in the README file that the identifiable abort (IA) feature is not fully supported. At Nillion, we are interested in integrating this feature in the 3+1 protocol version.
Q1: Are you already working on this? Otherwise, we would like to contribute.
Implementation details
We've looked into the code and it seems that most of the ZK-protocols are already implemented together with the blame option, allowing to have some degree of IA. According to the docs, there are two ways to request a signature:
- Running
cggmp21::signing, which ends up calling signing_n_out_of_n and runs the whole signing protocol at once,
- or through the chain of operations
generate_presignature -> issue_partial_signature -> combine.
To support IA following option 1, we would need to include 3 new zkps ($\Pi^{mul}$, $\Pi^{mul*}$ and $\Pi^{dec}$) into paillier-zk repo and integrate them here and here.
Option 2 seems a bit more evolving as we would need to save the transcripts in-between the function calls.
Q.2 Is the above sensible? Are we missing any major blocker?
Feature request
You mention in the README file that the identifiable abort (IA) feature is not fully supported. At Nillion, we are interested in integrating this feature in the 3+1 protocol version.
Q1: Are you already working on this? Otherwise, we would like to contribute.
Implementation details
We've looked into the code and it seems that most of the ZK-protocols are already implemented together with the
blameoption, allowing to have some degree of IA. According to the docs, there are two ways to request a signature:cggmp21::signing, which ends up callingsigning_n_out_of_nand runs the whole signing protocol at once,generate_presignature->issue_partial_signature->combine.To support IA following option 1, we would need to include 3 new zkps ($\Pi^{mul}$ , $\Pi^{mul*}$ and $\Pi^{dec}$ ) into paillier-zk repo and integrate them here and here.
Option 2 seems a bit more evolving as we would need to save the transcripts in-between the function calls.
Q.2 Is the above sensible? Are we missing any major blocker?