CN114938706A - 一种在区块链系统与非区块链系统之间进行数据交换的方法和设备 - Google Patents
一种在区块链系统与非区块链系统之间进行数据交换的方法和设备 Download PDFInfo
- Publication number
- CN114938706A CN114938706A CN202280000413.2A CN202280000413A CN114938706A CN 114938706 A CN114938706 A CN 114938706A CN 202280000413 A CN202280000413 A CN 202280000413A CN 114938706 A CN114938706 A CN 114938706A
- Authority
- CN
- China
- Prior art keywords
- endorsement
- node
- nodes
- blockchain system
- transaction
- 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
- 238000000034 method Methods 0.000 title claims abstract description 43
- 238000012545 processing Methods 0.000 claims abstract description 8
- 230000005540 biological transmission Effects 0.000 claims description 17
- 238000012546 transfer Methods 0.000 claims description 15
- 230000004044 response Effects 0.000 claims description 14
- 238000012163 sequencing technique Methods 0.000 claims description 8
- 230000007246 mechanism Effects 0.000 description 11
- 238000004891 communication Methods 0.000 description 9
- 238000005516 engineering process Methods 0.000 description 6
- 230000008569 process Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 238000010420 art technique Methods 0.000 description 2
- 239000002699 waste material Substances 0.000 description 2
- 239000008186 active pharmaceutical agent Substances 0.000 description 1
- 238000007792 addition Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000011144 upstream manufacturing Methods 0.000 description 1
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
- H04L67/104—Peer-to-peer [P2P] networks
-
- 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/02—Banking, e.g. interest calculation or account maintenance
-
- 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
- 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]
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- Marketing (AREA)
- Signal Processing (AREA)
- Development Economics (AREA)
- Economics (AREA)
- Computer Networks & Wireless Communication (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)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
一种于区块链系统及非区块链系统之间交换数据的方法及实现所述方法的设备和区块链系统。所述方法包括:周期性地将多个背书节点的多个状态信息添加至区块链账本的智能合约中;经由对等节点,从应用程序接收交易;经由对等节点,将所接收到的交易发送至所有背书节点;经由多个背书节点,通过智能合约处理所述交易,以获得多个背书;经由多个背书节点,根据状态信息,推选出其中一个背书节点作为目标背书节点;经由多个背书节点,将多个背书和多个背书节点所做出的多个推选结果发送至对等节点;以及经由目标背书节点,在已背书交易添加到区块链账本后,通过对应非区块链系统的应用程序编程接口将已背书交易传输至非区块链系统。
Description
技术领域
本发明涉及数据交换技术,且更具体地说,涉及用于在区块链系统和非区块链系统之间执行数据交换的技术。
背景技术
区块链是由一组对等设备(peer devices)维护的分布式账本系统(distributedledger system)。应用程序编程接口(Application Programming Interface,API)是一组具有特定调用协议的机器指令,允许计算器和/或机器指令的单独模块之间的连接。开放API通常是指一组具有标准化调用协议的机器指令,其允许主机系统(host system)以前不知道的第三方透过开放API来访问主机系统的服务和资源。主机系统可以是非区块链系统。许多金融机构的传统信息系统是处理法定货币交易(fiat currency transactions)及可通过开放的金融API访问的非区块链系统的一个例子。
区块链智能合约是由区块链系统执行的一组机器指令,可用于向外部系统发送交易(transaction)请求。但是,由于区块链系统的设计机制,智能合约需由所有的多个对等设备来执行。因此,可能会向外部系统发送多个交易请求而非一个交易请求,从而导致错误的传输问题。
为了防止这个问题,一种现有的方法是在链接区块链系统和非区块链系统的传统框架(conventional framework)中使用中间人机制(middleman mechanism)。中间人监控区块链系统中新的交易请求,将每个交易请求整合为一个代表交易请求,然后将代表交易请求发送给非区块链系统。但是,若发生中间人失效或与中间人之间的联机被断开的事件,则会导致所有的交易失败。
其他现有技术提供了替代区块链系统和非区块链系统之间的中间人机制的方法。
例如,美国专利申请公开号2020/0327498A1公开了翻译器、流程实例和触发器的组合,以协调区块链上和区块链外的商业流程。接口(触发器)具有查询区块链上的进程执行状态等多项功能。但是,接口不知道触发条件何时会被满足;接口必须不断地检查流程实例的状况,从而导致运算及网络资源的大量浪费。此外,必须要维持高质量数据通信的条件也是另一个问题。
第二个例子,如美国专利申请公开号10,915,521B2所公开的一种区块链网关(gateway)设备作为节点,其可拦截区块链查询,并协调区块链网络和传统数据库的一致性。但是,由于专用的区块链网关缺乏冗余性,进而缺乏系统弹性。当该节点出现故障时,会导致整个机制失败。
第三个例子,如美国专利申请公开号2018/0144340A1所公开的,当区块链处理交易时,客制化的工作量证明(proof-of-work)代码选择特定第三方并将所述工作量证明的结果传输给此第三方。但是,这需要所述第三方能够理解区块链并能够验证工作量证明的结果。另外的问题点是,工作量证明机制也需要消耗大量资源,并且第三方也需要奖励来支付工作量证明获胜的节点。
第四个例子,如美国专利申请公开号2019/0385223A1所公开的一种方法,其可促进法定货币和数字货币交易、将区块链技术与核心银行业务相结合、以及根据全球标准来提供AML和KYC合规能力。所述全球标准其跨越银行相关及区块链启用的交易和支付。然而,该现有技术仍缺乏系统冗余保护。
第五个例子,如美国专利申请公开号20210083845A1所公开的一种区块链系统,其具有将区块附加到通道链的对等节点,并且对于每个有效交易,写入集被提交到当前状态的数据库。接着,客户端应用程序会被通知,交易(调用)被不可变地附加到链中,以及交易是否被验证为有效或无效也附加到链中。但是,如果此通知机制出现故障,则没有其他组件可以承担将交易传输到非区块链系统的责任。此外,如果结合了多种通知机制,则会导致相同的问题:单个交易被多次传输/通知到非区块链系统,进而导致了错误的传输问题及资源的浪费。
除了上面提到的缺点之外,可在区块链系统和非区块链系统之间交换数据的许多现有技术,其具备的另一个常见问题为,这些现有技术都需要修改区块链系统本身的机制。
发明内容
本发明的目标是提供一种区块链系统及非区块链系统之间交换数据的方法、设备以及区块链系统,以利用多个对等节点、多个背书节点来提供系统冗余性,并更藉由推选出代表的目标背书节点来负责传输交易至非区块链系统来避免大量传输所导致的资源浪费及问题,从而解决当前技术水平下的前述缺点。
根据本发明的第一方面,提供了一种于区块链系统及非区块链系统之间交换数据的方法。所述区块链系统包括一或多个对等节点、多个背书节点和多个排序节点,其中这些节点中的每个节点被配置为维护所述区块链系统的同一个区块链账本的副本。所述方法包括:经由所述多个背书节点,周期性地将所述多个背书节点的多个状态信息添加至所述区块链账本的智能合约中,其中每个状态信息包括对应的背书节点的独特标识符(UID);经由所述多个对等节点中的第一对等节点,从应用程序接收交易;经由所述第一对等节点,将所接收到的所述交易发送至所有背书节点;经由所述多个背书节点,通过所述智能合约处理所述交易,以获得多个背书;经由所述多个背书节点,根据所述多个背书节点的所述状态信息,推选出其中一个背书节点作为目标背书节点;经由所述背书节点,将所述多个背书和所述多个背书节点所做出的多个推选结果发送至所述第一对等节点,其中每个推选结果包括由对应的背书节点所判定的目标背书节点的UID;以及经由所述目标背书节点,在已背书交易添加到所述区块链账本后,通过对应所述非区块链系统的应用程序编程接口将所述已背书交易传输至所述非区块链系统。
根据本发明的第二方面,提供了一种区块链系统内的设备,用于在区块链系统和非区块链系统之间执行前述数据交换,并且所述设备包括处理器,其用以执行机器指令来实现上述所说明的方法。
根据本发明的第三方面,提供了一种用于在区块链系统和非区块链系统之间进行上述数据交换的区块链系统,所述区块链系统包括一个或多个处理器,其用以执行机器指令来实现上述所说明的方法。
附图说明
图1示出根据本发明的一个实施例的执行跨区块链系统及非区块链系统的交易传输的区块链系统的框图。
图2示出了控制所述区块链系统中的多个节点的设备的框图。
图3示出了通过所述区块链系统来传输所接收的交易给所述非区块链系统的流程图。
图4A示出了图3的进一步的步骤的流程图。
图4B示出了图4A中的步骤S410的流程图。
图5示出了图3的更进一步的步骤的流程图。
图6A至6E示出了跨区块链系统及非区块链系统传输的交易的运作流程的示意图。
图7示出了通过所述区块链系统来传输从所述非区块系统所接收的交易至应用程序的流程图。
具体实施方式
在以下描述中,用于在区块链系统和非区块链系统之间进行数据交换的方法、设备、区块链系统等作为优选示例进行阐述。对本领域技术人员显而易见的是,在不背离本发明的范围和精神的情况下,可以进行修改,包括添加和/或替换。为了不混淆本发明,具体细节可以省略;然而,编写本公开内容是为了使本领域技术人员能够在没有过度实验的情况下实践本文的教导。本文所定义的一般原理可应用于其它实施例。因此,本发明并不意图限于所展示和描述的特定实施例,而是应被赋予与本文中公开的原理和新颖特征一致的最广范围。
请参照图1。根据本发明的各种实施例,提供了一种区块链系统100,所述区块链系统包括一个或多个对等节点(peer nodes)110、多个背书节点(endorser nodes)120和多个排序节点(orderer nodes)130。毗邻的非区块链系统200是一个不使用区块链技术的计算机系统。本发明中所包含的应用程序300是由一种设备执行的,该设备是一种电子设备。
对等节点110(1)~110(N),背书节点120(1)~120(M),排序节点130(1)~130(P)中的每一个节点是由电子设备400的处理器410执行的机器指令模块,其中N、M和P是整数。节点(例如,对等节点110、背书节点120或排序节点130)的每个处理器410用以维护区块链系统100的区块链帐本BL的副本。节点之间通过所建立的有线和/或无线数据网络连接进行通信。智能合约SC是与区块链账本BL关联的机器指令、元数据和用户数据的片段,由对等节点110和背书节点120的处理器管理和执行。
根据本发明的各种实施例,图2提供了一种电子设备400,其包括处理器410、非易失性存储电路420和数据通信电路430。
非易失性存储电路420被配置用来存储机器指令421,机器指令421可包括节点的机器指令模块。非易失性存储电路420也可存储数据库422,它可能用于存储数据,其中可包括区块链帐本BL的元数据和用户数据。所述数据通信电路130被配置为在节点之间建立有线和/或无线或数据连接以传输数据。处理器410执行机器指令421以按照本实施例,实现所提供的方法。
请参照图3,在步骤S310中,背书节点120的每一个处理器周期性地将其所属的背书节点的状态信息发送到与区块链账本BL相关联的智能合约SC(如图6A的左半部分所示)。具体而言,所述每个背书节点120的状态信息至少包括:所述背书节点120的独特标识符(UID);网络状态;网络性能评分或系统性能评分;以及最后一次更新时间。
一个背书节点120的网络性能评分可以根据背书节点120与非区块链系统200之间的网络连接所对应的往返时间(例如,从发送请求到接收相应响应的总时间)来确定。例如,较低的往返时间会导致较高的网络性能评分。反之,如果一个背书节点120与非区块链节点200之间的网络连接被切断,相应的往返时间将会大大提高(如,接近无穷大),相应的网络性能评分将会大大降低。所述最后一次更新时间为智能合约SC更新状态信息的时间。
每个背书节点120都拥有一个UID,所述UID可以被背书节点120的处理器存取。此外,背书节点120的处理器执行机器指令模块,读取背书节点120的UID,并经由将所述UID发送给智能合约SC,来注册所述UID到区块链账本BL。
当背书节点120执行智能合约SC来选择一个具有特定UID(如,目标UID)的背书节点120,在每个背书节点120中的智能合约SC检索自己的背书节点120的UID以对所述目标UID来进行匹配。如果特定背书节点120所检索到的UID与目标UID匹配,则所述特定背书节点会成为当选的背书节点(或目标endorser节点)。如此一来,目标背书节点可以进行后续的操作或交易。例如,背书节点120(2)被选为目标背书节点后,将已背书交易TS发送给非区块链系统200(例如,调用对应于非区块链系统200的API)。
在步骤S320中,对等节点110中的第一对等节点110(1)从应用程序300接收到一个交易(Transaction)TS(如图6A的左边部分所示)(在本实施例中,从应用程序300接收到交易的对等节点被称为第一对等节点)。应用程序300可以由区块链系统100内部或外部的计算设备执行。这种交易,例如是且不限于:从虚拟货币账户向法定货币银行账户进行转账;资产所有权转移的登记记录;和一个采购订单发送到销售系统的商家终端。
接着,在步骤S330中,第一对等节点110(1)将收到的交易TS发送给所有背书节点120(如图6A右侧部分所示)。所述所有背书节点120是第一对等节点110(1)的智能合约SC内的配置数据所指定的。
在步骤S340中,背书节点120在收到交易TS后,通过智能合约SC处理交易TS并获得多个背书(如图6B左侧所示)。所述交易TS成为已背书交易(endorsed transaction)TS。然后,在步骤S350中,背书节点120根据每个背书节点的状态信息,选择一个背书节点作为目标背书节点(如图6B左侧所示)。具体来说,每个背书节点120根据每个背书节点最近一次更新时间、网络状态和网络性能评分来从所有的背书节点120中推选出目标背书节点。
当选的目标背书节点必须满足以下所有条件:目标背书节点最近一次更新时间大于动态时间阈值;目标背书节点的网络状态为“上行”状态;目标背书节点的网络性能评分高于其他背书节点的网络性能评分。动态时间阈值经由计算当前时间(current time)减去超时值(timeout value)来获得。
在推选目标背书节点的一个实施例中,每个背书节点120首先根据“上行”网络状态和最后更新时间过滤出一个或多个候选目标背书节点。然后,从所述一个或多个候选目标背书节点中,每个背书节点120选择网络性能最高的背书节点作为目标背书节点。在另一个实施例中,每个背书节点120可以选择系统性能评分最高的特定背书节点作为目标背书节点。在另一个实施例中,每个背书节点120选择具有最高应用程序性能评分的特定背书节点作为候选的目标背书节点。应用程序性能评分是根据与应用程序300相关的处理操作的性能来判定的。
接着,如图6B所示,在步骤S360中,每个背书节点120将自己的背书和推选结果发送给第一对等节点110(1)。每个背书节点将其推选结果(包括所判定的目标背书节点的目标UID)发送给第一对等节点110(1)。例如,当一个背书节点120(2)被所有的背书节点120推选成为目标背书节点时,该背书节点120(2)的UID会被当作目标UID发送给第一对等节点110(1)。
图4A描述了将已背书交易加入区块链帐本BL的机制。在步骤S410中,在收到背书和多个推选结果后,第一对等节点110(1)通过验证背书和推选结果,将已背书交易TS发送给排序节点130(如图6C左侧部分所示)。
参考图4B,在步骤S411中,第一对等节点110(1)根据所收到的背书和推选结果判断预定要求是否被满足。
预定要求的满足条件包括:所获得的背书的总数不低于一个最小值(此最小值可客制化/预先设定);所有被判定(被推选)的目标背书节点都是相同的(例如,所有接收到的目标UID都相同);以及所获得的其中一个背书是来自于目标背书节点。
如果预定要求被满足,在步骤S412中,第一对等节点110(1)将已背书交易TS发送给排序节点130。
相反地,如果预定要求没有满足,在步骤S413中,第一对等节点110(1)指示应用程序300重新发送交易TS。例如,第一对等节点110(1)于响应所述应用程序300的查询的响应中,来指示所述应用程序300重新发送所述交易TS。
如图4A所示,在收到已背书交易TS后,在步骤S420中,在所述排序节点130执行/完成对应所述已背书交易的共识(Consensus)操作后(如,图6C的右半部所示),所述排序节点130将所述已背书交易TS添加至所述区块链账本BL。
回到图3,在确认所述已背书交易TS已被添加到区块链账本BL后,第一对等节点(1)发送一个响应至应用程序300,以表明所述已背书交易TS已经被添加到区块链账本并且目标背书节点120(2)已被推选出。然后,所述应用程序300轮询(或查询)第一对等节点110(1),以检查交易TS是否已成功地被传输至非区块链系统200。在步骤S370中,目标背书节点120(2)通过相应的API将已背书交易TS传输至非区块链系统200(如图6D所示)。
下面的描述,请参照图5和图6E。在步骤S510中,在已背书交易TS传输至非区块链系统200后,目标背书节点120(2)在区块链账本BL上添加一个对应已背书交易TS的传输完成记录。当应用程序300查询第一对等节点110(1)时,随着更新第一对等节点110(1)的区块链账簿BL的副本,应用程序300可经由第一对等节点110(1)的响应,被通知所述交易TS已成功地被传输。
当非区块链系统200从目标背书节点120(2)收到已背书交易TS时,非区块链系统200向目标背书节点120(2)发送第一响应RS1。第一响应RS1指示非区块链系统200成功地收到已背书交易TS,当目标背书节点120(2)收到第一响应RS1时,目标背书节点120(2)通过智能合约SC将对应已背书交易TS的传输完成记录添加至区块链账本BL中。
当已背书交易TS无法被传输至非区块链系统(例如,之间的网络连接断开)时,目标背书节点120(2)在区块链账本BL或智能合约SC上添加对应所述已背书交易TS的传输错误记录。
接着,在步骤S520中,第一对等节点110(1)判断已背书交易TS是否成功地被传输到非区块链系统200。举例来说,第一对等节点110(1)可通过从区块链账本BL或智能合约SC来检查关联于所述已背书交易的传输的记录(例如,传输完成记录或传输错误记录),以判断所述已背书交易TS是否已成功地被传输至非区块链系统200。
若判定已背书交易TS已成功地被传输至非区块链系统200,在步骤S530中,第一对等节点110(1)响应(例如,发送第二响应RS2)应用程序300的轮询(查询),其中所述响应RS2表示跨区块链系统100和非区块链系统200传输的交易TS已经完成。
若判定已背书交易没有成功地被传输至非区块链系统200,在步骤S540中,第一对等节点110(1)响应应用程序300的所述查询,并指示应用程序300重新发送交易TS。
判断已背书交易是否已成功地被传输至非区块链系统200的步骤包括以下步骤:如果传输完成记录已存储在区块链账本BL(或智能合约SC)中,第一对等节点110(1)判定所述已背书交易TS已成功地被传输至非区块链系统200;如果传输完成记录没有被存储在区块链账本BL(或智能合约SC)中,则第一对等节点110(1)判定所述已背书交易TS没有成功地被传输至非区块链系统200。此外,如果转账错误记录已被存储在区块链账本BL(或智能合约SC)中,第一对等节点110(1)判定所述已背书交易TS没有成功地被传输至非区块链系统200。
所述区块链系统100具有对任何当选后死亡(失效)的目标背书节点的事件的系统恢复能力。具体来说,由于目标背书节点在当选后死亡,它不能将已背书交易传输至非区块链系统200。传输完成记录将不会被添加到区块链账本BL(或智能合约SC)中。也就是说,在S520步骤中,第一对等节点110(1)将判定所述已背书交易TS没有成功地被传输至非区块链系统200,因为第一对等节点110(1)在区块链账本BL(或智能合约SC)中找不到相应的传输完成记录。然后,应用程序300从第一对等节点110(1)对应用程序300的查询的响应中被通知(所述已背书交易TS没有成功地被传输至非区块链系统200),并被指示重新发送交易TS(并接续至步骤S320)。
此外,一种可能的情况为,若目标背书节点120(2)在当选后死亡,它就不能向第一对等节点110(1)发送背书。此时,第一对等节点110(1)将确认预定要求没有被满足(如,第一对等节点110(1)没有从当选的目标背书节点获得一个背书)。然后,应用程序300从第一对等节点110(1)对其查询的响应中被通知,并被指示重新发送交易TS并接续至步骤S320。
更进一步地,接着,在S350步骤中,于判断新的目标背书节点时,由于旧目标背书节点(当选后死去的目标背书节点)的最后一次更新时间会低于动态时间阈值,所以旧的目标背书节点不会再次当选,因为已死的背书节点将不再定期更新其状态信息到区块链账本BL(会导致最后一次更新时间会低于动态时间阈值)。
在另一个场景中,对于任何当选后无法连接到非区块链系统的目标背书节点的事件,所提供的区块链系统100具有更大的系统弹性。如果目标背书节点在当选后不能连接到非区块链系统200以传输所述已背书交易TS,背书目标节点120(2)添加对应所述已背书交易TS的传输错误记录至区块链账本BL或智能合约SC。即,于步骤S520,第一对等节点110(1)将判定已背书交易TS没有成功地被传输至非区块链系统200,因为第一对等节点110(1)在区块链账本BL(或智能合约SC)中发现了相应的传输错误记录。然后,接续至步骤S540,应用程序300从第一对等节点110(1)对其查询的响应中得知这种情况,并被指示重新发送所述交易(并接续至步骤S320)。另外,在S350步骤中判定新的目标背书节点时,由于旧的目标背书器节点的网络性能评分很低(例如,由于网络连接断开,往返时间非常高,导致了很低的网络性能评分),因此旧的目标背书器节点不会再次当选。
虽然上述方法实施例用于通过区块链系统100将从应用程序300所接收到的交易传输至非区块链系统200,但本发明并不限于此。例如,在进一步实施例中,提供了另一种方法,用于通过区块链系统100将从非区块链系统200所接收的交易传输到应用程序300。
参照图7、图1,在步骤S710中,背书节点120(的处理器)定期添加多个状态信息至区块链账本BL的智能合约SC。接着,在步骤S720中,对等节点110中的第一对等节点110(1)从非区块链系统200接收交易TS。接着,在步骤S730中,第一对等节点110(1)将所收到的交易TS发送给所有背书节点120。
在接收到所述交易后,在步骤S740中,背书节点120通过智能合约SC处理所接收的交易TS以获得多个背书。在步骤S750中,背书节点120根据所述多个背书节点的多个状态信息来推选所述多个背书节点中一个背书节点成为目标背书节点。
在步骤S760中,背书节点120将所述多个背书和多个推选结果发送给第一对等节点110(1)。在确认已背书交易TS已被添加至区块链账本BL后,在步骤S770中,目标背书节点120(2)将所述已背书交易TS传输至应用程序300。应用程序300提供了一种接收机制(如,API)以让目标背书节点120(2)调用/执行所述传输(如图1中的虚线所示)。
根据上述实施例,由于区块链系统100有多个可以选择的背书节点来作为目标背书节点以与非区块链系统进行通信,因此本发明更提供了操作冗余性(区块链系统100具备了系统冗余保护)。
此外,由于本发明不包含用以持续查询区块链系统以获取新交易的网关(gateway),本发明具有较低的操作成本。
相似地,本发明提供了一种确定性操作(如步骤S350)来推选一个节点(如,目标背书节点)与区块链中记录的特定非区块链系统通信。
本发明不需要修改非区块链系统200,因为所提供的方法通过对应非区块链系统的API进行交易,并且也不需要非区块链系统200去理解或参与区块链协议交换(blockchain protocol exchanges)。
根据本文中所公开的实施例的设备和方法的功能单元可使用计算装置、计算机处理器或电子电路系统实施,包含但不限于专用集成电路(ASIC)、现场可编程门阵列(FPGA),和根据本公开的教示配置或编程的其它可编程逻辑装置。在计算装置、计算机处理器或可编程逻辑装置中运行的机器指令或固件/软件代码可由软件或电子技术领域的从业人员基于本公开的教示容易地制作。
根据实施例的方法的全部或部分可在包含服务器计算机、个人计算机、膝上型计算机、移动计算装置(例如智能电话)和平板计算机在内的一个或多个计算装置中执行。
实施例包含具有存储在其中的机器指令或固件/软件代码的非暂态存储器电路和/或计算机存储介质,所述机器指令或固件/软件代码可用于对处理器进行编程以执行本发明的过程中的任一个。非暂态存储器电路和/或存储介质包含(但不限于)软盘、光盘、蓝光光盘、DVD、CD-ROM和磁光盘、ROM、RAM、快闪存储器装置,或适于存储指令、代码和/或数据的任何类型的介质或装置。
根据各种实施例的功能单元中的每一个还可实施于分布式计算环境和/或云计算环境中,其中由通过例如内联网、广域网(WAN)、局域网(LAN)、因特网和其它形式的数据传输介质等通信网络互连的一个或多个处理装置以分布方式执行机器指令的全部或部分。各种实施例中建立的通信网络支持各种通信协议,例如(但不限于)Wi-Fi、全球移动通信系统(GSM)系统、个人手持电话系统(PHS)、码分多址(CDMA)系统、全球微波接入互操作性(WiMAX)系统、第三代无线通信技术(3G)、第四代无线通信技术(4G)、第五代无线通信技术(5G)、长期演进技术(LTE)、蓝牙和超宽带(UWB)。
出于说明和描述的目的,已经提供本发明的前述描述。其不希望是详尽的或将本发明限于所公开的精确形式。许多修改及变化对于所属领域的从业人员来说将是显而易见的。
挑选和描述实施例是为了最佳地阐释本发明的原理和其实际应用,借此使所属领域的其他技术人员能够理解本发明的各种实施例和适合于审慎考虑的特定用途的各种修改。
Claims (19)
1.一种于区块链系统及非区块链系统之间交换数据的方法,其中所述区块链系统包括一或多个对等节点、多个背书节点和多个排序节点,其中每个节点被配置为维护所述区块链系统的同一个区块链账本的副本,所述方法其特征在于,包括:
经由所述多个背书节点,周期性地将所述多个背书节点的多个状态信息添加至所述区块链账本的智能合约中,其中每个状态信息包括对应的背书节点的独特标识符(UID);
经由所述多个对等节点中的第一对等节点,从应用程序接收交易;
经由所述第一对等节点,将所接收到的所述交易发送至所有背书节点;
经由所述多个背书节点,通过所述智能合约处理所述交易,以获得多个背书;
经由所述多个背书节点,根据所述多个背书节点的所述多个状态信息,推选出其中一个背书节点作为目标背书节点;
经由所述背书节点,将所述多个背书和所述多个背书节点所做出的多个推选结果发送至所述第一对等节点,其中每个推选结果包括由对应的背书节点所判定的目标背书节点的UID;以及
经由所述目标背书节点,在已背书交易添加到所述区块链账本后,通过对应所述非区块链系统的应用程序编程接口将所述已背书交易传输至所述非区块链系统。
2.根据权利要求1所述的方法,其特征在于,更包括:
经由所述第一对等节点,通过验证所述多个背书和所述多个推选结果,将已背书交易发送至所述多个排序节点;以及
经由所述多个排序节点,在所述多个排序节点执行对应所述已背书交易的共识操作后,所述多个排序节点将所述已背书交易加入至所述区块链账本。
3.根据权利要求2所述的方法,其特征在于,其中将已背书交易发送至所述多个排序节点更包括验证所述多个背书和所述多个推选结果,包括:
根据所收到的所述多个背书和所述多个推选结果来判断预定要求是否被满足;
若所述预定要求被满足,将所述已背书交易发送至所述多个排序节点;以及
若预定要求不被满足,则指示所述应用程序重新发送所述交易。
4.根据权利要求3所述的方法,其特征在于,所述预定要求包括:
所述多个背书的总数不小于最小值;
所有被判定的目标背书节点都相同;以及
所述多个背书中的其中一个背书是从所述目标背书节点所获得的。
5.根据权利要求1所述的方法,其特征在于,更包括:
经由所述目标背书节点,在将所述已背书交易传输至所述非区块链系统后,将对应所述已背书交易的传输完成记录添加到所述区块链账本中;
经由所述第一对等节点,判断所述已背书交易是否成功地被传输至所述非区块链系统;
若所述已背书交易成功地被传输至所述非区块链系统,经由所述第一对等节点,响应一个响应给所述应用程序的查询,其中所述响应指示跨所述区块链系统和所述非区块链系统传输的交易已完成;以及
若所述已背书交易没有成功地被传输至所述非区块链系统,经由所述第一对等节点,指示所述应用程序重新发送所述交易。
6.根据权利要求5所述的方法,其特征在于,所述判断所述已背书交易是否成功地被传输至所述非区块链系统的步骤包括:
若所述传输完成记录已存储在所述区块链账本中,则所述第一对等节点判定所述已背书交易成功地被传输至所述非区块链系统;以及
若所述传输完成记录没有被存储在所述区块链账本中,则所述第一对等节点判定所述已背书交易没有成功地被传输至所述非区块链系统。
7.根据权利要求6所述的方法,其特征在于,更包括:
当所述已背书交易无法被传输至所述非区块链系统时,经由所述目标背书节点,将对应所述已背书交易的传输错误记录添加至所述区块链账本中,
其中,所述判断所述已背书交易是否成功地被传输至所述非区块链系统的步骤更包括:
若所述传输错误记录已被存储至所述区块链账本中,则所述第一对等节点判定所述已背书交易没有成功地被传输至所述非区块链系统。
8.根据权利要求1所述的方法,其特征在于,每个背书节点的所述状态信息包括:
所述独特标识符;
网络状态,包括上行状态和下行状态;
网络性能评分;以及
最后更新时间。
9.根据权利要求8所述的方法,其特征在于,其中根据所述多个背书节点的所述状态信息,推选其中一个背书节点为所述目标背书节点的步骤包括:
根据每个背书节点的所述最后更新时间、每个背书节点的所述网络状态和每个背书节点的所述网络性能评分,来推选所述目标背书节点;
其中所述目标背书节点满足全部的下列条件:
所述目标背书节点的所述最后更新时间大于动态时间;
所述目标背书节点的所述网络状态为上行状态;以及
所述目标背书节点的所述网络性能评分大于其他多个背书节点的所述网络性能评分。
10.一种于区块链系统及非区块链系统之间交换数据的设备,其中所述区块链系统包括一或多个对等节点、多个背书节点和多个排序节点,其中每个节点被配置为维护所述区块链系统的同一个区块链账本的副本,所述设备其特征在于,包括:
对应于每个节点的处理器,所述处理器用以维护所述区块链系统的同一个区块链账本的副本,并用以实现一种方法,所述方法包括:
经由所述多个背书节点,周期性地将所述多个背书节点的多个状态信息添加至所述区块链账本的智能合约中,其中每个状态信息包括对应的背书节点的独特标识符(UID);
经由所述多个对等节点中的第一对等节点,从应用程序接收交易;
经由所述第一对等节点,将所接收到的所述交易发送至所有背书节点;
经由所述多个背书节点,通过所述智能合约处理所述交易,以获得多个背书;
经由所述多个背书节点,根据所述多个背书节点的所述多个状态信息,推选出其中一个背书节点作为目标背书节点;
经由所述背书节点,将所述多个背书和所述多个背书节点所做出的多个推选结果发送至所述第一对等节点,其中每个推选结果包括由对应的背书节点所判定的目标背书节点的UID;以及
经由所述目标背书节点,在已背书交易添加到所述区块链账本后,通过对应所述非区块链系统的应用程序编程接口(API)将所述已背书交易传输至所述非区块链系统。
11.一种与非区块链系统交换数据的区块链系统,其特征在于,包括:
一或多个对等节点;
多个背书节点;以及
多个排序节点,其中所述一或多个对等节点、所述多个背书节点以及所述多个排序节点被配置为维护所述区块链系统的同一个区块链账本的副本,
其中对应于所述节点的处理器用以执行机器指令以实现一种计算器实现的方法,以在所述区块链系统及所述非区块链系统之间交换数据,所述方法包括:
经由所述多个背书节点,周期性地将所述多个背书节点的多个状态信息添加至所述区块链账本的智能合约中,其中每个状态信息包括对应的背书节点的独特标识符(UID);
经由所述多个对等节点中的第一对等节点,从应用程序接收交易;
经由所述第一对等节点,将所接收到的所述交易发送至所有背书节点;
经由所述多个背书节点,通过所述智能合约处理所述交易,以获得多个背书;
经由所述多个背书节点,根据所述多个背书节点的所述多个状态信息,推选出其中一个背书节点作为目标背书节点;
经由所述背书节点,将所述多个背书和所述多个背书节点所做出的多个推选结果发送至所述第一对等节点,其中每个推选结果包括由对应的背书节点所判定的目标背书节点的UID;以及
经由所述目标背书节点,在已背书交易添加到所述区块链账本后,通过对应所述非区块链系统的应用程序编程接口将所述已背书交易传输至所述非区块链系统。
12.根据权利要求11所述的区块链系统,其特征在于,所述方法更包括:
经由所述第一对等节点,通过验证所述多个背书和所述多个推选结果,将已背书交易发送至所述多个排序节点;以及
经由所述多个排序节点,在所述多个排序节点执行对应所述已背书交易的共识操作后,所述多个排序节点将所述已背书交易加入至所述区块链账本。
13.根据权利要求12所述的区块链系统,其特征在于,其中将已背书交易发送至所述多个排序节点包括验证所述多个背书和所述多个推选结果,包括:
根据所收到的所述多个背书和所述多个推选结果来判断预定要求是否被满足;
若所述预定要求被满足,将所述已背书交易发送至所述多个排序节点;以及
若预定要求不被满足,则指示所述应用程序重新发送所述交易。
14.根据权利要求13所述的区块链系统,其特征在于,所述预定要求包括:
所述多个背书的总数不小于最小值;
所有被判定的目标背书节点都相同;以及
所述多个背书中的其中一个背书是从所述目标背书节点所获得的。
15.根据权利要求11所述的区块链系统,其特征在于,所述方法更包括:
经由所述目标背书节点,在将所述已背书交易传输至所述非区块链系统后,将对应所述已背书交易的传输完成记录添加到所述区块链账本中;
经由所述第一对等节点,判断所述已背书交易是否成功地被传输至所述非区块链系统;
若所述已背书交易成功地被传输至所述非区块链系统,经由所述第一对等节点,响应一个响应给所述应用程序的查询,其中所述响应指示跨所述区块链系统和所述非区块链系统传输的交易已完成;以及
若所述已背书交易没有成功地被传输至所述非区块链系统,经由所述第一对等节点,指示所述应用程序重新发送所述交易。
16.根据权利要求15所述的区块链系统,其特征在于,所述判断所述已背书交易是否成功地被传输至所述非区块链系统的步骤包括:
若所述传输完成记录已存储在所述区块链账本中,则所述第一对等节点判定所述已背书交易成功地被传输至所述非区块链系统;以及
若所述传输完成记录没有被存储在所述区块链账本中,则所述第一对等节点判定所述已背书交易没有成功地被传输至所述非区块链系统。
17.根据权利要求16所述的区块链系统,其特征在于,所述方法更包括:
当所述已背书交易无法被传输至所述非区块链系统时,经由所述目标背书节点,将对应所述已背书交易的传输错误记录添加至所述区块链账本中;以及
其中,所述判断所述已背书交易是否成功地被传输至所述非区块链系统的步骤更包括:
若所述传输错误记录已被存储至所述区块链账本中,则所述第一对等节点判定所述已背书交易没有成功地被传输至所述非区块链系统。
18.根据权利要求11所述的区块链系统,其特征在于,每个背书节点的所述状态信息包括:所述独特标识符;
网络状态,包括上行状态和下行状态;
网络性能评分;以及
最后更新时间。
19.根据权利要求18所述的区块链系统,其特征在于,其中根据所述多个背书节点的所述状态信息,推选其中一个背书节点为所述目标背书节点的步骤包括:
根据每个背书节点的所述最后更新时间、每个背书节点的所述网络状态和每个背书节点的所述网络性能评分,来推选所述目标背书节点;
其中所述目标背书节点满足全部的下列条件:
所述目标背书节点的所述最后更新时间大于动态时间;
所述目标背书节点的所述网络状态为上行状态;以及
所述目标背书节点的所述网络性能评分大于其他多个背书节点的所述网络性能评分。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/588,188 US11789937B2 (en) | 2022-01-28 | 2022-01-28 | Method and apparatus for exchanging data between blockchain system and non-blockchain system |
US17/588,188 | 2022-01-28 | ||
PCT/CN2022/079464 WO2023142226A1 (en) | 2022-01-28 | 2022-03-07 | Method and apparatus for exchanging data between blockchain system and non-blockchain system |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114938706A true CN114938706A (zh) | 2022-08-23 |
CN114938706B CN114938706B (zh) | 2024-05-03 |
Family
ID=82868404
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202280000413.2A Active CN114938706B (zh) | 2022-01-28 | 2022-03-07 | 一种在区块链系统与非区块链系统之间进行数据交换的方法和设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114938706B (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20190278852A1 (en) * | 2018-03-06 | 2019-09-12 | International Business Machines Corporation | Customized endorsement logic for blockchain |
CN110414979A (zh) * | 2019-06-21 | 2019-11-05 | 深圳壹账通智能科技有限公司 | 线上背书签名方法、装置、设备和存储介质 |
CN111275417A (zh) * | 2020-01-16 | 2020-06-12 | 平安科技(深圳)有限公司 | 交易背书处理方法、服务器及计算机可读存储介质 |
CN112041834A (zh) * | 2020-01-02 | 2020-12-04 | 香港应用科技研究院有限公司 | 使用分布式账本进行数据交换的系统和方法 |
CN112132682A (zh) * | 2020-08-10 | 2020-12-25 | 国网浙江省电力有限公司嘉兴供电公司 | 一种基于区块链技术的电力交易方法、装置及系统 |
US20210256010A1 (en) * | 2020-02-14 | 2021-08-19 | International Business Machines Corporation | Runtime endorsement policy determination |
CN113379420A (zh) * | 2021-06-25 | 2021-09-10 | 远光软件股份有限公司 | 区块链的执行智能合约方法、计算机设备及区块链系统 |
CN113902556A (zh) * | 2021-09-06 | 2022-01-07 | 鼎链数字科技(深圳)有限公司 | 区块链共识节点的背书方法 |
-
2022
- 2022-03-07 CN CN202280000413.2A patent/CN114938706B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20190278852A1 (en) * | 2018-03-06 | 2019-09-12 | International Business Machines Corporation | Customized endorsement logic for blockchain |
CN110414979A (zh) * | 2019-06-21 | 2019-11-05 | 深圳壹账通智能科技有限公司 | 线上背书签名方法、装置、设备和存储介质 |
CN112041834A (zh) * | 2020-01-02 | 2020-12-04 | 香港应用科技研究院有限公司 | 使用分布式账本进行数据交换的系统和方法 |
CN111275417A (zh) * | 2020-01-16 | 2020-06-12 | 平安科技(深圳)有限公司 | 交易背书处理方法、服务器及计算机可读存储介质 |
US20210256010A1 (en) * | 2020-02-14 | 2021-08-19 | International Business Machines Corporation | Runtime endorsement policy determination |
CN112132682A (zh) * | 2020-08-10 | 2020-12-25 | 国网浙江省电力有限公司嘉兴供电公司 | 一种基于区块链技术的电力交易方法、装置及系统 |
CN113379420A (zh) * | 2021-06-25 | 2021-09-10 | 远光软件股份有限公司 | 区块链的执行智能合约方法、计算机设备及区块链系统 |
CN113902556A (zh) * | 2021-09-06 | 2022-01-07 | 鼎链数字科技(深圳)有限公司 | 区块链共识节点的背书方法 |
Also Published As
Publication number | Publication date |
---|---|
CN114938706B (zh) | 2024-05-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2020186901A1 (zh) | 基于区块链的数据核对系统、方法、计算设备及存储介质 | |
US11321070B2 (en) | Online upgrade method and apparatus for Bluetooth cluster | |
JP6095106B2 (ja) | 支払い用の銀行カードの適応的選択のためのシステムと方法 | |
JP5070305B2 (ja) | 取引中継方法および取引中継システム | |
US20110252099A1 (en) | Apparatus and method for efficiently managing data in a social netwroking service | |
CN107194810B (zh) | 资产配置系统和操作方法 | |
WO2017088572A1 (zh) | 一种处理数据的方法、装置及系统 | |
CN110704490A (zh) | 一种基于智能合约的业务数据处理方法和装置 | |
JP5070306B2 (ja) | 取引中継方法および取引中継システム | |
CN112116444A (zh) | 银行金融服务系统和金融期货数据交换平台的对接系统 | |
CN110737425B (zh) | 一种计费平台系统的应用程序的建立方法及装置 | |
WO2021036583A1 (zh) | 基于区块链的清算方法、装置、设备及计算机存储介质 | |
CN112596801B (zh) | 事务处理方法、装置、设备、存储介质、数据库 | |
CN112800066B (zh) | 索引管理的方法、相关设备及存储介质 | |
CN114938706B (zh) | 一种在区块链系统与非区块链系统之间进行数据交换的方法和设备 | |
US20230259930A1 (en) | Cross-chain transaction processing method and apparatus, electronic device, and storage medium | |
KR20210068039A (ko) | 거래 시스템을 구현하는 네트워크 노드들의 서브세트 내의 컨텍스트 기반 필터링 | |
CN111581280A (zh) | 一种基于区块链的业务处理方法、装置及存储介质 | |
CN115098528B (zh) | 业务处理方法、装置、电子设备及计算机可读存储介质 | |
US11789937B2 (en) | Method and apparatus for exchanging data between blockchain system and non-blockchain system | |
US10771242B2 (en) | Blockchain-based data processing | |
CN116263925A (zh) | 基于区块链的对账方法和装置 | |
KR102107454B1 (ko) | 금융결제망 다중화 시스템, 이를 이용한 금융 서비스 방법 및 이를 위한 컴퓨터 프로그램 | |
CN114020797A (zh) | 基于区块链分布式账本与数据库的链上链下混合存储方法 | |
US20210144217A1 (en) | Service communication proxy apparatus and method |
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 | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40089613 Country of ref document: HK |
|
GR01 | Patent grant | ||
GR01 | Patent grant |