CN113472513B - 一种基于区块链的并行安全多方计算方法 - Google Patents
一种基于区块链的并行安全多方计算方法 Download PDFInfo
- Publication number
- CN113472513B CN113472513B CN202110652711.7A CN202110652711A CN113472513B CN 113472513 B CN113472513 B CN 113472513B CN 202110652711 A CN202110652711 A CN 202110652711A CN 113472513 B CN113472513 B CN 113472513B
- Authority
- CN
- China
- Prior art keywords
- cluster
- node
- group
- contract
- nodes
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/008—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving homomorphic encryption
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/02—Details
- H04L12/16—Arrangements for providing special services to substations
- H04L12/18—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
- H04L12/185—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast with management of multicast group membership
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3236—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
- H04L9/3239—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/50—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种基于区块链的并行安全多方计算方法,该方法利用随机数预言机选取出簇组选举合约的随机数从而找到簇节点组,由该簇节点组的簇头节点接收安全多方计算参与方的加密输入,并将加密输入进行混淆后按照秘密共享策略发送给簇内各节点,簇内各节点执行计算智能合约后将所得结果交给簇头节点进行上链,由各参与方做相应解密后得到最后计算结果。本发明使得安全多方计算功能函数能被多组参与方群体调用执行,减轻了参与方的协同计算工作量,同时簇节点组的随机性选取选择实现了计算智能合约的并行执行。数据传递过程中始终以加密的形式进行呈现保证了数据的隐私安全,而区块链技术的不可篡改性保证了状态数据的真实可靠。
Description
技术领域
本发明涉及区块链技术和安全多方计算领域,特别涉及一种基于区块链的并行安全多方计算方法。
背景技术
区块链技术作为分布式数据存储、点对点传输、共识机制、加密算法等技术的集成应用,是使用密码技术将共识确认过的区块按顺序追加而形成的分布式账本。其具有“去中心化”和“不可篡改”等显著特点,结合加密算法在一定程度上保证了数据的安全。但是作为一种分布式账本技术,网络中的每个节点都拥有完整的账本副本数据,这将显著增加数据隐私泄露的风险,且传统的智能合约计算任务都是在链上进行,将显著增加链上的计算任务消耗量。安全多方计算是一种密码协议,其主要目的是保护数据的安全性和私密性,被广泛应用于数据挖掘和数据分析的过程中,但是在安全多方计算方法中,由于参与方的多种多样,计算任务的繁多导致处理效率有限,且节点间需要进行频繁的数据交互做协同计算,造成不必要的通信带宽消耗。
本发明考虑了安全多方计算场景中的数据交换和安全多方计算的计算函数参与方的选择问题,利用共识算法、随机数预言机、同态加密算法、秘密共享算法等构建了一种基于区块链的并行安全多方计算方法,实现了执行安全多方计算任务的参与方随机性选择、计算任务的并发处理、链上存证链下计算等。本方法可以广泛应用于金融、医疗、互联网等有关数据挖掘和数据联合分析的领域。
发明内容
本发明要解决的问题是用户如何将要进行协同计算的计算函数托付给簇节点组进行执行,以及输入数据在参与计算时的隐私安全保护和如何将簇节点状态进行上链,实现计算任务失效时的有效追责。本发明用于执行安全多方计算的同态加密和秘密共享算法,且以JVM为引擎进行开发。
为解决上述问题,本发明提出了一种基于区块链的并行安全多方计算方法,执行安全多方计算的群组节点按簇进行分类,得到若干簇节点组,并在每个簇节点组中选取出一个可信的簇头节点,用户将安全多方计算的计算智能合约和簇组选举合约一起部署到区块链上,利用随机数预言机选取出簇组选举合约的随机数从而找到随机簇节点组,由该随机簇节点组的簇头节点接收安全多方计算参与方的加密输入,并将加密输入进行混淆后按照秘密共享策略发送给簇内各节点,簇内各节点执行计算智能合约后将所得结果交给簇头节点进行上链,由各参与方做相应解密后得到最后计算结果。具体步骤如下:
1)多个参与方(多个参与方组成参与方群组)需要经过协商后在区块链上部署合约,合约的创建过程如下:
1-1)创建两类合约,一类是用于执行安全多方计算功能函数的计算智能合约,我们称此合约为A合约;另一类是用于随机选取执行计算功能函数的簇节点组的簇组选举合约,我们称此类合约为B合约。
1-2)当各参与方要执行安全多方计算协议时,经协商后由各参与方中的任意一方构建计算智能合约(A合约),再经共识达成后协同B合约一起发布到区块链上。在各种业务场景下可以产生具有不同计算功能函数的A合约和B合约,且不同应用场景下的不同参与方群组可以部署不同的A合约到同一条区块链上。
1-3)已部署的任意一个应用场景下的A合约具有通用性,在满足应用场景计算功能的时候可被多个不同参与方群组进行调用。
2)考虑合约创建完成以后A合约可以被不同的参与方群组同时调用,在调用过程中需要先调用B合约实现簇组选举,从而选举出用于执行A合约的簇节点组,簇组选举的过程是从簇组候选列表中选取某一确定的簇节点组,选取的结果具有随机性,B合约的存在使得A合约可以被选举出的不同簇节点组同时执行计算。而簇组候选列表在创世阶段产生以后进行上链,由链上节点做簇组候选列表的状态维护。簇组候选列表的产生步骤如下:
2-1)执行安全多方计算的群组节点组成一个计算节点系统,该计算节点系统与区块链系统相辅相成,在计算节点系统初始化阶段,群组节点按照与事先定义的创世节点的通信消耗(创世节点是由计算节点系统中最开始定义的节点,具有算力强大的特点,计算节点系统中其余节点最开始没有建立彼此通信链接,但是知道创世节点的通信地址,通过对创世节点发送通信请求,创世节点收到不同计算节点(即群组节点)的通信请求以后,根据接收时间的先后顺序进行分簇)进行分簇,形成M个簇节点组N1,N2,…,NM(M为大于1的整数);
2-2)每个簇节点组中的节点按照工作种类分为两类,一类是簇头节点,有且只有一个;另一类是普通工作节点。簇头节点按照轮次依次更换,每个簇节点组按照簇内节点的算力优先、随机性辅助原则选取出簇头节点;
2-3)各簇节点组将簇内选举出的簇头节点的身份信息进行上链,以便协同计算任务失败时执行追责。同时各簇节点组会被分配一个序号n(n=1,2,…,M)用于标定簇节点组身份,在初始阶段各簇节点组组成一个簇组候选列表(G-List)进行上链,在执行B合约的时候簇节点组序号n作为一个输入从簇组候选列表中选举出某一确定(簇组选举结果具有唯一性)簇节点组。
3)步骤2-3)中提到的簇组选举过程满足随机性原则,随机性是借助链下预言机提供了真实的随机数来满足的,具体的随机性选举过程如下:
3-1)参与者在链上部署的簇组选举合约发送随机数请求给链上已部署的预言机智能合约,预言机智能合约响应请求并从链下预言机设备获取真实随机数返回给簇组选举合约;
3-2)簇组选举合约利用真实随机数执行合约内容选举出当前时间段内任务空闲的簇节点组,并将选举结果广播给各簇;
3-3)簇节点组被选举后,该簇节点组的簇头节点将在链上状态调整为准备状态,则在新的簇组选举合约被调用执行时,该簇节点组将从簇组候选列表中被删除,当计算智能合约执行完毕后方可重新参与到簇组候选列表中,以此保证了安全多方计算任务的并行执行。
4)如步骤3-3)中所述,在B合约调用完成以后会选取到某一具体簇节点组Nk(k=1,2,…,M),随后该簇节点组Nk对A合约进行下载并完成参与方想要进行的联合计算。在该联合计算过程中簇节点组Nk需要向各参与方索求A合约的合约输入(即各参与方拥有的私密数据),并要保证在对各参与方的合约输入执行计算时的数据安全。针对此项需求本发明能实现数据的全周期加密,具体实现步骤如下:
4-1)簇组选举合约选举出执行计算智能合约的簇节点组后,该簇节点组的簇头节点将链上状态调整为准备状态,并向调用A合约执行联合计算的各参与方发送数据请求,各参与方分别将各自的输入数据利用同态加密进行数据加密得到加密数据,然后将各参与方的加密数据发送给该簇节点组的簇头节点;
4-2)该簇节点组的簇头节点接收到各参与方的加密数据后,将加密数据进行一定策略的混淆后再执行秘密共享算法,将加密数据按照秘密共享算法进行分片,得到子分片数据,将各子分片数据分别发送到该簇节点组中的各普通工作节点(每一个子分片数据被分配给一个普通工作节点,而子分片数据的片数等于簇节点组内普通工作节点的个数),该簇节点组中的各普通工作节点利用A合约所述的功能计算函数分别对子分片数据进行计算,分别得到簇节点组中的各普通工作节点的计算结果,将簇节点组中的各普通工作节点的计算结果分别返回给该簇节点组的簇头节点;
4-3)该簇节点组的簇头节点接收到簇节点组中的各普通工作节点的计算结果后,对各个计算结果进行重构,再按照事先的混淆策略去混淆得到各参与方的加密计算结果,将该加密计算结果进行上链;
4-4)各参与方接收到与自己加密数据有关的加密计算结果后进行同态解密,得到真实结果值,此过程保证了数据在传递和计算过程中的全周期加密保护。
本发明应用于以JAVA语言开发的区块链平台上,提供了一种较为合理的基于区块链的并行安全多方计算方法,执行安全多方计算功能函数的计算合约协同簇组选举合约一起发布在区块链上,再由群节点网络进行分簇后的簇节点组加载合约到本地,而计算智能合约的有关输入则通过加密后传输到簇内,结合加密算法实现计算合约的可靠执行,且合约的执行状态等均会上链进行存证。这样一种方法为安全多方计算的通用可扩展提供了一种全新的思路,使得安全多方计算功能函数能被多组参与方群体调用执行,且减轻了参与方的协同计算工作量,同时簇节点组的随机性选取选择实现了计算智能合约的并行执行。合约调用产生的记录被保存在区块链上,参与方利用同态加密保护各自的私有数据,数据传递过程中始终以加密的形式进行呈现保证了数据的隐私安全,即使簇节点组出现作恶也无法解密数据,而区块链技术的不可篡改性保证了状态数据的真实可靠,有利于对簇节点组的行为追责。
附图说明
图1是本发明的两类合约架构图。
图2是本发明实施例的示意图。
图3是本发明实施例的簇组选举合约执行流程图。
图4是本发明实施例的群组节点分簇流程图。
具体实施方式
下面将结合实施例和附图对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围.
一种基于区块链的并行安全多方计算方法,其特点在于参与安全多方计算的各参与方M1,…,MN(即参与方群组M1,…,MN)要执行的功能函数以智能合约的形式部署到区块链上,而各参与方的数据通过加密算法加密后传输给簇节点组(Nk)进行计算,Nk中的簇头节点负责将加密输入数据混淆分片给簇内其它各节点进行计算,实现节点算力的有效利用。最后将计算结果存证上链返回给各参与方。
如图1所示,本发明实施例中参与方将在区块链上部署两类智能合约,包括如下步骤:
步骤1:A合约是由参与安全多方计算的用户(也就是参与方群组M1,…,MN,N为大于1的整数)经协商后生成的用于输入数据协同计算的功能合约,可以由任意节点创建(任意节点为M1,…,MN所有用户协商后的某个具体用户),部署后的合约实例会具有确定的合约地址,创建时会包含合约调用的准入参数条件,只有满足准入参数条件的用户才能够调用该合约执行计算,同时A合约的函数体可以是由不同语言编写(例如Kotlin、Go语言等)的具有加法和/或乘法同态性的功能函数;
步骤2:B合约也是由参与安全多方计算的用户经协商后生成的用于选举执行计算的簇节点组的智能合约,和A合约一起由同一节点进行创建,与A合约一样,部署后具有确定的合约地址,B合约的合约代码主要执行呼叫区块链上已部署的预言机智能合约请求真实随机数,并利用真实随机数和B合约执行用户的相关输入条件(包含自定义随机种子、自定义随机数、用户地址)利用数论方法从候选簇组列表中选举出执行绑定A合约的簇节点组;
步骤3:A合约和B合约之间具有合约指向条件,要利用A合约执行安全多方计算需先利用B合约进行簇节点组选举,选举结果作为中间值传递给A合约进行记录。
如图2所示,本发明实施例提供一种基于区块链的并行安全多方计算方法,包括如下步骤:
S1:计算节点系统在创世阶段,所有计算节点通过与创世节点的通信响应时长(创世节点根据收到来自不同计算节点的通信请求时间的先后划分为M个簇节点组,并告诉每个计算节点所在簇节点组的序号n(n=1,2,…,M)以及该簇节点组的其它计算节点的通信地址)划分为不同的簇节点组(N1,…,NM,M为大于1的整数),簇节点组(即簇组)划分完以后按照分配的簇节点组序号n的升序顺序构成一个候选簇组列表(G-List),由创世节点将候选簇组列表进行上链;
S2:在任意时刻的某一具体应用场景下,执行安全多方计算的参与方群组M1,…,MN经协商后生成要执行协同计算的A合约以及用于随机簇节点组选举的B合约,M1,…,MN经协商后由某一具体参与方Mj,j=1,2,…,N将A合约和B合约一起部署到区块链上,部署完以后的A合约和B合约具有确定的合约地址等。且不同的应用场景中的不同参与方群组(例如M1,…,MN和P1,…,PE是不同的参与方群组,E为大于1的整数)可以同时部署用于执行不同计算功能函数的A合约和B合约在区块链上,例如参与方群组M1,...,MN部署用于判断各自拥有的私密数据的最大值功能函数的A1合约和相关的簇组选举B1合约到区块链上,而参与方群组P1,...,PE部署用于求取各自拥有的私密数据的公共部分功能函数的A2合约和相关簇组选举B2合约到区块链上,然后不同参与方群组(例如M1,...,MN和P1,...,PE)协商后由参与方群组M1,...,MN或参与方群组P1,...,PE中部署合约的参与方在某一时刻进行合约调用,参与方群组M1,...,MN和参与方群组P1,...,PE的调用时间可能是同一时刻(即参与方群组M1,...,MN和参与方群组P1,...,PE可以在同一时刻调用相同的B1(或B2)合约,也可以在同一时刻分别调用不同的B1和B2合约),本发明为基于区块链的并行安全多方计算方法,利用计算节点分簇可以实现合约调用的并行执行(参与方群组P1,…,PE可以部署与参与方群组M1,...,MN不同的合约到区块链上,同时参与方群组P1,…,PE和参与方群组M1,...,MN也可以调用对方部署的合约,例如,当前时刻,参与方群组P1,…,PE需要调用B2合约去选举簇节点组执行A2合约的应用场景下的功能计算,但是如果参与方群组P1,…,PE在另外的应用场景下想要完成的功能计算正好是A1合约,那参与方群组P1,…,PE也可以调用B1合约去选举簇节点组执行A1合约);
S3:以一种应用场景下的一个参与方群组M1,...,MN调用已部署的合约执行安全多方计算协议的过程作为举例,在合约部署完毕以后,参与方群组协商后可以由某一参与方Mj调用(由于部署合约和调用合约的参与方在本发明中为同一个,所以是Mj)B1合约执行簇组选举,B1合约向链上的预言机智能合约发送随机数请求,预言机智能合约响应请求并从链下预言机设备获取真实随机数后返回给B1合约,B1合约利用Mj传递的参数和真实随机数利用数论中的方法在簇组候选列表中选出一个特定簇节点组Nk,k=1,2,…,M用于执行与B1合约有映射关系的A1合约,将所选簇组结果广播全网。针对簇组候选列表的设计,在参与方群组M1,…,MN协商好由参与方Mj调用B1合约时,其它应用场景下存在其它参与方群组P1,...,PE,该群组想要执行的功能计算函数与A1合约的计算功能一致,则参与方群组P1,...,P E可以经过协商由参与方Pi,i=1,2,…,E对B1合约进行调用以执行簇组选举,B1合约向链上的预言机智能合约发送随机数请求,预言机智能合约响应请求并从链下预言机设备获取另一真实随机数后返回给B1合约,B1合约利用Pi传递的参数和真实随机数利用数论中的方法在簇组候选列表中选出另一个簇节点组Nk’,k’=1,2,…,M且k’≠k用于执行与B1合约有映射关系的A1合约,并将所选簇组结果也广播全网,以此保证了作为一种通用的A1合约可以被不同应用场景执行,其中,每一个簇节点组中的节点按照工作种类分为两类,一类是簇头节点,有且只有一个;另一类是普通工作节点,簇头节点按照轮次依次更换,每个簇节点组按照簇内节点的算力优先、随机性辅助原则选取出簇头节点;
S4:簇节点组Nk接收到选举结果后,Nk的簇头节点负责将链上状态修改为准备状态,并从簇组候选列表中删除Nk,同时将对应A1合约进行本地下载后,利用自身已有的统一视图编译器编译为统一类型的智能合约后传递给簇节点组内其他成员节点(即各普通工作节点),然后Nk向调用B1合约的参与方Mj发送输入数据请求;
S5:Mj将输入数据作同态加密,得到加密输入,然后将该加密输入和参与安全多方计算任务的参与方群组M1,...,MN的成员信息作为响应结果返回给Nk的簇头节点,Nk的簇头节点收到参与方群组M1,...,MN的成员信息后分别向群组除Mj之外的其它成员索求加密输入信息;
S6:Nk的簇头节点收到参与方群组M1,...,MN中所有成员的加密输入信息后将各加密输入信息进行混淆处理,然后按照秘密共享算法要求进行子密钥分片,得到子分片数据,子分片数据的个数等于簇节点组Nk内普通工作节点的个数,将子分片数据作为输入分别传递给簇节点组Nk内其它节点(各普通工作节点),每一个子分片数据被分配给一个普通工作节点;
S7:簇节点组Nk内其它节点(各普通工作节点)完成计算任务后将各自所得计算结果分别返回给Nk的簇头节点,Nk的簇头节点对各计算结果秘密重构后作去混淆处理,得到各参与方的加密计算结果,然后将各参与方的加密计算结果分别返回给各参与方,并将各参与方的加密计算结果进行上链;
S8:区块链上存在一些可以做计算的链上节点,在本发明中,链上节点用于对执行安全多方计算的各普通工作节点的计算结果(即各参与方的加密计算结果)进行验证,验证无误后将簇节点组Nk的状态调整为待准备状态,并将其重新添加进簇组候选列表中,而参与方群组对结果进行同态解密即可得到安全多方计算的真实结果值。
N’(N’≤M)个参与方群组可以同时调用合约,在本发明中,对于另一参与方群组P1,...,PE可以利用簇节点组Nk’和参与方Pi同时执行与步骤S4-S8相同的操作。
如图3所示,本发明实例提供一种簇组选举合约执行流程图,包括如下步骤:
步骤1:链上维护一个簇组候选列表,列表中的簇节点组是当前时刻未有安全多方计算任务的簇节点组;
步骤2:执行安全多方计算的参与方群组M1,...,MN经协商后由某一确定参与方Mj调用B1合约;
步骤3:B1合约向链上预言机智能合约发送随机数生成请求;
步骤4:链上预言机智能合约检查B1合约发送的请求条件并作出响应,向B1合约索求随机数生成条件;
步骤5:B1合约向预言机智能合约传递Mj发送的随机种子值、自身的合约地址、请求得到的响应、自己产生的随机数等数据;
步骤6:预言机智能合约收到数据后做加密处理得到一个唯一的种子值后传递给链下对应的预言机,预言机设备(C1,...,CL,L为大于1的整数)按照设备编号升序顺序对种子值依次迭代哈希,即C1先对种子值做哈希计算,所得结果作为C2的输入,依次进行最后获得CL的计算结果,利用CL的计算结果获得符合条件的真实随机数返回给链上预言机智能合约;
步骤7:预言机智能合约对真实随机数做出验证,验证通过后返回给B1合约,B1合约将所得的真实随机数和Mj传递的随机种子值按照簇组候选列表(G-List)中的簇节点组个数为基数做模余运算;
步骤8:根据所得模余运算结果在簇组候选列表中对应的顺序值来选中簇节点组,例如所得模余运算结果为3,此时簇组候选列表(G-List)中的簇节点组排列顺序为N1,N3,N5,N6,N8,N2,N4,则选中的簇节点组为N5。
如图4所示,本发明实例包含了一个参与安全多方计算的节点分簇流程,包括如下步骤:
D1:任意节点P想要加入或退出计算节点系统,需要将其添加到某一确定的簇节点组或从某一簇节点组的通信网络中删除,该过程需要对节点P加入或退出计算节点系统的时刻进行判断,如果是初始时刻发送的网络接入请求,则后续执行步骤跳转到D2,否则跳转到D8;
D2:计算节点系统创建时存在一个特殊节点(即创世节点)Q,其负责生成创世区块,执行安全多方计算任务的节点组成计算群节点组,计算群节点组要通过建立与Q的安全通信从而组成计算节点系统;
D3:计算群节点组中的所有节点(包括P节点)在计算节点系统预先统一规定的倒计时结束后向Q节点发送通信请求,考虑计算节点系统中通信时延影响,本发明只适用于同步通信网络,Q节点根据收到通信请求的时间先后将节点做分簇处理(按通信请求的时间长短做升序排列,依次将1-t、(t+1)-2t,…,[(M-1)t+1]-Mt个群组节点分为一簇,共有M簇,t为大于1的整数),并将分簇结果广播给全网;
D4:P节点收到分簇结果后将与所在簇的簇内其它节点发送通信请求,该簇内的节点之间建立彼此通信以后就形成了簇节点组通信网络,由此构成簇节点组;
D5:P节点所在簇节点组内按照共识协议选取出初始轮次的簇头节点,簇头节点负责将分配到的安全多方计算任务的各个加密输入做混淆和秘密共享等工作;
D6:同时簇头节点会在本地维护一个簇内的可通信节点列表,并将该可通信节点列表广播到簇内其余各节点;
D7:簇头节点将自身的身份信息进行上链,由链上的节点负责链上的可通信簇头节点列表的更新,至此,节点P初始时刻加入计算节点系统的分簇流程已经完成,跳转到D16;
D8:除初始时刻外的其他时刻若节点P想要加入计算节点系统,则跳转到D9步骤执行,若未发送网络接入请求,则跳转到D13步骤执行;
D9:节点P想要加入计算节点系统,由于各簇节点组内存在一个唯一的簇头节点,并由簇头节点维护一个簇内可通信节点列表,P节点要加入计算节点系统,需要加入某一个确定的簇节点组,则需要先建立与各簇节点组的簇头节点的通信;
D10:节点P向各簇节点组的簇头节点发送网络接入请求,各簇头节点分别对请求作出响应并返回给P节点;
D11:P节点收到来自不同簇节点组的簇头节点的请求响应以后根据响应接收时间的先后自动判断加入某簇节点组(加入最先接收到的响应对应的簇节点组),并再向该簇节点组的簇头节点发送确认加入该簇节点组的响应信息;
D12:该簇节点组的簇头节点收到响应信息后更新本地存储的簇内可通信节点列表并广播给簇内其余各节点。至此,节点P除初始时刻外的任意时刻加入计算节点系统的分簇流程已经完成,跳转到D16;
D13:各个簇节点组的簇头节点周期性按照本地存储的簇内可通信节点列表向簇内其余各节点发送通信是否连接的确认信息,并开启一个响应计时器;
D14:若簇头节点在响应计时器倒计时结束时还未收到P节点的通信响应信息,则判断为节点P已退出计算节点系统;
D15:P节点所在簇节点组的簇头节点将P节点从本地存储的簇内可通信节点列表中踢除并广播给该簇节点组内其他各节点。至此,节点P任意时刻退出计算节点系统的后续响应流程已经完成;
D16:流程结束。
实施例一
假定有银行H、银行K、房地产集团X,其中房地产集团X想要利用银行H和银行K各自拥有的失信储蓄账户列表做筛查,对已失信储蓄账户的购房资格进行收回,而银行H和银行K想要利用对方提供的账户储蓄余额数据及房地产集团X的已购房用户列表调整自己本地存储的储蓄账户的征信值和可贷款额度。基于此项目的,银行H、银行K、房地产集团X需要事先协商好相关的安全多方计算协议A(对银行H和银行K的失信储蓄账户列表
做并集;对银行H、银行K和房地产集团X的存储数据做交集)和簇组选举合约B,并构
建合约内容由协商好的银行K部署到区块链上;
银行K调用簇组选举合约B执行簇节点组的选取,通过向预言机索取随机数最后选取出簇节点组G4;
G4从区块链上下载A合约到本地,并将A合约广播给簇内其它计算节点;
G4的簇头节点向银行K索取银行K的本地储蓄账户的身份信息和余额信息(K-CList)、银行K的失信储蓄账户列表(K-List)以及银行H和房地产集团X的身份信息,这些信息都事先利用同态加密进行了加密处理;
G4的簇头节点收到上述信息以后,向银行H索取银行H的本地储蓄账户的身份信息和余额信息(H-CList)、银行H的失信储蓄账户列表(H-List),向房地产集团X索取房地产集团X的已购房用户的身份信息和买卖合同价格信息(X-CList),这些信息都事先利用同态加密进行了加密处理;
G4的簇头节点收到上述所有输入信息以后在本地做混淆和秘密分享处理,并将输入信息切片传递给簇内其它计算节点;
G4内的其它计算节点利用A合约对不同的输入信息切片进行本地计算,并将本地计算结果返回给G4的簇头节点;
G4的簇头节点收集到各个计算结果后进行秘密重构和去混淆处理,并按照A合约的指定条件向银行H和银行K传递K-CList、H-CList和X-CList(这里X-Clist表示的是房地产集团X存储的已购房账户和每个账户对应的买卖合同价格信息列表)的账户身份的交集计算、账户对应的余额和买卖合同价格相加(例如Li Hua在银行H中的储蓄余额为18w,在银行K中的储蓄余额为5.6w,在房地产集团X中购买了一套价值163w的房,则Li Hua的储蓄价值为186.6w,按照划分等级判断为用户的征信情况为A等级)构成的列表集合(Li Hua---A,Li Ming---B,...,Zhang mo---A),向房地产集团X传递H-List和K-List的并集计算结果,所述结果均为同态加密的计算结果;
银行H、银行K、房地产集团X对所得结果分别进行同态解密即可得到真实的安全多方计算结果,所得结果满足银行H、银行K、房地产集团X的应用目的。
以上所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
Claims (3)
1.一种基于区块链的并行安全多方计算方法,其特征在于,该方法包括如下步骤:
S1:执行安全多方计算的群组节点组成一个计算节点系统,该计算节点系统与区块链系统相辅相成,所述计算节点系统在创世阶段,创世节点根据收到来自不同群组节点的通信请求时间的先后划分为M个不同的簇节点组N1,…,NM,M为大于1的整数,并告诉每个群组节点所在簇节点组的序号n,n=1,2,…,M以及该簇节点组的其它群组节点的通信地址,簇节点组划分完以后按照分配的簇节点组序号n的升序顺序构成一个候选簇组列表G-List,由创世节点将所述候选簇组列表进行上链;
S2:在任意时刻的某一具体应用场景下,执行安全多方计算的参与方群组M1,…,MN经协商后生成要执行协同计算的A合约以及用于随机簇节点组选举的B合约,其中,N为大于1的整数,参与方群组M1,…,MN经协商后由某一具体参与方Mj,j=1,2,…,N将A合约和B合约一起部署到区块链上,且不同的应用场景中的不同参与方群组能够同时部署用于执行不同计算功能函数的A合约和B合约在区块链上,对于两个不同的参与方群组M1,…,MN和P1,…,PE,E为大于1的整数,参与方群组M1,...,MN部署用于判断各自拥有的私密数据的最大值功能函数的A1合约和相关的簇组选举B1合约到区块链上,而参与方群组P1,...,PE同时部署用于求取各自拥有的私密数据的公共部分功能函数的A2合约和相关簇组选举B2合约到区块链上,然后参与方群组M1,…,MN或P1,…,PE中部署合约的参与方能够在同一时刻进行合约调用,参与方群组P1,…,PE和参与方群组M1,...,MN均能调用B1和B2合约;
S3:参与方群组M1,…,MN经协商后由参与方Mj调用B1合约执行簇组选举,B1合约向链上的预言机智能合约发送随机数请求,预言机智能合约响应请求并从链下预言机设备获取真实随机数后返回给B1合约,B1合约利用Mj传递的参数和真实随机数利用数论中的方法在簇组候选列表中选出一个特定簇节点组Nk,k=1,2,…,M用于执行与B1合约有映射关系的A1合约,将所选簇节点组的结果广播全网;针对簇组候选列表的设计,在参与方群组M1,…,MN协商好由参与方Mj调用B1合约时,另一应用场景下的参与方群组P1,...,PE若要执行的计算功能函数与A1合约的计算功能一致,则参与方群组P1,...,PE经过协商由参与方Pi,i=1,2,…,E对B1合约进行调用以执行簇组选举,B1合约向链上的预言机智能合约发送随机数请求,预言机智能合约响应请求并从链下预言机设备获取另一真实随机数后返回给B1合约,B1合约利用Pi传递的参数和真实随机数利用数论中的方法在簇组候选列表中选出另一个簇节点组Nk’,k’=1,2,…,M且k’≠k用于执行与B1合约有映射关系的A1合约,并将所选簇节点组的结果也广播全网,以此保证了作为一种通用的A1合约能够被不同应用场景执行;其中,每一个簇节点组中的节点按照工作种类分为两类,一类是簇头节点,有且只有一个;另一类是普通工作节点,簇头节点按照轮次依次更换,每个簇节点组按照簇内节点的算力优先、随机性辅助原则选取出簇头节点;
其中,在簇组候选列表中选出一个特定簇节点组Nk的具体步骤为:
S31:区块链上维护一个簇组候选列表,簇组候选列表中的簇节点组是当前时刻未有安全多方计算任务的簇节点组;
S32:执行安全多方计算的参与方群组M1,...,MN经协商后由某一确定参与方Mj调用B1合约;
S33:B1合约向链上预言机智能合约发送随机数生成请求;
S34:链上预言机智能合约检查B1合约发送的请求条件并作出响应,向B1合约索求随机数生成条件;
S35:B1合约向预言机智能合约传递Mj发送的随机种子值、自身的合约地址、请求得到的响应、自己产生的随机数这些数据;
S36:预言机智能合约收到这些数据后做加密处理得到一个唯一的种子值后传递给链下对应的预言机设备,预言机设备C1,...,CL按照设备编号升序顺序对所述唯一的种子值依次迭代哈希,即C1先对所述唯一的种子值做哈希计算,所得结果作为C2的输入,依次进行,最后获得CL的计算结果,利用CL的计算结果获得符合条件的真实随机数返回给链上预言机智能合约,其中,L为大于1的整数;
S37:预言机智能合约对真实随机数做出验证,验证通过后返回给B1合约,B1合约将所得的真实随机数和Mj传递的随机种子值按照簇组候选列表G-List中的簇节点组个数为基数做模余运算;
S38:根据所得模余运算结果在簇组候选列表中对应的顺序值选中簇节点组Nk;
同理,在簇组候选列表中选出另一个簇节点组Nk’;
S4:对于参与方群组M1,…,MN,簇节点组Nk接收到选举结果后,Nk的簇头节点负责将链上状态修改为准备状态,并从簇组候选列表中删除Nk,同时将对应的A1合约进行本地下载后,利用自身已有的统一视图编译器将A1合约编译为统一类型的智能合约后传递给簇节点组Nk内各普通工作节点,然后Nk向调用B1合约的参与方Mj发送输入数据请求;
S5:参与方Mj将输入数据作同态加密,得到Mj的加密输入信息,然后将Mj的加密输入信息和参与安全多方计算任务的参与方群组M1,...,MN的成员信息作为响应结果返回给Nk的簇头节点,Nk的簇头节点收到参与方群组M1,...,MN的成员信息后分别向参与方群组M1,...,MN中除Mj之外的其它成员索求加密输入信息;
S6:Nk的簇头节点收到参与方群组M1,...,MN中所有成员的加密输入信息后将各加密输入信息进行混淆处理,然后按照秘密共享算法要求进行子密钥分片,得到子分片数据,子分片数据的个数等于簇节点组Nk内普通工作节点的个数,将子分片数据作为输入分别传递给簇节点组Nk内各普通工作节点,每一个子分片数据被分配给一个普通工作节点;
S7:簇节点组Nk内各普通工作节点完成计算任务后将各自所得计算结果分别返回给Nk的簇头节点,Nk的簇头节点对各计算结果秘密重构后作去混淆处理,得到参与方群组M1,…,MN中各参与方的加密计算结果,然后将各参与方的加密计算结果分别返回给各参与方,并将各参与方的加密计算结果进行上链;
S8:区块链上的链上节点用于对各参与方的加密计算结果进行验证,验证无误后将簇节点组Nk的状态调整为待准备状态,并将其重新添加进簇组候选列表中,而参与方群组M1,…,MN中各参与方将与自己加密输入信息有关的加密计算结果进行同态解密即可得到安全多方计算的真实结果值;
对于另一参与方群组P1,...,PE能够利用簇节点组Nk’和参与方Pi同时执行与步骤S4-S8相同的操作。
2.根据权利要求1所述的基于区块链的并行安全多方计算方法,其特征在于,所述步骤S2中的A合约和B合约具体为:A合约是由参与方群组经协商后生成的用于输入数据协同计算的功能合约,由参与方群组中某一具体参与方创建,部署后的合约实例具有确定的合约地址,创建时包含合约调用的准入参数条件,只有满足准入参数条件的用户才能调用该合约执行计算,同时A合约的函数体为由不同语言编写的具有加法和/或乘法同态性的功能函数,其中,不同语言包括Kotlin语言和Go语言;
B合约由同一参与方群组经协商后生成的用于选举执行计算的簇节点组的智能合约,和A合约一起由同一参与方进行创建,与A合约一样,部署后具有确定的合约地址,B合约的合约代码主要执行呼叫区块链上已部署的预言机智能合约请求真实随机数,并利用真实随机数和B合约执行用户的相关输入条件利用数论方法从候选簇组列表中选举出执行绑定A合约的簇节点组,其中,相关输入条件包含自定义随机种子、自定义随机数和用户地址;
A合约和B合约之间具有合约指向条件,要利用A合约执行安全多方计算需先利用B合约进行簇节点组选举,选举结果作为中间值传递给A合约进行记录。
3.根据权利要求2所述的基于区块链的并行安全多方计算方法,其特征在于,所述步骤S1中划分M个不同的簇节点组的方法具体包括如下步骤:
D1:任意节点P想要加入或退出计算节点系统,需要将其添加到某一确定的簇节点组或从某一簇节点组的通信网络中删除,该过程需要对节点P加入或退出计算节点系统的时刻进行判断,如果是初始时刻发送的网络接入请求,则后续执行步骤跳转到步骤D2,否则跳转到步骤D8;
D2:计算节点系统创建时存在一个创世节点Q,其负责生成创世区块,执行安全多方计算任务的群组节点要通过建立与创世节点Q的安全通信从而组成计算节点系统;
D3:包括P节点在内的执行安全多方计算任务的所有群组节点在计算节点系统预先统一规定的倒计时结束后向创世节点Q发送通信请求,创世节点Q根据收到通信请求的时间先后将群组节点做分簇处理,具体地,按通信请求的时间长短做升序排列,依次将1-t、(t+1)-2t,…,[(M-1)t+1]-Mt个群组节点分为一簇,共M簇,t为大于1的整数,并将分簇结果广播给全网;
D4:P节点收到分簇结果后将向所在簇的簇内其它节点发送通信请求,该簇内的节点之间建立彼此通信以后就形成了簇节点组通信网络,由此构成簇节点组;
D5:P节点所在簇节点组内按照共识协议选取出初始轮次的簇头节点,簇头节点负责将分配到的安全多方计算任务的各个加密输入做混淆和秘密共享的工作;
D6:同时簇头节点会在本地维护一个簇内可通信节点列表,并将该簇内可通信节点列表广播到簇内其余各节点;
D7:簇头节点将自身的身份信息进行上链,由链上的节点负责链上的可通信簇头节点列表的更新,至此,节点P初始时刻加入计算节点系统的分簇流程已经完成,跳转到步骤D16;
D8:除初始时刻外的其他时刻若节点P想要加入计算节点系统,则跳转到步骤D9执行,若未发送网络接入请求,则跳转到步骤D13执行;
D9:由于各簇节点组内存在一个唯一的簇头节点,并由簇头节点维护一个簇内可通信节点列表,P节点要加入计算节点系统,需要加入某一个确定的簇节点组,则需要先建立与各簇节点组的簇头节点的通信;
D10:节点P向各簇节点组的簇头节点发送网络接入请求,各簇头节点分别对请求作出响应并返回给P节点;
D11:P节点收到来自不同簇节点组的簇头节点的请求响应以后根据响应接收时间的先后自动加入最先接收到的响应对应的簇节点组,并再向该簇节点组的簇头节点发送确认加入该簇节点组的响应信息;
D12:该簇节点组的簇头节点收到响应信息后更新本地存储的簇内可通信节点列表并广播给簇内其余各节点,至此,节点P除初始时刻外的任意时刻加入计算节点系统的分簇流程已经完成,跳转到D16;
D13:各个簇节点组的簇头节点周期性按照本地存储的簇内可通信节点列表向簇内其余各节点发送通信是否连接的确认信息,并开启一个响应计时器;
D14:若簇头节点在响应计时器倒计时结束时还未收到P节点的通信响应信息,则判断为节点P已退出计算节点系统;
D15:P节点所在簇节点组的簇头节点将P节点从本地存储的簇内可通信节点列表中踢除并广播给该簇节点组内其他各节点,至此,节点P任意时刻退出计算节点系统的后续响应流程已经完成;
D16:流程结束。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110652711.7A CN113472513B (zh) | 2021-06-11 | 2021-06-11 | 一种基于区块链的并行安全多方计算方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110652711.7A CN113472513B (zh) | 2021-06-11 | 2021-06-11 | 一种基于区块链的并行安全多方计算方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113472513A CN113472513A (zh) | 2021-10-01 |
CN113472513B true CN113472513B (zh) | 2023-08-25 |
Family
ID=77869768
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110652711.7A Active CN113472513B (zh) | 2021-06-11 | 2021-06-11 | 一种基于区块链的并行安全多方计算方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113472513B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117254911B (zh) * | 2023-11-17 | 2024-02-13 | 北京安华金和科技有限公司 | 一种基于秘密分享的多方安全计算处理方法和系统 |
CN117436877B (zh) * | 2023-12-14 | 2024-03-22 | 山东维平信息安全测评技术有限公司 | 一种基于区块链的交易隐私保护方法 |
Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107659429A (zh) * | 2017-08-11 | 2018-02-02 | 四川大学 | 基于区块链的数据共享方法 |
CN108306893A (zh) * | 2018-03-05 | 2018-07-20 | 北京大学深圳研究生院 | 一种自组网络的分布式入侵检测方法和系统 |
CN109120398A (zh) * | 2018-08-03 | 2019-01-01 | 河南师范大学 | 一种基于区块链系统的秘密共享方法与装置 |
CN109615378A (zh) * | 2019-01-24 | 2019-04-12 | 上海点融信息科技有限责任公司 | 基于区块链的安全多方计算方法、装置及可读存储介质 |
CN110138802A (zh) * | 2019-06-02 | 2019-08-16 | 四川虹微技术有限公司 | 用户特征信息获取方法、装置、区块链节点及存储介质 |
CN110287268A (zh) * | 2019-06-30 | 2019-09-27 | 智慧谷(厦门)物联科技有限公司 | 一种基于区块链的数字资产处理方法和系统 |
CN112016105A (zh) * | 2020-08-17 | 2020-12-01 | 东北大学秦皇岛分校 | 基于分布式预言机和同态加密的链上链下数据共享方案 |
CN112184220A (zh) * | 2020-09-22 | 2021-01-05 | 远光软件股份有限公司 | 安全多方计算方法、电子设备及存储介质 |
CN112235379A (zh) * | 2020-09-30 | 2021-01-15 | 电子科技大学 | 一种区块链底层共享存储方法 |
CN112598525A (zh) * | 2021-02-26 | 2021-04-02 | 北京全息智信科技有限公司 | 一种智能合约分簇并行的区块链实现方法及装置 |
CN112734426A (zh) * | 2021-01-12 | 2021-04-30 | 北京链飞未来科技有限公司 | 一种基于区块链技术的多方私密数据计算方法 |
CN112765631A (zh) * | 2021-01-26 | 2021-05-07 | 天津理工大学 | 一种基于区块链的安全多方计算方法 |
CN112787810A (zh) * | 2021-01-07 | 2021-05-11 | 杭州链城数字科技有限公司 | 基于区块链和安全多方计算的电子投票选举方法及装置 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11244309B2 (en) * | 2017-11-22 | 2022-02-08 | Cornell University | Real-time cryptocurrency exchange using trusted hardware |
US11010403B2 (en) * | 2018-04-24 | 2021-05-18 | Microsoft Technology Licensing, Llc | Relational distributed ledger for smart contracts |
US20200220881A1 (en) * | 2019-01-09 | 2020-07-09 | Ebay Inc. | Weighted verification of entity data blocks on a blockchain |
-
2021
- 2021-06-11 CN CN202110652711.7A patent/CN113472513B/zh active Active
Patent Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107659429A (zh) * | 2017-08-11 | 2018-02-02 | 四川大学 | 基于区块链的数据共享方法 |
CN108306893A (zh) * | 2018-03-05 | 2018-07-20 | 北京大学深圳研究生院 | 一种自组网络的分布式入侵检测方法和系统 |
CN109120398A (zh) * | 2018-08-03 | 2019-01-01 | 河南师范大学 | 一种基于区块链系统的秘密共享方法与装置 |
CN109615378A (zh) * | 2019-01-24 | 2019-04-12 | 上海点融信息科技有限责任公司 | 基于区块链的安全多方计算方法、装置及可读存储介质 |
CN110138802A (zh) * | 2019-06-02 | 2019-08-16 | 四川虹微技术有限公司 | 用户特征信息获取方法、装置、区块链节点及存储介质 |
CN110287268A (zh) * | 2019-06-30 | 2019-09-27 | 智慧谷(厦门)物联科技有限公司 | 一种基于区块链的数字资产处理方法和系统 |
CN112016105A (zh) * | 2020-08-17 | 2020-12-01 | 东北大学秦皇岛分校 | 基于分布式预言机和同态加密的链上链下数据共享方案 |
CN112184220A (zh) * | 2020-09-22 | 2021-01-05 | 远光软件股份有限公司 | 安全多方计算方法、电子设备及存储介质 |
CN112235379A (zh) * | 2020-09-30 | 2021-01-15 | 电子科技大学 | 一种区块链底层共享存储方法 |
CN112787810A (zh) * | 2021-01-07 | 2021-05-11 | 杭州链城数字科技有限公司 | 基于区块链和安全多方计算的电子投票选举方法及装置 |
CN112734426A (zh) * | 2021-01-12 | 2021-04-30 | 北京链飞未来科技有限公司 | 一种基于区块链技术的多方私密数据计算方法 |
CN112765631A (zh) * | 2021-01-26 | 2021-05-07 | 天津理工大学 | 一种基于区块链的安全多方计算方法 |
CN112598525A (zh) * | 2021-02-26 | 2021-04-02 | 北京全息智信科技有限公司 | 一种智能合约分簇并行的区块链实现方法及装置 |
Non-Patent Citations (1)
Title |
---|
Marcin Andrychowicz."Distributed cryptography based on the proofs of work".《Cryptology ePrint Archive》.2014,全文. * |
Also Published As
Publication number | Publication date |
---|---|
CN113472513A (zh) | 2021-10-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7364724B2 (ja) | ブロックチェーンIoT装置のためのオペレーティングシステム | |
JP7316295B2 (ja) | デジタル資産へのアクセスを移すためのコンピュータ実施方法及びシステム | |
Ruffing et al. | P2P mixing and unlinkable bitcoin transactions | |
TWI820020B (zh) | 用於在區塊鏈上執行交易混合之電腦實施系統及方法 | |
CN109741068B (zh) | 网银跨行签约方法、装置及系统 | |
Küpçü et al. | Usable optimistic fair exchange | |
CN111566992B (zh) | 安全性增强的区块链交易的发起 | |
CN108683747A (zh) | 资源获取、分发、下载方法、装置、设备及存储介质 | |
CN109165957A (zh) | 基于区块链的发票数据报销方法、系统及相关设备 | |
CN113472513B (zh) | 一种基于区块链的并行安全多方计算方法 | |
US10142119B2 (en) | Communication method and apparatus using changing destination and return destination ID's | |
CN113407977B (zh) | 基于聚合签名的跨链扩展方法及系统 | |
CN110059055A (zh) | 一种基于分布式私有云的文件存储及读取方法及装置 | |
CN111737715A (zh) | 一种去中心化的电子合同在线签署的方法及系统 | |
CN112508576A (zh) | 基于区块链的密钥管理方法、系统及存储介质 | |
CN110351276A (zh) | 数据处理方法、设备及计算机可读存储介质 | |
Alwen et al. | Collusion-free multiparty computation in the mediated model | |
CN113344705B (zh) | 基于区块链的数据共享方法和系统 | |
CN111709053B (zh) | 基于松散耦合交易网络的作业方法及作业装置 | |
JP4305049B2 (ja) | 秘密分散方法、秘密分散システム、及び分散演算装置 | |
Pang et al. | Securing your data in agent-based P2P systems | |
CN111738722B (zh) | 一种基于区块链路由目录服务器的智能合约生成方法 | |
US20210319479A1 (en) | Blockchain-based system and method for peer-to-peer online advertising auction | |
CN113656829A (zh) | 一种基于格密码与联盟链的医疗数据安全共享方法 | |
CN113761513A (zh) | 数据处理方法、装置、设备及计算机可读存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |