CN112732800A - 提供跨链消息的方法和装置 - Google Patents

提供跨链消息的方法和装置 Download PDF

Info

Publication number
CN112732800A
CN112732800A CN202110339722.XA CN202110339722A CN112732800A CN 112732800 A CN112732800 A CN 112732800A CN 202110339722 A CN202110339722 A CN 202110339722A CN 112732800 A CN112732800 A CN 112732800A
Authority
CN
China
Prior art keywords
transaction
message
chain
cross
blockchain
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
Application number
CN202110339722.XA
Other languages
English (en)
Other versions
CN112732800B (zh
Inventor
余逸荣
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ant Blockchain Technology Shanghai Co Ltd
Original Assignee
Alipay Hangzhou Information Technology Co Ltd
Ant Blockchain Technology Shanghai Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Alipay Hangzhou Information Technology Co Ltd, Ant Blockchain Technology Shanghai Co Ltd filed Critical Alipay Hangzhou Information Technology Co Ltd
Priority to CN202110339722.XA priority Critical patent/CN112732800B/zh
Publication of CN112732800A publication Critical patent/CN112732800A/zh
Application granted granted Critical
Publication of CN112732800B publication Critical patent/CN112732800B/zh
Priority to PCT/CN2022/081760 priority patent/WO2022206439A1/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2458Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
    • G06F16/2471Distributed queries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • G06Q40/04Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Finance (AREA)
  • Accounting & Taxation (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Fuzzy Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Linguistics (AREA)
  • Software Systems (AREA)
  • Signal Processing (AREA)
  • Probability & Statistics with Applications (AREA)
  • Mathematical Physics (AREA)
  • Databases & Information Systems (AREA)
  • Development Economics (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Strategic Management (AREA)
  • Technology Law (AREA)
  • General Business, Economics & Management (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本说明书实施例提供了一种提供跨链消息的方法和装置,所述方法由区块链的节点设备执行,包括:获取第一交易,所述第一交易中调用所述第一合约、并向所述第一合约提供第一跨链消息;执行第一交易,以在第一合约的账户状态中的消息队列中记录所述第一跨链消息;获取第二交易,所述第二交易中调用所述第一合约中的查询函数;执行第二交易,以从所述消息队列中读取所述第一跨链消息;生成与所述第二交易对应的第一数据,所述第一数据中包括所述第一跨链消息;将所述第一数据存储到所述区块链中。

Description

提供跨链消息的方法和装置
技术领域
本说明书实施例涉及区块链技术领域,更具体地,涉及一种提供跨链消息的方法和装置、以及获取跨链消息的方法和装置。
背景技术
区块链技术也被称之为分布式账本技术,是一种去中心化的分布式数据库技术,其特点是去中心化、公开透明、不可篡改、可信任。区块链的每笔数据,都会广播到全网的区块链节点,每个全节点都有全量的、一致的数据。随着区块链技术的火热,出现了许多不同类型的链,应用在金融、健康医疗、供应链、资产管理和溯源等领域。当前,如何能让不同类型的链协同合作实现价值的流通是一个重要的探索方向。在已有的跨链技术中,通常通过读取区块链账本中的区块数据而获取由该区块链中的账户向链外发送的跨链消息。
因此,需要一种更有效的跨链传递消息的方案。
发明内容
本说明书实施例旨在提供一种更有效的传递跨链消息的方案,以解决现有技术中的不足。
为实现上述目的,本说明书一个方面提供一种提供跨链消息的方法,所述方法由区块链的节点设备执行,包括:
获取第一交易,所述第一交易中调用所述第一合约、并向所述第一合约提供第一跨链消息;
执行第一交易,以在第一合约的账户状态中的消息队列中记录所述第一跨链消息;
获取第二交易,所述第二交易中调用所述第一合约中的查询函数;
执行第二交易,以从所述消息队列中读取所述第一跨链消息;
生成与所述第二交易对应的第一数据,所述第一数据中包括所述第一跨链消息;
将所述第一数据存储到所述区块链中。
在一种实施方式中,执行第二交易还包括,在从所述消息队列中读取所述第一跨链消息之后,在所述消息队列中删除所述第一跨链消息。
在一种实施方式中,执行第二交易还包括,验证所述第二交易的发送账户是否为预定账户,在所述第二交易的发送账户为预定账户的情况中,从所述消息队列中读取所述第一跨链消息。
在一种实施方式中,所述第一数据为所述第二交易的收据。
在一种实施方式中,所述区块链为Fabric链,所述第一数据为所述第二交易的读写集。
本说明书另一方面提供一种获取跨链消息的方法,所述方法由链下设备执行,包括:
向区块链发送第二交易,所述第二交易中调用第一合约中的查询函数,所述第一合约的账户状态中包括跨链消息的消息队列,所述查询函数用于读取所述消息队列中的跨链消息;
从所述区块链中获取与所述第二交易对应的第一数据,所述第一数据中包括所述消息队列中的第一跨链消息。
在一种实施方式中,所述方法还包括,在从所述区块链中获取所述第二交易的第一数据之后,从所述区块链获取所述第一数据的证明数据。
在一种实施方式中,所述第二交易中以查询参数为传入参数调用第一合约中的查询函数,所述查询参数用于指示所述第一跨链消息。
本说明书另一方面提供一种提供跨链消息的装置,所述装置部署于区块链的节点设备,包括:
第一获取单元,配置为,获取第一交易,所述第一交易中调用所述第一合约、并向所述第一合约提供第一跨链消息;
第一执行单元,配置为,执行第一交易,以在第一合约的账户状态中的消息队列中记录所述第一跨链消息;
第二获取单元,配置为,获取第二交易,所述第二交易中调用所述第一合约中的查询函数;
第二执行单元,配置为,执行第二交易,以从所述消息队列中读取所述第一跨链消息;
生成单元,配置为,生成与所述第二交易对应的第一数据,所述第一数据中包括所述第一跨链消息;
存储单元,配置为,将所述第一数据存储到所述区块链中。
在一种实施方式中,所述第二执行单元还配置为,在从所述消息队列中读取所述第一跨链消息之后,在所述消息队列中删除所述第一跨链消息。
在一种实施方式中,所述第二执行单元还配置为,验证所述第二交易的发送账户是否为预定账户,在所述第二交易的发送账户为预定账户的情况中,从所述消息队列中读取所述第一跨链消息。
在一种实施方式中,所述第一数据为所述第二交易的收据。
在一种实施方式中,所述区块链为Fabric链,所述第一数据为所述第二交易的读写集。
本说明书另一方面提供一种获取跨链消息的装置,所述装置部署于链下设备,包括:
发送单元,配置为,向区块链发送第二交易,所述第二交易中调用第一合约中的查询函数,所述第一合约的账户状态中包括跨链消息的消息队列,所述查询函数用于读取所述消息队列中的跨链消息;
第一获取单元,配置为,从所述区块链中获取与所述第二交易对应的第一数据,所述第一数据中包括所述消息队列中的第一跨链消息。
在一种实施方式中,所述装置还包括,第二获取单元,配置为,在从所述区块链中获取所述第二交易的第一数据之后,从所述区块链获取所述第一数据的证明数据。
在一种实施方式中,所述第二交易中以查询参数为传入参数调用第一合约中的查询函数,所述查询参数用于指示所述第一跨链消息。
本说明书另一方面提供一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行上述由区块链节点设备执行的任一种方法。
本说明书另一方面提供一种计算设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器在执行所述计算机程序时,实现上述由区块链节点设备执行的任一种方法。
本说明书另一方面提供一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行上述由链下设备执行的任一种方法。
本说明书另一方面提供一种计算设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器在执行所述计算机程序时,实现上述由链下设备执行的任一种方法。
在根据本说明书实施例的提供跨链消息的方案中,在消息发送合约的账户状态中保存跨链消息,并通过调用消息发送合约的查询函数来查询账户状态中的跨链消息,提供了一种新颖的查询区块链账本的方法,通过该方法,还可以通过在查询函数设置验证程序,还可以验证查询账户是否为允许的预设账户,从而提高了安全性。
附图说明
通过结合附图描述本说明书实施例,可以使得本说明书实施例更加清楚:
图1示出根据本说明书实施例的跨链系统的示意图;
图2示出根据本说明书实施例的提供跨链消息的方法流程图;
图3示出交易m的示意图;
图4示出收据m中包括的日志示意图;
图5示出根据本说明书实施例的一种提供跨链消息的装置500;
图6示出根据本说明书实施例的一种获取跨链消息的装置600。
具体实施方式
下面将结合附图描述本说明书实施例。
图1示出根据本说明书实施例的跨链系统的示意图。如图1所示,所述跨链系统中包括区块链11和链下设备12。区块链11中部署有业务合约和消息发送合约,所述业务合约例如为跨链转账合约,并且所述业务合约中包括消息发送合约的调用,所述消息发送合约用于发送跨链消息。当区块链11中的用户希望进行跨链转账时,可通过其设备向区块链11中发送交易1,所述交易1中调用业务合约,并向业务合约传入与转账相关的参数,如接收转账的区块链标识、接收转账的账户、转账金额、接收合约账户等等。当区块链11中的各个节点设备执行交易1时,将发起交易1的账户余额减少所述转账金额,并生成待发送的跨链消息(图1中的消息1),消息1中例如包括该消息1的发送区块链标识、接收区块链标识、发送账户、接收账户、接收合约账户及对接收账户的余额增加金额等内容,然后执行消息发送合约,并将消息1提供给消息发送合约。通过执行交易1中的消息发送合约,将消息1记录到消息发送合约的账户状态中的消息队列中,即将消息1记录到区块链11的账本中,图1中以顺序排列的消息1-消息5示意示出消息发送合约的账户状态中的消息队列。
链下设备12用于在区块链11与其它区块链之间传递消息。链下设备12可通过向区块链11发送交易(例如图1中的交易m,其中m为交易编号)以获取跨链消息。交易m中调用消息发送合约的查询函数,以进行对上述消息队列的查询。假设区块链11为以太坊链,当区块链11中的节点设备执行交易m时,从消息队列中读取消息1,并将消息队列中的消息1删除(如图1中的虚线框所示)。节点设备在执行完成交易m之后,在区块链11中存入收据m,收据m中包括通过查询消息队列获取的消息1。之后,链下设备12可从区块链11中读取收据m及其Spv证明,从而可通过Spv证明对收据m进行验证,获取其中的消息1。链下设备12在获取消息1之后,可以将消息1提供给该消息1中的接收区块链中的接收账户和接收合约,从而使得接收区块链可基于该消息1完成转账过程。
可以理解,上述参考图1的描述只是示意性的,而不是用于限制本说明书实施例。例如,区块链11不限于为以太坊链,因此,当执行交易m时,不限于在区块链11中存入包括消息1的收据m,而可以根据具体的区块链类型通过其它形式进行对消息1的存储。下文将详细描述根据本说明书实施例的跨链提供消息的方法。
图2示出根据本说明书实施例的提供跨链消息的方法流程图。如图2所示,区块链11中例如包括节点1和节点2,区块链的节点1和节点2的节点设备中都存储有区块链11的账本数据,在图2及下文的描述中,为了简化描述,以节点1表示节点1的节点设备,以节点2表示节点2的节点设备,相应的步骤由相应的节点设备执行。该方法可由区块链11的节点1、节点2以及链下设备12共同执行。
首先,在步骤S201,节点1向节点2发送交易1。
例如,区块链11中的节点1对应的用户希望进行跨链转账业务,因此,该用户可通过节点1向区块链11中的任一节点(这里例如为节点2)发送交易1,以将交易1广播到区块链中。该交易1中包括对图1中的业务合约的调用,以用于进行跨链转账业务。该业务合约以消息1为传入参数调用消息发送合约中包括的发送函数,以用于将消息1作为跨链消息发送到链外。可以理解,这里,不限于由节点1向节点2发送交易1,例如也可以由区块链11的用户通过其用户设备向节点2发送交易1。
在步骤S202,节点2执行交易1,在区块链11中存入消息1。
在节点1向区块链11中发送交易1之后,区块链11的每个节点都将获取到交易1,执行交易1,以将与交易1相关的数据存入区块链11的账本中。
具体是,区块链11中的各个节点的节点设备在执行交易1中的消息发送合约时,基于传入参数生成消息1,将消息1记录到消息发送合约的账户状态中的消息队列中,如图1中所示。该消息队列可以为先进先出的消息队列,例如,如图1中所示,消息1为与交易1对应的跨链消息,消息2为与交易2对应的跨链消息,交易2为在执行交易1之后执行的交易,因此,消息2在消息1之后进入消息队列,当链外设备12对该消息队列进行读取时,可先读取消息1,之后再读取消息2。
在步骤S203,链下设备12向节点2发送交易m。
所述链下设备12可以为区块链11的使用用户的设备,其它区块链的节点设备、或者用于在多个区块链之间中转消息的中继设备等等,在此不作限定,所述链下设备12中未存储有区块链11的账本数据。链下设备12通过向区块链11发送特定交易来从区块链11获取跨链消息。具体是,例如,如图1所示,链下设备12可向区块链11的任一节点(例如节点2)发送交易m,该交易m中调用消息发送合约中包括的查询函数。图3示出交易m的示意图。如图3所示,在交易m中,“From”字段中的“0x215e...”为链下设备12用于向区块链11发送交易m的账户,表示该交易m由链下设备12发出,“To”字段中的“SendMessage(0x29a0…)”为消息发送合约的合约名称,“0x29a0…”为消息发送合约的合约账户,表示该交易m调用消息发送合约,“Data”字段中的“Qurery()”为消息发送合约中的查询函数,表示交易m调用消息发送合约中的查询函数。这里对于Qurery()未传入任何参数,如下文中所述,在对Qurery()函数不同的设定下,也可以对Qurery()函数传入用于进行查询的参数。
在步骤S204,节点2执行交易m,读取消息1。
假设区块链11为以太坊链,在链下设备12向区块链11中的任一节点发送交易m之后,该节点将交易m广播到区块链11中,并由区块链11中的记账节点执行交易m、更新世界状态并入块,之后,记账节点将该包括交易m的区块发送到区块链11中,以使得区块链11中的每个节点执行交易m、更新世界状态并更新区块,从而最终区块链11中的每个节点的账本数据都是一致的。也就是说,图2中示出的区块链11的节点2执行的该步骤在区块链11中的每个节点设备中执行。
当区块链11的节点2执行交易m时,执行交易m中的消息发送合约中的查询函数,该查询函数中可预设允许查询账户,以验证交易m的发送账户是否为允许的查询账户。因此,在执行查询函数时,首先对交易m的发送账户进行验证,如果验证失败,则返回查询失败,如果验证成功,则从消息发送合约的账户状态中的消息队列中读取跨链消息。可以理解,在不需要对查询账户进行验证的情况中,在执行查询函数时,可直接从消息发送合约的账户状态中的消息队列中读取跨链消息。
在区块链11为Hyperledger Fabric区块链的情况中,在一种实施方式中,所述查询函数中例如包括GetProposer接口,在执行查询函数时,首先通过调用GetProposer获取提案者的证书,该证书中包括提案者的账户、公钥等信息,从而可基于查询函数中预设的账户或公钥验证该提案者是否被允许进行查询。在一种实施方式中,所述查询函数中例如包括GetCreator接口,在执行查询函数时,首先通过调用GetCreator获取提案者的账户,然后基于查询函数中预设的允许账户验证该提案者的账户是否为允许账户。
所述查询函数中对跨链消息的读取方式可根据需求进行设置,例如,可预设,在每次执行查询函数时,从消息队列中读取最早的消息,参考图1,假设当前消息1为最早记录的消息,消息2-消息5都是在消息1之后记录的消息。因此,在该次执行查询函数时,读取消息队列中的消息1。可以理解,所述查询函数不限于读取最老的1个消息,而可以预设为读取消息队列中最老的预定数目(例如5个等等)个消息,或者可以预设为读取消息队列中最新的预定数目个消息,或者可以预设为读取指定序号的消息,所述指定序号可在调用查询函数时作为传入参数传入给查询函数,或者可以预设为读取指定内容的消息,所述指定内容为所述消息中包括的内容,如接受合约账号、接收区块链标识等等,所述指定内容也可以在调用查询函数时作为传入参数传入给查询函数。
查询函数中还可以预设在进行对跨链消息的读取之后修改消息发送合约的状态(即修改世界状态)。具体是,在一种实施方式中,在例如读取消息队列中的消息1之后,可在消息队列中删除消息1,从而使得在下一次执行查询函数时不会重复读取消息1。在一种实施方式中,在读取消息1之后,可对消息1进行标记,以指示链下设备12已读取消息1,在该实施方式中,链下设备12可重复读取消息1,或者,在不止一个链下设备从区块链11读取跨链消息的情况中,在链下设备12读取消息1之后,其它链下设备还可以读取消息1。
在步骤S205,节点2生成并存入收据m。
节点2在执行完成上述查询函数之后,以读取到的跨链消息(例如消息1)作为执行查询函数的返回数据,从而节点2在执行交易m之后,生成交易m的收据m,并在区块链中存入交易m的收据m,该收据m中包括执行查询函数的返回数据(即消息1)。
可以理解,上文虽然以区块链11为以太坊链为例进行了描述,区块链11不限于为以太坊链,而可以为其它任意类型的区块链。例如,区块链11也可以为Hyperledger Fabric区块链,在该情况中,区块链11中的背书节点的节点设备在预执行交易m时,在读取消息1之后,将消息1写入与交易m对应的读写集中,区块链11中的提交节点在验证交易m的读写集之后,将该读写集存入区块链11中。
在步骤S206,链下设备12从节点2获取收据m。
在一种实施方式中,链下设备12可连接区块链11中的任一节点,并从该节点远程读取收据m。在一种实施方式中,链下设备12在读取收据m之后,还可以从区块链11的节点中读取收据m的Spv证明。
在一种实施方式中,区块链11中的任一节点可在存入收据m之后主动向链下设备12推送所述收据m。
在步骤S207,链下设备12从收据m获取消息1。
在一种实施方式中,在链下设备12为中继设备的情况中,链下设备12在获取收据m及其Spv证明之后,通过解析收据m,可获取消息1。在收据m中例如以日志(Log)的形式记录消息1。该日志为在执行消息发送合约之后记录的日志,以用于记录执行消息发送合约的函数时的返回数据,即消息1。图4示出收据m中包括的日志示意图。如图4所示,该日志例如具有预设的特定标识(如图4中的“Message”所示),并且该日志中的“From”字段记录调用消息发送合约的合约(例如转账合约Transfer)的账户,“To”字段中记录消息发送合约的账户。因此,在收据m中,可基于所述特定标识“Message”或者消息发送合约的账户来确定用于记录消息1的日志,并获取该日志的“Data”字段的内容,该内容即为消息1。
在获取消息1之后,链下设备12可基于消息1的预定数据结构从消息1中确定接收链标识,从而可将该收据m及其Spv证明提供给相应的接收链。
在一种实施方式中,在链下设备12为可信中继设备的情况中,链下设备12在获取收据m及其Spv证明之后,首先可使用Spv证明对收据m进行验证,在验证通过的情况中,通过解析收据m,可获取消息1,从消息1中确定接收链标识,从而将消息1直接提供给相应的接收链。
在一种实施方式中,在链下设备12仅获取收据m的情况中,可将收据m或收据m中的消息1提供给对应的接收链。
图5示出根据本说明书实施例的一种提供跨链消息的装置500,所述装置500部署于区块链的节点设备,包括:
第一获取单元51,配置为,获取第一交易,所述第一交易中调用所述第一合约、并向所述第一合约提供第一跨链消息;
第一执行单元52,配置为,执行第一交易,以在第一合约的账户状态中的消息队列中记录所述第一跨链消息;
第二获取单元53,配置为,获取第二交易,所述第二交易中调用所述第一合约中的查询函数;
第二执行单元54,配置为,执行第二交易,以从所述消息队列中读取所述第一跨链消息;
生成单元55,配置为,生成与所述第二交易对应的第一数据,所述第一数据中包括所述第一跨链消息;
存储单元56,配置为,将所述第一数据存储到所述区块链中。
在一种实施方式中,所述第二执行单元54还配置为,在从所述消息队列中读取所述第一跨链消息之后,在所述消息队列中删除所述第一跨链消息。
在一种实施方式中,所述第二执行单元54还配置为,验证所述第二交易的发送账户是否为预定账户,在所述第二交易的发送账户为预定账户的情况中,从所述消息队列中读取所述第一跨链消息。
在一种实施方式中,所述第一数据为所述第二交易的收据。
在一种实施方式中,所述区块链为Fabric链,所述第一数据为所述第二交易的读写集。
图6示出根据本说明书实施例的一种获取跨链消息的装置600,所述装置600部署于链下设备,包括:
发送单元61,配置为,向区块链发送第二交易,所述第二交易中调用第一合约中的查询函数,所述第一合约的账户状态中包括跨链消息的消息队列,所述查询函数用于读取所述消息队列中的跨链消息;
第一获取单元62,配置为,从所述区块链中获取与所述第二交易对应的第一数据,所述第一数据中包括所述消息队列中的第一跨链消息。
在一种实施方式中,所述装置600还包括,第二获取单元63,配置为,在从所述区块链中获取所述第二交易的第一数据之后,从所述区块链获取所述第一数据的证明数据。
在一种实施方式中,所述第二交易中以查询参数为传入参数调用第一合约中的查询函数,所述查询参数用于指示所述第一跨链消息。
本说明书另一方面提供一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行上述由区块链节点设备执行的任一种方法。
本说明书另一方面提供一种计算设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器在执行所述计算机程序时,实现上述由区块链节点设备执行的任一种方法。
本说明书另一方面提供一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行上述由链下设备执行的任一种方法。
本说明书另一方面提供一种计算设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器在执行所述计算机程序时,实现上述由链下设备执行的任一种方法。
在根据本说明书实施例的提供跨链消息的方案中,在消息发送合约的账户状态中保存跨链消息,并通过调用消息发送合约的查询函数来查询账户状态中的跨链消息,提供了一种新颖的查询区块链账本的方法,通过该方法,还可以通过在查询函数设置验证程序,还可以验证查询账户是否为允许的预设账户,从而提高了安全性。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
本领域普通技术人员应该还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。本领域普通技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。其中,软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
以上所述的具体实施方式,对本说明书实施例的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本说明书实施例的具体实施方式而已,并不用于限定本说明书实施例的保护范围,凡在本说明书实施例的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本说明书实施例的保护范围之内。

Claims (20)

1.一种提供跨链消息的方法,所述方法由区块链的节点设备执行,包括:
获取第一交易,所述第一交易中调用第一合约、并向所述第一合约提供第一跨链消息;
执行第一交易,以在第一合约的账户状态中的消息队列中记录所述第一跨链消息;
获取第二交易,所述第二交易中调用所述第一合约中的查询函数;
执行第二交易,以从所述消息队列中读取所述第一跨链消息;
生成与所述第二交易对应的第一数据,所述第一数据中包括所述第一跨链消息;
将所述第一数据存储到所述区块链中。
2.根据权利要求1所述的方法,执行第二交易还包括,在从所述消息队列中读取所述第一跨链消息之后,在所述消息队列中删除所述第一跨链消息。
3.根据权利要求1所述的方法,其中,执行第二交易还包括,验证所述第二交易的发送账户是否为预定账户,在所述第二交易的发送账户为预定账户的情况中,从所述消息队列中读取所述第一跨链消息。
4.根据权利要求1-3中任一项所述的方法,其中,所述第一数据为所述第二交易的收据。
5.根据权利要求1-3中任一项所述的方法,其中,所述区块链为Fabric链,所述第一数据为所述第二交易的读写集。
6.一种获取跨链消息的方法,所述方法由链下设备执行,包括:
向区块链发送第二交易,所述第二交易中调用第一合约中的查询函数,所述第一合约的账户状态中包括跨链消息的消息队列,所述查询函数用于读取所述消息队列中的跨链消息;
从所述区块链中获取与所述第二交易对应的第一数据,所述第一数据中包括所述消息队列中的第一跨链消息。
7.根据权利要求6所述的方法,还包括,在从所述区块链中获取所述第二交易的第一数据之后,从所述区块链获取所述第一数据的证明数据。
8.根据权利要求6所述的方法,其中,所述第二交易中以查询参数为传入参数调用第一合约中的查询函数,所述查询参数用于指示所述第一跨链消息。
9.一种提供跨链消息的装置,所述装置部署于区块链的节点设备,包括:
第一获取单元,配置为,获取第一交易,所述第一交易中调用所述第一合约、并向所述第一合约提供第一跨链消息;
第一执行单元,配置为,执行第一交易,以在第一合约的账户状态中的消息队列中记录所述第一跨链消息;
第二获取单元,配置为,获取第二交易,所述第二交易中调用所述第一合约中的查询函数;
第二执行单元,配置为,执行第二交易,以从所述消息队列中读取所述第一跨链消息;
生成单元,配置为,生成与所述第二交易对应的第一数据,所述第一数据中包括所述第一跨链消息;
存储单元,配置为,将所述第一数据存储到所述区块链中。
10.根据权利要求9所述的装置,所述第二执行单元还配置为,在从所述消息队列中读取所述第一跨链消息之后,在所述消息队列中删除所述第一跨链消息。
11.根据权利要求9所述的装置,其中,所述第二执行单元还配置为,验证所述第二交易的发送账户是否为预定账户,在所述第二交易的发送账户为预定账户的情况中,从所述消息队列中读取所述第一跨链消息。
12.根据权利要求9-11中任一项所述的装置,其中,所述第一数据为所述第二交易的收据。
13.根据权利要求9-11中任一项所述的装置,其中,所述区块链为Fabric链,所述第一数据为所述第二交易的读写集。
14.一种获取跨链消息的装置,所述装置部署于链下设备,包括:
发送单元,配置为,向区块链发送第二交易,所述第二交易中调用第一合约中的查询函数,所述第一合约的账户状态中包括跨链消息的消息队列,所述查询函数用于读取所述消息队列中的跨链消息;
第一获取单元,配置为,从所述区块链中获取与所述第二交易对应的第一数据,所述第一数据中包括所述消息队列中的第一跨链消息。
15.根据权利要求14所述的装置,还包括,第二获取单元,配置为,在从所述区块链中获取所述第二交易的第一数据之后,从所述区块链获取所述第一数据的证明数据。
16.根据权利要求14所述的装置,其中,所述第二交易中以查询参数为传入参数调用第一合约中的查询函数,所述查询参数用于指示所述第一跨链消息。
17.一种计算机可读存储介质,其上存储有计算机程序或指令,当所述计算机程序或指令在计算机中执行时,令计算机执行权利要求1-5中任一项的所述的方法。
18.一种计算设备,包括存储器和处理器,所述存储器中存储有计算机程序或指令,所述处理器在执行所述计算机程序或指令时,实现权利要求1-5中任一项所述的方法。
19.一种计算机可读存储介质,其上存储有计算机程序或指令,当所述计算机程序或指令在计算机中执行时,令计算机执行权利要求6-8中任一项的所述的方法。
20.一种计算设备,包括存储器和处理器,所述存储器中存储有计算机程序或指令,所述处理器在执行所述计算机程序或指令时,实现权利要求6-8中任一项所述的方法。
CN202110339722.XA 2021-03-30 2021-03-30 提供跨链消息的方法和装置 Active CN112732800B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202110339722.XA CN112732800B (zh) 2021-03-30 2021-03-30 提供跨链消息的方法和装置
PCT/CN2022/081760 WO2022206439A1 (zh) 2021-03-30 2022-03-18 提供跨链消息的方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110339722.XA CN112732800B (zh) 2021-03-30 2021-03-30 提供跨链消息的方法和装置

Publications (2)

Publication Number Publication Date
CN112732800A true CN112732800A (zh) 2021-04-30
CN112732800B CN112732800B (zh) 2021-07-13

Family

ID=75596181

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110339722.XA Active CN112732800B (zh) 2021-03-30 2021-03-30 提供跨链消息的方法和装置

Country Status (2)

Country Link
CN (1) CN112732800B (zh)
WO (1) WO2022206439A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113254538A (zh) * 2021-06-17 2021-08-13 支付宝(杭州)信息技术有限公司 在区块链中执行交易的方法和区块链节点
WO2022206439A1 (zh) * 2021-03-30 2022-10-06 支付宝(杭州)信息技术有限公司 提供跨链消息的方法和装置

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110033244A (zh) * 2019-03-15 2019-07-19 阿里巴巴集团控股有限公司 基于区块链的智能合约执行方法及装置和电子设备
CN111629039A (zh) * 2020-05-20 2020-09-04 中国银联股份有限公司 一种区块链共识方法及客户端、背书节点、排序节点
CN111741026A (zh) * 2020-08-07 2020-10-02 百度在线网络技术(北京)有限公司 一种跨链事务请求处理方法、装置、设备以及存储介质
CN111787072A (zh) * 2018-04-03 2020-10-16 阿里巴巴集团控股有限公司 跨区块链的交互方法及装置、系统、电子设备
CN112287029A (zh) * 2020-11-17 2021-01-29 北京物资学院 一种区块链多链跨链系统及其实现机制
CN112491846A (zh) * 2020-11-18 2021-03-12 深圳前海微众银行股份有限公司 一种跨链的区块链通信方法及装置
CN112527893A (zh) * 2020-11-26 2021-03-19 暨南大学 一种基于sgx的安全高效跨链服务操作方法及系统

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112732800B (zh) * 2021-03-30 2021-07-13 支付宝(杭州)信息技术有限公司 提供跨链消息的方法和装置

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111787072A (zh) * 2018-04-03 2020-10-16 阿里巴巴集团控股有限公司 跨区块链的交互方法及装置、系统、电子设备
CN110033244A (zh) * 2019-03-15 2019-07-19 阿里巴巴集团控股有限公司 基于区块链的智能合约执行方法及装置和电子设备
CN111629039A (zh) * 2020-05-20 2020-09-04 中国银联股份有限公司 一种区块链共识方法及客户端、背书节点、排序节点
CN111741026A (zh) * 2020-08-07 2020-10-02 百度在线网络技术(北京)有限公司 一种跨链事务请求处理方法、装置、设备以及存储介质
CN112287029A (zh) * 2020-11-17 2021-01-29 北京物资学院 一种区块链多链跨链系统及其实现机制
CN112491846A (zh) * 2020-11-18 2021-03-12 深圳前海微众银行股份有限公司 一种跨链的区块链通信方法及装置
CN112527893A (zh) * 2020-11-26 2021-03-19 暨南大学 一种基于sgx的安全高效跨链服务操作方法及系统

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022206439A1 (zh) * 2021-03-30 2022-10-06 支付宝(杭州)信息技术有限公司 提供跨链消息的方法和装置
CN113254538A (zh) * 2021-06-17 2021-08-13 支付宝(杭州)信息技术有限公司 在区块链中执行交易的方法和区块链节点
CN113254538B (zh) * 2021-06-17 2021-11-16 支付宝(杭州)信息技术有限公司 在区块链中执行交易的方法和区块链节点

Also Published As

Publication number Publication date
CN112732800B (zh) 2021-07-13
WO2022206439A1 (zh) 2022-10-06

Similar Documents

Publication Publication Date Title
CN110443704B (zh) 一种跨链发送资源的方法和装置
CN110311790B (zh) 一种跨链发送可认证消息的方法和装置
US8171492B2 (en) Systems and/or methods for end-to-end business process management, business event management, and/or business activity monitoring
CN110430162B (zh) 一种跨链发送可认证消息的方法和装置
CN100483405C (zh) 用于警报传递体系结构的方法和系统
CN106375458B (zh) 服务调用系统、方法及装置
CN112737782B (zh) 提供跨链消息的方法和装置
CN110222116B (zh) 一种交易数据存储的控制方法、装置及存储介质
EP3321819A1 (en) Device, method and program for securely reducing an amount of records in a database
CN110430235B (zh) 跨链发送可认证消息的方法、装置、存储介质和计算设备
CN112732800B (zh) 提供跨链消息的方法和装置
CN105138691B (zh) 分析用户业务量的方法和系统
CN112804360B (zh) 提供跨链隐私数据的方法和装置
CN108710681A (zh) 文件获取方法、装置、设备及存储介质
CN112804359B (zh) 提供跨链消息的方法和装置
CN109242665B (zh) 业务规则多渠道共享方法、装置、设备和存储介质
CN103503388B (zh) 一种分布式队列消息读取方法及设备、系统
CN109587351B (zh) 一种呼叫测试方法、装置、设备及存储介质
CN114092246A (zh) 金融交易链路的问题定位方法及装置
CN109005167A (zh) 一种认证数据的处理方法、装置、服务器与存储介质
CN110519714B (zh) 一种短信审批处理方法、装置、电子设备和存储介质
US11582345B2 (en) Context data management interface for contact center
CN114064678A (zh) 事件数据处理方法、装置及终端设备
CN113935506A (zh) 一种办税线上预约方法及装置
CN113676553A (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
TR01 Transfer of patent right

Effective date of registration: 20240923

Address after: Room 803, floor 8, No. 618 Wai Road, Huangpu District, Shanghai 200010

Patentee after: Ant blockchain Technology (Shanghai) Co.,Ltd.

Country or region after: China

Address before: 310000 801-11 section B, 8th floor, 556 Xixi Road, Xihu District, Hangzhou City, Zhejiang Province

Patentee before: Alipay (Hangzhou) Information Technology Co.,Ltd.

Country or region before: China

Patentee before: Ant blockchain Technology (Shanghai) Co.,Ltd.