CN112615915B - 一种在私有链之间构建联盟链的方法 - Google Patents
一种在私有链之间构建联盟链的方法 Download PDFInfo
- Publication number
- CN112615915B CN112615915B CN202011457980.XA CN202011457980A CN112615915B CN 112615915 B CN112615915 B CN 112615915B CN 202011457980 A CN202011457980 A CN 202011457980A CN 112615915 B CN112615915 B CN 112615915B
- Authority
- CN
- China
- Prior art keywords
- chain
- transaction
- cross
- certificate
- private
- 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
Images
Classifications
-
- 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
-
- 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
- G06Q20/4014—Identity check for transactions
-
- 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
- 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/3263—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 certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
-
- 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/3263—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 certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
- H04L9/3268—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 certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements using certificate validation, registration, distribution or revocation, e.g. certificate revocation list [CRL]
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Business, Economics & Management (AREA)
- Accounting & Taxation (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Strategic Management (AREA)
- Finance (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种在私有链之间构建联盟链的方法,通过私有链跨链通信代理节点实现联盟链的构建,相比单一的联盟链,本发明通过私有链构建联盟链能够进行更好的权限管控:能够通过注册进行定制化的权限管控;灵活的隐私保护:可以通过注册定制共享数据;数据隔离:原生链接入;高吞吐率:多链架构,相关交易能够并行处理,直接获取处理结果;去中心化管理:相比中继链,本发明通过证书、注册管理机制实现去中心化管理;可配置的签名策略:灵活定制交易合法性校验。本发明以上特点能够更好地满足应用场景,提高区块链可用范围。
Description
技术领域
本发明涉及区块链技术领域,尤其涉及一种在私有链之间构建联盟链的方法。
背景技术
当前很多组织机构构建了自己的私有链,主要起到存证作用,私有链之间无法通信交换价值信息,没有发挥区块链的重要作用:价值互联。因为私有链数据只对自己开放,所以对链的权限、数据权限以及合约权限有着较高要求,从价值流转上讲又有数据共享的需求,一般的方法例如私有数据等远远满不足了现实需求,从效率和吞吐率上来讲,单链也是有着很大瓶颈,所以一种能够实现私有链之间构建联盟链的方法十分必要。
发明内容
本发明的目的在于针对现有技术的不足,提供一种在私有链之间构建联盟链的方法。
本发明的目的是通过以下技术方案实现的:一种在私有链之间构建联盟链的方法,该方法采用去中心化的链间通信方式,通过私有链跨链通信代理节点实现联盟链的构建,包括以下步骤:
证书颁发:通过原生私有链的证书管理模块生成跨链通信的公私钥对和跨链根证书,然后把公钥给需要通信的目的链,目的链进行审核授权后,用自己的根证书为源链签发跨链证书;
注册管理:私有链通过自己的代理节点进行通信,获得目的链的授权证书后,源链进行注册,注册内容包括身份信息、权限信息、签名策略和验证规则;通过注册进行定制化的权限管控,通过注册定制共享数据;通过可配置的签名策略定制交易合法性校验,包括:ANY、MAJORITY、ALL、SET,ANY指有任意成员签名同意就认定本次交易有效;MAJORITY指多数成员签名同意才能认定本次交易有效;ALL指所有成员签名同意才能认定本次交易有效;SET指指定的成员签名同意才能认定本次交易有效;
注册审核:目的链对源链注册信息进行核对,包括验证身份信息、证书信息、权限信息、签名策略;
持久化注册存储:根据注册信息生成验证规则,并将验证规则与注册信息进行持久化存储;
源链发起跨链交易,目的链需要检查跨链交易、验证跨链交易、验证签名策略,通过后执行交易并返回;
新加入的私有链通过上述方式加入联盟链,根据其注册的权限信息以及签名策略,已有的联盟链成员对其进行审核并生成签名信息,审核成功并满足签名策略时,方能成功加入联盟链。
进一步地,私有链之间能够进行数据通信,即由私有链或扩展或组合成为联盟链系统,由单一场景或连接或扩展为多业务场景,由单一业务主体扩展或连接到多业务主体;联盟链系统中每个私有链系统作为单独的一个节点或几个节点参与联盟链系统的运营和管理,各个私有链系统内部实现数据共享,组建的联盟链可以定制数据共享。
进一步地,所述私有链跨链通信代理节点和私有链所有节点均可连接,提供一定的容错能力,当发起跨链交易,私有链内部经过共识后,由代理节点的发送接口把跨链消息传递到目的链的代理节点,然后再传递到目的链上进行相关操作;代理节点主要负责私有链之间的注册、消息签名、交易路由、验证签名、验证交易存在性、保证事务一致性。
进一步地,所述证书管理模块的功能具体如下:
a、证书签发:通过证书管理模块生成根证书root.ca及根证书私钥root.priv;当私有链之间发起通信时,需要注册身份信息,由目的链的根证书root.ca签发跨链证书crosschain.cert及跨链证书私钥crosschain.priv到源链;
b、证书检查:证书管理模块提供证书检查服务,检查内容包括证书是否由目的链代理节点的root.ca证书签发的跨链证书、摘要签名是否合法;
c、证书撤销:当用户个人身份信息发生变化,或者私钥丢失、泄露或者疑似泄露时,证书用户可以向证书管理模块提出证书撤销请求,证书管理模块生成证书撤销列表,该列表中列举着所有在有效期内但被撤销的数字证书,在证书验证时根据证书撤销列表检查跨链交易的证书是否被撤销。
进一步地,通过跨链标准交互协议CSCP实现区块链跨链间网络通信,该协议把不同架构的区块链消息转换成统一标准的跨链总线消息;
CSCP协议主要字段包括:version,协议版本;SourceChainID,来源链地址;DestChainID,目的链地址;CrosschainPayload,跨链交易内容;Timestamp,时间戳;signature,代理节点签名;Cert,跨链交易节点证书;Proof,存在性验证信息;OriginInfo,跨链交易原始交易信息;extra,用户扩展字段;其中CrosschainPayload通过json序列化成字节类型,根据跨链交易的区块链架构而定,当传递到目的链时通过json解析出对应的结构;
CSCP协议上定义了标准通信接口,用于私有链之间构建联盟链的信息交互,包括:交易转换接口、交易发送接口、交易接收接口、交易验证接口、注册链接口、更新链接口、注销链接口,其中交易转换接口用于针对异构许可链将异构的交易消息通过CSCP适配各自的架构。
进一步地,跨链交易的检查工作包括:产生该跨链交易的源链是否已经注册过,包括是否含有源链身份信息及验证规则;产生该跨链交易的源链是否具有相关权限,包括合约访问权限、合约方法访问权限、数据字段访问权限;签名验签;签名策略校验。
进一步地,验证规则是供验证引擎对跨链交易验证存在性和有效性所用的,由于链的异构性会导致链的验证规则不同,因此需要源链向目的链注册时,由目的链的代理节点进行相应验证规则的部署、注册,并记录注册链的身份信息到注册表里;在私有链进行通信时能够验证链的身份,并匹配相应链的验证规则对交易存在性和有效性进行验证,验证通过后执行相关交易。
进一步地,跨链交易的存在性证明由默克尔证明来实现,将源链私有链生成的跨链交易证明构造为默克尔树结构,目的链私有链接收源链发送的跨链交易证明后,通过默克尔证明方法来验证跨链交易的存在性。
进一步地,通过跨链事务锁定和事务提交回滚保证私有链跨链事务一致性,包括:
源链私有链通过其代理节点向目的链私有链发起跨链交易;在源链私有链的代理节点和目的链私有链的代理节点执行以下操作:
源链的代理节点生成跨链交易证明和跨链交易摘要签名,锁定事务α,向目的链的代理节点发起跨链事务请求;
目的链的代理节点收到跨链事务请求后,验证锁定的事务α,如果验证通过则锁定事务β,生成事务β锁定证明,并将事务β锁定证明发送给源链的代理节点;
源链的代理节点接收并验证事务β锁定证明,如果验证通过则向目的链发起跨链交易请求,所述跨链交易请求中包括跨链交易证明和跨链交易摘要签名;
目的链的代理节点接收跨链交易请求,并验证跨链交易证明和跨链交易摘要签名,如果验证通过则解锁事务β,提交跨链事务,并向源链的代理节点返回提交跨链事务凭证;
源链的代理节点接收并验证提交跨链事务凭证,如果验证通过则解锁事务α,实现事务α和事务β的一致性操作;
在验证过程中,目的链的代理节点在门限时间内验证事务β是否解锁,如果已解锁则跨链交易已执行;否则回滚跨链事务,释放事务β;源链的代理节点在门限时间内验证事务α是否解锁,如果已解锁则跨链交易已执行;否则回滚跨链事务,释放事务α;
通过事务锁定和交互,保证事务α和事务β同时解锁或者同时未解锁。
进一步地,事务锁定和回滚具体如下:
源链生成随机内容s,计算哈希值H=Hash(s),并将随机内容s的哈希值H和门限时间T0发送到目的链;
源链用哈希值H和门限时间T0锁定事务α;
目的链收到随机内容s的哈希值H,并用门限时间T1和H锁定事务β,其中T1<T0;
目的链发送事务β锁定证明和门限时间T1到源链;
源链发送H的原始内容s到目的链,目的链如果在门限时间T1内收到s,则解锁事务β,源链获取事务β锁定的信息,否则进行事务回滚;
目的链发送H的原始内容s到源链,源链如果在门限时间T0内收到s,则解锁事务α,目的链获取事务α锁定的信息,否则进行事务回滚。
本发明的有益效果是:相比单一的联盟链,本发明通过私有链构建联盟链能够进行更好的权限管控:能够通过注册进行定制化的权限管控;灵活的隐私保护:可以通过注册定制共享数据;数据隔离:原生链接入;高吞吐率:多链架构,相关交易能够并行处理,直接获取处理结果;去中心化管理:相比中继链,本发明通过证书、注册管理机制实现去中心化管理;可配置的签名策略:灵活定制交易合法性校验。本发明以上特点能够更好地满足应用场景,提高区块链可用范围。
附图说明
图1是本发明实施例提供的私有链构建联盟链总体架构图;
图2是本发明实施例提供的去中心化的链间通信方案示意图;
图3是本发明实施例提供的私有链之间构建联盟链的流程图;
图4是本发明实施例提供的默克尔树结构图;
图5是本发明实施例提供的事务锁定和回滚流程图;
图6是本发明实施例提供的私有链之间消息传递的流程图。
具体实施方式
为了更好的理解本申请的技术方案,下面结合附图对本申请实施例进行详细描述。
应当明确,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。
在本申请实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。
本发明提出一种在私有链之间构建联盟链的方法,使得私有链之间能够进行数据通信,即由私有链或扩展或组合成为联盟链系统,由单一场景或连接或扩展为多业务场景,由单一业务主体扩展或连接到多业务主体。因此,在联盟链系统中,就有可能存在多个私有链系统,每个私有链系统作为单独的一个节点或几个节点参与联盟链系统的运营和管理,各个私有链系统内部实现数据共享。组建的联盟链可以定制数据共享。
相比单一的联盟链,本发明通过私有链构建联盟链能够进行更好的权限管控:能够通过注册进行定制化的权限管控;灵活的隐私保护:可以通过注册定制共享数据;数据隔离:原生链接入;高吞吐率:多链架构,相关交易能够并行处理,直接获取处理结果;去中心化管理:相比中继链,本发明通过证书、注册管理机制实现去中心化管理;可配置的签名策略:灵活定制交易合法性校验。本发明以上特点能够更好地满足应用场景,提高区块链可用范围。
本发明主要通过私有链跨链通信代理节点crossagent实现联盟链的构建,其功能主要包括:证书管理模块、可配置的交易签名策略、跨链标准通信总线协议CSCP、跨链通信接口方法。
总体架构如图1所示。在私有链构建联盟链过程中,首先通过原生私有链的证书管理模块生成跨链通信的公私钥对和跨链根证书,然后把公钥给需要通信的目的链,目的链进行审核授权后,用自己的根证书为源链签发跨链证书。这样采用密码学方式保证了跨链通信过程中的身份验证,保证安全性。私有链通过自己的代理节点进行通信,获得目的链的授权证书后,进行注册,注册内容主要有包含身份信息、权限信息、签名策略、验证规则等。新加入的私有链可以通过上述方式加入联盟链,根据其注册的权限信息以及签名策略等,已有的联盟链成员进行审核,审核成功后,方能加入成功。本发明设计的私有链构建联盟链的方法可以支持同构私有链,也可以支持异构私有链。
本发明采用去中心化的链间通信方案,如图2所示,原生私有链在构建联盟链时,与其他链通信,需要先进行证书颁发、注册管理、审核校验;也就是说链间通信自己进行管理,不依托中继链或者第三方公证人机构来进行身份验证、通信路由等。这种去中心化管理方式更符合区块链去中心化思想,同时安全性更高,交易吞吐率和效率也更高。
各部分的具体内容如下:
一、证书管理模块
原生私有链的证书管理模块会按照需求给私有链跨链代理节点颁发跨链根证书和公私钥对。具体颁发规则为:假设私有链A与私有链B之间相互通信,那么A链根证书采用B链公钥给B链颁发跨链证书;B链根证书采用A链公钥给A链颁发跨链证书,并把证书及公私钥对部署在跨链通信代理节点crossagent上。那么B链可以用根证书去验证A链发过来的消息的跨链证书,同样A链可以用根证书去验证B链发送过来的消息的跨链证书;同时也会对消息摘要签名进行验证,进而达到跨链权限管理以及保证通信安全。
本发明设计并实现了证书管理模块certManage,主要用来生成和管理相关的CA证书和数字证书,包括证书签发、公私钥生成、证书检查、证书撤销等功能。具体如下:
(1)证书签发:crossagent节点通过certManage生成根证书root.ca及根证书私钥root.priv。当私有链之间发起通信时,需要注册身份信息,首先由目的链的根证书root.ca签发跨链证书crosschain.cert及跨链证书私钥crosschain.priv到源链。
(2)证书检查:certManage提供证书检查服务,检查内容包括证书是否由目的链crossagent的root.ca证书签发的跨链证书、摘要签名是否合法等。
(3)证书撤销:当用户个人身份信息发生变化,或者私钥丢失、泄露或者疑似泄露时,证书用户可以向CertManage提出证书的撤销请求,certManage会生成证书撤销列表,该列表中列举着所有在有效期内但被撤销的数字证书。在证书验证时会根据证书撤销列表检查跨链交易的证书是否被撤销。
二、可配置签名策略
在进行链间注册时,注册信息中包含签名策略信息,当交易验证时,会根据签名策略进行合法性验证。具体包括:ANY、MAJORITY、ALL、SET。ANY是指有任意一家签名同意就认为本次交易有效;MAJORITY是指多数成员签名同意才能认定本次交易有效;ALL是指所有成员签名同意才能认定本次交易有效;SET是指指定几家成员签名同意认定本次交易有效。可配置的签名策略实现了私有链之间构建联盟链的多方平权治理。
三、私有链跨链通信代理节点crossagent
crossagent为私有链之间通信的代理节点,它和私有链所有节点均可连接,提供一定的容错能力,当发起跨链交易,私有链内部经过共识后,由crossagent的发送接口把跨链消息传递到目的链的crossagent节点,然后再传递到目的链上进行相关操作。通信过程采用TLS加密,可以确保信息传递安全性。crossagent主要负责私有链之间的注册、消息签名、交易路由、验证签名、验证交易存在性、保证事务一致性等。
四、跨链标准通信协议CSCP
本发明设计了一种跨链标准交互协议CSCP(crosschain standardcommunication protocol),主要用于区块链跨链间网络通信。
私有链通信通过CSCP总线协议,能够满足不同私有链链之间的跨链调用,不仅可以在同构私有链之间通信,也可兼容异构私有链之间的跨链通信。该协议可以把不同架构的区块链消息转换成统一标准的跨链总线消息,协议主要字段如下所示:
其中跨链交易内容CrosschainPayload通过json序列化成字节类型,可以根据跨链交易的区块链架构而定,当传递到目的链时通过json解析出对应的结构。
本发明定义了私有链之间构建联盟链的标准通信接口,可用于私有链之间构建联盟链的信息交互。主要有:
交易转换接口:TxToCSCP\CSCPToTx,对于异构许可链可将异构的交易消息通过总线标准协议CSCP适配各自的架构;
交易发送接口SendTx,用于源链向目的链发送信息;
交易接收接口ReceiveTX,用于目的链接收跨链交易;
交易验证接口VerifyCSCP,用于验证交易信息;
注册链接口RegistChain,用于身份注册;
更新链接口UpdateChain,用于更新链身份信息;
注销链接口DeleteChain,用于注销链身份信息。
私有链之间构建联盟链关键逻辑流程如图3所示,包括以下步骤:
1、原生私有链的证书管理模块会生成跨链通信的公私钥对和跨链根证书,然后把公钥给需要通信连接的目的链,目的链进行审核授权后,用自己的根证书为源链签发跨链证书。
2、获得目的链的授权证书后,源链进行注册,注册内容主要包含身份信息、权限信息、签名策略、验证规则等。
3、注册审核:目的链对源链注册信息进行核对,包括验证身份信息、证书信息、消息摘要签名、权限信息、签名策略等;
4、持久化注册存储:根据注册信息生成验证规则,并将验证规则与注册信息进行持久化存储;
5、源链发起跨链交易,目的链需要检查跨链交易、验证跨链交易、验证签名策略,通过后执行交易并返回。
新加入的私有链可以通过上述方式加入联盟链,可以进行平行扩展,具有很好的扩展性,根据其注册的权限信息以及签名策略等,已有的联盟链成员对其(新加入的私有链)进行审核并生成签名信息,审核成功并满足签名策略时,方能成功加入联盟链,这样实现了联盟链成员加入的控制管理,实现了联盟链多方的平权治理。
在一个实施例中,链注册流程具体为:
私有链源链会向私有链目的链进行跨链注册,主要包括源链的身份信息、权限信息、签名策略、验证规则等,注册成功后,目的链的验证引擎模块会生成对该链的验证规则,后续按照这个验证规则对跨链交易的合法性进行验证。针对不同架构的私有链,会生成不同的验证规则。并把源链的身份信息、权限信息、签名策略、验证规则、链信息等注册信息存储到目的链的注册表里,进行持久化存储。目的链crossagent的验证引擎会对源链的注册信息进行验证。其中注册信息内容如下表所示:
其中permission字段为权限管理字段,实现私有链之间构建联盟链定制化数据共享,满足多样化的场景需求;SignPloicy为签名策略,实现了私有链之间构建联盟链的多方平权治理。
crossagent支持链注册更新和注销操作,总体流程如注册流程类似,更新和注销信息经过检查验证后,会更新注册表内容。
在一个实施例中,身份及验证规则管理具体为:
验证规则是供验证引擎对跨链交易验证存在性和有效性所用的。由于每个链的异构性导致每个链的验证规则也是不一样的,crossagent的验证引擎无法为每个链提供统一的验证规则,因此就需要源链向目的链注册时,由目的链的crossagent进行相应验证规则的部署、注册,并记录注册链的身份信息到注册表里。在私有链进行通信时能够验证链的身份,并匹配相应链的验证规则对交易存在性和有效性进行验证,验证通过后执行相关交易。
在一个实施例中,跨链交易的检查工作包括:
①产生该跨链交易的源链是否已经注册过,包括是否含有源链身份信息及验证规则;②产生该跨链交易的源链是否具有相关权限,包括合约访问权限、合约方法访问权限、数据字段访问权限等;③签名验签;④签名策略校验;
在一个实施例中,检查通过的跨链交易进入验证阶段,验证阶段由验证引擎执行,通过交易的源链身份信息,在目的链的注册表里匹配验证规则,然后将交易的验证信息、验证规则、跨链交易输入到验证引擎,然后进行验证。验证通过后,交易将进入执行阶段。
在一个实施例中,跨链交易通过验证后进入执行阶段,执行阶段设计了交易有效性、交易存在性证明和事务一致性保证的方法。
一、交易有效性
通过非对称秘钥签名和验签保证交易消息的有效性。
二、交易存在性
本发明中,跨链交易的存在性证明是由默克尔证明来实现的。将私有链A生成的跨链交易证明构造为默克尔树结构,私有链B接收私有链A发送的跨链交易证明后,通过默克尔证明方法来验证跨链交易的存在性。
默克尔树的结构如图4所示,每个非叶子节点通过其子节点的哈希值来进行标注,树的根节点叫作默克尔根(merkle root)。图4所示是某区块X的默克尔树结构,如果要验证交易Tx_D是否在该区块中,无需获取整个区块,只需要提供交易Tx_D,H_AB,H_C以及merkleroot即可。具体过程如下:
a、根据交易D计算哈希,得到H_D;
b、根据H_C和H_D计算哈希,得到H_CD;
c、根据H_AB和H_CD计算哈希,得到H_ABCD;
d、对比H_ABCD和merkle root,如果相同,则证明区块中存在交易Tx_D,否则说明不存在。
私有链之间通信如果需要存在性证明,则在交易信息中需要带有验证信息,证明信息是指验证过程中用到的初始哈希值,即H_AB、H_C、merkle root和Tx_D。
三、事务一致性
区块链通过共识机制保证了节点之间的一致性,针对单链内部的事务保证,共识算法能够保证其状态是确定的,所有的交易执行结果在所有集群中均是一致的。但是在跨链交互当中,一方面,链间状态并没有相互同步,如果链内部采用的共识协议不同的话,节点内部共识状态也无法作为事务提交的标志。但是跨链交互又需要获取链之间的交易和状态数据,那么跨链交互过程当中的事务保证则成为了一个关键点。
为了实现跨链事务一致性,本发明设计了跨链事务锁方案,私有链跨链事务交互流程如下:
a、私有链A通过其代理节点向私有链B发起跨私有链交易;
b、在私有链A的代理节点和私有链B的代理节点执行以下操作:
1、私有链A的代理节点生成跨私有链交易证明和跨私有链交易摘要签名,锁定事务α,向私有链B的代理节点发起跨私有链事务请求;
2、私有链B的代理节点收到跨私有链事务请求后,验证锁定的事务α,如果验证通过则锁定事务β,生成事务β锁定证明,并将事务β锁定证明发送给私有链A的代理节点;
3、私有链A的代理节点接收并验证事务β锁定证明,如果验证通过则向私有链B发起跨私有链交易请求,所述跨私有链交易请求中包括跨私有链交易证明和跨私有链交易摘要签名;
4、私有链B的代理节点接收跨私有链交易请求,并验证跨私有链交易证明和跨私有链交易摘要签名,如果验证通过则解锁事务β,提交跨私有链事务,并向私有链A的代理节点返回提交跨私有链事务凭证;
5、私有链A的代理节点接收并验证提交跨私有链事务凭证,如果验证通过则解锁事务α,实现事务α和事务β的一致性操作。
在验证过程中:
私有链B的代理节点在门限时间内验证事务β是否解锁,如果已解锁则跨私有链交易已执行;否则回滚跨私有链事务,释放事务β;
私有链A的代理节点在门限时间内验证事务α是否解锁,如果已解锁则跨私有链交易已执行;否则回滚跨私有链事务,释放事务α;
通过事务锁定和交互,保证事务α和事务β同时解锁或者同时未解锁。
在一个实施例中,如图5所示,事务锁定和回滚的具体流程如下(均在代理节点上执行):
1、私有链A生成随机内容s,计算哈希值H=Hash(s),并将随机内容s的哈希值H和门限时间T0发送到私有链B;
2、私有链A用哈希值H和门限时间T0锁定事务α,α锁定的可以是跨私有链交互相关的价值资产信息;
3、私有链B收到随机内容s的哈希值H,并用门限时间T1时间(T1<T0)和H锁定事务β,事务β锁定的可以是跨私有链交互相关的价值资产信息;
4、私有链B发送事务β锁定证明和门限时间T1到私有链A;
5、私有链A发送H的原始内容s到私有链B,私有链B如果在门限时间T1内收到s,则解锁事务β,私有链A获取事务β锁定的价值资产,否则进行事务回滚;
6、私有链B发送H的原始内容s(s由步骤5中的私有链A发来)到私有链A,如果私有链A在门限时间T0内收到s,则解锁事务α,私有链B获取事务α锁定的价值资产,否则进行事务回滚。
本发明通过哈希值实现事务锁定和回滚,利用哈希计算的特点,正向计算(由s计算H)较简单,但是逆向计算(由H计算s)很难实现,可以有效防止攻击。
最终目的链将执行结构及执行状态信息构建成返回信息发送到源链。
私有链之间消息传递的流程如图6所示,包括以下步骤:
1、私有链A发送跨链消息到代理节点crossagent;
2、私有链A的crossagent把A链消息类型转换为总线标准通信消息CSCP;
3、私有链A的crossagent对CSCP消息签名;
4、私有链A的crossagent将CSCP消息发送到B链的crossagent;
5、私有链B的crossagent接收到CSCP消息;
6、私有链B的crossagent对CSCP消息进行签名验证;
7、私有链B的crossagent对CSCP消息进行身份验证;
8、私有链B的crossagent对CSCP消息进行权限验证;
9、私有链B的crossagent对CSCP消息进行签名策略验证;
10、私有链B的crossagent对CSCP消息进行存在性验证;
11、私有链B的crossagent将CSCP消息转换成B链格式的交易消息;
12、私有链B的crossagent将跨链交易发送到B链;
13、私有链B处理跨链消息;
14、私有链B返回处理结果;
私有链其他成员通信也以此类推。
在一个实施例中,提出了一种计算机设备,包括存储器和处理器,存储器中存储有计算机可读指令,计算机可读指令被处理器执行时,使得处理器执行上述各实施例中在私有链之间构建联盟链的方法中的步骤。
在一个实施例中,提出了一种存储有计算机可读指令的存储介质,计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行上述各实施例中在私有链之间构建联盟链的方法中的步骤。其中,存储介质可以为非易失性存储介质。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取存储器(RAM,RandomAccess Memory)、磁盘或光盘等。
以上所述仅为本说明书一个或多个实施例的较佳实施例而已,并不用以限制本说明书一个或多个实施例,凡在本说明书一个或多个实施例的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本说明书一个或多个实施例保护的范围之内。
Claims (10)
1.一种在私有链之间构建联盟链的方法,其特征在于,采用去中心化的链间通信方式,通过私有链跨链通信代理节点实现联盟链的构建,包括以下步骤:
证书颁发:通过原生私有链的证书管理模块生成跨链通信的公私钥对和跨链根证书,然后把公钥给需要通信的目的链,目的链进行审核授权后,用自己的根证书为源链签发跨链证书;
注册管理:私有链通过自己的代理节点进行通信,获得目的链的授权证书后,源链进行注册,注册内容包括身份信息、权限信息、签名策略和验证规则;通过注册进行定制化的权限管控,通过注册定制共享数据;通过可配置的签名策略定制交易合法性校验,包括:ANY、MAJORITY、ALL、SET,ANY指有任意成员签名同意就认定本次交易有效;MAJORITY指多数成员签名同意才能认定本次交易有效;ALL指所有成员签名同意才能认定本次交易有效;SET指指定的成员签名同意才能认定本次交易有效;
注册审核:目的链对源链注册信息进行核对,包括验证身份信息、证书信息、权限信息、签名策略;
持久化注册存储:根据注册信息生成验证规则,并将验证规则与注册信息进行持久化存储;
源链发起跨链交易,目的链需要检查跨链交易、验证跨链交易、验证签名策略,通过后执行交易并返回;
新加入的私有链通过上述方式加入联盟链,根据其注册的权限信息以及签名策略,已有的联盟链成员对其进行审核并生成签名信息,审核成功并满足签名策略时,方能成功加入联盟链。
2.根据权利要求1所述的一种在私有链之间构建联盟链的方法,其特征在于,私有链之间能够进行数据通信,即由私有链或扩展或组合成为联盟链系统,由单一场景或连接或扩展为多业务场景,由单一业务主体扩展或连接到多业务主体;联盟链系统中每个私有链系统作为单独的一个节点或几个节点参与联盟链系统的运营和管理,各个私有链系统内部实现数据共享,组建的联盟链可以定制数据共享。
3.根据权利要求1所述的一种在私有链之间构建联盟链的方法,其特征在于,所述私有链跨链通信代理节点和私有链所有节点均可连接,提供一定的容错能力,当发起跨链交易,私有链内部经过共识后,由代理节点的发送接口把跨链消息传递到目的链的代理节点,然后再传递到目的链上进行相关操作;代理节点主要负责私有链之间的注册、消息签名、交易路由、验证签名、验证交易存在性、保证事务一致性。
4.根据权利要求1所述的一种在私有链之间构建联盟链的方法,其特征在于,所述证书管理模块的功能具体如下:
a、证书签发:通过证书管理模块生成根证书root.ca及根证书私钥root.priv;当私有链之间发起通信时,需要注册身份信息,由目的链的根证书root.ca签发跨链证书crosschain.cert及跨链证书私钥crosschain.priv到源链;
b、证书检查:证书管理模块提供证书检查服务,检查内容包括证书是否由目的链代理节点的root.ca证书签发的跨链证书、摘要签名是否合法;
c、证书撤销:当用户个人身份信息发生变化,或者私钥丢失、泄露或者疑似泄露时,证书用户可以向证书管理模块提出证书撤销请求,证书管理模块生成证书撤销列表,该列表中列举着所有在有效期内但被撤销的数字证书,在证书验证时根据证书撤销列表检查跨链交易的证书是否被撤销。
5.根据权利要求1所述的一种在私有链之间构建联盟链的方法,其特征在于,通过跨链标准交互协议CSCP实现区块链跨链间网络通信,该协议把不同架构的区块链消息转换成统一标准的跨链总线消息;
CSCP协议主要字段包括:version,协议版本;SourceChainID,来源链地址;DestChainID,目的链地址;CrosschainPayload,跨链交易内容;Timestamp,时间戳;signature,代理节点签名;Cert,跨链交易节点证书;Proof,存在性验证信息;OriginInfo,跨链交易原始交易信息;extra,用户扩展字段;其中CrosschainPayload通过json序列化成字节类型,根据跨链交易的区块链架构而定,当传递到目的链时通过json解析出对应的结构;
CSCP协议上定义了标准通信接口,用于私有链之间构建联盟链的信息交互,包括:交易转换接口、交易发送接口、交易接收接口、交易验证接口、注册链接口、更新链接口、注销链接口,其中交易转换接口用于针对异构许可链将异构的交易消息通过CSCP适配各自的架构。
6.根据权利要求1所述的一种在私有链之间构建联盟链的方法,其特征在于,跨链交易的检查工作包括:产生该跨链交易的源链是否已经注册过,包括是否含有源链身份信息及验证规则;产生该跨链交易的源链是否具有相关权限,包括合约访问权限、合约方法访问权限、数据字段访问权限;签名验签;签名策略校验。
7.根据权利要求1所述的一种在私有链之间构建联盟链的方法,其特征在于,验证规则是供验证引擎对跨链交易验证存在性和有效性所用的,由于链的异构性会导致链的验证规则不同,因此需要源链向目的链注册时,由目的链的代理节点进行相应验证规则的部署、注册,并记录注册链的身份信息到注册表里;在私有链进行通信时能够验证链的身份,并匹配相应链的验证规则对交易存在性和有效性进行验证,验证通过后执行相关交易。
8.根据权利要求1所述的一种在私有链之间构建联盟链的方法,其特征在于,跨链交易的存在性证明由默克尔证明来实现,将源链私有链生成的跨链交易证明构造为默克尔树结构,目的链私有链接收源链发送的跨链交易证明后,通过默克尔证明方法来验证跨链交易的存在性。
9.根据权利要求1所述的一种在私有链之间构建联盟链的方法,其特征在于,通过跨链事务锁定和事务提交回滚保证私有链跨链事务一致性,包括:
源链私有链通过其代理节点向目的链私有链发起跨链交易;在源链私有链的代理节点和目的链私有链的代理节点执行以下操作:
源链的代理节点生成跨链交易证明和跨链交易摘要签名,锁定事务α,向目的链的代理节点发起跨链事务请求;
目的链的代理节点收到跨链事务请求后,验证锁定的事务α,如果验证通过则锁定事务β,生成事务β锁定证明,并将事务β锁定证明发送给源链的代理节点;
源链的代理节点接收并验证事务β锁定证明,如果验证通过则向目的链发起跨链交易请求,所述跨链交易请求中包括跨链交易证明和跨链交易摘要签名;
目的链的代理节点接收跨链交易请求,并验证跨链交易证明和跨链交易摘要签名,如果验证通过则解锁事务β,提交跨链事务,并向源链的代理节点返回提交跨链事务凭证;
源链的代理节点接收并验证提交跨链事务凭证,如果验证通过则解锁事务α,实现事务α和事务β的一致性操作;
在验证过程中,目的链的代理节点在门限时间内验证事务β是否解锁,如果已解锁则跨链交易已执行;否则回滚跨链事务,释放事务β;源链的代理节点在门限时间内验证事务α是否解锁,如果已解锁则跨链交易已执行;否则回滚跨链事务,释放事务α;
通过事务锁定和交互,保证事务α和事务β同时解锁或者同时未解锁。
10.根据权利要求1所述的一种在私有链之间构建联盟链的方法,其特征在于,事务锁定和回滚具体如下:
源链生成随机内容s,计算哈希值H=Hash(s),并将随机内容s的哈希值H和门限时间T0发送到目的链;
源链用哈希值H和门限时间T0锁定事务α;
目的链收到随机内容s的哈希值H,并用门限时间T1和H锁定事务β,其中T1<T0;
目的链发送事务β锁定证明和门限时间T1到源链;
源链发送H的原始内容s到目的链,目的链如果在门限时间T1内收到s,则解锁事务β,源链获取事务β锁定的信息,否则进行事务回滚;
目的链发送H的原始内容s到源链,源链如果在门限时间T0内收到s,则解锁事务α,目的链获取事务α锁定的信息,否则进行事务回滚。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011457980.XA CN112615915B (zh) | 2020-12-10 | 2020-12-10 | 一种在私有链之间构建联盟链的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011457980.XA CN112615915B (zh) | 2020-12-10 | 2020-12-10 | 一种在私有链之间构建联盟链的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112615915A CN112615915A (zh) | 2021-04-06 |
CN112615915B true CN112615915B (zh) | 2022-05-24 |
Family
ID=75233367
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011457980.XA Active CN112615915B (zh) | 2020-12-10 | 2020-12-10 | 一种在私有链之间构建联盟链的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112615915B (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113691500B (zh) * | 2021-07-31 | 2023-09-26 | 广东浪潮智慧计算技术有限公司 | 一种支持监管的跨链数据访问装置及系统 |
CN113746824B (zh) * | 2021-08-26 | 2023-09-12 | 浙商银行股份有限公司 | 基于区块链跨链的隐私数据共享方法、设备及存储介质 |
CN113783949A (zh) * | 2021-08-26 | 2021-12-10 | 浙商银行股份有限公司 | 一种基于合约管理的跨链去中心化方法 |
CN113626850B (zh) * | 2021-10-13 | 2022-03-11 | 北京百度网讯科技有限公司 | 基于联盟链的请求处理方法、装置、设备和存储介质 |
CN114244537B (zh) * | 2022-02-24 | 2022-05-06 | 环球数科集团有限公司 | 一种基于跨链通信和多链融合的信息处理系统 |
CN114448646A (zh) * | 2022-03-22 | 2022-05-06 | 深圳壹账通智能科技有限公司 | 一种跨链交易的权限管理方法、系统、设备及介质 |
CN114866595B (zh) * | 2022-04-02 | 2024-02-27 | 深圳力维智联技术有限公司 | 连接方法、端站数据采集器、管理平台 |
CN115330161A (zh) * | 2022-08-03 | 2022-11-11 | 国网江苏省电力有限公司南通供电分公司 | 基于区块链技术的电力基建分包商信用管理方法及系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109165122A (zh) * | 2018-08-13 | 2019-01-08 | 浙商银行股份有限公司 | 一种提升基于区块链技术实现的应用系统同城多园区部署灾备能力的方法 |
CN110288345A (zh) * | 2019-06-26 | 2019-09-27 | 深圳市网心科技有限公司 | 跨链通信方法、装置、主链节点及存储介质 |
TWM594316U (zh) * | 2019-10-21 | 2020-04-21 | 銳俤科技股份有限公司 | 區塊鏈資訊收集裝置 |
CN111769948A (zh) * | 2020-06-15 | 2020-10-13 | 布比(北京)网络技术有限公司 | 基于区块链的链间交互方法、系统、装置和计算机设备 |
CN111935318A (zh) * | 2020-09-28 | 2020-11-13 | 北京百度网讯科技有限公司 | 跨链数据验证方法、装置、设备及介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10855446B2 (en) * | 2018-04-24 | 2020-12-01 | Duvon Corporation | Autonomous exchange via entrusted ledger |
-
2020
- 2020-12-10 CN CN202011457980.XA patent/CN112615915B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109165122A (zh) * | 2018-08-13 | 2019-01-08 | 浙商银行股份有限公司 | 一种提升基于区块链技术实现的应用系统同城多园区部署灾备能力的方法 |
CN110288345A (zh) * | 2019-06-26 | 2019-09-27 | 深圳市网心科技有限公司 | 跨链通信方法、装置、主链节点及存储介质 |
TWM594316U (zh) * | 2019-10-21 | 2020-04-21 | 銳俤科技股份有限公司 | 區塊鏈資訊收集裝置 |
CN111769948A (zh) * | 2020-06-15 | 2020-10-13 | 布比(北京)网络技术有限公司 | 基于区块链的链间交互方法、系统、装置和计算机设备 |
CN111935318A (zh) * | 2020-09-28 | 2020-11-13 | 北京百度网讯科技有限公司 | 跨链数据验证方法、装置、设备及介质 |
Also Published As
Publication number | Publication date |
---|---|
CN112615915A (zh) | 2021-04-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112615915B (zh) | 一种在私有链之间构建联盟链的方法 | |
CN112583917B (zh) | 一种基于cscp的混合链构建方法 | |
CN110288480B (zh) | 一种区块链的私密交易方法及装置 | |
CN112529706B (zh) | 一种去中心化异构公有链资产交换方法 | |
Huang et al. | Scalable and redactable blockchain with update and anonymity | |
CN112507393B (zh) | 一种保障区块链跨链事务一致性的方法 | |
CN113507458B (zh) | 一种基于区块链的跨域身份认证方法 | |
CN112583596B (zh) | 一种基于区块链技术的完全跨域身份认证方法 | |
CN114982196A (zh) | 利用区块链事务的通信协议 | |
CN113328997B (zh) | 联盟链跨链系统及方法 | |
CN113850599B (zh) | 一种应用于联盟链的跨链交易方法及系统 | |
JP2023503607A (ja) | 自動デジタル証明書検証のための方法およびデバイス | |
CN113824563A (zh) | 一种基于区块链证书的跨域身份认证方法 | |
KR20220006097A (ko) | 블록체인을 이용한 공개 키 관리를 위한 방법 및 디바이스 | |
CN115865418A (zh) | 一种基于区块链和拜占庭容错算法的跨域访问控制方案 | |
CN112581128B (zh) | 一种具有存在证明的异构许可链价值交换方法 | |
CN112615838B (zh) | 一种可扩展的区块链跨链通信方法 | |
CN112118231B (zh) | 一种基于区块链技术的可信身份管理方法 | |
Liou et al. | T-auth: A novel authentication mechanism for the IoT based on smart contracts and PUFs | |
Liu et al. | A blockchain-based cross-domain authentication management system for IoT devices | |
Xie et al. | HCVC: A High-Capacity Off-Chain Virtual Channel Scheme Based on Bidirectional Locking Mechanism | |
CN112508703B (zh) | 一种同构公有链价值交换方法 | |
CN112636920A (zh) | 一种基于权限管控的同构许可链互联方法 | |
CN116015970A (zh) | 一种基于sgx的跨域身份认证方法 | |
CN115913647A (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 | ||
TR01 | Transfer of patent right |
Effective date of registration: 20220601 Address after: No. 1788, Hongning Road, Xiaoshan District, Hangzhou, Zhejiang 311200 Patentee after: CHINA ZHESHANG BANK Co.,Ltd. Patentee after: Yiqiyin (Hangzhou) Technology Co., Ltd Address before: No. 1788, Hongning Road, Xiaoshan District, Hangzhou, Zhejiang 311200 Patentee before: CHINA ZHESHANG BANK Co.,Ltd. |
|
TR01 | Transfer of patent right |