CN114257429A - 一种基于联盟链的聚合交易验签存证方法及系统 - Google Patents
一种基于联盟链的聚合交易验签存证方法及系统 Download PDFInfo
- Publication number
- CN114257429A CN114257429A CN202111516147.2A CN202111516147A CN114257429A CN 114257429 A CN114257429 A CN 114257429A CN 202111516147 A CN202111516147 A CN 202111516147A CN 114257429 A CN114257429 A CN 114257429A
- Authority
- CN
- China
- Prior art keywords
- transaction
- aggregated
- endorsement
- transactions
- contract
- 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.)
- Granted
Links
- 238000012795 verification Methods 0.000 title claims abstract description 62
- 238000000034 method Methods 0.000 title claims abstract description 33
- 230000002776 aggregation Effects 0.000 title claims description 32
- 238000004220 aggregation Methods 0.000 title claims description 32
- 238000012163 sequencing technique Methods 0.000 claims description 15
- 238000004806 packaging method and process Methods 0.000 claims description 9
- 238000010200 validation analysis Methods 0.000 claims description 7
- 238000004590 computer program Methods 0.000 claims description 2
- 238000004364 calculation method Methods 0.000 abstract description 3
- 230000006870 function Effects 0.000 description 7
- 230000008569 process Effects 0.000 description 6
- 238000012545 processing Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Images
Classifications
-
- 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/08—Network architectures or network communication protocols for network security for authentication of entities
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/182—Distributed file systems
- G06F16/1824—Distributed file systems implemented using Network-attached Storage [NAS] architecture
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing structures
- G06F16/2255—Hash tables
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3825—Use of electronic signatures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3829—Payment protocols; Details thereof insuring higher security of transaction involving key management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/40—Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
- G06Q20/401—Transaction verification
-
- 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
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
-
- 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/3218—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 proof of knowledge, e.g. Fiat-Shamir, GQ, Schnorr, ornon-interactive zero-knowledge proofs
-
- 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/3247—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 involving digital signatures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/12—Details relating to cryptographic hardware or logic circuitry
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Accounting & Taxation (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- General Engineering & Computer Science (AREA)
- Strategic Management (AREA)
- Finance (AREA)
- General Business, Economics & Management (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Computing Systems (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明涉及一种基于联盟链的聚合交易验签存证方法及系统,通过零知识证明批量验证存证交易背书是否满足其背书策略;增加数据库节点存储文件数据,只上链文件摘要,减少签名和验签时间;通过链下计算零知识证明、链上合约验证零知识证明,批量提交存证交易,实现了联盟链存证合约和聚合交易验证合约,存证交易的背书策略对应的零知识证明生成服务,并通过链下计算、链上证明方式实现了高效文件存证上链服务。
Description
技术领域
本发明涉及区块链技术领域,尤其涉及一种基于联盟链的聚合交易验签存证方法及系统。
背景技术
联盟链是区块链技术中受到广泛关注和研究的一种,通过使用联盟链维护交易账本能够实现灵活的节点管理、完善的安全保障以及良好的隐私维护。
现有技术下,在使用联盟链额维护交易账本时,每笔交易都需通过节点背书后提交共识节点,链上各节点间通过背书、共识、出块、同步等操作对账本件维护。当涉及链内多个节点背书时,需要在各个节点获取交易存证数据并对交易内容进行验证,签名和验签耗时较长,执行效率较低。尤其是对于数据量较大的情况,为了保证正常进行共识以及出块一致性,需要反复获取全部数据,对网络访问压力较大,且验证大量数据文件耗费大量时间。
发明内容
为解决现有技术的不足,本发明提出一种基于联盟链的聚合交易验签存证方法及系统,通过零知识证明批量验证存证交易背书是否满足其背书策略;增加数据库节点存储文件数据,只上链文件摘要,减少签名和验签时间;通过链下计算零知识证明、链上合约验证零知识证明,批量提交存证交易,实现了联盟链存证合约和聚合交易验证合约,存证交易的背书策略对应的零知识证明生成服务,并通过链下计算、链上证明方式实现了高效文件存证上链服务。
为实现以上目的,本发明所采用的技术方案包括:
一种基于联盟链的聚合交易验签存证方法,其特征在于,包括:
将存证交易批量打包生成聚合交易;
根据存证合约的背书策略生成对应聚合交易的零知识证明;
对聚合交易进行背书签名;
对背书签名后的聚合交易进行共识排序,生成新的区块并上链;
根据新的区块更新本地账本中的数据;
验证聚合交易的零知识证明是否有效;
当聚合交易的零知识证明有效时,将聚合交易内的存证交易批量提交至存证合约进行交易。
进一步地,所述将存证交易批量打包生成聚合交易包括:
验证存证交易的签名合法性;
将多个签名合法的存证交易打包为聚合交易。
进一步地,所述根据存证合约的背书策略生成对应聚合交易的零知识证明包括:
根据存证合约背书策略中每个聚合交易所包含的存证交易数量生成对应的电路;
针对聚合交易的零知识证明请求,使用对应的电路生成零知识证明。
进一步地,所述根据存证合约背书策略中每个聚合交易所包含的存证交易数量生成对应的电路包括:针对每个存证交易是否满足存在合约背书策略划分可验证的逻辑验证步骤,并依据逻辑验证步骤编译电路源码。
进一步地,所述使用对应的电路生成零知识证明包括:
针对电路执行可信启动操作,创建可信设置,得到证明密钥和验证密钥;
根据电路约束生成见证信息;
根据可信设置和见证信息,使用证明密钥生成零知识证明;
使用验证密钥将零知识证明导出为可部署在链上的交易聚合验证合约。
进一步地,所述对背书签名后的聚合交易进行共识排序,生成新的区块并上链包括:
按照区块生成策略,将一批聚合交易打包,生成新的区块,并同步新的区块到链上全部节点。
进一步地,所述对聚合交易进行背书签名包括对聚合交易中各存在交易的文件摘要进行背书。
本发明还涉及一种基于联盟链的聚合交易验签存证系统,其特征在于,包括:
客户端,用于接收用户请求并根据用户请求执行存证交易相关操作;
文件存储模块,用于存储存证交易并生成对应存证交易的文件摘要;
联盟链模块,包括若干节点和共识节点,所述节点根据客户端发送的用户请求对存在交易与聚合交易进行背书签名、依据交易聚合验证合约验证聚合交易以及依据存证合约将聚合交易上链交易,所述共识节点用于对背书签名后的聚合交易进行共识排序并生成新的区块进行上链;
零知识证明生成模块,用于根据存证合约的背书策略生成对应聚合交易的零知识证明。
本发明还涉及一种计算机可读存储介质,其特征在于,所述存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述的方法。
本发明还涉及一种电子设备,其特征在于,包括处理器和存储器;
所述存储器,用于存储存证交易;
所述处理器,用于通过调用存证交易,执行上述的方法。
本发明的有益效果为:
采用本发明所述基于联盟链的聚合交易验签存证方法及系统,用户提交文件存证交易请求到客户端,客户端接收请求,并提交该请求到文件存储模块进行存储,文件存储模块根据交易请求信息生成相应的文件摘要Hash并将文件摘要Hash返回给客户端;客户端根据背书策略选择相应的背书节点,将交易背书请求提交给通道中的相应的节点进行背书签名,参与背书的节点将背书签名后的交易返回给客户端,客户端收到各个节点的背书签名应答后,将n笔交易打包成一个聚合交易集合发送到零知识证明生成模块,零知识证明生成模块根据存证合约的背书策略生成对应的零知识证明并返回给客户端;客户端将聚合交易背书请求发送到节点,节点验证聚合交易对应的零知识证明通过并进行背书签名,背书签名完成,参与背书的节点将聚合交易背书信息发送给客户端;客户端发送背书后的聚合交易到共识节点进行排序处理,共识节点对接收到的聚合交易进行共识排序,按照区块生成策略,将一批聚合交易打包到一起,生成新的区块,并同步到全网节点,全网节点根据共识后的区块执行交易,并通过交易聚合验证合约验证零知识证明对应的聚合交易是否满足背书策略,验证通过,则将存证交易批量提交到存证合约,整个交易过程采用链下生成证明,链上验证证明,再将存证交易批量提交到链上存证合约进行存储,从而提高了整个文件存证系统的性能,实现了一种高效的区块链文件存证系统。
附图说明
图1为本发明基于联盟链的聚合交易验签存证方法流程示意图。
图2为本发明基于联盟链的聚合交易验签存证系统结构示意图。
图3为本发明实施例交易生成时序图。
具体实施方式
为了更清楚的理解本发明的内容,将结合附图和实施例详细说明。
如图1所示为本发明基于联盟链的聚合交易验签存证方法的优选实施例流程示意图,包括以下步骤:
验证存证交易的签名合法性;
将多个签名合法的存证交易打包为聚合交易;
根据存证合约的背书策略生成对应聚合交易的零知识证明,特别是进一步包括根据存证合约背书策略中每个聚合交易所包含的存证交易数量生成对应的电路,优选的针对每个存证交易是否满足存在合约背书策略划分可验证的逻辑验证步骤,并依据逻辑验证步骤编译电路源码;针对聚合交易的零知识证明请求,针对电路执行可信启动操作,创建可信设置,得到证明密钥和验证密钥,根据电路约束生成见证信息,根据可信设置和见证信息,使用证明密钥生成零知识证明,使用验证密钥将零知识证明导出为可部署在链上的交易聚合验证合约;
对聚合交易进行背书签名,优选的对聚合交易中各存在交易的文件摘要进行背书;
对背书签名后的聚合交易按照区块生成策略进行共识排序,生成新的区块并上链;
根据新的区块更新本地账本中的数据;
验证聚合交易的零知识证明是否有效;
当聚合交易的零知识证明有效时,将聚合交易内的存证交易批量提交至存证合约进行交易。
本发明还涉及一种如图2所示结构的基于联盟链的聚合交易验签存证系统,通过使用该系统可以实现上述方法。具体的,包括:
客户端,用于接收用户请求并根据用户请求执行存证交易相关操作;
文件存储模块,用于存储存证交易并生成对应存证交易的文件摘要;
联盟链模块,包括若干节点和共识节点,所述节点根据客户端发送的用户请求对存在交易与聚合交易进行背书签名、依据交易聚合验证合约验证聚合交易以及依据存证合约将聚合交易上链交易,所述共识节点用于对背书签名后的聚合交易进行共识排序并生成新的区块进行上链;
零知识证明生成模块,用于根据存证合约的背书策略生成对应聚合交易的零知识证明。
在实际使用中,节点供客户端调用,接收客户端文件存证数据请求,根据背书策略的设定负责对交易提案进行检查和背书,模拟执行交易,并将交易执行结果和背书签名结果返回给客户端;共识节点负责排序服务,为网络中所有合法交易进行全局排序共识,保证数据的唯一性,并将排序后的交易按照配置中的约定生成新的区块,共识节点将生成的新区块同步到全网节点,全网节点根据共识后的区块执行交易,更新本地账本数据。
交易聚合验证合约与存证合约之间互相调用,通过交易聚合验证合约验证生成的零知识证明是否有效,如果有效,则将存证交易批量提交到存证合约;如果无效,则交易失败,将满足背书策略的聚合交易通过存证合约上链,利用区块链的去中心化、不可篡改等特性,保障了文件的完整性和不可篡改性。
零知识证明生成模块与客户端交互,客户端将n笔交易打包成一个聚合交易集合发送到零知识证明生成模块,零知识证明生成模块根据存证合约的背书策略生成相应电路,编译电路,执行可信启动操作,生成对应的可信设置CRS,根据原计算问题的输入(n笔交易)生成见证Witness,使用生成的见证Witness信息以及Setup生成的CRS数据,生成对应的零知识证明proof。
使用上述基于联盟链的聚合交易验签存证系统执行基于联盟链的聚合交易验签存证方法时对于存证交易的数据处理形成如图3所示时序的交易过程,包括:
1)客户端收集n笔交易,并对交易进行检查;
验证签名合法性,如果合法,则继续执行下一步;否则,交易结束;
2)客户端将收集到的n笔交易打包成一个聚合交易集合发送到零知识证明生成模块;
3)零知识证明生成模块根据存证合约的背书策略生成相应的零知识证明;
4)零知识证明生成模块将生成的零知识证明返回给客户端;
5)客户端将聚合交易背书请求发送到用于背书的节点,通过背书节点验证聚合交易对应的零知识证明通过并进行背书签名,背书签名完成,背书节点将聚合交易背书信息发送给客户端;
6)客户端发送背书后的聚合交易到共识节点进行排序处理;
7)共识节点对接收到的聚合交易进行共识排序,按照区块生成策略,将一批聚合交易打包到一起,生成新的区块,并同步新的区块到全网各节点;
8)全网节点根据共识后的区块进行处理,同时更新本地账本中的数据;
9)交易聚合验证合约通过链上验证区块内聚合交易零知识证明的有效性;
如果有效,则将存证交易批量提交到存证合约;否则,交易失败;
10)零知识证明验证通过,调用存证合约,存证交易批量更新世界状态。
上述系统及方法所应用的存证合约、交易聚合验证合约可以通过任意适用的手段进行部署配置,例如,对于存证合约的部署可以优选的采用如下步骤进行:
(1)构建evidence存证合约,功能包括:
存证文件批量上传,function putEvidences();
处理单笔存证数据,function PutEvidence();
链上查询,function getEvidence()。
evidence.go存证合约伪代码如下所示:
(2)代码编写完成后,选择编写好的evidence合约进行编译;
(3)执行合约创建交易,将此存证交易部署到区块链网络。
对于交易聚合验证合约的部署可以优选的采用如下步骤进行:
交易聚合验证合约收到零知识证明proof和聚合交易集合后进行验证:
verifier.go交易聚合验证合约伪代码如下:
以下通过一个具体的存证交易请求进一步说明本发明技术方案。
(1)用户A、用户B、用户C共提交100笔存证交易请求到客户端:
编号number、用户的身份userID、姓名userName、操作时间timestamp、文件fileHash、签名
{20210302000001,ID1,′用户A′,20210302,file1,签名1}
{20210302000002,ID2,′用户B′,20210302,file2,签名2}
{20210302000003,ID3,′用户C′,20210302,file3,签名3}
˙˙˙
{20210302000100,ID1,′用户A′,20210302,file100,签名100}
客户端接收到单笔存证交易请求,进行如下操作:
①客户端接收到请求,并对交易进行检查:
验证签名合法性,如果合法,则继续执行下一步,否则,交易结束;
②验证通过后,客户端将请求中的存证文件提交到文件存储模块进行存储;
③文件存储模块根据交易请求信息生成相应的文件摘要hash返回给客户端:
filehash(n)=hash(file(n))
例如编号为20210302000001的请求,生成的文件摘要
filehash1=hash(file1)
④客户端将交易背书请求提交给用于背书的节点进行背书签名,背书的节点进行背书签名后,将背书信息返回给客户端:
存证合约指定背书策略endorsement1:
AND('Peer节点1','Peer节点2','Peer节点3','Peer节点4','Peer节点5','Peer节点6','Peer节点7','Peer节点8','Peer节点9','Peer节点10');
⑤客户端收集到10个peer背书节点的背书签名;
(2)客户端按交易时间先后顺序将100个交易打包成一个聚合交易集合A发送到零知识证明生成模块:
{{20210302000001,ID1,′用户A′,20210302,filehash1,签名1,(背书签名a11、背书签名a12、背书签名a13,背书签名a14、背书签名a15、背书签名a16,背书签名a17、背书签名a18、背书签名a19、背书签名a10)}
{20210302000002,ID2,′用户B′,20210302,filehash2,签名2,(背书签名a21、背书签名a22、背书签名a23,背书签名a24、背书签名a25、背书签名a26,背书签名a27、背书签名a28、背书签名a29、背书签名a20)}
{20210302000003,ID3,′用户C′,20210302,filehash3,签名3,(背书签名a31、背书签名a32、背书签名a33,背书签名a34、背书签名a35、背书签名a36,背书签名a37、背书签名a38、背书签名a39、背书签名a30)}
˙˙˙
{20210302000100,ID1,′用户A′,20210302,filehash100,签名100,(背书签名a1001、背书签名a1002、背书签名a1003,背书签名a1004、背书签名a1005、背书签名a1006,背书签名a1007、背书签名a1008、背书签名a1009、背书签名a10010)}}
(3)零知识证明生成模块根据存证合约的背书策略生成对应的零知识证明并返回给客户端:
①零知识证明生成模块根据聚合交易信息及存证合约背书策略生成相应的电路endorseprove.zok,电路描述如下:
1)循环100次处理包含100个存证交易的聚合交易集合;
2)每次循环验证每笔存证交易是否满足存证合约的要求(循环验证每笔存证交易的10个背书签名)。
验证单个签名的具体代码如下:
②生成对应的零知识证明proof并返回给客户端:
1)零知识证明生成模块接收100条交易,输入到电路endorseprove.zok;
2)电路endorseprove.zok循环验证每条交易是否满足背书策略;
3)验证通过后,返回零知识证明proof。
③生成零知识证明文件的具体操作过程如下:
在区块链上的零知识证明应用开发框架CiTproof来运行电路,并生成零知识证明proof:
1)如下命令编译compile源码:
命令:./citproof compile-i endorseprove.zok
2)对于每个电路,在生成证明之前,必须setup一次,执行可信启动操作,生成对应的可信设置CRS(Common Reference String):命令:./citproof setup-i out-s G16-pproving.key-vverification.key
3)执行如下命令,根据业务方A请求的输入生成见证witness:
命令:./citproof compute-witness-i out-o witness-a聚合交易B
4)基于见证witness,执行如下命令,生成对应的零知识证明JSON文件:
命令:./citproof generate-proof-i out-p proving.key-w witness-s G16-jsonproof.json
5)导出可在区块链网络上部署验证的交易聚合验证合约verifier.go,根据verification.key生成verifier交易聚合验证合约:
命令:./citproof export-verifier-i verification.key-s G16-overifier.go
(4)客户端将聚合交易背书请求发送到用于背书的节点进行背书签名,背书节点将聚合交易背书信息返回给客户端,背书节点均完成背书;
交易聚合验证合约指定背书策略endorsement2:
AND('Peer节点1','Peer节点2','Peer节点3','Peer节点4','Peer节点5','Peer节点6','Peer节点7','Peer节点8','Peer节点9','Peer节点10');
聚合交易B:
{{20210302000001,ID1,′用户A′,20210302,filehash1},
{20210302000002,ID2,′用户B′,20210302,filehash2},
{20210302000003,ID3,′用户C′,20210302,filehash3},
{20210302000004,ID2,′用户B′,20210302,filehash4},
˙˙˙,
{20210302000100,ID1,′用户A′,20210302,filehash100}}
(5)客户端收集到指定背书节点返回的10个背书签名后,客户端发送背书后的聚合交易到共识节点进行排序处理;
{聚合交易B,(背书签名b1、背书签名b2、背书签名b3,背书签名b4、背书签名b5、背书签名b6,背书签名b7、背书签名b8、背书签名b9、背书签名b10),背书策略endorsement2,proof}
(6)共识节点对接收到的聚合交易进行共识排序,生成新的区块并全网广播;
(7)节点收到最新的区块调用交易聚合验证合约Verifier.go中的verifier()验证零知识证明函数进行验证:
{聚合交易B,(背书签名b1、背书签名b2、背书签名b3,背书签名b4、背书签名b5、背书签名b6,背书签名b7、背书签名b8、背书签名b9、背书签名b10),背书策略endorsement2,proof}
(8)验证通过后,则调用存证合约evidence.go的putEvidences(聚合交易B)存证文件批量上传函数将存证文件批量上传到存证合约;存证合约循环处理上送的存证文件批量数组数据,单笔交易调用PutEvidence()处理单笔存证数据函数批量更新世界状态。
以上所述仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换等都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求书的保护范围为准。
Claims (10)
1.一种基于联盟链的聚合交易验签存证方法,其特征在于,包括:
将存证交易批量打包生成聚合交易;
根据存证合约的背书策略生成对应聚合交易的零知识证明;
对聚合交易进行背书签名;
对背书签名后的聚合交易进行共识排序,生成新的区块并上链;
根据新的区块更新本地账本中的数据;
验证聚合交易的零知识证明是否有效;
当聚合交易的零知识证明有效时,将聚合交易内的存证交易批量提交至存证合约进行交易。
2.如权利要求1所述的方法,其特征在于,所述将存证交易批量打包生成聚合交易包括:
验证存证交易的签名合法性;
将多个签名合法的存证交易打包为聚合交易。
3.如权利要求1所述的方法,其特征在于,所述根据存证合约的背书策略生成对应聚合交易的零知识证明包括:
根据存证合约背书策略中每个聚合交易所包含的存证交易数量生成对应的电路;
针对聚合交易的零知识证明请求,使用对应的电路生成零知识证明。
4.如权利要求3所述的方法,其特征在于,所述根据存证合约背书策略中每个聚合交易所包含的存证交易数量生成对应的电路包括:针对每个存证交易是否满足存在合约背书策略划分可验证的逻辑验证步骤,并依据逻辑验证步骤编译电路源码。
5.如权利要求3所述的方法,其特征在于,所述使用对应的电路生成零知识证明包括:
针对电路执行可信启动操作,创建可信设置,得到证明密钥和验证密钥;
根据电路约束生成见证信息;
根据可信设置和见证信息,使用证明密钥生成零知识证明;
使用验证密钥将零知识证明导出为可部署在链上的交易聚合验证合约。
6.如权利要求1所述的方法,其特征在于,所述对背书签名后的聚合交易进行共识排序,生成新的区块并上链包括:
按照区块生成策略,将一批聚合交易打包,生成新的区块,并同步新的区块到链上全部节点。
7.如权利要求1所述的方法,其特征在于,所述对聚合交易进行背书签名包括对聚合交易中各存在交易的文件摘要进行背书。
8.一种基于联盟链的聚合交易验签存证系统,其特征在于,包括:
客户端,用于接收用户请求并根据用户请求执行存证交易相关操作;
文件存储模块,用于存储存证交易并生成对应存证交易的文件摘要;
联盟链模块,包括若干节点和共识节点,所述节点根据客户端发送的用户请求对存在交易与聚合交易进行背书签名、依据交易聚合验证合约验证聚合交易以及依据存证合约将聚合交易上链交易,所述共识节点用于对背书签名后的聚合交易进行共识排序并生成新的区块进行上链;
零知识证明生成模块,用于根据存证合约的背书策略生成对应聚合交易的零知识证明。
9.一种计算机可读存储介质,其特征在于,所述存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法。
10.一种电子设备,其特征在于,包括处理器和存储器;
所述存储器,用于存储存证交易;
所述处理器,用于通过调用存证交易,执行权利要求1至7中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111516147.2A CN114257429B (zh) | 2021-12-07 | 2021-12-07 | 一种基于联盟链的聚合交易验签存证方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111516147.2A CN114257429B (zh) | 2021-12-07 | 2021-12-07 | 一种基于联盟链的聚合交易验签存证方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114257429A true CN114257429A (zh) | 2022-03-29 |
CN114257429B CN114257429B (zh) | 2024-01-30 |
Family
ID=80792015
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111516147.2A Active CN114257429B (zh) | 2021-12-07 | 2021-12-07 | 一种基于联盟链的聚合交易验签存证方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114257429B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114978545B (zh) * | 2022-05-23 | 2023-08-01 | 西安电子科技大学 | 面向异构联盟链的跨链原语生成方法以及相关装置 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111211909A (zh) * | 2019-12-30 | 2020-05-29 | 深圳大学 | 一种基于零知识证明的分布式认证方法 |
CN111445334A (zh) * | 2020-03-30 | 2020-07-24 | 北京数字认证股份有限公司 | 一种区块链系统的聚合签名方法、装置及存储介质 |
CN111800268A (zh) * | 2019-04-05 | 2020-10-20 | 国际商业机器公司 | 用于区块链背书的零知识证明 |
US20210064584A1 (en) * | 2019-08-30 | 2021-03-04 | Beatdapp Software Inc. | System and method for scalably tracking media playback using blockchain |
CN112837163A (zh) * | 2021-03-22 | 2021-05-25 | 中国工商银行股份有限公司 | 基于区块链的批量交易上链方法及系统 |
US20210216977A1 (en) * | 2018-09-19 | 2021-07-15 | Istanbul Takas Ve Saklama Bankasi Anonim Sirketi | Digitally encrypted asset transfer method based on gold |
CN113610523A (zh) * | 2021-08-05 | 2021-11-05 | 润联软件系统(深圳)有限公司 | 一种提升联盟链性能的可信合约共识方法、装置及其设备 |
-
2021
- 2021-12-07 CN CN202111516147.2A patent/CN114257429B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20210216977A1 (en) * | 2018-09-19 | 2021-07-15 | Istanbul Takas Ve Saklama Bankasi Anonim Sirketi | Digitally encrypted asset transfer method based on gold |
CN111800268A (zh) * | 2019-04-05 | 2020-10-20 | 国际商业机器公司 | 用于区块链背书的零知识证明 |
US20210064584A1 (en) * | 2019-08-30 | 2021-03-04 | Beatdapp Software Inc. | System and method for scalably tracking media playback using blockchain |
CN111211909A (zh) * | 2019-12-30 | 2020-05-29 | 深圳大学 | 一种基于零知识证明的分布式认证方法 |
CN111445334A (zh) * | 2020-03-30 | 2020-07-24 | 北京数字认证股份有限公司 | 一种区块链系统的聚合签名方法、装置及存储介质 |
CN112837163A (zh) * | 2021-03-22 | 2021-05-25 | 中国工商银行股份有限公司 | 基于区块链的批量交易上链方法及系统 |
CN113610523A (zh) * | 2021-08-05 | 2021-11-05 | 润联软件系统(深圳)有限公司 | 一种提升联盟链性能的可信合约共识方法、装置及其设备 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114978545B (zh) * | 2022-05-23 | 2023-08-01 | 西安电子科技大学 | 面向异构联盟链的跨链原语生成方法以及相关装置 |
Also Published As
Publication number | Publication date |
---|---|
CN114257429B (zh) | 2024-01-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109191124B (zh) | 区块链网络、部署方法及存储介质 | |
CN109218079B (zh) | 一种区块链网络、部署方法及存储介质 | |
CN111047319B (zh) | 区块链网络的交易处理方法及区块链网络 | |
CN109325855B (zh) | 区块链网络、部署方法及存储介质 | |
CN108683539B (zh) | 区块链网络的管理方法、装置、介质及电子设备 | |
CN109325854B (zh) | 区块链网络、部署方法及存储介质 | |
CN110490305B (zh) | 基于区块链网络的机器学习模型处理方法及节点 | |
CN109040029B (zh) | 在区块链中执行事务的方法和装置 | |
US11704303B2 (en) | Method and system for processing transactions in a blockchain network | |
CN109472572B (zh) | 基于区块链主链加并行多子链的合约系统 | |
Wüst et al. | ACE: Asynchronous and concurrent execution of complex smart contracts | |
TW201943250A (zh) | 跨區塊鏈的認證方法及裝置、電子設備 | |
CN109299058B (zh) | 学历存储方法、学历查询方法及计算机存储介质 | |
CN109981565B (zh) | 基于Meta-BFT共识机制的区块链平台及实现方法 | |
US10693654B2 (en) | Method and system for hosting a new blockchain using an existing blockchain node | |
US20200084041A1 (en) | Automated Blockchain Protocol Update | |
CN101344903A (zh) | 基于tpm的多实例动态远程证明方法 | |
CN112069550B (zh) | 一种基于智能合约方式的电子合同存证系统 | |
CN110717764A (zh) | 多账本管理方法、装置、计算机设备及存储介质 | |
CN114221972A (zh) | 中继区块链系统以及跨链交易方法 | |
CN114006920A (zh) | 一种基于联盟链的地质灾害应急指挥系统 | |
CN112162768A (zh) | 一种区块链升级方法和系统 | |
CN114257429A (zh) | 一种基于联盟链的聚合交易验签存证方法及系统 | |
CN111445239A (zh) | 一种基于区块链的签名验证方法 | |
JP2022075522A (ja) | コンピュータが実行する方法、情報処理装置及び記憶媒体 |
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 |