1.一种基于区块链的多方安全计算方法,其特征在于:所述的方法包括按顺序进行的下列步骤:
1)在具有多个节点A,B,C…的区块链中,任一节点均可作为计算发起方,其余节点拥有计算所需的数据;
2)当需要进行多方安全计算时,节点A作为计算发起方,其随机产生多个相同功能但不一样的混淆电路,分别为Ca,Cb,Cc…,然后计算多个混淆电路Ca,Cb,Cc…的hash值Ha,Hb,Hc…并连同自己的计算方法上传到区块链上,同时所有节点中的任两个节点之间分别生成相应的智能合约,智能合约规定如下:任何一方都可以终止整个多方安全计算协议的执行、确认节点A所发布的某个混淆电路的真实性、发布最终的计算结果;
3)其余节点分别与节点A运行茫然传输协议而分别获得其中一个混淆电路,然后分别计算各自获得的混淆电路的hash值HB,HC…;
4)其余节点分别利用自己获得的混淆电路的hash值HB,HC…与节点A上传到区块链上相对应的hash值Ha,Hb,Hc…进行对比,如果对比结果一致,则通过智能合约确认节点A是诚实可信的,否则认为节点A不诚实,终止协议的进行;
5)其余节点按照信用竞争计算权,其中节点B获得了计算权;
6)节点B与其余节点运行茫然传输协议,并从节点A处获得相对应节点B的加密数据Ea;
7)节点B分别与其余节点运行茫然传输协议,并从其余节点处获得相对应其余节点的加密数据Ei(i∈[1,2,3…]);
8)节点B按照相对应的混淆电路生成自己的加密数据Eb;
9)至此节点B已经拥有了计算所需的全部加密数据Ea,Eb,Ei(i∈[1,2,3…])和相应的混淆电路Cb,这时节点B开始进行计算,并将计算结果通过智能合约上传区块链公示。