CN112737782B - 提供跨链消息的方法和装置 - Google Patents
提供跨链消息的方法和装置 Download PDFInfo
- Publication number
- CN112737782B CN112737782B CN202110339820.3A CN202110339820A CN112737782B CN 112737782 B CN112737782 B CN 112737782B CN 202110339820 A CN202110339820 A CN 202110339820A CN 112737782 B CN112737782 B CN 112737782B
- Authority
- CN
- China
- Prior art keywords
- transaction
- read
- message
- chain
- cross
- 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
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0819—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
- H04L9/0825—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
-
- 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
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/04—Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
-
- 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/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0643—Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
-
- 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
- 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]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Business, Economics & Management (AREA)
- Finance (AREA)
- Accounting & Taxation (AREA)
- Development Economics (AREA)
- Power Engineering (AREA)
- Economics (AREA)
- Marketing (AREA)
- Strategic Management (AREA)
- Technology Law (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
Abstract
本说明书实施例提供了一种提供跨链消息的方法和装置,所述方法由Fabric区块链的背书节点执行,包括:从Fabric区块链中接收第一交易的交易信息,所述第一交易的交易提案中调用所述第一合约、并向所述第一合约提供第一跨链消息;确定所述第一交易的执行状态;在确定所述第一交易可成功执行的情况中,在所述第一合约的账户状态中的消息队列中记录所述第一跨链消息;从客户端节点接收第二交易的交易提案,所述第二交易中调用所述第一合约中的查询函数;预执行所述第二交易,以从所述消息队列中读取所述第一跨链消息;生成所述第二交易的读写集,所述读写集中包括所述第一跨链消息;将所述第二交易的读写集发送给所述客户端节点。
Description
技术领域
本说明书实施例涉及区块链技术领域,更具体地,涉及一种在Fabric区块链中提供跨链消息的方法和装置、以及在Fabric区块链中获取跨链消息的方法和装置。
背景技术
区块链技术也被称之为分布式账本技术,是一种去中心化的分布式数据库技术,其特点是去中心化、公开透明、不可篡改、可信任。随着区块链技术的火热,出现了许多不同类型的链,应用在金融、健康医疗、供应链、资产管理和溯源等领域。当前,如何能让不同类型的链协同合作实现价值的流通是一个重要的探索方向。在已有的跨链技术中,通常通过读取区块链账本中的区块数据而获取由该区块链中的账户向链外发送的跨链消息。例如,在Hyperledger Fabric区块链(下文简称为Fabric区块链)中,每个对等节点都存储有全量的、一致的账本数据。对等节点具有系统自带的查询链码(Query System Chaincode,qscc),当对等节点需要查询账本数据时,可通过调用该qscc系统链码,查询本地区块数据。然而,当链下用户希望查询通道中的目标区块数据时,链下用户需要启动一个对等节点以用于查询Fabric区块链中的区块数据。
因此,需要一种更有效的跨链传递消息的方案。
发明内容
本说明书实施例旨在提供一种更有效的跨链传递消息的方案,以解决现有技术中的不足。
为实现上述目的,本说明书一个方面提供一种提供跨链消息的方法,所述方法由Fabric区块链的背书节点执行,包括:
从Fabric区块链中接收第一交易的交易信息,所述交易信息中包括所述第一交易的交易提案和至少一个读写集,所述第一交易的交易提案中调用所述第一合约、并向所述第一合约提供第一跨链消息;
确定所述第一交易的执行状态;
在确定所述第一交易可成功执行的情况中,在所述第一合约的账户状态中的消息队列中记录所述第一跨链消息;
从客户端节点接收第二交易的交易提案,所述第二交易中调用所述第一合约中的查询函数;
预执行所述第二交易,以从所述消息队列中读取所述第一跨链消息;
生成所述第二交易的读写集,所述读写集中包括所述第一跨链消息;
将所述第二交易的读写集发送给所述客户端节点。
在一种实施方式中,所述方法还包括,在将所述第二交易的读写集发送给所述客户端节点之后,从Fabric区块链中接收第二交易的交易信息,所述第二交易的交易信息中包括所述第二交易的交易提案和至少一个读写集;确定所述第二交易的执行状态;在确定所述第二交易可成功执行的情况中,在所述消息队列中更改所述第一跨链消息的状态。
在一种实施方式中,所述第一合约中调用用于获取提案发起账户相关信息的预定链码,预执行第二交易还包括,通过预执行所述预定链码获取所述第二交易的提案发起账户,验证所述提案发起账户是否为预定账户,在所述提案发起账户为预定账户的情况中,从所述消息队列中读取所述第一跨链消息。
本说明书另一方面提供一种获取跨链消息的方法,所述方法由Fabric区块链的客户端节点执行,包括:
向Fabric区块链的至少一个背书节点发送第二交易的交易提案,所述第二交易的交易提案中调用第一合约中的查询函数,所述第一合约的账户状态中包括跨链消息的消息队列,所述查询函数用于读取所述消息队列中的跨链消息;
从所述至少一个背书节点分别接收所述第二交易的读写集,各个所述读写集中包括所述消息队列中的第一跨链消息。
在一种实施方式中,所述方法还包括,在从所述至少一个对等节点分别接收所述第二交易的读写集之后,基于预定背书策略对各个所述读写集进行验证;在验证通过之后,将第二交易的交易信息发送给所述Fabric区块链中的排序节点,所述第二交易的交易信息包括所述第二交易的交易提案和各个所述读写集。
在一种实施方式中,所述第二交易中以查询参数为传入参数调用第一合约中的查询函数,所述查询参数用于指示所述第一跨链消息。
在一种实施方式中,向Fabric区块链的至少一个背书节点发送第二交易的交易提案包括,向Fabric区块链的第一背书节点发送第二交易的交易提案,所述第一背书节点中包括TEE。
本说明书另一方面提供一种提供跨链消息的装置,所述装置部署于Fabric区块链的背书节点,包括:
第一接收单元,配置为,从Fabric区块链中接收第一交易的交易信息,所述交易信息中包括所述第一交易的交易提案和至少一个读写集,所述第一交易的交易提案中调用所述第一合约、并向所述第一合约提供第一跨链消息;
第一确定单元,配置为,确定所述第一交易的执行状态;
记录单元,配置为,在确定所述第一交易可成功执行的情况中,在所述第一合约的账户状态中的消息队列中记录所述第一跨链消息;
第二接收单元,配置为,从客户端节点接收第二交易的交易提案,所述第二交易中调用所述第一合约中的查询函数;
预执行单元,配置为,预执行所述第二交易,以从所述消息队列中读取所述第一跨链消息;
生成单元,配置为,生成所述第二交易的读写集,所述读写集中包括所述第一跨链消息;
发送单元,配置为,将所述第二交易的读写集发送给所述客户端节点。
在一种实施方式中,所述装置还包括,第三接收单元,配置为,在将所述第二交易的读写集发送给所述客户端节点之后,从Fabric区块链中接收第二交易的交易信息,所述第二交易的交易信息中包括所述第二交易的交易提案和至少一个读写集;第二确定单元,配置为,确定所述第二交易的执行状态;更改单元,配置为,在确定所述第二交易可成功执行的情况中,在所述消息队列中更改所述第一跨链消息的状态。
在一种实施方式中,所述第一合约中调用用于获取提案发起账户相关信息的预定链码,所述预执行单元包括,获取子单元,配置为,通过预执行所述预定链码获取所述第二交易的提案发起账户,验证子单元,配置为,验证所述提案发起账户是否为预定账户,读取子单元,配置为,在所述提案发起账户为预定账户的情况中,从所述消息队列中读取所述第一跨链消息。
本说明书另一方面提供一种获取跨链消息的装置,所述装置部署于Fabric区块链的客户端节点,包括:
第一发送单元,配置为,向Fabric区块链的至少一个背书节点发送第二交易的交易提案,所述第二交易的交易提案中调用第一合约中的查询函数,所述第一合约的账户状态中包括跨链消息的消息队列,所述查询函数用于读取所述消息队列中的跨链消息;
接收单元,配置为,从所述至少一个背书节点分别接收所述第二交易的读写集,各个所述读写集中包括所述消息队列中的第一跨链消息。
在一种实施方式中,所述装置还包括,验证单元,配置为,在从所述至少一个对等节点分别接收所述第二交易的读写集之后,基于预定背书策略对各个所述读写集进行验证;第二发送单元,配置为,在验证通过之后,将第二交易的交易信息发送给所述Fabric区块链中的排序节点,所述第二交易的交易信息包括所述第二交易的交易提案和各个所述读写集。
在一种实施方式中,所述第二交易中以查询参数为传入参数调用第一合约中的查询函数,所述查询参数用于指示所述第一跨链消息。
在一种实施方式中,所述第一发送单元还配置为,向Fabric区块链的第一背书节点发送第二交易的交易提案,所述第一背书节点中包括TEE。
本说明书另一方面提供一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行上述任一项由Fabric区块链的背书节点执行的方法。
本说明书另一方面提供一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现上述任一项由Fabric区块链的背书节点执行的方法。
本说明书另一方面提供一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行上述任一项由Fabric区块链的客户端节点执行的方法。
本说明书另一方面提供一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现上述任一项由Fabric区块链的客户端节点执行的方法。
通过根据本说明书实施例的传递跨链消息的方案,在Fabric区块链中部署的消息发送合约的账户状态中保存跨链消息,并通过调用消息发送合约的查询函数来查询账户状态中的跨链消息,提供了一种新颖的在Fabric区块链中查询区块链账本的方法,通过该方法,还可以通过在查询函数设置验证程序,还可以验证查询账户是否为允许的预设账户,从而提高了安全性。
附图说明
通过结合附图描述本说明书实施例,可以使得本说明书实施例更加清楚:
图1示出根据本说明书实施例的基于Fabric区块链的跨链系统的示意图;
图2示出根据本说明书实施例的在Fabric区块链中执行交易1的方法流程图;
图3示出根据本说明书实施例的在Fabric区块链中执行交易m的方法流程图;
图4示出根据本说明书实施例的一种提供跨链消息的装置400;
图5示出根据本说明书实施例的一种获取跨链消息的装置500。
具体实施方式
下面将结合附图描述本说明书实施例。
首先介绍一下Fabric区块链的构造和交易过程。Fabric区块链是一种面向企业的联盟链。Fabric区块链中包括以下多种类型的节点:客户端节点、对等(Peer)节点、排序(orderer)节点等等。所述对等节点中又包括背书(Endorsor)节点、管理(Anchor)节点、提交(Committer)节点等。Fabric区块链中包括多个通道(channel),每个通道具有自身封闭的账本数据和链码(chaincode),所述链码即为Fabric区块链中的智能合约。对等节点可选择加入哪些通道,其在经过通道中已有的对等节点的身份验证之后可加入该通道。客户端节点(即客户端节点的节点设备)可向Fabirc区块链中的某个通道发起交易提案,从而,客户端节点根据该通道的背书策略向该通道中的预定的至少两个背书节点发送交易提案。通道中的背书节点具有交易提案系统接口,从而背书节点可通过调用该系统接口对从客户端节点接收的交易提案进行预执行以获取预执行交易的读写集,对读写集进行数字签名,并在预执行之后将预执行结果(即读写集)和数字签名返回给所述客户端节点。所述客户端节点在从各个背书节点接收到交易预执行结果和数字签名之后,将其发送给排序节点。排序节点用于对交易进行排序、并将经排序的交易按照固定的时间间隔打包成区块发送给管理节点。管理节点收到区块之后将区块广播给每个提交节点。提交节点收到区块之后验证区块中每个交易的执行状态,在区块的每个交易中标记其执行状态,然后将区块加入本节点的账本数据中(即,提交区块)。其中,每个对等节点都是提交节点,即,每个对等节点本地都包括通道的账本数据。
图1示出根据本说明书实施例的基于Fabric区块链的跨链系统的示意图。如图1所示,所述跨链系统中包括Fabric区块链中的背书节点11、第一客户端节点12、第二客户端节点13和排序节点14,这些节点都对应于具体的节点设备,下文中,所述节点即指相应的节点设备。背书节点11中部署有业务合约和消息发送合约,所述业务合约例如为跨链转账合约,并且所述业务合约中包括消息发送合约的调用,所述消息发送合约用于发送跨链消息。当Fabric区块链中的用户希望进行跨链转账时,可通过其对应的第一客户端节点12向Fabric区块链中的预定的至少一个背书节点(其中例如包括背书节点11)发送交易1的提案,所述交易1的提案中调用业务合约,并向业务合约传入与转账相关的参数,如接收转账的区块链标识、接收转账的账户、转账金额、接收合约账户等等。背书节点11中在接收到交易1的提案之后预执行交易1,即,预执行业务合约,在预执行交易1的读写集中记录:读取发起交易1的账户余额、以及将账户余额减少所述转账金额,并生成跨链消息(图1中的消息1),消息1中例如包括该消息1的发送区块链标识、接收区块链标识、发送账户、接收账户、接收合约账户及对接收账户的余额增加金额等内容,然后预执行消息发送合约,并将消息1提供给消息发送合约。在预执行消息发送合约时,在上述读写集中记录在消息发送合约的账户状态中的消息队列中加入“消息1”。在完成上述预执行之后,背书节点11对生成的读写集签名,并将交易1的读写集及其签名发回给第一客户端节点12。第一客户端节点12在收集了各个背书节点的读写集及其签名之后,基于预定背书策略对其进行验证,并在验证通过之后打包交易1的信息并发送给排序节点14,排序节点14基于预定规则对收到多个交易(其中包括交易1)进行排序并打包为区块,并将该区块发送给Fabric区块链中的管理节点(图1中未示出)。管理节点将该区块发送给Fabric区块链中的各个提交节点,其中例如包括背书节点11,也就是说,背书节点11即作为背书节点又作为提交节点。背书节点11在收到区块之后,基于当前世界状态对交易1的读写集进行验证,在确定交易1可执行之后,根据读写集中的写集更新世界状态,即,更新交易1的发送账户的账户余额,并在消息发送合约的账户状态中的消息队列中增加消息1。图1中以顺序排列的消息1-消息5示意示出消息发送合约的账户状态中的消息队列。
第二客户端节点13用于在Fabric区块链11与其它区块链之间传递消息。与上文类似地,第二客户端节点13可通过向Fabric区块链11中的预定背书节点发送交易提案(例如图1中的交易m的提案,其中m为交易编号)以获取跨链消息。交易m中调用消息发送合约的查询函数,以进行对上述消息队列的查询。背书节点11在接收到交易m的提案之后,预执行交易m,即预执行查询函数,在消息发送合约的消息队列中读取消息1,然后,背书节点在交易m的读集中记录对该消息1的读取、以及在写集中记录对消息队列中的消息1的删除。在生成交易m的读写集之后,背书节点11对该读写集签名,并将该读写集及其签名发回给第二客户端节点13。第二客户端节点13在接收到各个背书节点发回的对交易m的响应之后,对各个响应进行验证,从而可从任一读写集中获取消息1。第二客户端节点13在对各个背书节点对交易m的响应进行验证之后,可打包交易m的交易信息,并将交易m的交易信息发送给排序节点14。
排序节点14对接收的多个交易进行排序,并将该多个交易打包为区块,所述区块中例如包括交易m。之后,排序节点14将该区块发送给管理节点(图1中未示出),从而管理节点将该区块发送给每个提交节点(其中包括背书节点11)。背书节点在接收到交易m的交易信息之后,基于世界状态验证交易m是否可以执行,在验证交易m可执行的情况中,基于交易m的读写集更新世界状态,即在消息发送合约的账户状态中的消息队列中删除消息1。
可以理解,上述参考图1的描述只是示意性的,而不是用于限制本说明书实施例。例如,所述业务合约不限于为跨链转账合约,所述消息1不限于具有如上文上述的形式。下文将详细描述根据本说明书实施例的跨链提供消息的方法。
图2示出根据本说明书实施例的在Fabric区块链中执行交易1的方法流程图。图2中示出了由第一客户端节点12、背书节点11和排序节点14共同执行该方法。
首先,在步骤S201,第一客户端节点12向预定背书节点发送交易1的提案,所述预定背书节点中包括背书节点11。
在Fabric区块链的各个通道中,预设了背书节点和背书策略,并且仅有背书节点中才部署有链码,从而只有背书节点才能够预执行各个链码。客户端节点通过向预设的至少一个背书节点发送交易提案,而使得背书节点预执行交易。如上文上述,第一客户端节点12向背书节点11发送用于进行跨链转账的交易1的提案,在该提案中,包括对业务合约的调用,所述业务合约中包括对消息发送合约的调用,以用于发送跨链消息。
在步骤S202,背书节点11预执行交易1,生成交易1的读写集。
Fabric区块链中的背书节点根据相对于背书节点预设的流程执行背书过程。具体是,背书节点11在接收到交易1之后,预执行交易1,所述预执行即模拟执行交易1,但是并不将获取的交易执行结果(即对世界状态的改变)存入本地账本中,而是生成与交易1对应的读写集,并将所述执行造成的对世界状态的改变存入到该读写集中。背书节点11在开始预执行交易1之后,预执行业务合约,该预执行过程例如包括对发送交易1提案的账户1的账户余额的读取,以及将该账户1的余额减少转账金额,因此,在交易1的读集中记录账户1的账户余额,在交易1的写集中记录账户1在减少转账余额之后的余额。然后,背书节点11基于业务合约中的程序生成消息1,执行业务合约中调用的消息发送合约,并向消息发送合约提供消息1。在对消息发送合约的执行过程中,在交易1的写集中记录在消息发送合约的账户状态中的消息队列中增加的消息1,从而完成对交易1的预执行。
在步骤S203,背书节点11向第一客户端节点12发送交易1的读写集。
在完成对交易1的预执行之后,背书节点对生成的交易1的读写集签名,并将该读写集及其签名返回给第一客户端节点12。
在步骤S204,第一客户端节点12验证交易1的读写集。
第一客户端节点12从至少一个背书节点接收到交易1的读写集及其签名之后,首先通过各个背书节点的公钥验证各个读写集的签名是否为各个背书节点的签名,然后,基于预定背书策略对所述读写集进行验证,例如,所述预定背书策略为需要至少3个背书节点的背书、需要特定多个背书节点的背书等等。如果验证通过,则执行后续的步骤S205,如果验证不通过,则结束对交易1的处理。
在一种实施方式中,背书节点11中包括安全执行环境(TEE)。第一客户端节点12可对背书节点11中的TEE进行验证。具体是,第一客户端节点12可向TEE发送验证请求。TEE在接收所述验证请求之后,基于其内部机制生成认证信息,并将该认证信息及TEE的硬件公钥发送给第一客户端节点12。所述认证信息例如包括所述TEE的签名信息、硬件信息和软件信息等。其中,所述签名信息例如通过TEE的硬件密钥生成;所述硬件信息例如包括,各种硬件的指标,比如CPU主频,内存容量等等;所述软件信息包括各个程序的代码哈希值、代码名称、版本、运行日志等。如本领域技术人员所知,TEE可通过内存硬件执行对其中运行程序的“测量”,例如获取该程序的代码哈希值、该程序在特定执行点的内存占有的哈希值等等,并在所述认证信息中包括对所述程序的“测量”信息,由于该“测量”信息由该TEE自身实体(内存硬件)执行,而不涉及任何软件、操作系统,因此是真实可信的。第一客户端节点12在接收到所述认证信息之后,可把所述认证信息发送给TEE的远程认证服务器,从而从所述服务器接收到对所述TEE的验证结果。所述验证结果包括所述TEE的身份验证、及对所述TEE内部执行程序的验证等等。从而,第一客户端节点12基于该验证结果可确定TEE是可信的,TEE的处理结果是可信的。同时,第一客户端节点12在本地保存TEE的硬件公钥,以用于后续对TEE的签名的验证。
在背书节点11中包括安全执行环境(TEE)的情况中,该背书节点11是可信的,因此,第一客户端节点12可仅从背书节点11接收交易1的读写集,并在使用TEE的公钥对该读写集的签名验证通过之后,即可确认该读写集为真实的读写集。
在步骤S205,第一客户端节点12将交易1的交易信息发送给排序节点14。
第一客户端节点12在对交易1的读写集验证通过之后,打包交易1的交易信息,该交易信息中包括交易1的提案、交易1的各个读写集及各个背书节点对相应的读写集的签名,之后,第一客户端节点12将交易1的交易信息发送给排序节点14,以用于进行入块。
在步骤S206,排序节点14在接收交易1的交易信息之后,对已经接收的多个交易排序,并将该多个交易打包成区块1。
排序节点14可基于预定排序规则对多个交易进行排序,例如,可基于各个交易的提案发送时间对各个交易进行排序。在排序之后,排序节点14以上述排序顺序将多个交易各自的交易信息打包成例如区块1,所述区块1中包括交易1的交易信息。
在步骤S207,排序节点14将区块1发送给多个提交节点,其中包括背书节点11。
所述提交节点用于确定交易的执行状态、将交易入块,并根据交易的读写集更新世界状态,也就是说,提交节点中存储有Fabric区块链中的账本数据,该账本数据中包括区块和世界状态。由于背书节点11需要进行对账本数据的查询等操作,因此,背书节点11需要本身作为提交节点进行交易的入块,以更新本地的账本数据。
在步骤S208,背书节点11确定交易1的执行状态。
背书节点11在接收到区块1之后,需要按照区块1中各个交易的排列顺序依次处理各个交易。在处理交易1的交易信息时,背书节点11首先确定交易1的执行状态,即确定交易1是否可成功执行。具体是,背书节点11基于交易1的读写集和当前世界状态确定是否存在读写冲突,从而确定交易1是否可成功执行。例如,交易1的读写集中包括对账户1的余额的读取和更改,则背书节点11确定交易1的读写集中的在预执行时读取的账户1的余额在该读取之后有没有被排序在交易1之前的交易更改,如果存在该更改,则存在读冲突,该交易1就不能成功执行,如果不存在该更改,则说明不存在读写冲突,该交易1可成功执行。
在步骤S209,背书节点11在消息发送合约的账户状态中的消息队列中记录消息1。
背书节点11在确定交易1可成功执行之后,基于交易1的读写集更改世界状态,并在Fabric区块链中存入交易1的交易信息及其执行状态(即成功执行状态)。如上文所述,交易1的读写集中包括对账户1的余额的更改和对消息队列的更改,因此,背书节点11在本地存储该更改,即改变世界状态,也就是说,进行对账户1的余额的更改,并在消息发送合约的账户状态中的消息队列中记录消息1。在进行该记录之后,Fabric区块链中对交易1的处理结束,从而,通过对交易1的处理,在Fabric区块链中存入消息1作为待跨链发送的消息。
图3示出根据本说明书实施例的在Fabric区块链中执行交易m的方法流程图。图3中示出了由第二客户端节点13、背书节点11和排序节点14共同执行该方法。
在步骤S301,第二客户端节点13发送交易m的提案。
第二客户端节点13中未存储有Fabric区块链的账本数据。第二客户端节点13通过向Fabric区块链中的背书节点发送特定交易提案以从背书节点获取跨链消息。具体是,例如,如图1所示,第二客户端节点13可向Fabric区块链中的预定至少一个背书节点(其中包括背书节点11)发送交易m的提案,该交易m的提案中调用消息发送合约中包括的查询函数,该查询函数用于在上述消息队列中读取跨链消息。
在步骤S302,背书节点11预执行交易m,生成交易m的读写集,所述读写集中包括消息1。
当背书节点11预执行交易m时,预执行交易m中的消息发送合约中的查询函数,该查询函数中可预设允许查询账户,以验证发送交易m的提案的账户是否为允许的查询账户。因此,在预执行查询函数时,首先对发送交易m的提案的账户进行验证,如果验证失败,则返回查询失败,如果验证成功,则从消息发送合约的账户状态中的消息队列中读取跨链消息。可以理解,在不需要对查询账户进行验证的情况中,在预执行查询函数时,可直接从消息发送合约的账户状态中的消息队列中读取跨链消息。
在一种实施方式中,所述查询函数中例如包括GetProposer接口,在预执行查询函数时,首先通过调用GetProposer获取提案者的证书,该证书中包括提案者的账户、公钥等信息,从而可基于查询函数中预设的账户或公钥验证该提案者是否被允许进行查询。在一种实施方式中,所述查询函数中例如包括GetCreator接口,在执行查询函数时,首先通过调用GetCreator获取提案者的账户,然后基于查询函数中预设的允许账户验证该提案者的账户是否为允许账户。
所述查询函数中对跨链消息的读取方式可根据需求进行设置,例如,可预设,在每次预执行查询函数时,从消息队列中读取最早的消息,参考图1,假设当前消息1为最早记录的消息,消息2-消息5都是在消息1之后记录的消息。因此,在该次执行查询函数时,读取消息队列中的消息1。可以理解,所述查询函数不限于读取最老的1个消息,而可以预设为读取消息队列中最老的预定数目(例如5个等等)个消息,或者可以预设为读取消息队列中最新的预定数目个消息,或者可以预设为读取指定序号的消息,所述指定序号可在调用查询函数时作为传入参数传入给查询函数,或者可以预设为读取指定内容的消息,所述指定内容为所述消息中包括的内容,如接受合约账号、接收区块链标识等等,所述指定内容也可以在调用查询函数时作为传入参数传入给查询函数。在通过上述方式从消息队列中读取了例如消息1之后,背书节点11在相对于交易m生成的读写集的读集中记录消息1。
查询函数中还可以预设在进行对跨链消息的读取之后预修改消息发送合约的状态,即并不立即修改世界状态,而是在写集中记录对世界状态的更改。具体是,在一种实施方式中,在例如读取消息队列中的消息1之后,在交易m的写集中记录删除消息队列中的消息1,从而背书节点11在提交交易m之后将根据该写集记录的内容删除消息队列中的消息1,使得在下一次执行查询函数时不会重复读取消息1。在一种实施方式中,在读取消息1之后,可在写集中记录对消息1进行标记,以指示链下设备12已读取消息1,在该实施方式中,背书节点11在提交交易m之后将根据该写集中的记录对消息1进行标记,从而第二客户端节点13可重复读取消息1,或者,在不止一个客户端节点从背书节点11读取跨链消息的情况中,在第二客户端节点13读取消息1之后,其它客户端节点还可以读取消息1。
背书节点11通过如上所述预执行交易m,从而生成与交易m对应的读写集,并且该读写集中包括读取的消息1。
在步骤S303,背书节点11向第二客户端节点13发送交易m的读写集。
在步骤S304,第二客户端节点13验证交易m的读写集。
所述步骤S303和步骤S304可参考上文对步骤S203和步骤S204的描述,在此不再赘述。
在步骤S305,第二客户端节点13从交易m的读写集中获取消息1。
根据上文的描述,背书节点11在预执行交易m时,将从消息队列读取的消息1记录到读集中,因此,第二客户端节点13可读取交易m的读写集中的读集的内容,该内容即为消息1的内容。
在一种实施方式中,第二客户端节点13在获取消息1之后,可基于消息1的预定数据结构从消息1中确定接收链标识,从而可将该交易m的各个读写集及其签名提供给相应的接收链,从而相应的接收链可基于各个读写集的签名对交易m的各个读写集进行验证,并根据预定背书策略确定所述各个读写集是否可信,在验证各个读写集可信的情况中,可从中获取消息1。
在一种实施方式中,在第二客户端节点13为可信节点的情况中,第二客户端节点13在获取消息1之后,从消息1中确定接收链标识,从而将消息1直接提供给相应的接收链。
在步骤S306,第二客户端节点13将交易m的交易信息发送给排序节点14。
在步骤S307,排序节点14对多个交易排序,生成区块2。
在步骤S308,排序节点14将区块2发送给多个提交节点,其中包括背书节点11。
在步骤S309,背书节点11确定交易m的执行状态。
步骤S306-S309可参考上文对步骤S205-S208的描述,在此不再赘述。
在步骤S310,背书节点11在消息发送合约的账户状态中的消息队列中删除消息1。
背书节点11在确定交易m可成功执行的情况中,在Fabric区块链中存入交易m的交易信息和交易m的执行状态,并根据交易m的写集更改世界状态。例如,所述写集中记录了删除所述消息队列中的消息1,因此,背书节点执行对所述消息队列中的消息1的删除,如果如上文所述,所述写集中记录了对消息1进行标记,则背书节点对应地执行对消息1的标记。通过在Fabric区块链中提交交易m,从而可根据交易m的执行更改世界状态,从而有助于第二客户端节点13后续对消息队列的读取。
图4示出根据本说明书实施例的一种提供跨链消息的装置400,所述装置400部署于Fabric区块链的背书节点,包括:
第一接收单元401,配置为,从Fabric区块链中接收第一交易的交易信息,所述交易信息中包括所述第一交易的交易提案和至少一个读写集,所述第一交易的交易提案中调用所述第一合约、并向所述第一合约提供第一跨链消息;
第一确定单元402,配置为,确定所述第一交易的执行状态;
记录单元403,配置为,在确定所述第一交易可成功执行的情况中,在所述第一合约的账户状态中的消息队列中记录所述第一跨链消息;
第二接收单元404,配置为,从客户端节点接收第二交易的交易提案,所述第二交易中调用所述第一合约中的查询函数;
预执行单元405,配置为,预执行所述第二交易,以从所述消息队列中读取所述第一跨链消息;
生成单元406,配置为,生成所述第二交易的读写集,所述读写集中包括所述第一跨链消息;
发送单元407,配置为,将所述第二交易的读写集发送给所述客户端节点。
在一种实施方式中,所述装置400还包括,第三接收单元408,配置为,在将所述第二交易的读写集发送给所述客户端节点之后,从Fabric区块链中接收第二交易的交易信息,所述第二交易的交易信息中包括所述第二交易的交易提案和至少一个读写集;第二确定单元409,配置为,确定所述第二交易的执行状态;更改单元410,配置为,在确定所述第二交易可成功执行的情况中,在所述消息队列中更改所述第一跨链消息的状态。
在一种实施方式中,所述第一合约中调用用于获取提案发起账户相关信息的预定链码,所述预执行单元405包括,获取子单元4051,配置为,通过预执行所述预定链码获取所述第二交易的提案发起账户,验证子单元4052,配置为,验证所述提案发起账户是否为预定账户,读取子单元4053,配置为,在所述提案发起账户为预定账户的情况中,从所述消息队列中读取所述第一跨链消息。
图5示出根据本说明书实施例的一种获取跨链消息的装置500,所述装置500部署于Fabric区块链的客户端节点,包括:
第一发送单元51,配置为,向Fabric区块链的至少一个背书节点发送第二交易的交易提案,所述第二交易的交易提案中调用第一合约中的查询函数,所述第一合约的账户状态中包括跨链消息的消息队列,所述查询函数用于读取所述消息队列中的跨链消息;
接收单元52,配置为,从所述至少一个背书节点分别接收所述第二交易的读写集,各个所述读写集中包括所述消息队列中的第一跨链消息。
在一种实施方式中,所述装置500还包括,验证单元53,配置为,在从所述至少一个对等节点分别接收所述第二交易的读写集之后,基于预定背书策略对各个所述读写集进行验证;第二发送单元54,配置为,在验证通过之后,将第二交易的交易信息发送给所述Fabric区块链中的排序节点,所述第二交易的交易信息包括所述第二交易的交易提案和各个所述读写集。
在一种实施方式中,所述第二交易中以查询参数为传入参数调用第一合约中的查询函数,所述查询参数用于指示所述第一跨链消息。
在一种实施方式中,所述第一发送单元51还配置为,向Fabric区块链的第一背书节点发送第二交易的交易提案,所述第一背书节点中包括TEE。
本说明书另一方面提供一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行上述任一项由Fabric区块链的背书节点执行的方法。
本说明书另一方面提供一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现上述任一项由Fabric区块链的背书节点执行的方法。
本说明书另一方面提供一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行上述任一项由Fabric区块链的客户端节点执行的方法。
本说明书另一方面提供一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现上述任一项由Fabric区块链的客户端节点执行的方法。
通过根据本说明书实施例的传递跨链消息的方案,在Fabric区块链中部署的消息发送合约的账户状态中保存跨链消息,并通过调用消息发送合约的查询函数来查询账户状态中的跨链消息,提供了一种新颖的在Fabric区块链中查询区块链账本的方法,通过该方法,还可以通过在查询函数设置验证程序,还可以验证查询账户是否为允许的预设账户,从而提高了安全性。
需要理解,本文中的“第一”,“第二”等描述,仅仅为了描述的简单而对相似概念进行区分,并不具有其他限定作用。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
本领域普通技术人员应该还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。本领域普通技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。其中,软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (16)
1.一种提供跨链消息的方法,所述方法由Fabric区块链的背书节点执行,包括:
从Fabric区块链中接收第一交易的交易信息,所述交易信息中包括所述第一交易的交易提案和至少一个读写集,所述第一交易的交易提案中调用第一合约、并向所述第一合约提供第一跨链消息;
确定所述第一交易的执行状态;
在确定所述第一交易可成功执行的情况中,在所述第一合约的账户状态中的消息队列中记录所述第一跨链消息;
从客户端节点接收第二交易的交易提案,所述第二交易中调用所述第一合约中的查询函数;
预执行所述第二交易,以从所述消息队列中读取所述第一跨链消息;
生成所述第二交易的读写集,所述读写集中包括所述第一跨链消息;
将所述第二交易的读写集发送给所述客户端节点。
2.根据权利要求1所述的方法,还包括,在将所述第二交易的读写集发送给所述客户端节点之后,从Fabric区块链中接收第二交易的交易信息,所述第二交易的交易信息中包括所述第二交易的交易提案和至少一个读写集;确定所述第二交易的执行状态;在确定所述第二交易可成功执行的情况中,在所述消息队列中更改所述第一跨链消息的状态。
3.根据权利要求1或2所述的方法,其中,所述第一合约中调用用于获取提案发起账户相关信息的预定链码,预执行第二交易还包括,通过预执行所述预定链码获取所述第二交易的提案发起账户,验证所述提案发起账户是否为预定账户,在所述提案发起账户为预定账户的情况中,从所述消息队列中读取所述第一跨链消息。
4.一种获取跨链消息的方法,所述方法由Fabric区块链的客户端节点执行,包括:
向Fabric区块链的至少一个背书节点发送第二交易的交易提案,所述第二交易的交易提案中调用第一合约中的查询函数,所述第一合约的账户状态中包括跨链消息的消息队列,所述查询函数用于读取所述消息队列中的跨链消息;
从所述至少一个背书节点分别接收所述第二交易的读写集,各个所述读写集中包括所述消息队列中的第一跨链消息;
其中,所述第二交易中以查询参数为传入参数调用第一合约中的查询函数,所述查询参数用于指示所述第一跨链消息。
5.根据权利要求4所述的方法,还包括,在从所述至少一个对等节点分别接收所述第二交易的读写集之后,基于预定背书策略对各个所述读写集进行验证;在验证通过之后,将第二交易的交易信息发送给所述Fabric区块链中的排序节点,所述第二交易的交易信息包括所述第二交易的交易提案和各个所述读写集。
6.根据权利要求4或5所述的方法,其中,向Fabric区块链的至少一个背书节点发送第二交易的交易提案包括,向Fabric区块链的第一背书节点发送第二交易的交易提案,所述第一背书节点中包括TEE。
7.一种提供跨链消息的装置,所述装置部署于Fabric区块链的背书节点,包括:
第一接收单元,配置为,从Fabric区块链中接收第一交易的交易信息,所述交易信息中包括所述第一交易的交易提案和至少一个读写集,所述第一交易的交易提案中调用第一合约、并向所述第一合约提供第一跨链消息;
第一确定单元,配置为,确定所述第一交易的执行状态;
记录单元,配置为,在确定所述第一交易可成功执行的情况中,在所述第一合约的账户状态中的消息队列中记录所述第一跨链消息;
第二接收单元,配置为,从客户端节点接收第二交易的交易提案,所述第二交易中调用所述第一合约中的查询函数;
预执行单元,配置为,预执行所述第二交易,以从所述消息队列中读取所述第一跨链消息;
生成单元,配置为,生成所述第二交易的读写集,所述读写集中包括所述第一跨链消息;
发送单元,配置为,将所述第二交易的读写集发送给所述客户端节点。
8.根据权利要求7所述的装置,还包括,第三接收单元,配置为,在将所述第二交易的读写集发送给所述客户端节点之后,从Fabric区块链中接收第二交易的交易信息,所述第二交易的交易信息中包括所述第二交易的交易提案和至少一个读写集;第二确定单元,配置为,确定所述第二交易的执行状态;更改单元,配置为,在确定所述第二交易可成功执行的情况中,在所述消息队列中更改所述第一跨链消息的状态。
9.根据权利要求7或8所述的装置,其中,所述第一合约中调用用于获取提案发起账户相关信息的预定链码,所述预执行单元包括,获取子单元,配置为,通过预执行所述预定链码获取所述第二交易的提案发起账户,验证子单元,配置为,验证所述提案发起账户是否为预定账户,读取子单元,配置为,在所述提案发起账户为预定账户的情况中,从所述消息队列中读取所述第一跨链消息。
10.一种获取跨链消息的装置,所述装置部署于Fabric区块链的客户端节点,包括:
第一发送单元,配置为,向Fabric区块链的至少一个背书节点发送第二交易的交易提案,所述第二交易的交易提案中调用第一合约中的查询函数,所述第一合约的账户状态中包括跨链消息的消息队列,所述查询函数用于读取所述消息队列中的跨链消息;
接收单元,配置为,从所述至少一个背书节点分别接收所述第二交易的读写集,各个所述读写集中包括所述消息队列中的第一跨链消息;
其中,所述第二交易中以查询参数为传入参数调用第一合约中的查询函数,所述查询参数用于指示所述第一跨链消息。
11.根据权利要求10所述的装置,还包括,验证单元,配置为,在从所述至少一个对等节点分别接收所述第二交易的读写集之后,基于预定背书策略对各个所述读写集进行验证;第二发送单元,配置为,在验证通过之后,将第二交易的交易信息发送给所述Fabric区块链中的排序节点,所述第二交易的交易信息包括所述第二交易的交易提案和各个所述读写集。
12.根据权利要求10或11所述的装置,其中,所述第一发送单元还配置为,向Fabric区块链的第一背书节点发送第二交易的交易提案,所述第一背书节点中包括TEE。
13.一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行权利要求1-3中任一项的所述的方法。
14.一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现权利要求1-3中任一项所述的方法。
15.一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行权利要求4-6中任一项的所述的方法。
16.一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现权利要求4-6中任一项所述的方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110339820.3A CN112737782B (zh) | 2021-03-30 | 2021-03-30 | 提供跨链消息的方法和装置 |
PCT/CN2022/082018 WO2022206454A1 (zh) | 2021-03-30 | 2022-03-21 | 提供跨链消息的方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110339820.3A CN112737782B (zh) | 2021-03-30 | 2021-03-30 | 提供跨链消息的方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112737782A CN112737782A (zh) | 2021-04-30 |
CN112737782B true CN112737782B (zh) | 2021-06-25 |
Family
ID=75596142
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110339820.3A Active CN112737782B (zh) | 2021-03-30 | 2021-03-30 | 提供跨链消息的方法和装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN112737782B (zh) |
WO (1) | WO2022206454A1 (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112737782B (zh) * | 2021-03-30 | 2021-06-25 | 支付宝(杭州)信息技术有限公司 | 提供跨链消息的方法和装置 |
CN113220745B (zh) * | 2021-05-19 | 2024-02-09 | 中国科学技术大学 | 一种基于区块链的交易处理方法、装置及电子设备 |
CN113743950B (zh) * | 2021-11-04 | 2022-08-09 | 支付宝(杭州)信息技术有限公司 | 在区块链系统中执行交易的方法、节点和区块链系统 |
CN114579595B (zh) * | 2022-05-06 | 2022-08-12 | 中国信息通信研究院 | 数据写入方法和装置、计算机可读存储介质、电子设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108288159A (zh) * | 2018-03-07 | 2018-07-17 | 物数(上海)信息科技有限公司 | 基于多区块链的跨链交易方法、系统、设备及存储介质 |
CN110033244A (zh) * | 2019-03-15 | 2019-07-19 | 阿里巴巴集团控股有限公司 | 基于区块链的智能合约执行方法及装置和电子设备 |
CN111629039A (zh) * | 2020-05-20 | 2020-09-04 | 中国银联股份有限公司 | 一种区块链共识方法及客户端、背书节点、排序节点 |
CN111787072A (zh) * | 2018-04-03 | 2020-10-16 | 阿里巴巴集团控股有限公司 | 跨区块链的交互方法及装置、系统、电子设备 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11494344B2 (en) * | 2018-03-06 | 2022-11-08 | International Business Machines Corporation | Customized endorsement logic for blockchain |
CN112737782B (zh) * | 2021-03-30 | 2021-06-25 | 支付宝(杭州)信息技术有限公司 | 提供跨链消息的方法和装置 |
-
2021
- 2021-03-30 CN CN202110339820.3A patent/CN112737782B/zh active Active
-
2022
- 2022-03-21 WO PCT/CN2022/082018 patent/WO2022206454A1/zh active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108288159A (zh) * | 2018-03-07 | 2018-07-17 | 物数(上海)信息科技有限公司 | 基于多区块链的跨链交易方法、系统、设备及存储介质 |
CN111787072A (zh) * | 2018-04-03 | 2020-10-16 | 阿里巴巴集团控股有限公司 | 跨区块链的交互方法及装置、系统、电子设备 |
CN110033244A (zh) * | 2019-03-15 | 2019-07-19 | 阿里巴巴集团控股有限公司 | 基于区块链的智能合约执行方法及装置和电子设备 |
CN111629039A (zh) * | 2020-05-20 | 2020-09-04 | 中国银联股份有限公司 | 一种区块链共识方法及客户端、背书节点、排序节点 |
Also Published As
Publication number | Publication date |
---|---|
WO2022206454A1 (zh) | 2022-10-06 |
CN112737782A (zh) | 2021-04-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112737782B (zh) | 提供跨链消息的方法和装置 | |
CN110443704B (zh) | 一种跨链发送资源的方法和装置 | |
CN110597925B (zh) | 一种基于区块链的跨链数据处理方法及装置 | |
CN112600841B (zh) | 基于区块链的信用记录共享方法及装置、电子设备 | |
CN111901121B (zh) | 跨区块链的认证方法及装置、电子设备 | |
CN110033244B (zh) | 基于区块链的智能合约执行方法及装置和电子设备 | |
CN109660356B (zh) | 数据上链方法、装置、设备及计算机可读存储介质 | |
Baird et al. | Hedera: A governing council & public hashgraph network | |
CN113220745B (zh) | 一种基于区块链的交易处理方法、装置及电子设备 | |
CN110046523B (zh) | 智能合约校验方法及装置和电子设备 | |
CN111629039A (zh) | 一种区块链共识方法及客户端、背书节点、排序节点 | |
CN108710681A (zh) | 文件获取方法、装置、设备及存储介质 | |
CN112734431B (zh) | 查询Fabric区块链账本数据的方法和装置 | |
CN110737723B (zh) | 卡券领取方法、装置、设备及存储介质 | |
CN111600716A (zh) | 认证方法及装置、电子设备 | |
CN111429250A (zh) | 一种货押贷款场景中的数据管理方法和装置 | |
WO2022206439A1 (zh) | 提供跨链消息的方法和装置 | |
CN110955724A (zh) | 基于区块链的数据处理方法、装置、节点设备及存储介质 | |
CN112804359B (zh) | 提供跨链消息的方法和装置 | |
CN112769871A (zh) | 跨链访问控制方法和装置 | |
WO2022206431A1 (zh) | 查询Fabric区块链账本数据的方法和装置 | |
CN116055052A (zh) | 基于区块链的数据处理方法、装置、设备及可读存储介质 | |
CN109388923B (zh) | 一种程序执行方法及装置 | |
CN112732801B (zh) | 查询Fabric区块链账本数据的方法和装置 | |
CN109698750A (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 |