Zilliqa的多签机制

参与者:

  • 节点:拥有对一对公钥、私钥组合;
  • 领导者:整合节点的签名并领导整个多签流程;
  • 验证者:验证最终签名;

流程:

  1. 首先,所有的节点将其公钥发送给领导者;
  2. 领导者利用算法将所有的公钥整合,并生成一个新的公钥

算法可以很简单,比如将所有的公钥相加生成新的公钥
Aggregated Public key = Public key_1 + Public key_2 + …. + Public key_n

  1. 领导者将新的公钥发送给验证者;
  2. 接下来,领导者需要和每个节点互动,流程如下:
  • 提交:每个节点产生随机数并黑盒提交给领导者;
  • 挑战:领导者将每个节点产生的随机数根据算法生成新的提交信息,然后将新的提交信息、第二步产生的公钥、以及要验证的消息,做为一个挑战信息发送给节点;
  • 回应:每个节点应用自己的私钥,解密挑战信息,并将回应发送给领导者。领导者将所有的回应整合。
Zilliqa的多签机制_第1张图片
  1. 最终生成的(挑战信息、整合的回应信息)可以被验证者使用第二步生成的公钥验证。验证者并不分开验证每个节点的工作,而是整体判断是否所有的节点都正常,是一个0或者1的判断。

你可能感兴趣的