CN112005264A - 实施跨链事务的区块链 - Google Patents
实施跨链事务的区块链 Download PDFInfo
- Publication number
- CN112005264A CN112005264A CN201980027683.0A CN201980027683A CN112005264A CN 112005264 A CN112005264 A CN 112005264A CN 201980027683 A CN201980027683 A CN 201980027683A CN 112005264 A CN112005264 A CN 112005264A
- Authority
- CN
- China
- Prior art keywords
- chain
- cross
- data
- blockchain
- 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.)
- Withdrawn
Links
- 238000000034 method Methods 0.000 claims description 57
- 238000012545 processing Methods 0.000 claims description 18
- 238000004590 computer program Methods 0.000 claims description 11
- 238000005192 partition Methods 0.000 description 92
- 230000004044 response Effects 0.000 description 17
- 238000000638 solvent extraction Methods 0.000 description 14
- 230000006870 function Effects 0.000 description 13
- 230000008569 process Effects 0.000 description 13
- 238000010586 diagram Methods 0.000 description 11
- 238000012986 modification Methods 0.000 description 6
- 230000004048 modification Effects 0.000 description 6
- 238000004891 communication Methods 0.000 description 5
- 238000003491 array Methods 0.000 description 3
- 238000013475 authorization Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 239000004744 fabric Substances 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000000717 retained effect Effects 0.000 description 2
- 230000011664 signaling Effects 0.000 description 2
- 244000035744 Hura crepitans Species 0.000 description 1
- 241000081511 Matthiola lunata Species 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013479 data entry Methods 0.000 description 1
- 238000013499 data model Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 230000008707 rearrangement Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000010200 validation analysis Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Images
Classifications
-
- 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/04—Payment circuits
- G06Q20/06—Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme
-
- 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/04—Payment circuits
- G06Q20/06—Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme
- G06Q20/065—Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme using e-cash
-
- 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/3827—Use of message hashing
-
- 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/389—Keeping log of transactions for guaranteeing non-repudiation of a transaction
-
- 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
-
- 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
- G06Q2220/00—Business processing using cryptography
Landscapes
- Business, Economics & Management (AREA)
- Accounting & Taxation (AREA)
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Strategic Management (AREA)
- Theoretical Computer Science (AREA)
- Finance (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
Abstract
示例操作可以包括以下一项或多项:接收执行跨链事务的请求,识别其中存储了所述跨链事务的数据的两个或多个不同的区块链的不同位置,根据识别出的不同位置分别从所述两个或多个不同区块链的数据块中检索数据,执行所述跨链事务,所述跨链事务将来自所述两个或多个不同区块链的检索数据作为输入以生成跨链结果,以及通过分布式账本的数据块存储所述跨链结果。
Description
技术领域
本申请总体上涉及跨多个区块链划分事务(transaction)数据,并且更具体地,涉及实现跨链事务的区块链。
背景技术
账本(ledger)通常被定义为分录账簿,其中记录事务并对授权用户可见。分布式账本是全部或部分复制到多个计算***的账本。一种类型的分布式账本是密码分布式账本(CDL),它可以至少具有以下一些特性:不可逆性(一旦记录了事务,就不能将其撤消)、可访问性(任何一方都可以全部或部分访问CDL)、按时间顺序和时间戳(各方都知道何时将事务添加到账本)、基于共识(仅当事务被网络上的各方通常一致批准时才添加事务)、可验证性(所有事务都可以加密验证)。区块链就是CDL的一个例子。尽管本文的描述和附图是根据区块链描述的,但本申请同样适用于任何CDL。
分布式账本是不断增长的记录列表,这些记录通常应用密码技术,例如存储与其他块有关的密码散列。虽然主要用于金融事务,但区块链可以存储其他资产,例如与商品和服务相关的信息(即产品、包装、状态、软件、数据等)。分散式方案为分散式网络提供了权限和信任,并使它的节点能够连续和顺序地将其事务记录在公共“块”上,从而创建了称为区块链的独特“链”。密码通过散列码用于确保事务源的身份验证并删除中央中介。此外,每个块都包含时间戳和到前一个块的链接,从而创建了事务记录的防篡改链。由于区块链是分布式***,因此在将事务添加到区块链账本之前,对等方需要达到共识状态。
有限的事务吞吐量和存储是区块链技术广泛理解的问题。某些技术已经尝试提高事务吞吐量。例如,比特币中的区块链使用工作量证明共识方法,该方法易于验证,但计算上昂贵(通过设计),并且需要在此过程中解决密码难题。另一个示例是,许可的区块链使用基于拜占庭(byzantine)容错(BFT)状态机变体的共识方法。选择这些BFT状态机以提供更高的事务吞吐量和更低的共识等待时间,但仍不提供许多行业所需的吞吐量。也就是说,即使进行了这些改进,当前的区块链技术还是不适合在金融、保险、软件开发、供应链、运输行业等许多实际应用中常见的大规模数据处理工作负载。因此,需要一种扩展区块链吞吐量的机制。
因此,在本领域中需要解决前述问题。
发明内容
从第一方面来看,本发明提供了一种用于管理区块链的***,该***包括:网络接口,用于接收执行跨链事务的请求;以及处理器,用于:识别其中存储了所述跨链事务的数据的两个或多个不同的区块链的不同位置;根据识别出的不同位置分别从所述两个或多个不同区块链的数据块中检索数据;执行所述跨链事务,所述跨链事务将来自所述两个或多个不同区块链的检索的数据作为输入以生成跨链结果;以及通过分布式账本的数据块存储所述跨链结果。
从另一方面来看,本发明提供了一种用于管理区块链的方法,用于管理区块链的方法包括:接收执行跨链事务的请求;识别其中存储了所述跨链事务的数据的两个或多个不同的区块链的不同位置;根据识别出的不同位置分别从所述两个或多个不同区块链的数据块中检索数据;执行所述跨链事务,所述跨链事务将来自所述两个或多个不同区块链的检索数据作为输入以生成跨链结果;以及通过分布式账本的数据块存储所述跨链结果。
从另一方面来看,本发明提供了一种用于管理区块链的计算机程序产品,该计算机程序产品包括计算机可读存储介质,该计算机可读存储介质可由处理电路读取,并存储由处理电路执行以执行用于执行本发明的步骤的指令。
从另一方面来看,本发明提供了一种存储在计算机可读介质上并且可加载到数字计算机的内部存储器中的计算机程序,该计算机程序包括当所述程序在计算机上运行时用于执行本发明的步骤的软件代码部分。
一个示例性实施例可以提供一种方法,该方法包括以下一项或多项:接收执行跨链事务的请求,接收执行跨链事务的请求;识别其中存储了所述跨链事务的数据的两个或多个不同的区块链的不同位置;根据识别出的不同位置分别从所述两个或多个不同区块链的数据块中检索数据;执行所述跨链事务,所述跨链事务将来自所述两个或多个不同区块链的检索数据作为输入以生成跨链结果;以及通过分布式账本的数据块存储所述跨链结果。
另一示例性实施例可以提供一种***,该***包括:网络接口,用于接收执行跨链事务的请求;以及处理器,其被配置为执行以下一项或多项:识别其中存储了所述跨链事务的数据的两个或多个不同的区块链的不同位置;根据识别出的不同位置分别从所述两个或多个不同区块链的数据块中检索数据;执行所述跨链事务,所述跨链事务将来自所述两个或多个不同区块链的检索的数据作为输入以生成跨链结果;以及通过分布式账本的数据块存储所述跨链结果。
另一示例性实施例可以提供一种包括指令的非暂时性计算机可读介质,当指令被处理器读取时,该指令使处理器执行以下一项或多项操作:接收执行跨链事务的请求;识别其中存储了所述跨链事务的数据的两个或多个不同的区块链的不同位置;根据识别出的不同位置分别从所述两个或多个不同区块链的数据块中检索数据;执行所述跨链事务,所述跨链事务将来自所述两个或多个不同区块链的检索数据作为输入以生成跨链结果;以及通过分布式账本的数据块存储所述跨链结果。
附图说明
现在将仅通过示例的方式,参考附图来描述本发明的实施例,其中:
图1是示出根据示例实施例的示出用于管理跨链事务的***的图;
图2是示出根据示例实施例的示出对等节点区块链架构配置的图;
图3是示出根据示例实施例的示出许可的区块链网络的图;
图4A是示出根据示例实施例的管理跨多个分区区块链的数据分区的主链的过程的图;
图4B是示出根据示例实施例的基于来自多个分区区块链的数据的执行跨链事务的混合链的过程的图;
图5A和5B是示出根据示例实施例的示出管理跨链事务的方法的图;
图6A是示出根据示例实施例的、被配置为根据本文所述的一个或多个操作在区块链上执行各种操作的物理基础设施的图;
图6B是示出了根据示例实施例的、在缔约方和被配置为在区块链上强制执行智能合约条款的调解服务器之间的智能合约配置的图;
图7是示出被配置为支持一个或多个示例实施例的计算机***的图。
具体实施方式
将容易理解的是,如本文的附图中总体上描述和图示的,即时组件可以以多种不同的配置来布置和设计。因此,如附图所示,对方法、设备、非暂时性计算机可读介质和***中的至少一个的实施例的以下详细描述并非旨在限制所要求保护的本申请的范围,而是仅代表所选实施例。
在整个说明书中描述的即时特征、结构或特性可以在一个或多个实施例中以任何合适的方式组合。例如,在整个说明书中,短语“示例实施例”、“一些实施例”或其他类似语言的使用是指以下事实:结合该实施例描述的特定特征、结构或特性可以包括在至少一个实施例中。因此,在整个说明书中,短语“示例实施例”、“在一些实施例中”、“在其他实施例中”或其他类似语言的出现不一定都指同一组实施例,并且所描述的特征、结构、或特性,在一个或多个实施例中,可以以任何合适的方式组合特征或特征。
另外,尽管在实施例的描述中可能已经使用术语“消息”,但是本申请可以应用于许多类型的网络数据,诸如分组、帧、数据报等。术语“消息”还包括分组、帧、数据报及其任何等同形式。此外,尽管在示例性实施例中可以描绘某些类型的消息和信令,但是它们不限于特定类型的消息,并且本申请不限于特定类型的信令。
示例实施例针对支持主区块链***的方法、设备、网络和/或***。该***包括一个包括在区块链之间执行协调器或事务路由器的角色的主区块链的区块链网络,一组存储分区数据的分区区块链。此外,该***包括一个混合的区块链链,该链从多个区块链检索数据并通过利用来自多个区块链的数据执行跨链事务。区块链***的一些好处是,它在存储和事务吞吐量方面提高了基于区块链的***的容量。具体而言,与单个区块链网络相比,多个(分区的)区块链网络可以提供更大的存储容量(在聚合中)来存储事务数据,并且可以进一步支持从应用程序提交的大量并发事务。
区块链与传统数据库的不同之处在于,区块链不是中央存储,而是分散、不可变和安全的存储,其中节点必须共享对存储中记录的更改。区块链固有的,有助于实现区块链的某些属性包括但不限于不可变账本、智能合约、安全性、隐私、去中心化、共识、认可、可访问性等。
根据各个方面,分区功能和跨链执行功能由区块链固有且唯一的新定义的智能合约来实现。此外,示例实施例还提供了基于***的事务路由器智能合约,其被配置为通过访问诸如网络接口等***资源来管理多个区块链之间的数据划分。响应接收到执行事务的请求,(主链的)事务路由器智能合约可以识别具有用于执行事务的数据的多个不同的区块链,并将不同的区块链的位置提供给(混合链的)处理智能合约的跨链。处理智能合约的跨链可以从不同的区块链中检索数据,执行跨链事务,并基于跨链事务的结果更新不同的区块链。
此外,诸如共识、认可和去中心化/分布式节点之类的附加区块链属性负责实现分区规则的技术效果,该分区规则确定哪些分区(单个区块链)来路由传入的事务。具体来说,主区块链中参与者(节点)的共识可以商定通用的划分规则,事务路由器智能合约可以使用该规则将传入的事务路由到适当的划分链。在一个示例中,单链事务被简单地路由到存储数据的相应分区链。作为另一示例,当事务涉及来自多个分区链的数据时,该事务可以被路由到包括可以检索数据并执行跨链事务的跨链处理器的混合链区块链。在一些实施例中,混合链还可以维持其自己的区块链,该自己的区块链中存储了跨链事务的散列链接的不可变记录。
示例实施例提供了优于传统数据库的众多益处。例如,通过区块链的网络,实施例提供增加的吞吐量和存储可用性,同时还维持区块链所需的信任和责任级别。同时,传统数据库不能用于实现示例实施例,因为传统数据库不提供节点之间的共识,因此将依靠单个参与者来决定如何对数据库进行分区。这样,单个参与者可以根据自己的意愿更改分区方案,而不必基于主链所需的共识。此外,传统的数据库不执行基于区块链的事务,其中事务证明存储在不可变账本中,而账本只能通过共识和背书进行修改。
在传统数据库中,通常采用数据分区来对抗数据库内的数据可伸缩性,数据隔离以及事务吞吐量问题。此外,诸如区块链之类的较新的存储技术继续存在类似的问题。特别地,随着对使用许可的区块链(例如,Hyperledger Fabric)来保存业务网络的事务历史的兴趣日益浓厚,业务网络面临着相同的技术障碍。当前,当前的区块链技术都没有提出一种可行的解决方案,即通过在多个区块链之间划分数据来扩展区块链的事务吞吐量。这是因为,对于基于区块链的应用程序,数据分区并不是一个简单的解决方案,并且存在一些技术挑战需要解决。例如,由于区块链使用各方之间的共识来保持数据的不变性和信任度,因此数据分区还需要提供相同级别的信任度、问责制和可追溯性。为了解决该问题,当将数据划分为多个区块链时,本文所述的***可以支持“跨链”事务,从而适应随着时间发展的业务网络。此外,该***可以跨多个区块链划分数据,以支持数据划分以及跨链事务,同时保持信任、问责制和可追溯性。特别是,区块链***能够(a)在多个区块链之间划分数据;(b)支持跨链事务,并且(c)保持信任、出处和可追溯性。
在一个实施例中,本申请涉及跨多个区块链划分事务数据,并且在另一实施例中,涉及实施跨链事务的区块链。
图1示出了根据各种示例实施例的用于管理跨链事务的区块链***100。参照图1,***100包括主链网络110(主链)、混合链网络120(混合链)和多个分区区块链网络。区块链网络可以经由诸如专用网络、互联网等的网络140彼此连接。***100可以使用区块链的组合以便将与分区的数据模型相关的事务存储在商业网络中,从而支持商业网络的可扩展性,其随着时间的流逝可以动态扩展存储容量和事务吞吐量,因为需要更多的存储空间和/或事务数据增长。总体而言,所提出的***包括主链110,用于将传入的事务和查询路由到可以对其进行处理的适当分区(即,混合链120或分区链132-136)。同时,分区链132-136各自负责在整个数据域的分区中维护数据。此外,混合链120可以处理跨多个分区访问数据的事务。
主链110是基于网络中每一方都信任的策略来路由事务的机制。如果改为使用集中式路由器,则整个***的可信赖度将取决于不满足区块链要求的单个实体。因此,主链110可以经由包括被散列链接在一起的块链的区块链来保持并跟踪分区规则中的变化。一旦将划分策略存储在主链110的区块链中,则主链110中的各个区块链节点可以基于存储在主链中的分区规则,将事务路由到其他不同的区块链网络(例如,混合链120、分区链132-136等)。主链110存储的分区规则/信息可以包括分配给不同分区链132、134和136中的每一个的数据范围,其识别存储在每个分区链上的数据。此外,主链110可以存储每个分区链132、134和136的网络端点,从而使得能够从分区链132、134和136的一个或多个节点检索数据。
根据各个方面,主链110可以接收请求以处理涉及存储在几个不同的区块链中的不同数据的事务,这在本文中称为跨链事务。处理跨链事务的一种选择是将数据从多个链迁移到特定链,然后在该链上执行事务。但是,这种方法不是可行的解决方案,因为它将在网络中引入不必要的延迟和不稳定。相反,***100包括混合链120,该混合链120通过访问来自不同区块链的数据并创建涉及不同数据链的事务来处理由主链110提供的跨链事务,以在不同链之间创建事务数据的混合。
事务数据可以在多个分区的区块链132、134和136之间进行分区。主链110可以通过基于查询的智能合约建立索引来从这些区块链有效地识别数据的位置。例如,查询可以向主链110提供先前未访问过的事务数据的位置。此外,实际的路由模块尽管使用存储在主链110中的分区规则,但是仍需要被信任。因此,路由模块(即事务路由器)可以与区块链节点软件集成在一起。例如,路由模块可以通过一种特殊类型的智能合约/链码来实现,例如在Hyperledger Fabric 1.0中可用的***链码。***链码可以是区块链软件模块的集成部分。与访问链上数据的典型智能合约相比,***智能合约可以设计为具有***级别的访问权限,否则该功能对于应该在发送箱(sandbox)中运行的传统智能合约不可用。
图2示出了根据示例实施例的区块链的区块链架构配置200。配置200可以是传统区块链的一个示例,例如,图1中所示的分区区块链。参考图2,区块链架构200可以包括某些区块链元素,例如,一组区块链节点202。区块链节点202可以包括一个或多个节点204-210(仅以示例方式描述了4个节点)。这些节点参与了许多活动,例如区块链事务添加和验证过程(共识)。区块链节点204-210中的一个或多个可以认可事务并且可以为架构200中的所有区块链节点提供订购(ordering)服务。区块链节点可以发起区块链认证并且试图写入存储在区块链层216中的区块链不可变账本,其副本也可以存储在基础物理基础设施214上。区块链配置可以包括一个或多个应用程序224,这些应用程序链接到应用程序编程接口(API)222以访问和执行存储的程序/应用程序代码220(例如,链码、智能合约等),其可以根据参与者寻求的自定义配置进行创建,并且可以维护自己的状态,控制自己的资产并接收外部信息。可以将其部署为事务,并通过附加到分布式账本中,安装在所有区块链节点204-210上。
区块链基础或平台212可包括区块链数据、服务(例如,密码信任服务、虚拟执行环境等)的各个层,以及可用于接收和存储新事务并向正在寻求访问数据条目的审核员提供访问的支撑物理计算机基础设施。区块链层216可以公开接口,该接口提供对处理程序代码和使用物理基础结构214所必需的虚拟执行环境的访问。密码信任服务218可以用于验证诸如资产交换事务之类的事务并保持信息私有。
图2的区块链架构配置可以通过区块链平台212暴露的一个或多个接口以及提供的服务来处理和执行程序/应用代码220。代码220可以控制区块链资产。例如,代码220可以存储和传输数据,并且可以由节点204-210以智能合约和相关链码的形式执行,并且具有条件或其他代码元素的相关链码受其执行约束。作为非限制性示例,可以创建智能合约以执行提醒、更新和/或其他更改、更新等通知。智能合约本身可以用于标识与授权、访问要求和账本使用相关的规则。例如,事务数据226可以由包括在区块链层216中的一个或多个处理实体(例如,虚拟机)进行处理。事务数据226可以包括将通过区块链执行的事务链接在一起的散列链接的数据块链。例如,最新的事务可以存储在区块链的尾部。事务结果228可以包括事务数据226,其通过跨链事务与来自另一区块链的数据混合。物理基础设施214可以用于检索本文描述的任何数据或信息。
在链码中,可以通过高级应用程序和编程语言来创建智能合约,然后将其写入区块链中的块中。智能合约可以包括可执行代码,该可执行代码被区块链(例如,区块链对等体的分布式网络)注册、存储和/或复制。事务是可以响应于与智能合约相关联的条件得到满足而执行的智能合约代码的执行。智能合约的执行可以触发对数字区块链账本状态的可信修改。由智能合约执行引起的对区块链账本的修改可以通过一个或多个共识协议在整个区块链对等体的分布式网络中自动复制。
智能合约可以以键值对的格式将数据写入区块链。此外,智能合约代码可以读取存储在区块链中的值,并将其用于应用程序操作中。智能合约代码可以将各种逻辑运算的输出写入到区块链中。该代码可用于在虚拟机或其他计算平台中创建临时数据结构。写入区块链的数据可以是公开的和/或可以加密并维护为私有。智能合约使用/生成的临时数据由提供的执行环境保存在内存中,一旦识别出区块链所需的数据,便将其删除。
链码可以包括具有附加特征的智能合约的代码解释。如本文所述,链码可以是部署在计算网络上的程序代码,在计算网络上,在共识过程中,链码执行,并且由链码验证器验证链码。链码接收散列,并从区块链中检索与使用先前存储的特征提取器创建的数据模板关联的散列。如果散列标识符的散列值与从存储的标识符模板数据创建的散列值匹配,则链码将授权密钥发送到请求的服务。链码可以将与密码详细信息关联的数据写入区块链。在图2中,链码可以对通过存储代表执行事务结果的数据块来引入对资产的修改。一种功能可以是将新值添加到资产、改变资产的值、删除资产的值等,其可以分配给节点204-210中的一个或多个并由其存储。
客户端可以发送执行区块链事务(例如,跨链事务)的请求,并且可以包括利用受支持的软件开发套件(SDK)的应用程序,例如NODE,PYTHON等,其利用可用的应用程序编程接口(API)生成跨链事务提议。该提议是调用链码功能的请求,以便可以将数据读取和/或写入到不同区块链的一个或多个账本(即为资产写入新的键值对)。SDK可以充当将事务提议打包为适当的架构格式(例如,通过远程过程调用(RPC)的提议缓冲区)的楔子,并采用客户的加密凭证为事务提议生成唯一的签名。Java和所有基于Java的商标和标志是Oracle和/或其分支机构的商标或注册商标。
可以针对当前状态数据库执行链码,以产生包括响应值、读取集和写入集的事务结果。但是,此时尚未对账本进行任何更新。相反,这些值集以及背书的对等节点的签名可以作为对提议的响应传递回客户端的SDK,该SDK解析应用程序使用的有效负载。
作为响应,客户端的应用检查/验证背书的对等方的签名,并比较提议响应以确定提议响应是否相同。如果链码仅查询账本,则应用程序将检查查询响应,并且通常不会将事务提交给订购节点服务。如果客户端应用程序打算将事务提交给订购节点服务以更新账本,则应用程序将确定提交之前是否已满足指定的背书策略(即事务必需的所有对等节点都对事务进行背书)。在此,客户可以仅包括事务的多方之一。在这种情况下,每个客户端可能有自己的认可节点,并且每个认可节点都需要认可事务。该体系结构使得即使应用程序选择不检查响应或除此之外转发未认可的事务,认可策略仍将由对等方强制执行,并在提交验证阶段予以保留。
在成功检查之后,客户将背书组装成事务,并将资产的事务提议和事务消息内的响应广播到订购节点。事务可能包含读/写集,背书的对等方签名和通道ID。订购节点不需要检查事务的全部内容即可执行其操作,而是订购节点可以简单地从网络中的所有通道接收事务,按通道按时间顺序对其进行排序,并为每个通道创建事务块。
图3示出了单个区块链的许可区块链网络300的示例,其特征在于分布式的,分散的对等架构以及管理用户角色和许可的证书颁发机构318。主链、混合链和分区链中的任何一个可以是许可的区块链网络300。在该示例中,区块链用户302可以向许可的区块链网络310提交事务。该事务可以是部署、调用或查询,并且可以通过利用SDK的客户端应用程序,直接通过REST API等发出。可信商业网络可以提供对诸如审计员(例如,美国股票市场中的证券事务委员会)之类的监管者***314的访问。同时,节点的区块链网络运营商***308管理成员许可,诸如将监管者***310注册为“审计员”,并且将区块链用户302注册为“客户端”。审计员可能只限于查询账本,而客户可以被授权部署、调用和查询某些类型的链码。
区块链开发者***316编写链码和客户端应用程序。区块链开发者***316可以通过REST接口将链码直接部署到网络。为了将来自传统数据源330的凭证包括在链码中,开发者***316可以使用带外连接来访问数据。在该示例中,区块链用户302通过对等节点312连接到网络。在进行任何事务之前,对等节点312从证书颁发机构318检索用户的注册和事务证书。在某些情况下,区块链用户必须拥有这些证书以便在许可的区块链网络310上进行事务。同时,可能需要尝试驱动链码的用户在传统数据源330上验证其凭据。为了确认用户的授权,链码可以通过传统处理平台320使用带外连接到该数据。
图4A示出了根据示例实施例的主链410的管理跨多个分区区块链的数据分区的过程400A,并且图4B示出了根据示例实施例的基于来自多个分区区块链的数据执行跨链事务的混合链420的过程400B。参照图4A,主链410管理区块链412,该区块链412包括关于数据如何在不同分区区块链432、434和436之间进行划分的分区信息的散列链接的块的链。整个域可以被划分为子域或子集,其中每个分区区块链432、434和436包括唯一的不包括其他分区区块链的子域或子集。此外,区块链412可以存储标识每个分区区块链432、434和436的节点的网络位置(例如,端点、URL等)的信息,以用于检索和提供事务数据。
例如,主链410的功能可以经由三个对应的智能合约来实现。在一个示例中,分区器智能合约414在分区功能上保持各方(主链节点)之间的共识,该分区功能确定可以如何划分整个数据域,例如,在分配给每个分区区块链432-436的数据域的每个分区中维护的数据的范围边界。主链410还可包括事务路由器智能合约416,该事务路由器智能合约416将进入的事务路由到负责(根据分区功能)处理事务的适当链。例如,单链事务可以直接路由到存储事务数据的单链。同时,跨链事务可以被路由到混合链420以进行处理。可以从存储在区块链412中的分区信息中识别路由信息。
主链410还可以包括负责处理来自客户端的查询的查询联合者智能合约418。在一些实施例中,分区器智能合约414可以是基于链上数据在主链中的每个对等节点内运行的智能合约,而事务路由器416和查询联合器418可以是特殊***智能合约(又名***链码),其具有访问主机节点中各种其他软件组件的***级功能,但是对于发送箱(Sendbox)中运行的常规智能合约则不可用。同时,分区的区块链432、434和436可以是传统的区块链网络,其维护整个数据域的不同分区而不知道整个域。每个分区链可以运行单链处理器的智能合约,该合约从主链410接收事务和查询请求并执行这些请求。
参照图4B,混合链420从主链410接收跨链事务并执行该跨链事务。例如,从主链410接收的请求可以包括其中存储有用于跨链事务的数据的区块链网络的网络位置。因此,混合链420可以识别多个分区区块链432、434和436中的哪些分区区块链具有用于跨链事务的数据。混合链420包括跨链处理器智能合约424,其从主链41接收事务请求并负责跨多个分区访问数据。此外,跨链处理器424执行跨链事务,从而将来自不同分区区块链的数据混合在一起以创建混合结果。跨链处理器424可以将跨链事务的结果存储在区块链422中,该区块链将***中执行的所有跨链事务的结果链接在一起。此外,跨链处理器424还可以利用跨链事务的结果来更新为事务提供数据的分区区块链,以使分区区块链能够更新存储在其中的数据/资产。
根据各种实施例,可以用其他区块链(420、432、434和436)的端点的信息来初始化主链410。在主链410中,网络中的每一方可以达成网外分区规则的共识,并且一个授权方可以调用分区器智能合约414中的“setPartitionRule”方法以在区块链412中设置分区规则。分区规则的任何改变也存储在区块链412中,使得它们是可追踪的。初始化之后,分区器智能合约414可以设置一个启用标志,以便该主链中的每个节点都能够获取分区规则并根据该规则路由事务。此外,事务路由器智能合约416可以首先识别这些事务访问哪些数据。例如,事务路由器416可以通过分区器智能合约414从区块链中查找分区规则。根据各种实施例,接下来,事务路由器416确定事务应该路由到哪个区块链网络。例如,如果事务仅访问单个分区内的数据,则它将被路由到特定的分区区块链网络。相反,访问多个分区中的数据的事务被路由到混合链420网络进行处理。
同时,用于处理混合链420中的事务的工作流包括跨链处理器智能合约424,该合约从主链的事务路由器接收事务和分区信息。作为响应,跨链处理程序424从不同的链中获取数据,将获取的数据以及新值保留在其自己的链412中,并启动单独的“setDiff”事务以更新不同分区的链中不同方的最新值。例如,如果从“B链”434取回“X”的余额,并且从“A链”432取回“Y”的余额,则在将余额从X转移到Y之后,X和Y的最终的差额为将使用“B链”中的“setDiff”事务进行设置,反之亦然。因此,“混合链”将包含跨链事务,但还将使用单独的“setDiff”事务更新其他相关链,以通过增量更改来更新值。在一些实施例中,如果正在进行跨链事务,并且有新的传入事务访问与该跨链事务相同的一些数据,则该新事务可以被事务路由器416保留一段确定的时间,或者被立即丢弃。
作为另一示例,如果基于包括在分区功能中的分区属性来查询访问数据,则查询联合器418仅将查询路由到维护感兴趣数据的特定分区链。相反,如果基于非分区属性访问查询数据,则查询联合器418可能不知道数据在不同区块链分区之间存储的位置。在这种情况下,查询联合器418可以将查询转发到每个分区链,并在返回给客户端之前汇总由这些链返回的结果。
如所描述的,混合链420可以跨不同分区区块链432-436执行事务。例如,事务路由器414可以读取包含在传入事务中的用户信息以及在其区块链412(即,主链或分区智能合约)中维护的分区规则。作为非限制性示例,事务路由器414可以识别位于分区A 432中的与用户“U1”相关联的数据记录,而不是位于分区B 434中的与用户“U2”相关联的数据记录。在这个例子中,路由器414可以利用关于“U1”和“U2”的跨链事务正在进行的信息来更新其锁定表。然后该事务可以被转发到具有“U1”,“U2”及其区块链节点URL的细节的混合链420。作为响应,跨链处理程序424可以从分区A432获取“U1”的数据,并从分区B 434获取“U2”的数据。此外,跨链处理器424可以在其自己的区块链422中创建事务。并以U1余额的差额将“SetDiff”事务发送到U1的区块链(分区A432),并以U2余额的差额将单独的“SetDiff”事务发送到U2的区块链(分区B 434)。
图5A示出了根据示例实施例的路由事务以进行跨链处理的方法500。例如,方法500可以经由由主区块链网络内的区块链节点执行的智能合约来实现。作为另一示例,方法500可以由主区块链网络内的一组计算节点执行。参照图5A,在510中,该方法可以包括经由主链存储分区信息,该分区信息将跨多个区块链的存储链接在一起。例如,分区信息可以包括由主链的节点的共识产生的分区规则。划分规则可以标识由多个不同的区块链中的每个区块链存储的数据范围以及每个区块链的位置信息,诸如统一资源定位符(URL)等。在一些实施例中,该方法可以包括:响应于从管理主链的多个区块链节点检测到分区信息的共识,来建立分区信息。
在520中,该方法可以包括从客户端接收执行区块链事务的请求。例如,客户端可以请求利用来自单个区块链的数据的事务或利用来自多个不同区块链的数据的事务。在530中,该方法可以包括经由主链基于主链上存储的分区信息,确定区块链事务是与存储在一个区块链上的数据相关联还是与单独存储在不同区块链上的数据相关联。例如,事务可以识别特定资产或数据项,并且分区信息可以基于管理主链和分区信息的分区器智能合约来识别资产或数据项的存储位置。
响应于确定区块链事务与单独存储在不同区块链上的数据相关联的确定,在540中,该方法可以进一步包括:通过主链从不同区块链中识别每个区块链的位置,并将该位置传输到配置为执行区块链事务的***。在一些实施例中,传输可以包括将位置传输到在混合链上执行的跨链处理器智能合约,该混合链被配置为从每个不同的区块链的每一个检索各自的数据并基于从不同的区块链检索的数据执行区块链事务。
在一些实施例中,分区信息标识由主链管理的事务数据的整个域或范围,并且还标识分配给多个区块链中的每个各个区块链的各个子域。这里,分区信息或子域信息可以识别多个区块链中的每个区块链所维护的事务数据的边界范围。
在一些实施例中,该方法还可以包括:当主链不包括存储用于存储区块链事务的数据的区块链的标识时,单独查询多个区块链以确定至少一个用于存储该区块链事务的数据的区块链。例如,查询可以由在区块链节点上执行的查询联合智能合约来执行,而确定可以由在区块链节点上执行的事务路由智能合约来执行。在一些实施例中,该方法可以进一步包括:检测已经经由主链设置的启用标志;以及响应于对启用标志的检测来获取分区信息。
图5B示出了根据示例实施例的基于来自多个区块链网络的数据执行跨链事务的方法550。例如,方法550可以由混合链网络的节点执行。参照图5B,在551中,该方法可以包括接收执行跨链事务的请求。例如,可以从已经识别出需要来自不同区块链的数据的区块链事务的主链接收该请求。在552中,该方法可以包括识别其中已经存储了用于跨链事务的数据的两个或多个不同区块链的不同位置。例如,混合链可以标识向混合链注册通信,并且具有存储在主链中的位置信息(例如,URL,端点等)的区块链节点的网络位置。在该示例中,识别可以包括基于请求中包括的两个或多个URL,识别用于分别访问两个或多个不同区块链的不同网络位置。
在553中,该方法可以包括:基于所标识的不同位置,分别从两个或多个不同区块链的数据块中检索数据。例如,检索可以包括将请求从混合链传输到每个不同区块链的请求存储在不同区块链上的数据的不同数据项(例如,数据范围)的区块链节点。在此,数据对于各个相应的区块链可能是唯一的,并且不能从同一区块链获得。在554中,该方法可以包括执行跨链事务,该跨链事务将来自两个或多个不同区块链的检索数据作为输入以生成跨链结果。例如,执行跨链事务可能会导致从两个或多个不同的区块链中检索到的数据,例如通过交换数据、组合数据、减去数据、添加数据、数据修改等,混合在一起。
在555中,该方法可以包括经由分布式账本的数据块存储跨链结果。例如,存储可以包括将其中存储有关于跨链结果的信息的新数据块***到两个或多个不同区块链的每一个中。在该示例中,存储可以包括将其中存储有关于跨链结果的信息的新数据块从两个或多个不同的区块链之中***到第一区块链中,以用从跨链结果获得的增量值来更新从第一区块链获得的事务数据。。在一些实施例中,存储可以包括基于所生成的跨链结果将其中存储有关于跨链结果的信息的新数据块***到混合链区块链中。在一些实施例中,存储还可以包括将***到混合链区块链中的新数据块链接到先前存储在混合链区块链中的另一跨链事务的跨链结果。
图6A示出了根据示例实施例的被配置为在区块链上执行各种操作的示例物理基础设施。参照图6A,示例性配置600A包括具有区块链620和智能合约640的物理基础设施610,其可以执行任何示例性实施例中包括的任何操作步骤612。例如,由于执行了跨链事务,智能合约640可以执行事务并调用对多个不同的区块链账本的更改,从而在同一时间(即,同时)更新多个区块链的世界状态。在该示例中,步骤/操作612可以包括在一个或多个流程图和/或逻辑图中描述或描绘的一个或多个步骤。这些步骤可以表示从驻留在计算机***配置的物理基础结构610上的一个或多个智能合约640和/或区块链620写入或读取的输出或书面信息。可以从执行的智能合约640和/或区块链620输出数据。物理基础设施610可以包括一个或多个计算机、服务器、处理器、存储器和/或无线通信设备。
图6B示出了根据示例实施例的在缔约方和中介服务器之间的示例智能合约配置,该中介服务器被配置为在区块链上实施智能合约条款。参照图6B,配置650B可以表示由智能合约640驱动的通信会话、资产转移会话或流程或过程,该智能合约640明确地标识一个或多个用户设备652和/或656。智能合约执行的执行、操作和结果可以由服务器654管理。智能合约640的内容可能需要由作为智能合约事务的各方的实体652和656中的一个或多个的数字签名。智能合约执行的结果可以作为区块链事务写入到区块链中。
智能合约的例子包括基于存储在链上的数据执行决策的普通智能合约。例如,主链的分区智能合约可以通过主链上的区块链识别并存储分区规则。智能合约的另一个示例是***智能合约,其被配置为访问链(也称为链外)之外的计算***的数据和功能。例如,事务路由器可以识别网络信息并与***的网络接***互以将事务路由到单分区区块链或混合链。作为另一个示例,查询联合器可以与网络信息和***的网络接口进行交互,以将查询传输到其他区块链***并接收响应。
以上实施例可以以硬件,以处理器执行的计算机程序,以固件或以上述的组合来实现。计算机程序可以体现在诸如存储介质的计算机可读介质上。例如,计算机程序可以驻留在随机存取存储器(“RAM”)、闪存、只读存储器(“ROM”),可擦可编程只读存储器(“EPROM”)、电可擦可编程只读存储器(“EEPROM”)、寄存器、硬盘、可移动磁盘、光盘只读存储器(“CD-ROM”)或本领域已知的任何其他形式的存储介质中。
示例性存储介质可以被耦合到处理器,使得处理器可以从该存储介质读取信息,并且可以向该存储介质写入信息。或者,存储介质可以与处理器集成在一起。处理器和存储介质可以驻留在专用集成电路(“ASIC”)中。在替代方案中,处理器和存储介质可作为分立组件驻留。例如,图7示出了示例计算机***架构700,其可以表示或集成在任何上述组件等中。
图7并非旨在暗示对本文所述应用程序的实施例的使用范围或功能的任何限制。无论如何,计算节点700能够被实现和/或执行以上阐述的任何功能。
在计算节点700中,存在计算机***/服务器702,其可与许多其他通用或专用计算***环境或配置一起操作。可能适合与计算机***/服务器702一起使用的众所周知的计算***、环境和/或配置的示例包括但不限于个人计算机***、服务器计算机***、瘦客户端、胖客户端、手持或便携式设备、多处理器***、基于微处理器的***、机顶盒、可编程消费电子产品、网络PC、小型计算机***、大型计算机***以及包括上述任何***或设备的分布式云计算环境等。
可在由计算机***执行的计算机***可执行指令(例如程序模块)的一般上下文中描述计算机***/服务器702。通常,程序模块可以包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、逻辑、数据结构等。可以在分布式云计算环境中实践计算机***/服务器702,在分布式云计算环境中,任务由通过通信网络链接的远程处理设备执行。在分布式云计算环境中,程序模块可以位于包括内存存储设备的本地和远程计算机***存储介质中。
如图7所示,云计算节点700中的计算机***/服务器702以通用计算设备的形式示出。计算机***/服务器702的组件可以包括但不限于一个或多个处理器或处理单元704、***存储器706以及将包括***存储器706的各种***组件耦合到处理器704的总线。
总线表示几种类型的总线结构中的任何一种或多种,包括使用各种总线体系结构中的任何一种的存储器总线或存储器控制器、***总线、加速图形端口以及处理器或本地总线。作为示例而非限制,这样的体系结构包括行业标准体系结构(ISA)总线、微通道体系结构(MCA)总线、增强型ISA(EISA)总线、视频电子标准协会(VESA)本地总线和***组件互连(PCI)总线。
计算机***/服务器702通常包括各种计算机***可读介质。这样的介质可以是计算机***/服务器702可访问的任何可用介质,并且它包括易失性和非易失性介质、可移动和不可移动介质。在一个实施例中,***存储器706实现其他附图的流程图。***存储器706可以包括易失性存储器形式的计算机***可读介质,诸如随机存取存储器(RAM)710和/或高速缓冲存储器712。计算机***/服务器702可以进一步包括其他可移动/不可移动、易失性/非易失性计算机***存储介质。仅作为示例,可以提供存储***714以用于读取和写入不可移动的非易失性磁性介质(未示出并且通常称为“硬盘驱动器”)。尽管未示出,但是可以提供用于从可移动非易失性磁盘(例如“软盘”)进行读取和写入的磁盘驱动器,以及用于从可移动非易失性光盘(诸如CD-ROM,DVD-ROM或其他光学介质之类)进行读取或写入的光盘驱动器。在这种情况下,每一个都可以通过一个或多个数据媒体接口连接到总线。如将在下面进一步描绘和描述的,存储器706可以包括至少一个程序产品,该程序产品具有被配置为执行本申请的各种实施例的功能的一组(例如,至少一个)程序模块。
具有一组(至少一个)程序模块718的程序/实用程序716、以及操作***、一个或多个应用程序、其他程序模块和程序数据,作为示例而非限制地可以存储在存储器706中。操作***、一个或多个应用程序、其他程序模块以及程序数据或它们的某种组合中的每一个可以包括联网环境的实现。程序模块718通常执行本文所述的本申请的各种实施例的功能和/或方法。
如本领域的技术人员将理解的,本申请的各方面可以体现为***、方法或计算机程序产品。因此,本申请的各方面可以采取以下形式:完全硬件实施例、完全软件实施例(包括固件、驻留软件、微代码等)或结合了软件和硬件方面的实施例的形式,其可以在本文中通常全部称为“电路”,“模块”或“***”。此外,本申请的各方面可以采取嵌入在具有计算机可读程序代码的一个或多个计算机可读介质中的计算机程序产品的形式。
计算机***/服务器702还可以与一个或多个外部设备720通信,例如键盘、指示设备、显示器722等;一个或多个使用户能够与计算机***/服务器702交互的设备;以及/或使计算机***/服务器702与一个或多个其他计算设备进行通信的任何设备(例如,网卡,调制解调器等)。这样的通信可以经由I/O接口724发生。然而,计算机***/服务器702仍然可以通过网络适配器726与一个或多个网络(例如局域网(LAN)、通用广域网(WAN)和/或公共网络)通信。如图所示,网络适配器726通过总线与计算机***/服务器702的其他组件通信。应当理解,尽管未示出,但是其他硬件和/或软件组件可以与计算机***/服务器702结合使用。示例包括但不限于:微码、设备驱动器、冗余处理单元、外部磁盘驱动器阵列、RAID***、磁带驱动器和数据档案存储***等。
根据各种实施例,在一个示例中,计算***702可以是包括在本文所述的主链内的区块链节点。在该示例中,存储器704可以存储主链,该主链包括诸如规则、URL等的分区信息,该主链将跨多个不同的区块链的存储链接在一起。处理器704可以从客户端接收执行区块链事务的请求,并且可以基于存储在主链上的分区信息来确定该区块链事务是否与存储在一个单个区块链上的数据或单独存储在不同区块链上的数据相关联。响应于确定区块链事务与单独存储在不同区块链上的数据相关联,处理器704可以经由主链从不同区块链中识别每个区块链的位置,并将该位置传送到***,诸如配置为执行跨链区块链事务的混合链。
尽管在附图中示出并且在前述详细描述中描述了***、方法和非暂时性计算机可读介质中的至少一个的示例性实施例,但是应当理解,本申请不限于所公开的实施例,而是能够进行如由所附权利要求书所阐述和定义的许多重新布置、修改和替换。例如,各个附图的***的能力可以由本文描述的模块或组件中的一个或多个或以分布式架构来执行,并且可以包括发射机、接收机或成对的两者。例如,由各个模块执行的全部或部分功能可以由这些模块中的一个或多个来执行。此外,本文描述的功能可以在模块或组件内部或外部的各种时间并且与各种事件相关地执行。而且,可以经由以下各项中的至少一项在各个模块之间发送在各种模块之间发送的信息:数据网络、互联网、语音网络、互联网协议网络、无线设备、有线设备和/或通过多种协议。而且,可以直接和/或经由一个或多个其他模块来发送或接收由任何模块发送或接收的消息。
本领域技术人员将意识到,“***”可以体现为个人计算机、服务器、控制台、个人数字助理(PDA)、手机、平板计算设备、智能手机或任何其他产品其他合适的计算设备或设备组合。将上述功能呈现为由“***”执行并不旨在以任何方式限制本申请的范围,而是旨在提供许多实施例的一个示例。实际上,本文公开的方法、***和装置可以以与计算技术一致的局部和分布式形式来实现。
应该注意的是,在本说明书中描述的一些***特征已经作为模块呈现,以便更特别地强调它们的实现独立性。例如,模块可以被实现为包括定制超大规模集成电路(VLSI)电路或门阵列,诸如逻辑芯片、晶体管或其他分立组件的现成半导体的硬件电路。模块也可以在诸如现场可编程门阵列、可编程阵列逻辑、可编程逻辑设备、图形处理单元等的可编程硬件设备中实现。
模块也可以至少部分地以用于由各种类型的处理器执行的软件来实现。所标识的可执行代码单元可以例如包括计算机指令的一个或多个物理或逻辑块,其可以例如被组织为对象、过程或功能。然而,所标识的模块的可执行文件不需要在物理上位于一起,而是可以包括存储在不同位置的不同指令,当这些指令在逻辑上结合在一起时,包括模块并实现模块的所述目的。此外,模块可以存储在计算机可读介质上,该计算机可读介质可以是例如硬盘驱动器、闪存设备、随机存取存储器(RAM)、磁带或用于存储数据的任何其他此类介质。
实际上,可执行代码的模块可以是单个指令或许多指令,并且甚至可以分布在多个不同的代码段上、在不同的程序之间以及在多个存储设备上。类似地,操作数据可以在本文模块内被识别和示出,并且可以以任何合适的形式来体现并且可以在任何合适的类型的数据结构内被组织。操作数据可以作为单个数据集收集,或者可以分布在包括不同存储设备的不同位置上,并且可以至少部分地仅作为***或网络上的电子信号存在。
将容易理解,如本文的附图中一般性描述和示出的,本申请的组件可以以各种不同的配置来布置和设计。因此,实施例的详细描述并非旨在限制所要求保护的本申请的范围,而仅代表本申请的所选实施例。
本领域普通技术人员将容易地理解,可以以不同顺序的步骤和/或以与所公开的配置不同的配置的硬件元件来实践以上内容。因此,尽管已经基于这些优选实施例描述了本申请,但是对于本领域技术人员将显而易见的是,某些修改、变化和替代构造将是显而易见的。
尽管已经描述了本申请的优选实施例,但是应当理解,所描述的实施例仅是示例性的,并且当考虑全部等价物和其修改(例如协议、硬件设备、软件平台等)时,本申请的范围仅由所附权利要求书限定。
Claims (18)
1.一种用于管理区块链的计算***,该***包括:
网络接口,用于接收执行跨链事务的请求;以及
处理器,用于:
识别其中存储了所述跨链事务的数据的两个或多个不同的区块链的不同位置;
根据识别出的不同位置分别从所述两个或多个不同区块链的数据块中检索数据;
执行所述跨链事务,所述跨链事务将来自所述两个或多个不同区块链的检索的数据作为输入以生成跨链结果;以及
通过分布式账本的数据块存储所述跨链结果。
2.如权利要求1所述的计算***,其中,所述跨链事务的执行使所述处理器将从所述两个或多个不同区块链检索到的数据混合在一起。
3.如前述权利要求中的任一项所述的计算***,其中,所述处理器被配置为将其中已经存储有关于所述跨链结果的信息的新数据块***到所述两个或多个不同的区块链的每一个中。
4.如权利要求3所述的计算***,其中,所述处理器被配置为将其中存储有关于所述跨链结果的信息的所述新数据块从所述两个或多个不同的区块链之中***到第一区块链中,以用从所述跨链结果获得的增量值更新从所述第一区块链获得的事务数据。
5.如前述权利要求中的任一项所述的计算***,其中,所述处理器被配置为基于所述生成的跨链结果将其中已经存储有关于所述跨链结果的信息的新数据块***到混合链区块链中。
6.如权利要求5所述的计算***,其中,所述处理器还被配置为将***到所述混合链区块链中的所述新数据块链接到先前存储在所述混合链区块链中的另一跨链事务的跨链结果。
7.如前述权利要求中的任一项所述的计算***,其中,所述处理器被配置为控制所述网络接口,以从由所述接收的请求所标识的所述两个或多个不同区块链的相应的目标区块链节点中检索所述跨链区块链事务的数据。
8.如前述权利要求中的任一项所述的计算***,其中,所述处理器被配置为基于所述请求中包括的两个或多个统一资源定位符(URL)分别标识所述两个或多个不同区块链的不同网络位置。
9.一种管理区块链的方法,包括:
接收执行跨链事务的请求;
识别其中存储了所述跨链事务的数据的两个或多个不同的区块链的不同位置;
根据识别出的不同位置分别从所述两个或多个不同区块链的数据块中检索数据;
执行所述跨链事务,所述跨链事务将来自所述两个或多个不同区块链的检索数据作为输入以生成跨链结果;以及
通过分布式账本的数据块存储所述跨链结果。
10.如权利要求9所述的方法,其中,所述跨链事务的执行使得从所述两个或多个不同的区块链检索到的数据混合在一起。
11.如权利要求9或10所述的方法,其中,所述存储包括:将其中存储有关于所述跨链结果的信息的新数据块***到所述两个或多个不同区块链的每一个中。
12.如权利要求11所述的方法,其中,所述存储包括:将其中存储有关于所述跨链结果的信息的所述新数据块从所述两个或多个不同的区块链之中***到第一区块链中,以用从所述跨链结果获得的增量值更新从所述第一区块链获得的事务数据。
13.如权利要求9至12中的任一项所述的方法,其中,所述存储包括:基于所述生成的跨链结果,将其中已经存储有关于所述跨链结果的信息的新数据块***到混合链区块链中。
14.如权利要求13所述的方法,其中,所述存储还包括:将***到所述混合链区块链中的所述新数据块链接到先前存储在所述混合链区块链中的另一跨链事务的跨链结果。
15.如权利要求9至14中的任一项所述的方法,其中,所述检索包括:从由所述接收的请求所标识的所述两个或多个不同区块链的相应的目标区块链节点中检索用于执行跨链区块链事务的数据。
16.如权利要求9至15中的任一项所述的方法,其中,所述识别包括:基于所述请求中包括的两个或多个统一资源定位符(URL),分别标识用于访问所述两个或多个不同区块链的不同网络位置。
17.一种用于管理区块链的计算机程序产品,所述计算机程序产品包括:
一种计算机可读存储介质,该计算机可读存储介质可由处理电路读取并存储由处理电路执行以执行如权利要求9至16中任一项所述的方法的指令。
18.一种存储在计算机可读介质上并且可加载到数字计算机的内部存储器中的计算机程序,该计算机程序包括当所述程序在计算机上运行时用于执行权利要求9至16中任一项所述的方法的软件代码部分。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/967,728 US11194837B2 (en) | 2018-05-01 | 2018-05-01 | Blockchain implementing cross-chain transactions |
US15/967,683 | 2018-05-01 | ||
US15/967,683 US11030217B2 (en) | 2018-05-01 | 2018-05-01 | Blockchain implementing cross-chain transactions |
US15/967,728 | 2018-05-01 | ||
PCT/EP2019/060886 WO2019211225A1 (en) | 2018-05-01 | 2019-04-29 | Blockchain implementing cross-chain transactions |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112005264A true CN112005264A (zh) | 2020-11-27 |
Family
ID=66349535
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201980027683.0A Withdrawn CN112005264A (zh) | 2018-05-01 | 2019-04-29 | 实施跨链事务的区块链 |
Country Status (4)
Country | Link |
---|---|
EP (1) | EP3788578A1 (zh) |
JP (1) | JP7324222B2 (zh) |
CN (1) | CN112005264A (zh) |
WO (1) | WO2019211225A1 (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111107136A (zh) * | 2019-12-05 | 2020-05-05 | 上海中信信息发展股份有限公司 | 一种基于ipfs的区块链跨链中继方法 |
CN113032482A (zh) * | 2021-03-10 | 2021-06-25 | 杭州链网科技有限公司 | 一种跨链转接桥的构建方法及*** |
CN113783949A (zh) * | 2021-08-26 | 2021-12-10 | 浙商银行股份有限公司 | 一种基于合约管理的跨链去中心化方法 |
CN115914244A (zh) * | 2022-09-23 | 2023-04-04 | 四川启睿克科技有限公司 | 一种优化分布式账本互操作性的方法 |
US11695573B2 (en) | 2021-07-23 | 2023-07-04 | International Business Machines Corporation | Blockchain controlled cross-domain data transfer |
Families Citing this family (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111090661B (zh) * | 2019-12-10 | 2024-03-01 | 京东科技信息技术有限公司 | 一种区块链跨链数据访问方法、装置、适配器及*** |
CN111105222B (zh) * | 2019-12-16 | 2023-12-19 | 南方科技大学 | 一种区块链跨链操作方法及装置 |
CN111178851A (zh) * | 2019-12-31 | 2020-05-19 | 杭州趣链科技有限公司 | 一种去中心化基于工作流的数据协作方法 |
CN111694851B (zh) * | 2020-05-28 | 2023-06-16 | 平安科技(深圳)有限公司 | 分布式事务的交易处理方法及相关设备 |
SG10202006447VA (en) * | 2020-07-03 | 2021-04-29 | Alipay Labs Singapore Pte Ltd | Managing transactions in multiple blockchain networks |
CN112446785B (zh) * | 2020-11-06 | 2023-09-22 | 杭州趣链科技有限公司 | 跨链交易方法、***、装置、设备和存储介质 |
CN112508563B (zh) * | 2020-12-01 | 2024-06-25 | 浙商银行股份有限公司 | 跨链交易可信验证方法、装置及计算机设备 |
CN112511355B (zh) * | 2020-12-18 | 2022-02-08 | 四川大学 | 一种跨链智能合约合作可能性评估方法 |
CN114666326B (zh) * | 2020-12-23 | 2023-12-15 | 中移动信息技术有限公司 | 数据同步方法、装置、电子设备及计算机存储介质 |
CN112733100A (zh) * | 2021-01-07 | 2021-04-30 | 浙江大学 | 一种面向联盟链的跨链访问可信权限管理***及方法 |
CN112804357B (zh) * | 2021-03-30 | 2021-08-06 | 支付宝(杭州)信息技术有限公司 | 一种基于中继设备网络跨链读取数据的方法和装置 |
CN113923228A (zh) * | 2021-06-02 | 2022-01-11 | 支付宝(杭州)信息技术有限公司 | 跨链交互方法及装置 |
CN115460142A (zh) * | 2021-06-07 | 2022-12-09 | 京东科技控股股份有限公司 | 一种基于跨链交易的路由寻址方法和装置 |
CN113452781B (zh) * | 2021-06-28 | 2023-02-14 | 上海计算机软件技术开发中心 | 一种区块链跨链***和方法 |
CN113746858B (zh) * | 2021-09-10 | 2022-09-30 | 云南大学 | 一种基于可验证随机函数的跨链通信方法 |
CN113537991B (zh) * | 2021-09-16 | 2022-03-01 | 中国信息通信研究院 | 一种跨链交易有序执行方法和跨链*** |
CN113987077B (zh) * | 2021-12-23 | 2022-03-29 | 太极计算机股份有限公司 | 一种基于链码机制的数据感知与跨链调度方法及装置 |
WO2023141011A2 (en) * | 2022-01-21 | 2023-07-27 | Neeva Inc. | Blockchain search engine |
CN114185996B (zh) * | 2022-02-15 | 2022-05-13 | 北京溪塔科技有限公司 | 一种跨链事务处理方法及装置 |
CN114844904B (zh) * | 2022-04-29 | 2024-03-29 | 蚂蚁区块链科技(上海)有限公司 | 用于跨区块链交互的***及方法 |
CN114785804B (zh) * | 2022-04-29 | 2024-03-29 | 蚂蚁区块链科技(上海)有限公司 | 用于跨区块链交互的***及方法 |
CN114844905B (zh) * | 2022-04-29 | 2024-03-29 | 蚂蚁区块链科技(上海)有限公司 | 用于跨区块链交互的***及方法 |
CN115174118B (zh) * | 2022-07-11 | 2024-05-24 | 电子科技大学 | 一种融合互信属性的跨异构链可信数据共享方法 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160342977A1 (en) * | 2015-05-20 | 2016-11-24 | Vennd.io Pty Ltd | Device, method and system for virtual asset transactions |
CN106850538A (zh) * | 2016-12-06 | 2017-06-13 | 中金云金融(北京)大数据科技股份有限公司 | 区块链路由接入***及方法 |
CN107222482A (zh) * | 2017-06-01 | 2017-09-29 | 黑龙江卓亚科技有限公司 | 一种基于复合区块链网络的数据管理***及方法 |
CN107231299A (zh) * | 2017-06-07 | 2017-10-03 | 众安信息技术服务有限公司 | 一种链路由及实现区块链跨链通信的*** |
CN107273410A (zh) * | 2017-05-03 | 2017-10-20 | 上海点融信息科技有限责任公司 | 基于区块链的分布式存储 |
CN107273455A (zh) * | 2017-05-31 | 2017-10-20 | 深圳前海微众银行股份有限公司 | 区块链数据访问方法和装置 |
CN107301600A (zh) * | 2017-06-23 | 2017-10-27 | 北京天德科技有限公司 | 一种跨链交易的区块链互联网模型的核心算法 |
CN107888562A (zh) * | 2017-10-13 | 2018-04-06 | 布比(北京)网络技术有限公司 | 互联链体系结构 |
US20180113752A1 (en) * | 2016-10-20 | 2018-04-26 | International Business Machines Corporation | Inter-ledger messaging in a blockchain |
-
2019
- 2019-04-29 JP JP2020551329A patent/JP7324222B2/ja active Active
- 2019-04-29 WO PCT/EP2019/060886 patent/WO2019211225A1/en unknown
- 2019-04-29 EP EP19720842.4A patent/EP3788578A1/en not_active Withdrawn
- 2019-04-29 CN CN201980027683.0A patent/CN112005264A/zh not_active Withdrawn
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160342977A1 (en) * | 2015-05-20 | 2016-11-24 | Vennd.io Pty Ltd | Device, method and system for virtual asset transactions |
US20180113752A1 (en) * | 2016-10-20 | 2018-04-26 | International Business Machines Corporation | Inter-ledger messaging in a blockchain |
CN106850538A (zh) * | 2016-12-06 | 2017-06-13 | 中金云金融(北京)大数据科技股份有限公司 | 区块链路由接入***及方法 |
CN107273410A (zh) * | 2017-05-03 | 2017-10-20 | 上海点融信息科技有限责任公司 | 基于区块链的分布式存储 |
CN107273455A (zh) * | 2017-05-31 | 2017-10-20 | 深圳前海微众银行股份有限公司 | 区块链数据访问方法和装置 |
CN107222482A (zh) * | 2017-06-01 | 2017-09-29 | 黑龙江卓亚科技有限公司 | 一种基于复合区块链网络的数据管理***及方法 |
CN107231299A (zh) * | 2017-06-07 | 2017-10-03 | 众安信息技术服务有限公司 | 一种链路由及实现区块链跨链通信的*** |
CN107301600A (zh) * | 2017-06-23 | 2017-10-27 | 北京天德科技有限公司 | 一种跨链交易的区块链互联网模型的核心算法 |
CN107888562A (zh) * | 2017-10-13 | 2018-04-06 | 布比(北京)网络技术有限公司 | 互联链体系结构 |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111107136A (zh) * | 2019-12-05 | 2020-05-05 | 上海中信信息发展股份有限公司 | 一种基于ipfs的区块链跨链中继方法 |
CN113032482A (zh) * | 2021-03-10 | 2021-06-25 | 杭州链网科技有限公司 | 一种跨链转接桥的构建方法及*** |
CN113032482B (zh) * | 2021-03-10 | 2022-05-13 | 杭州链网科技有限公司 | 一种跨链转接桥的构建方法及*** |
US11695573B2 (en) | 2021-07-23 | 2023-07-04 | International Business Machines Corporation | Blockchain controlled cross-domain data transfer |
CN113783949A (zh) * | 2021-08-26 | 2021-12-10 | 浙商银行股份有限公司 | 一种基于合约管理的跨链去中心化方法 |
CN115914244A (zh) * | 2022-09-23 | 2023-04-04 | 四川启睿克科技有限公司 | 一种优化分布式账本互操作性的方法 |
CN115914244B (zh) * | 2022-09-23 | 2024-05-17 | 四川启睿克科技有限公司 | 一种优化分布式账本互操作性的方法 |
Also Published As
Publication number | Publication date |
---|---|
EP3788578A1 (en) | 2021-03-10 |
WO2019211225A1 (en) | 2019-11-07 |
JP7324222B2 (ja) | 2023-08-09 |
JP2021520539A (ja) | 2021-08-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112005264A (zh) | 实施跨链事务的区块链 | |
US11194837B2 (en) | Blockchain implementing cross-chain transactions | |
US11030217B2 (en) | Blockchain implementing cross-chain transactions | |
US11240001B2 (en) | Selective access to asset transfer data | |
US10917233B2 (en) | Selective exchange of transaction data | |
US11227057B2 (en) | Membership access management of a database | |
US10671308B2 (en) | Private and fault-tolerant storage of segmented data | |
US10992456B2 (en) | Certifying authenticity of data modifications | |
US11341121B2 (en) | Peer partitioning | |
US11018852B2 (en) | Blockchain trust anchor | |
US11769156B2 (en) | Automated data projection for smart contract groups on a blockchain | |
CN111989705A (zh) | 有许可区块链中的优先级 | |
JP7228322B2 (ja) | ブロックチェーン・ネットワークにおける自動コミット・トランザクション管理 | |
US11270017B2 (en) | Selective exchange of transaction data | |
US20200112440A1 (en) | Certifying authenticity of data modifications | |
CN111488393A (zh) | 虚拟区块链 | |
US11301590B2 (en) | Unfalsifiable audit logs for a blockchain | |
US20220278848A1 (en) | Certifying authenticity of data modifications | |
US20200082391A1 (en) | Performing bilateral negotiations on a blockchain | |
US11138188B2 (en) | Performance optimization | |
US11044104B2 (en) | Data certification as a service powered by permissioned blockchain network | |
CN111698198B (zh) | 秘密生成和份额分发 | |
US20200389318A1 (en) | Metadata-based endorsement | |
US10841079B1 (en) | Data registration-aware storage systems | |
CN112084187A (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 | ||
WW01 | Invention patent application withdrawn after publication | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20201127 |