CN110688425A - 针对区块链的条件性延期事务 - Google Patents
针对区块链的条件性延期事务 Download PDFInfo
- Publication number
- CN110688425A CN110688425A CN201910602271.7A CN201910602271A CN110688425A CN 110688425 A CN110688425 A CN 110688425A CN 201910602271 A CN201910602271 A CN 201910602271A CN 110688425 A CN110688425 A CN 110688425A
- Authority
- CN
- China
- Prior art keywords
- deferred
- blockchain
- transaction
- condition
- transactions
- 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 claims abstract description 45
- 230000004044 response Effects 0.000 claims abstract description 30
- 230000009471 action Effects 0.000 claims abstract description 21
- 238000012544 monitoring process Methods 0.000 claims description 7
- 238000012545 processing Methods 0.000 description 21
- 230000015654 memory Effects 0.000 description 17
- 238000010586 diagram Methods 0.000 description 12
- 230000006870 function Effects 0.000 description 10
- 230000008569 process Effects 0.000 description 10
- 238000004891 communication Methods 0.000 description 6
- 238000004590 computer program Methods 0.000 description 6
- 238000012986 modification Methods 0.000 description 6
- 230000004048 modification Effects 0.000 description 6
- 230000008901 benefit Effects 0.000 description 5
- 238000013475 authorization Methods 0.000 description 4
- 239000008186 active pharmaceutical agent Substances 0.000 description 3
- 238000003491 array Methods 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000001960 triggered effect Effects 0.000 description 3
- 230000001186 cumulative effect Effects 0.000 description 2
- 230000008520 organization Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000001105 regulatory effect Effects 0.000 description 2
- 230000011664 signaling Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000007704 transition Effects 0.000 description 2
- 241000081511 Matthiola lunata Species 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 235000014510 cooky Nutrition 0.000 description 1
- 238000013479 data entry Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 239000004744 fabric Substances 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 230000008707 rearrangement Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000029305 taxis Effects 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
-
- 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/3236—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 using cryptographic hash functions
- H04L9/3239—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 using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- 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/0618—Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
- H04L9/0637—Modes of operation, e.g. cipher block chaining [CBC], electronic codebook [ECB] or Galois/counter mode [GCM]
-
- 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/3297—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 time stamps, e.g. generation of time stamps
-
- 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
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- Business, Economics & Management (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Accounting & Taxation (AREA)
- General Business, Economics & Management (AREA)
- Strategic Management (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本公开的实施例涉及针对区块链的条件性延期事务。一种示例操作可以包括以下中的一项或多项:创建延期区块链事务和在条件被满足之前监测条件。响应于满足条件,示例操作可以包括以下中的一项或多项:对延期区块链事务进行背书,将延期区块链事务提交至事务队列,以及将事务队列中的区块链事务交付给区块链。延期区块链事务包括动作和条件,动作仅在满足条件之后待执行。
Description
技术领域
本申请一般涉及在许可的区块链网络中的事务处理,并且更具体地涉及针对区块链的条件性延期事务。
背景技术
账本通常被定义为条目账簿,在该条目账簿中记录有事务。分布式账本是全部或者部分地被复制到多个计算机的账本。密码分布式账本(CDL)可以具有以下这些属性中的至少一些属性:不可逆性(一旦事务被记录,就不能被撤销)、可访问性(任何一方都可以全部或者部分地访问CDL)、按时间顺序的并且带有时间戳的(所有各方都知道事务被添加到账本的时间)、基于共识的(只有在网络上的各方都批准(通常为一致地)时才添加事务)、可核实性(可以对所有事务进行密码核实)。区块链是CDL的示例。虽然根据区块链来描述本说明书以及本文中的附图,但是本申请同样适用于任何CDL。
分布式账本是通常应用密码技术(诸如,存储与其他块有关的密码哈希)的记录的不断扩展的列表。区块链是分布式账本的一个普通实例,并且可以被用作用以存储信息的公共账本。虽然主要被用于金融事务,但是区块链可以存储与商品和服务有关的各种信息(即,产品、包装、状态等)。分散式方案向分散式网络提供授权和信任,并且使其节点能够在公共“块”上连续并且按顺序地记录其事务,从而创建被称为区块链的唯一“链”。密码学经由哈希码被用来保护对事务源的认证,并且去除中心媒介。区块链是维持区块链块中的记录的不断扩展的列表的分布式数据库,这些记录由于其不可变属性而被保护免于篡改和修改。每个块包含时间戳和至前一块的链路。区块链可以被用来保存、追踪、传递和核实信息。由于区块链是分布式***,因此,在向区块链账本添加事务之前,所有对等节点都需要达到共识状态。
常规上,在特定条件下在未来的某一时间需要进行延期调用的事务受在许可的区块链网络中维持、追踪和执行条件性延期事务的能力的限制。这样,需要用于区块链节点克服这些限制的增强的功能性。
发明内容
一个示例实施例可以提供一种方法,该方法包括以下中的一项或多项:创建延期区块链事务和在条件被满足之前监测条件。响应于满足条件,示例操作可以包括以下中的一项或多项:对延期区块链事务进行背书,将延期区块链事务提交至事务队列,以及将事务队列中的区块链事务交付给区块链。延期区块链事务包括动作和条件,动作仅在满足条件之后待执行。
另一示例实施例可以提供一种许可的区块链网络,该许可的区块链网络包括以下中的一项或多项:客户端节点;一个或多个背书器节点;以及一个或多个排序器节点。客户端节点被配置为:创建延期区块链事务,并且请求对延期区块链事务进行第一背书。延期区块链事务包括动作和条件。一个或多个背书器节点被配置为对延期区块链事务进行第一背书和第二背书。一个或多个排序器节点各自被配置为进行以下中的一项或多项:接收并且存储延期区块链事务和在条件被满足之前监测条件。响应于条件被满足,一个或多个排序器节点分别被配置为进行以下中的一项或多项:请求对延期区块链事务进行第二背书,将延期区块链事务提交至事务队列,以及将事务队列中的区块链事务交付给区块链。
另一示例实施例可以提供一种包括指令的非瞬态计算机可读介质,这些指令在由处理器读取时使处理器执行以下中的一项或多项:创建延期区块链事务和在条件被满足之前监测条件。响应于满足条件,处理器被进一步配置为执行以下中的一项或多项:对延期区块链事务进行背书,将延期区块链事务提交至事务队列,以及将事务队列中的区块链事务交付给区块链。延期区块链事务包括动作和条件,动作仅在满足条件之后待执行。
附图说明
图1A图示了根据示例实施例的利用区块链的条件性延期事务的网络示意图。
图1B图示了根据示例实施例的在区块链中的排序器节点的延期事务功能性的网络示意图。
图2A图示了根据示例实施例的用于资产共享场景的示例对等节点区块链架构配置。
图2B图示了根据示例实施例的示例对等节点区块链配置。
图3是图示了根据示例实施例的许可的区块链网络的示意图。
图4图示了根据示例实施例的用于执行条件性延期事务的***消息传递示意图。
图5A图示了根据示例实施例的处理区块链中的条件性延期事务的示例方法的流程图。
图5B图示了根据示例实施例的推迟区块链中的乱序事务的示例方法的流程图。
图6A图示了根据示例实施例的被配置为根据本文描述的一个或多个操作来对区块链执行各种操作的示例物理基础架构。
图6B图示了根据示例实施例的在合约各方与中介服务器之间的示例智能合约配置,该中介服务器被配置为对区块链实施智能合约条款。
图7图示了被配置为支持示例实施例中的一个或多个示例实施例的示例计算机***。
具体实施方式
将容易理解的是,可以按照各种不同的配置来布置和设计如本文在附图中一般地描述和图示的这些组件。因此,下面对如在附图中表示的方法、装置、非瞬态计算机可读介质和***中的至少一个的实施例的详细描述不旨在限制所要求保护的本申请的范围,而是仅代表所选择的实施例。
如贯穿本说明书描述的这些特征、结构或者特点可以在一个或多个实施例中按照任何合适的方式被组合。例如,贯穿本说明书使用短语“示例实施例”、“一些实施例”或者其他类似的语言是指结合实施例描述的特定特征、结构或者特点可以被包括在至少一个实施例中这一事实。因此,贯穿本说明书出现短语“示例实施例”、“在一些实施例中”、“在其他实施例中”或者其他类似的语言不一定都是指相同的一组实施例,并且所描述的特征、结构或者特点可以在一个或多个实施例中按照任何合适的方式被组合。
另外,虽然术语“消息”可能已经被用于描述实施例,但是该应用可以被应用于许多类型的网络数据,诸如,分组、帧、数据报等。术语“消息”还包括分组、帧、数据报及其任何等效物。此外,虽然可以在示例性实施例中描绘某些类型的消息和信令,但是它们不限于特定类型的消息,并且该应用不限于特定类型的信令。
示例实施例提供了方法、***、非瞬态计算机可读介质、设备和/或网络,它们为许可的区块链网络提供条件性延期事务。
区块链是分布式***,该分布式***包括彼此通信的多个节点。区块链操作被称为链码的程序(例如,智能合约等),保存状态和账本数据,并且执行事务。一些事务是在链码上被调用的操作。一般而言,区块链事务通常必须由某些区块链成员“背书”,并且只有已背书的事务可以被交付给区块链并且对区块链的状态有影响。未背书的其他事务被忽视。可以存在用于管理功能和参数的一个或多个特殊链码,其被统称为***链码。
节点是区块链***的通信实体。“节点”可以在不同类型的多个节点可以在同一物理服务器上运行的意义上执行逻辑功能。节点在信任域中被分组,并且与按照各种方式控制它们的逻辑实体相关联。节点可以包括不同的类型,诸如,向背书器节点(例如,对等节点)提交事务调用并且向排序服务(例如,排序节点)广播事务提案的客户端或者提交客户端节点。另一类型的节点是可以接收客户端提交的事务,交付事务并且维持区块链事务的账本的状态和副本的对等节点。对等节点也可以扮演背书器节点的角色,但是这不是必要条件。排序服务节点(ordering-service-node)或者排序器(orderer)是为所有节点运行通信服务的节点,并且其实现递送保证,诸如,在交付事务和修改区块链的世界状态时向***中的对等节点中的每个对等节点进行的广播。
账本是区块链的所有状态转变的有序防篡改记录。状态转变可以由参与方(例如,客户端节点、排序节点、背书器节点、对等节点等)提交的链码调用(即,事务)引起。事务可能会引起一组资产键值对被交付给账本作为一个或多个操作数,诸如,创建、更新、删除等。账本包括被用来以块的形式存储不可变的顺序记录的区块链(也被称为链)。账本还包括状态数据库,该状态数据库维持区块链的当前状态。每个通道通常存在一个账本。每个对等节点为它们是其成员的每个通道维持账本的副本。
链是事务日志,该事务日志被构造为哈希链接的块,并且每个块包含N个事务的序列,其中N等于或者大于1。块报头包括块的事务的哈希以及前一个块的报头的哈希。按照这种方式,可以对账本上的所有事务进行排序并且密码地将它们链接在一起。相应地,不可能在不破坏哈希链路的情况下篡改账本数据。最近添加的区块链块的哈希表示链上在其之前到来的每次事务,这可以确保所有的对等节点处于一致并且可信的状态。链可以被存储在对等节点文件***(即,本地文件***、附加存储文件***、云文件***等)上,从而有效地支持区块链工作负载的仅附加性质。
不可变账本的当前状态表示针对被包括在链事务日志中的所有键的最新值。因为当前状态表示通道已知的最新键值,所以,该当前状态有时被称为世界状态。链码调用针对账本的当前状态数据执行事务。为了使这些链码交互有效,键的最新值可以被存储在状态数据库中。状态数据库可以只是链的事务日志的索引视图,因此,可以随时从链中重新生成状态数据库。在对等节点启动之时并且在事务被接受之前,可以自动恢复(或者若需要,生成)状态数据库。
示例实施例涉及方法、设备、网络、非瞬态计算机可读介质和/或***,它们支持区块链解决方案,该区块链解决方案包括基于特定条件被满足的时间的延期事务执行。之前,被提交至区块链的事务立即(或者尽可能快地,基于其他同时提交的事务)被执行。通过允许立即和延期事务执行,这种解决方案的一些益处包括针对区块链的更大的灵活性。延期事务可以在各种用户指定的条件下被执行。
区块链与传统数据库的不同之处在于:区块链不是中心存储装置,而是分散式不可变的并且安全的存储装置,其中节点必须共享存储装置中的记录的变化。区块链中固有的并且帮助实现区块链的一些属性包括但不限于:不可变账本、智能合约、安全性、隐私性、分散化、共识、背书、可访问性等,本文进一步描述了这些属性。根据各种方面,由于区块链固有的并且唯一的不变性/可追究性、分散式处理、共识和背书而实现条件性延期事务执行。特别地,条件性延期区块链事务最终被存储在许可的区块链网络上的不可变的共享账本上。本申请在每个排序器节点或者背书器节点内利用新的分离的独立条件性事务处理功能性以便提供分散式处理。排序器节点或者背书器节点中的每一个涉及共识过程,因为事务处理条件由所有的排序器节点或者背书器节点核实以便确定执行的有效性。至少在两个点处对事务进行背书:当从客户端节点接收到事务提案时,以及刚好在事务执行之前。在确保事务仍然有效的情况下,检查背书非常重要。
示例实施例的一个益处是:通过基于特定条件评估为真而触发区块链上的事务改进了计算***的功能性。例如,如果在特定时间段内没有出现新的出价,则能够关闭在区块链平台上进行的拍卖。然而,在分散式***中,不清楚哪一方将负责确定在指定的超时持续时间期间没有出现新的出价。按照分散的方式来解决这个问题是本申请的新颖性的一部分。在传统数据库中不会出现该问题,因为数据库的单个所有者可以单方面地确定已经经过超时持续时间,并且可以调用关闭拍卖。
通过本文描述的区块链解决方案,计算***可以通过在已经满足预定义条件之前推迟事务执行来执行新颖的功能性。常规的计算***基于当前条件立即执行事务。
示例实施例提供了优于传统数据库的许多益处。例如,通过允许客户端节点在延期事务被提交至区块链网络作为事务提案的同时指定执行条件而实现了各种优点。传统数据库实时并且按照接收到的顺序响应读取/写入/更新请求,并且不支持条件性延期执行。
同时,如果使用传统数据库来实现示例实施例,则示例实施例将遭受不必要的缺点,诸如,立即执行和一般无法对外部提供的执行条件起作用。相应地,示例实施例提供了对在许可的区块链网络中的条件性延期事务的技术/领域中的问题的特定解决方案。
图1A图示了根据示例实施例的利用区块链的条件性延期事务的网络示意图。参照图1A,网络100包括一个或多个客户端节点104。客户端节点104向区块链网络100发起事务提案124,包括本申请中的条件性延期事务提案。延期事务提案包括一个或多个条件以及在条件被满足时要采取的一个或多个动作。客户端节点104可以自己生成事务提案124,或者代表不是区块链网络100的一部分的其他客户端将事务提案124提交至区块链网络。网络100本身是许可的区块链网络,诸如,Hyperledger Fabric网络100。
本申请优选地要求许可的区块链***100,该许可的区块链***100支持共同的“世界视图”状态表示(例如,交付的事务和作为时间概念的块高度)、用于客户端指定涉及世界视图和智能合同状态的条件的能力、当发起事务时,连续地/周期性地/在每个块中追踪条件针对每次活动的延期事务变为真的时间的能力、在延期事务的条件变为真时触发执行延期事务,获得共识,以及交付块中的结果和即使存在节点故障和/或恶意行为,也针对延期事务执行支持恰好一次语义的能力。当条件评估为真时,这由所有非故障区块链节点确认。然后调用延期区块链事务。如果将条件确定为真的每个区块链节点都调用智能合约,则事务将被执行多次,这将是错误。延期区块链事务必须恰好被执行一次。例如,针对延期区块链事务的一个用例是建立定期付款。在每个月的1号,承租人想向房东汇款1000美元。因此,条件将是“日期是月份的1号吗?”,并且对应的延期区块链事务将是“从账户x向房东的账户汇款1000美元”。事务必须仅在条件变为真时被执行,并且必须恰好被执行一次。事务应该按照分散的方式被执行,而没有任何一个节点负责事务。如果区块链网络具有10个节点,则当是月份的1号时,这些节点中的每个节点都会将条件确定为真。10个节点中的每个节点都不应该调用事务—调用事务将引起10次事务,并且向房东付款10次。必须恰好只有来自10个节点的一次事务调用—然后节点需要达成共识并且恰好触发事务调用一次。一旦事务被触发,就将在区块链网络中进行常规过程,包括分散式执行。
存在事务执行需要被推迟的许多真实世界场景。例如,在一个实施例中,可能需要在指定时间(例如,每个月的开始)之后进行支付。如果存在这种情况,则它可以利用可信时间谕示来处理,而不是以其他方式。可信时间谕示可以是其提供的信息可信的人或者计算机程序。由于区块链智能合约按照分散的方式执行,因此,为了避免不同的节点针对智能合约的执行产生不同的结果(非确定性),智能合约通常仅对被存储在区块链内的数据进行操作。这确保了执行智能合约的所有节点都将产生相同的输出。如果智能合约需要时间概念(例如,经过了2018年6月1日美国东部时间上午9点吗?),则其可以询问时间谕示。可以信任该时间谕示以向执行智能合约的每个节点回复相同的答案(是或者否),这确保了所有节点产生确定性输出。作为示例,已经为Ethereum区块链平台和Corda区块链平台创建了谕示。
在另一实施例中,如果发现证券资产(例如,股票)在市场中很不稳定或者在较短的时间帧内进行了太多次事务,则可以关闭金融证券交易。交易市场通常具有“交易限制”或者“下限条款”作为监管工具。如果价格快速波动,即,上升或者下降得过快,则可以针对交易关闭特定股票或者整个股票市场以防止市场崩溃。本申请提供了对有关区块链平台上的数字资产的交易进行类似的约束的能力,而不需要中央机构确定波动性过高(以及有风险)并且还确定关闭市场。通过使用本文中的方法,这种约束或者限制可以按照分散的方式被实现为具有有关波动性测量的条件的延期事务,以确定是否以及何时必须关闭交易。在又一实施例中,拍卖可以在没有接收到出价的指定持续时间之后关闭(例如,一天没有接收到出价)。
在又一事务中,可以基于由一个参与者跨多个智能合约执行的事务量来确定利率/税率。可以利用父智能合约来处理这种情况,该父智能合约追踪在区块链网络内的所有其他智能合约中进行的事务,但是效率非常低并且将不允许多个智能合约并行操作。例如,可以向经常频繁出现的客户提供折扣,或者基于他们正执行的事务量的更高利率。例如,如果一个月内的所有事务的累积存款超过1000万美元,则向余额应用4%的利率;如果一个月内的所有事务的累积存款超过100万美元,则向余额应用3.5%的利率。可以基于客户是否执行阈值数目的事务来计算将被应用于客户端的折扣或者利率或者税收作为延期事务。如果这不是如本申请中那样按照分散的方式执行的延期事务,则需要信任某一机构或者实体以应用正确的利息或者税收或者折扣。这就失去了区块链技术的分散化效益。
所有延期事务在逻辑条件变为真时被触发—条件性延期事务—在现今的区块链平台中不支持该条件性延期事务。在智能合约中,可能不能指定所有的条件,因为智能合约确实知道诸如所交付的事务的数目等许多参数(即,智能合约缺乏外部视角或者“世界视图”)。在一个实施例中,逻辑可以涉及可用于平台但是不可用于任何一个智能合约的信息。
许多可能类型的条件都是可能的。例如,可以由平台实施的条件中的一些条件包括:仅在自部署了特定智能合约以来已经添加了特定数目的块时执行事务,在已经在智能合约上执行了特定数目的事务时执行事务,在一段时间内没有执行其他事务(由某一参与者或者一组参与者进行)时执行事务,在一个参与者已经在一个智能合约上执行了特定数目的事务时执行事务,在参与者已经跨多个智能合约执行了特定数目的事务时执行事务,或者在时间约束条件被满足时执行事务。在一个实施例中,条件被存储在延期区块链事务的报头部分中,并且动作被存储在有效负载部分中。
网络100包括一个或多个背书器节点108,该一个或多个背书器节点108接收事务提案124。客户端节点104将事务提案124A发送至所需的一组对等节点(背书器节点108)中的每一个对等节点。然后,每个对等节点108使用事务提案124A来独立地执行链码以生成事务提案响应124A。事务提案响应124A没有将该更新应用于共享账本(未示出),而是对等节点108对其进行签名并且返回至客户端节点104。背书器节点108通过添加其数字签名并且使用其私钥对整个有效负载进行签名来对提案响应124A进行背书。该背书随后可以被用来证明该组织的对等节点108生成了特定响应。一旦客户端节点104已经接收到足够数目的已签名提案响应124A,就准备提交条件性延期事务。
接下来,客户端节点104将延期区块链事务128提交至许可的区块链网络100中的一个或多个背书器节点112。通常(即,对于非延期事务),排序器节点112从客户端节点104接收包含已背书的事务提案响应的事务,相对于其他事务对每次事务进行排序,并且将批量事务打包成准备好用于分发回被连接至排序器节点112的所有对等节点(包括最初的背书器节点108)的块。然而,由于在这种情况下的事务128是延期事务,因此,它们不立即被执行,而是仅在延期区块链事务128中指定的一个或多个条件被满足之后被执行。图1B描述了关于背书器节点112处理条件性延期事务处理的各种细节。
在接收到条件性延期区块链事务128之后,每个排序器节点112将延期区块链事务128存储到延期事务存储库160,并且还存储到延期事务存储桶136。排序器节点112通过将延期区块链事务放置在共享事务存储桶136中并且还记录在区块链上以进行审计来向其他排序器节点112宣布该事务。每个排序器节点112还将延期事务确认132提供回请求客户端节点104。
一旦已经存储了延期区块链事务128,每个排序器节点112就监测在延期区块链事务128中指定的条件以确定已经满足条件的时间。在一个实施例中,条件可以包括时间参数、区块链高度、块数、事务计数、智能合约状态和针对区块链的世界状态中的一个或多个。如果排序器节点112检测到已经符合或者满足针对延期区块链事务128的条件,则排序器节点112对背书器节点108生成用于背书124B的事务提案。继而,背书器节点108模拟延期区块链事务,计算读写集,对提案进行签名,对延期区块链事务进行背书(124B),并且将其发送回排序器节点112。
虽然此时已经对来自客户端节点104的事务提案124A进行了背书,但是重要的是,执行该后一背书以确保事务128仍然有效。如果事务128仍然有效,则背书器节点108向排序器节点112提供背书。注意,一个以上排序器节点112可以尝试发起/执行延期区块链事务是可能的,但是由于在背书器节点108处的重放-攻击保护,将仅考虑延期区块链事务一次。客户端节点104可以不止一次地提交相同的延期区块链事务也是可能的。然而,这种情况与一个以上排序器节点112发起延期区块链事务的情况完全相似,并且可以按照相同的方式来处理。
一旦已经对事务进行了背书(124B)并且排序器节点112接收到足够数目的背书,排序器节点112就将延期区块链事务144放置到事务队列140中,在该事务队列140中,在预定数目的延期事务144准备好被提交至新的块之前,延期区块链事务144被缓冲。排序器节点112在新的块中恰当地对事务144进行排序,并且将事务块148提供至一个或多个提交者节点116。该提交者节点116然后将交付的块152提供至共享账本120,这就完成了延期区块链事务。
图1B图示了根据示例实施例的在区块链中的排序器节点112的延期事务功能性的网络示意图。参照图1B,排序器节点112包括新的功能性以便处理条件性延期区块链事务128。
排序器节点112包括延期动作处理器156,该延期动作处理器156从客户端节点104接收延期区块链事务128,并且将延期事务172记录到延期事务存储库160。在一个实施例中,延期事务存储库160是包括所有未交付的延期区块链事务128的单个数据结构,不管要采取的条件或者动作如何。在另一实施例中,延期事务存储库160基于条件类型被组织成若干列表。条件类型是“条件”的任何类型的子类别,并且可以包括等待时间经过或者发生、区块链中待实现的特定块高度、针对区块链的要发生的特定世界状态、待实现的特定智能合约状态或者由排序器节点112可测量的任何其他情况。这些条件可以独立地存在或者组合地存在,诸如,“块高为249”、“在2028年1月1日美国东部时间10:00之后的时间”、“特定智能合约中的事务计数=100”或者“在特定时间和区块链高度之后的世界状态x”。在一个实施例中,未对条件列表进行分类,并且针对新接收到的延期区块链事务的条件被附加到列表的末尾。在另一实施例中,可以通过参数值来在内部对列表进行分类。例如,对于基于用于事务执行的日期的列表,可以按照日期来对列表进行分类。这可以使搜索加速并且将必须被读取和评估的列表条目的数目最小化。
传入的延期区块链事务128被放置到与其具有的条件类型相对应的列表中。在一个实施例中,如果不存在与延期区块链事务128的条件类型相对应的列表,则延期区块链事务128被放置到“杂项”列表中。在另一实施例中,如果不存在与延期区块链事务128的条件类型相对应的列表,则为新的条件类型创建新的列表,并且延期区块链事务128被放置到新的类别类型列表中。相较于一个较大的单个列表,可以更快地搜索到有利地利用多个类别类型列表的实施例,对于本申请,这引起更快的监测和条件满足确定。
与每个排序器节点112相关联的条件处理单元164对延期事务存储库160中的所有延期区块链事务的条件进行评估。评估可以是连续的,周期性地基于时间,或者周期性地基于块高度(即,区块链中交付的块的数目)。当已经满足针对特定延期区块链事务的条件时,触发与满足的条件(并且被包括在延期区块链事务的有效负载内)相对应的一个或多个动作以用于执行。条件处理单元164向延期事务处理器156提供警报,该警报使延期事务处理器156对延期区块链事务128执行最后一次背书。
条件处理单元164包括处理与事务相关联的条件并且输出真或者假的逻辑。例如,“真”可以指定可以立即被执行的事务,而“假”可以指定需要保持等候的事务。在一个实施例中,条件处理单元164可以按照循环的方式来遍历所有事务并且检查针对所有事务的条件,并且针对条件为真的事务提出警报。在另一实施例中,条件处理单元164可以针对每种类型的条件具有分离的子单元。这些类似的条件可能需要待执行的类似逻辑以便发送警报。用以处理不同条件的逻辑可以由管理员在外部输入,或者可以基于某一预定义策略。
延期事务处理器156将延期区块链事务发送至背书器节点108,该背书器节点108返回已背书的事务124B。如先前讨论的,一旦已经从背书器节点108的所需子集接收到正确数目的背书事务124B,就将延期区块链事务144放置在事务队列140上以等待对新的事务块148进行排序和形成新的事务块148。
虽然块生成逻辑168针对延期区块链事务128的过程流产生用于所有事务(无论是否延期)的事务块148,但是块生成逻辑168将延期事务144转换为事务块148。当延期区块链事务由块生成器168处理时,通过再次调用条件处理单元164来重新确认/重新验证延期区块链事务以用于执行。这样做是为了确保排序器节点112在针对事务的正确执行时间上形成共识。这推翻了即使还未满足条件,恶意的/有错误的/拜占庭式排序器节点112也可以调用延期事务以用于执行的情况。
在备选实施例中,延期事务处理器156、延期事务存储库160和条件处理单元164可以被设置在背书器节点108而不是排序器节点112内。虽然这将与客户端授权银行代表他们发起延期事务类似,但是其具有以下缺点:如果只委托了一个节点负责条件存储/追踪/解决,则可能失败。如果委托了多个节点负责条件存储/追踪/解决,则需要另一轮共识以确保恰好一次语义成为结果。
本申请描述了用于客户端节点104在一个或多个特定条件被满足时提交待执行的延期区块链事务的方法和***。条件可以基于智能合约状态以及区块链平台的世界视图,并且还可以基于一个参数,或者可以是涉及多个参数的复杂条件。条件可以依赖于来自***中的一个以上节点的同意/信息,诸如当前时间。当(多个)条件变为真并且事务结果恰好被包括在区块链中一次时,自动发起延期区块链事务以用于执行。在一个实施例中,排序器节点112实施与条件性事务相关联的条件,并且还将事务的执行实例化。这样,条件及其在延期的时间的执行可以利用在***的不同节点处和共享账本中可用的日志进行审计。
图2A图示了根据示例实施例的区块链架构配置200。参照图2A,区块链架构200可以包括某些区块链元件,例如,一组区块链节点202。区块链节点202可以包括一个或多个节点204至210(仅通过示例描绘这些节点)。这些节点参与若干活动,诸如,区块链事务添加和验证过程(共识)。区块链节点204至210中的一个或多个可以对事务进行背书,并且可以为架构200中的所有区块链节点提供排序服务。区块链节点可以发起区块链认证,并且寻求写入被存储在区块链层216中的区块链不可变账本,该区块链不可变账本的副本还可以被存储在基础物理基础架构214上。区块链配置可以包括被链接至应用程序接口(API)222以访问并且执行存储的程序/应用代码220(例如,链码、智能合约等)的一个或多个应用224,可以根据参与者寻求的定制配置来创建存储的程序/应用代码220,并且存储的程序/应用代码220可以维持其自己的状态,控制其自己的资产,以及接收外部信息。这可以被部署为事务,并且可以经由附加到分布式账本而被安装在所有的区块链节点204至210上。
区块链基础或者平台212可以包括各种区块链数据层、服务(例如,密码信任服务、虚拟执行环境等)以及可以被用来接收和存储新的事务并且向寻求访问数据条目的审计员提供访问权限的基础物理计算机基础架构。区块链层216可以使接口暴露出来,该接口提供处理程序代码所必需的虚拟执行环境的访问权限并且接合物理基础架构214。密码信任服务218可以被用来核实事务(诸如,资产交换事务)和使信息保持私密。
图2A中的区块链架构配置可以经由暴露出来的一个或多个接口以及由区块链平台212提供的服务来处理和执行程序/应用代码220。代码220可以控制区块链资产。例如,代码220可以存储和传递数据,并且可以以智能合约和具有条件的相关联的链码以及受其执行的影响的其他代码元素的形式由节点204至210执行。作为非限制性示例,可以创建智能合约以执行提醒、更新和/或受改变、更新等影响的其他通知。智能合约本身可以被用来标识与对账本的授权和访问要求以及使用相关联的规则。例如,包括执行条件和与那些条件绑定的一个或多个动作的条件性延期事务226可以由被包括在区块链层216中的一个或多个处理实体(例如,虚拟机)处理。交付的事务228可以包括一次或者多次条件性延期区块链事务。物理基础架构214可以被利用来检索本文描述的数据或者信息中的任何数据或者信息。
在链码内,可以经由高级应用和编程语言来创建智能合约,并且然后将其写入区块链中的块。智能合约可以包括利用区块链(例如,区块链对等节点的分布式网络)被注册、存储和/或复制的可执行代码。事务是对可以响应于与满足智能合约相关联的条件而被执行的智能合约代码的执行。执行智能合约可以触发对数字区块链账本的状态的(多次)可信修改。可以通过一个或多个共识协议来在区块链对等节点的整个分布式网络中自动复制由智能合约执行引起的对区块链账本的(多次)修改。
智能合约可以按照键值对的格式来将数据写入区块链。此外,智能合约代码可以读取被存储在区块链中的值并且在应用操作中使用它们。智能合约代码可以将各种逻辑操作的输出写入区块链。代码可以被用来在虚拟机或者其他计算平台中创建临时数据结构。被写入区块链的数据可以是公共的和/或可以对其进行加密并且将其保持为私密的。所提供的执行环境将由智能合约使用/生成的临时数据保存在存储器中,然后,一旦标识出针对区块链所需的数据,就将其删除。
链码可以包括对智能合约的代码解释,具有附加特征。如本文描述的,链码可以是被部署在计算网络上的程序代码,其中,链码由链验证器在共识过程期间一起执行和验证。链码接收哈希,并且从区块链中检索与通过使用先前存储的特征提取器而创建的数据模板相关联的哈希。如果哈希标识符的哈希和从存储的标识符模板数据创建的哈希相匹配,则链码向所请求的服务发送授权密钥。链码可以写入与密码细节相关联的区块链数据。在图2A中,监测延期事务存储库中的条件。一个功能可以是:将具有满足的条件的延期区块链事务提交至一个或多个背书器节点108,其可以被提供至节点204至210中的一个或多个。
图2B图示了根据示例实施例的在区块链的节点之间的事务流程250的示例。参照图2B,事务流程可以包括:由应用客户端节点260将事务提案291发送至背书对等节点281。该背书对等节点281可以核实客户端签名并且执行链码功能以发起事务。输出可以包括链码结果、在链码中读取到的键/值版本的集合(读集)以及以链码的形式被写入的键/值的集合(写集)。若批准,则将提案响应292与背书签名一起发送回客户端260。该客户端260将背书聚集到事务有效负载293中,并且将其广播到排序器节点284。该排序器节点284然后将有序的事务作为块递送至通道上的所有对等节点281至283。在交付给区块链之前,每个peer节点281至283都可以验证事务。例如,对等节点可以检查背书策略以确保正确地分配指定的对等节点已经对结果进行了签名并且已经向事务有效负载293认证了签名。
再次参照图2B,客户端节点260通过构建请求并且将请求发送至作为背书器节点的对等节点281来发起事务291。客户端260可以包括利用支持的软件开发工具包(SDK)(诸如,NODE、JAVA、PYTHON等)的应用,支持的软件开发工具包(SDK)利用可用的API来生成事务提案。提案是调用链码功能使得可以将数据读取到和/或写入账本(即,为资产写入新的键值对)的请求。SDK可以用作用以将事务提案打包成适当的架构格式(例如,通过远程过程调用(RPC)的协议缓冲区)并且获取客户端的密码凭证以产生用于事务提案的唯一签名的垫片。
作为响应,背书对等节点281可以核实:(a)良好地形成事务提案,(b)在过去还未提交事务(重放-攻击保护),(c)签名是有效的,以及(d)提交者(在该示例中,为客户端260)被适当授权以在该通道上执行所提议的操作。背书对等节点281可以将事务提案输入视为调用的链码函数的自变量。然后针对当前状态数据库执行链码以产生包括响应值、读集和写集的事务结果。然而,此时,不对账本进行更新。在292中,与背书对等节点281的签名一起将值的集合作为提案响应292传递回客户端260的SDK,该SDK对有效负载进行解析以供应用使用。
作为响应,客户端260的应用检查/核实背书对等节点签名,并且比较提案响应以确定提案响应是否相同。如果链码仅查询账本,则应用将检查查询响应,并且通常不会将事务提交至排序器节点284。如果客户端应用打算将事务提交至排序器节点284以更新账本,则应用确定在提交之前是否已经满足指定的背书策略(即,事务所需的所有对等节点都对事务进行了背书吗)。此处,客户端可以包括事务的多方中的仅一方。在这种情况下,每个客户端可以具有其自己的背书器节点,并且每个背书器节点都将需要对事务进行背书。架构使得即使应用选择不检查响应或者以其他方式转发未背书的事务,背书策略也仍然将由对等节点实施并且在交付验证阶段支持背书策略。
在成功检查之后,在步骤293中,客户端260将背书聚集到事务中,并且将事务消息中的事务提案和响应广播到排序节点284。事务可以包含读集/写集、背书对等节点签名和通道ID。排序节点284不需要检查事务的整个内容以便执行其操作,而是排序节点284可以简单地从网络中的所有通道接收事务,通过通道按时间顺序对它们进行排序,并且每通道创建事务的块。
将事务的块从排序节点284递送至通道上的所有对等节点281至283。验证块内的事务294以确保满足任何背书策略,并且确保针对读集变量,账本状态没有发生改变,因为读集通过事务执行而生成。将块中的事务标记为有效或者无效。此外,在步骤295中,每个对等节点281至283将块附加到通道的链,并且对于每个有效的事务,将写集交付给当前状态数据库。发出事件以向客户端应用通知事务(调用)已经被不可变地附加到链,以及通知事务是否已经被验证或者无效。
图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来使用至该数据的带外连接。
图4图示了根据示例实施例的用于执行条件性延期事务的***消息传递示意图。参照图4,***图400包括客户端节点410、背书器节点420、排序器节点430和提交者节点440。这些节点中的每一个是许可的区块链网络的一部分,该许可的区块链网络被配置为处理常规(即,立即)区块链事务以及条件性延期区块链事务。
客户端节点410创建延期事务415。延期事务包括处理延期事务的条件,并且在最初由一个或多个背书器节点420进行背书作为延期事务提案。一旦背书器节点420已经批准延期事务提案,客户端节点410就将延期事务416提交至一个或多个排序器节点430。
排序器节点430将延期事务425记录到与每个排序器节点430相关联的延期事务存储库。排序器节点430与区块链网络中的其他排序器节点430共享延期事务,并且还将延期事务记录在由所有排序器节点430共享的延期事务存储桶内的块中。还向客户端节点410发送对接收到延期事务的确认。
每个排序器节点430监测在延期事务中指定的并且如本文描述的条件426。在某一时刻,可以满足延期事务中的条件(435)或者可以触发延期事务中的条件—这然后发起由延期事务指定的动作。排序器节点430请求背书器节点420对延期事务进行最后一次背书(436)。背书器节点420对延期事务445进行背书,并且将已背书的事务446发送至排序器节点430。
在已经接收到已背书的延期事务之后,排序器节点430将延期事务提交至将被用来创建事务的新的块的事务队列450。所有的排序器节点430都核实延迟事务的满足条件以便核实执行的有效性,并且对提交者节点440生成包括延迟事务451的新的块。最后,提交者节点440将包括延期事务的新的块交付给共享账本和区块链455。
图5A图示了根据示例实施例的处理区块链中的条件性延期事务的示例方法的流程图。参照图5A,方法500可以包括以下步骤中的一个或多个。
在框504处,许可的区块链网络中的客户端节点创建延期区块链事务。该延期区块链事务包括一个或多个条件和一个或多个动作。
在框508处,排序器节点从客户端节点接收延期区块链事务,并且存储延期区块链事务。然后,在一个或多个条件被满足之前,排序器节点监测一个或多个条件。
在框512处,响应于一个或多个条件被满足,排序器节点请求背书器节点对延期区块链事务进行背书。重要的是,刚好在执行事务之前对延期区块链事务进行背书以确保延期区块链事务仍然有效。
在框516处,排序器节点将延期区块链事务提交至事务队列。该事务队列是用于未交付的延期区块链事务的缓冲区。
在框520处,排序器节点将事务队列中的事务交付给区块链,从而交付延期区块链事务。预定数目的事务被包括在每个块中。
图5B图示了根据示例实施例的推迟区块链中的乱序事务的示例方法的流程图550。参照图5B,方法550还可以包括以下步骤中的一个或多个。
在框554处,节点接收一批事务。在任何时候,例如,基于定时器或者其他事件,节点可以确认接收到一批事务,从而允许将确认捎带在已经在主机应用中被发送的消息上。
在框558处,节点计算传出队列的根哈希。节点包括表示其传出队列的Merkle树的根哈希。如果挑战节点证明截至某一摘要,给定事务被包括在传出队列中,或者甚至提供队列的全部内容,则可以使用标准的Merkle证明技术来证明其响应的准确性。
在框562处,对等节点接收确认的一批事务。该批量处理机制允许确认滞后于所发送的消息。为了确保在最终未检测到消息的情况下无法忽略消息,预定数目的消息可以是显著的,而在拒绝发送附加消息之前不进行确认。如果接收节点忽略了消息,则发送节点基本上关闭该通道,从而确保检测。
在框566处,对等节点将接收到的事务与传出队列的快照相比较。对等节点可以将其已经发送至节点的事务与节点的传出队列的这些快照相比较以检测节点是否“丢失”事务或者重新对事务进行排序。被包括在摘要中的块高度和哈希使得能够确认事务仅在它们被包括在块中时被去除。如果发现节点有欺骗行为(例如,通过去除传出队列中的事务或者重新对传出队列中的事务进行排序),则摘要和内容可以提供节点已经违反规则的证据。如果节点不愿意或者无法响应挑战,则可以使用内置机制(诸如,放弃令牌或者被排除)以及外部机制(诸如,诉讼、监管处罚和信誉损害)来对其进行处罚。然而,节点需要保留数据多长时间以促进对挑战的响应是策略问题。
在框570处,对等节点推迟乱序事务。可以按照置换顺序来处理事务,从而推迟考虑由于其现时乱序而还不能被处理的任何事务。延期事务保持处于置换顺序。一旦已经考虑了所有的事务,就按照置换顺序来类似地处理延期事务,再次推迟因为其现时乱序而仍然无法被处理的任何事务。在已经处理了所有的事务之前,或者在对延期事务的完全传递不再产生可以被处理的事务之前,重复该过程。由于无法对剩余的事务进行排序,因此,可以明确地拒绝这些事务。
图6A图示了根据示例实施例的被配置为根据示例操作方法中的一种或者多种操作方法来对区块链执行各种操作的示例物理基础架构。参照图6A,示例配置600包括具有区块链620和智能合约630的物理基础架构610,该物理基础架构610可以执行被包括在任何示例实施例中的任何操作步骤612。步骤/操作612可以包括在一个或多个流程图和/或逻辑图中描述或者描绘的步骤中的一个或多个步骤。步骤可以表示从驻留在计算机***配置的物理基础架构610上的一个或多个智能合约630和/或区块链620写入或者读取的输出信息或者写入信息。可以从执行的智能合约630和/或区块链620输出数据。物理基础架构610可以包括一个或多个计算机、服务器、处理器、存储器和/或无线通信设备。
图6B图示了根据示例实施例的在合约各方与中介服务器之间的示例智能合约配置,该中介服务器被配置为在区块链上实施智能合约条款。参照图6B,配置650可以表示通信会话、资产转移会话或者由明确地标识一个或多个用户设备652和/或656的智能合约630驱动的过程或者程序。智能合约执行的执行、操作和结果可以由服务器654管理。智能合约630的内容可能需要由实体652和656中的一个或多个进行数字签名,该实体652和656是智能合约事务的双方。智能合约执行的结果可以被写入区块链作为区块链事务。
上面的实施例可以被实现在硬件中、在由处理器执行的计算机程序中、在固件中或者上述内容的组合中。计算机程序可以体现在计算机可读介质(诸如,存储介质)上。例如,计算机程序可以驻留在随机存取存储器(“RAM”)、闪速存储器、只读存储器(“ROM”)、可擦除可编程只读存储器(“EPROM”)、电可擦除可编程只读存储器(“EEPROM”)、寄存器、硬盘、可移动磁盘、压缩盘只读存储器(“CD-ROM”)或者本领域中已知的任何其他形式的存储介质中。
示例性存储介质可以被耦合至处理器,使得处理器可以从存储介质读取信息和向存储介质写入信息。在备选方案中,存储介质可以是处理器的组成部分。处理器和存储介质可以驻留在专用集成电路(“ASIC”)中。在备选方案中,处理器和存储介质可以作为分立组件驻留。例如,图7图示了示例计算机***架构700,该示例计算机***架构700可以表示上述组件中的任何组件或者被集成在上述组件中的任何组件中等。
图7不旨在对本文描述的本申请的实施例的使用范围或者功能性提出任何限制。无论如何,计算节点700都能够被实现和/或执行上文阐述的功能性中的任何功能性。
在计算节点700中,存在计算机***/服务器702,该计算机***/服务器702与许多其他通用或者专用计算***环境或者配置一起操作。可以适用于与计算机***/服务器702一起使用的众所周知的计算***、环境和/或配置的示例包括但不限于:个人计算机***、服务器计算机***、瘦客户端、胖客户端、手持式设备或者膝上型电脑设备、多处理器***、基于微处理器的***、机顶盒、可编程消费者电子产品、网络PC、小型计算机***、大型计算机***以及包括上述***或者设备中的任何***或者设备的分布式云计算环境等。
可以在由计算机***执行的计算机***可执行指令(诸如,程序模块)的一般上下文中描述计算机***/服务器702。一般,程序模块可以包括执行特定任务或者实现特定抽象数据类型的例程、程序、对象、组件、逻辑、数据结构等。可以在任务由通过通信网络被链接的远程处理设备执行的分布式云计算环境中实践计算机***/服务器702。在分布式云计算环境中,程序模块可以被定位在包括存储器存储设备的本地和远程计算机***存储介质中。
如图7所示,云计算节点700中的计算机***/服务器702以通用计算设备的形式表现。计算机***/服务器702的组件可以包括但不限于:一个或者多个处理器或者处理单元704,***存储器706,连接不同***组件(包括***存储器706和处理单元704)的总线。
总线表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,***总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(ISA)总线,微通道体系结构(MAC)总线,增强型ISA总线、视频电子标准协会(VESA)局域总线以及***组件互连(PCI)总线。
计算机***/服务器702典型地包括多种计算机***可读介质。这些介质可以是任何能够被计算机***/服务器702访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。在一个实施例中,***存储器706实现其他附图中的流程图。***存储器706可以包括易失性存储器形式的计算机***可读介质,例如随机存取存储器(RAM)710和/或高速缓存存储器712。计算机***/服务器702可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机***存储介质。仅作为举例,存储***714可以用于读写不可移动的、非易失性磁介质(图中未显示,通常称为“硬盘驱动器”)。尽管图1中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如CD-ROM,DVD-ROM或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线相连。存储器706可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本申请各实施例的功能。
具有一组(至少一个)程序模块718的程序/实用工具716,可以存储在例如存储器706中,这样的程序模块718包括——但不限于——操作***、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块718通常执行本申请所描述的各实施例中的功能和/或方法。
如本领域的技术人员要了解的,本申请的各方面可以体现为***、方法或者计算机程序产品。相应地,本申请的各方面可以采取完全硬件实施例、完全软件实施例(包括固件、驻留软件、微代码等)或者结合了在本文中通常都可以被称为“电路”、“模块”或者“***”的软件方面和硬件方面的实施例的形式。此外,本申请的各方面可以采取体现在其上包含有计算机可读程序代码的一个或多个计算机可读介质中的计算机程序产品的形式。
计算机***/服务器702也可以与一个或多个外部设备720(例如键盘、指向设备、显示器722等)通信,还可与一个或者多个使得用户能与该计算机***/服务器702交互的设备通信,和/或与使得该计算机***/服务器702能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口724进行。并且,计算机***/服务器702还可以通过网络适配器726与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器726通过总线与计算机***/服务器702的其它模块通信。应当明白,尽管图中未示出,可以结合计算机***/服务器702使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID***、磁带驱动器以及数据备份存储***等。
虽然已经在附图中图示了并且在前面的详细描述中描述了***、方法和非瞬态计算机可读介质中的至少一个的示例性实施例,但是要明白,本申请不限于所公开的实施例,而是能够进行如下面的权利要求书阐述和定义的许多重新布置、修改和替换。例如,各个附图中的***的能力可以由本文描述的或者在分布式架构中的并且可以包括发送器、接收器或者一对发送器和接收器的模块或者组件中的一个或多个执行。例如,由单独的模块执行的功能性的全部或者一部分可以由这些模块中的一个或多个执行。进一步地,在模块或者组件的内部或者外部,本文描述的功能性可以在各个时间并且与各种事件相关地被执行。而且,可以经由以下中的至少一项来在模块之间发送在各个模块之间发送的信息:数据网络、互联网、语音网络、互联网协议网络、无线设备、有线设备和/或经由多种协议。而且,可以直接和/或经由一个或多个其他模块来发送或者接收由模块中的任何模块发送或者接收的消息。
本领域的技术人员要了解,“***”可以体现为个人计算机、服务器、控制台、个人数字助理(PDA)、蜂窝电话、平板计算设备、智能电话或者任何其他合适的计算设备或者设备的组合。将上述功能呈现为由“***”执行并不旨在以任何方式限制本申请的范围,而是旨在提供许多实施例的一个示例。实际上,本文公开的方法、***和装置可以按照与计算技术一致的本地化和分布式形式被实现。
应该注意,在本说明书中描述的***特征中的一些***特征已经被呈现为模块以便更特别地强调其实现独立性。例如,模块可以被实现为包括定制的超大规模集成(VLSI)电路或者门阵列、现成半导体(诸如,逻辑芯片、晶体管或者其他分立组件)的硬件电路。模块还可以被实现在可编程硬件设备中,诸如,现场可编程门阵列、可编程阵列逻辑、可编程逻辑设备、图形处理单元等。
模块还可以至少部分地被实现在软件中以用于由各种类型的处理器执行。例如,所标识的可执行代码单元可以包括计算机指令的一个或多个物理块或者逻辑块,例如,该计算机指令可以被组织为对象、程序或者功能。然而,所标识的模块的可执行文件不需要在物理上位于一起,而是可以包括被存储在不同位置中的不同指令,当在逻辑上被连接在一起时,这些不同指令包括模块,并且实现用于模块的所述目的。进一步地,模块可以被存储在计算机可读介质上,例如,该计算机可读介质可以是硬盘驱动器、闪存设备、随机存取存储器(RAM)、磁带或者被用来存储数据的任何其他这种介质。
实际上,可执行代码模块可以是单个指令或者许多指令,并且甚至可以被分布在若干不同的代码段上,不同的程序之间,以及跨若干存储器设备分布。类似地,本文中可以在模块内标识和图示操作数据,并且可以按照任何合适的形式来体现操作数据以及将操作数据组织在任何合适类型的数据结构内。可以采集操作数据作为单个数据集,或者可以将操作数据分布在不同的位置上,包括分布在不同的存储设备上,并且至少部分地,操作数据可以仅作为***或者网络上的电子信号而存在。
将容易理解的是,可以按照各种不同的配置来布置和设计本申请中的如本文在附图中一般地描述和图示的组件。因此,对实施例的详细描述不旨在限制所要求保护的本申请的范围,而仅仅代表本申请的所选择的实施例。
本领域的普通技术人员将容易理解的是,可以利用处于不同顺序的步骤和/或利用处于不同于所公开的那些配置的配置中的硬件元件来实践上述内容。因此,虽然已经基于这些优选实施例描述了本申请,但是对于本领域的技术人员而言将明显的是,某些修改、变化和备选构造将是明显的。
虽然已经描述了本申请的优选实施例,但是应当明白,所描述的实施例仅是说明性的,并且当考虑本申请的等效物和修改的全范围(例如,协议、硬件设备、软件平台等)时,本申请的范围仅由所附权利要求书限定。
Claims (16)
1.一种方法,包括:
创建延期区块链事务,所述延期区块链事务包括动作和条件,所述动作仅在满足所述条件之后待执行;
在所述条件被满足之前监测所述条件;
响应于满足所述条件:
对所述延期区块链事务进行背书;
将所述延期区块链事务提交至事务队列;以及
将所述事务队列中的区块链事务交付给区块链。
2.根据权利要求1所述的方法,其中所述条件包括时间参数、区块链高度、块数、事务计数、智能合约状态和针对所述区块链的世界状态中的一个或多个。
3.根据权利要求1所述的方法,进一步包括:
响应于对所述延期区块链事务进行了背书而仅执行所述动作一次,其中所述延期区块链事务的结果仅在所述区块链中出现一次。
4.根据权利要求1所述的方法,进一步包括:
在与所述区块链相对应的区块链网络内的多个排序器节点之间共享所述延期区块链事务;以及
由所述多个排序器节点中的每个排序器节点检查所述延期区块链事务的有效性。
5.根据权利要求1所述的方法,其中响应于创建了所述延期区块链事务,所述方法进一步包括:
响应于创建了所述延期区块链事务而针对所述延期区块链事务提供第一背书;以及
核实所述延期区块链事务在所述第一背书与响应于满足所述条件的所述背书之间没有发生变化。
6.根据权利要求1所述的方法,其中在所述条件被满足之前监测所述条件包括:
将所述条件分配到存储针对所有未交付的延期区块链事务的条件的列表,所述列表中的每个条件被映射至对应的未交付的延期区块链事务;
定期搜索所述列表以获得被满足的条件;以及
在所述条件评估为真时标识所述延期区块链事务。
7.根据权利要求1所述的方法,其中在所述条件被满足之前监测所述条件包括:
将所述条件分配到存储针对具有与所述延期区块链事务相同的条件类型的未交付的延期区块链事务的条件的列表,其中每个条件类型具有不同的对应列表,其中所述列表中的每个条件被映射至对应的未交付的延期区块链事务;
定期搜索所述列表以获得被满足的条件;以及
在所述条件评估为真时标识所述延期区块链事务。
8.一种***,所述***包括:
许可的区块链网络,所述许可的区块链网络包括:
客户端节点,所述客户端节点被配置为:
创建延期区块链事务,所述延期区块链事务包括动作和条件;并且
请求对所述延期区块链事务进行的第一背书;
一个或多个背书器节点,所述一个或多个背书器节点被配置为对所述延期区块链事务进行第一背书和第二背书;以及
一个或多个排序器节点,每个排序器节点被配置为:
接收并且存储所述延期区块链事务;
在所述条件被满足之前监测所述条件;
响应于所述条件被满足:
请求对所述延期区块链事务进行的第二背书;
将所述延期区块链事务提交至事务队列;并且
将所述事务队列中的区块链事务交付给区块链。
9.根据权利要求8所述的***,其中所述条件包括时间参数、区块链高度、块数、事务计数、智能合约状态和所述区块链的世界状态中的一个或多个。
10.根据权利要求8所述的***,其中在所述一个或多个背书器节点中的其他背书器节点之前请求对所述延期区块链事务进行的第二背书的第一排序器节点被进一步配置为:
仅执行所述动作一次,其中所述延期区块链事务的结果仅在所述区块链中出现一次。
11.根据权利要求8所述的***,其中所述一个或多个排序器节点被进一步配置为:
在其他排序器节点之间共享所述延期区块链事务;并且
检查所述延期区块链事务的有效性。
12.根据权利要求8所述的***,其中所述一个或多个排序器节点被进一步配置为:
核实所述延期区块链事务在所述第一背书与所述第二背书之间没有发生变化。
13.根据权利要求8所述的***,其中所述一个或多个排序器节点在所述条件被满足之前监测所述条件包括:所述一个或多个排序器节点每个被进一步配置为:
将所述条件分配到包括针对所有未交付的延期区块链事务的条件的列表,所述列表中的被映射的每个条件与未交付的延期区块链事务相对应;
搜索所述列表以获得被满足的条件;以及
在所述条件评估为真时标识所述延期区块链事务。
14.根据权利要求8所述的***,其中所述一个或多个排序器节点在所述条件被满足之前监测所述条件包括:所述一个或多个排序器节点每个被进一步配置为:
将所述条件分配到包括针对具有与所述延期区块链事务相同的条件类型的未交付的延期区块链事务的条件的列表,其中每个条件类型具有不同的列表,其中所述列表中的每个条件与未交付的延期区块链事务相对应;
搜索所述列表以获得被满足的条件;以及
在所述条件评估为真时标识所述延期区块链事务。
15.一种包括指令的计算机可读介质,所述指令在由处理器读取时使得所述处理器执行根据权利要求1至7中任一项所述的方法中的各步骤。
16.一种计算机***,包括:被配置为执行根据权利要求1至7中任一项所述方法中各步骤的各模块。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/029,195 | 2018-07-06 | ||
US16/029,195 US20200013025A1 (en) | 2018-07-06 | 2018-07-06 | Conditional deferred transactions for blockchain |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110688425A true CN110688425A (zh) | 2020-01-14 |
CN110688425B CN110688425B (zh) | 2023-12-22 |
Family
ID=69102180
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910602271.7A Active CN110688425B (zh) | 2018-07-06 | 2019-07-05 | 针对区块链的条件性延期事务的方法和*** |
Country Status (2)
Country | Link |
---|---|
US (1) | US20200013025A1 (zh) |
CN (1) | CN110688425B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111294205A (zh) * | 2020-02-24 | 2020-06-16 | 联想(北京)有限公司 | 密钥管理方法及装置、计算机***以及可读存储介质 |
CN111430016A (zh) * | 2020-03-24 | 2020-07-17 | 杭州溪塔科技有限公司 | 一种基于区块链的病例信息共享方法、装置及电子设备 |
CN113393235A (zh) * | 2020-03-13 | 2021-09-14 | 富士通株式会社 | 处理写入请求的信息处理装置和发送控制方法 |
Families Citing this family (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20210174432A1 (en) * | 2018-08-07 | 2021-06-10 | Perpetual Altruism Limited | Computer implemented method and system for updating a database system for a blockchain version control system; computer implemented methods of auctioning an item for a seller, and computer implemented method of updating a smart contract |
US10862908B2 (en) * | 2018-08-09 | 2020-12-08 | Hrl Laboratories, Llc | System and method for consensus ordering of broadcast messages |
US11360964B2 (en) * | 2018-09-25 | 2022-06-14 | Innoplexus Ag | Collaborative generation of ontology on a blockchain |
US11720545B2 (en) * | 2018-12-19 | 2023-08-08 | International Business Machines Corporation | Optimization of chaincode statements |
CN111095325B (zh) | 2019-04-12 | 2023-10-27 | 创新先进技术有限公司 | 在分布式账本***中进行交易的并行执行 |
KR102289612B1 (ko) * | 2019-04-12 | 2021-08-18 | 어드밴스드 뉴 테크놀로지스 씨오., 엘티디. | 분산 원장 시스템에서 트랜잭션들의 병렬 실행 수행 |
US10999283B2 (en) * | 2019-04-15 | 2021-05-04 | Advanced New Technologies Co., Ltd. | Addressing transaction conflict in blockchain systems |
US11070379B2 (en) | 2019-04-18 | 2021-07-20 | Advanced New Technologies Co., Ltd. | Signature verification for a blockchain ledger |
CN111339187B (zh) * | 2020-02-20 | 2023-05-09 | 百度在线网络技术(北京)有限公司 | 基于智能合约的数据处理方法、装置、设备和存储介质 |
CN111523894A (zh) * | 2020-05-06 | 2020-08-11 | 杭州复杂美科技有限公司 | 数据延时公布方法、设备和存储介质 |
CN111524012A (zh) * | 2020-05-06 | 2020-08-11 | 杭州复杂美科技有限公司 | 数据延时公布方法、设备和存储介质 |
CN113438219B (zh) * | 2020-07-08 | 2023-06-02 | 支付宝(杭州)信息技术有限公司 | 一种基于区块链一体机的重放交易识别方法及装置 |
CN111541789A (zh) | 2020-07-08 | 2020-08-14 | 支付宝(杭州)信息技术有限公司 | 一种基于区块链一体机的数据同步方法及装置 |
CN111541784B (zh) | 2020-07-08 | 2021-07-20 | 支付宝(杭州)信息技术有限公司 | 一种基于区块链一体机的交易处理方法及装置 |
CN111539829B (zh) | 2020-07-08 | 2020-12-29 | 支付宝(杭州)信息技术有限公司 | 一种基于区块链一体机的待过滤交易识别方法及装置 |
CN112492002B (zh) | 2020-07-08 | 2023-01-20 | 支付宝(杭州)信息技术有限公司 | 一种基于区块链一体机的交易转发方法及装置 |
CN111770198B (zh) * | 2020-08-31 | 2020-12-18 | 支付宝(杭州)信息技术有限公司 | 一种信息共享方法、装置及设备 |
CN111930847B (zh) * | 2020-09-16 | 2021-01-08 | 深圳壹账通智能科技有限公司 | 基于区块链的数据处理方法、装置及存储介质 |
CN112613861B (zh) * | 2020-12-18 | 2024-02-02 | 国网浙江省电力有限公司嘉兴供电公司 | 一种基于联盟链的电力预售交易方法、装置及*** |
CN112711600A (zh) * | 2020-12-30 | 2021-04-27 | 普华云创科技(北京)有限公司 | 一种可设置交易延时上链的方法和*** |
US20220237578A1 (en) * | 2021-01-26 | 2022-07-28 | Bank Of America Corporation | Multi-Computer Processing System for Dynamic Event Control |
CN112527912B (zh) * | 2021-02-07 | 2021-06-01 | 腾讯科技(深圳)有限公司 | 基于区块链网络的数据处理方法、装置及计算机设备 |
CN112598524B (zh) * | 2021-02-26 | 2021-06-22 | 北京全息智信科技有限公司 | 一种条件触发的区块链交易的处理方法、装置及电子设备 |
CN113132253B (zh) * | 2021-03-29 | 2022-09-16 | 杭州趣链科技有限公司 | 带宽限流方法和电子设备 |
CN113656510A (zh) * | 2021-08-26 | 2021-11-16 | 支付宝(杭州)信息技术有限公司 | 区块链***中执行交易的方法及装置 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170046689A1 (en) * | 2015-07-14 | 2017-02-16 | Fmr Llc | Crypto Voting and Social Aggregating, Fractionally Efficient Transfer Guidance, Conditional Triggered Transaction, Datastructures, Apparatuses, Methods and Systems |
CN106874087A (zh) * | 2017-01-25 | 2017-06-20 | 上海钜真金融信息服务有限公司 | 一种区块链智能合约定时任务调度方法 |
US20170213209A1 (en) * | 2016-01-21 | 2017-07-27 | International Business Machines Corporation | Enterprise blockchains and transactional systems |
US20170236120A1 (en) * | 2016-02-11 | 2017-08-17 | Oracle International Corporation | Accountability and Trust in Distributed Ledger Systems |
CN107103473A (zh) * | 2017-04-27 | 2017-08-29 | 电子科技大学 | 一种基于区块链的智能合约实现方法 |
WO2018020376A1 (en) * | 2016-07-29 | 2018-02-01 | nChain Holdings Limited | Blockchain-implemented method and system |
CN107660293A (zh) * | 2015-04-20 | 2018-02-02 | 欧吉达克斯公司 | 物权电子凭证(edt)的分布式管理方法及其*** |
WO2018080206A1 (ko) * | 2016-10-26 | 2018-05-03 | 주식회사 코인플러그 | Utxo 기반 프로토콜에서 머클 트리 구조를 사용하여 통화를 발행 및 지급 결제하는 방법과 이를 이용한 서버 |
US20180130034A1 (en) * | 2016-11-07 | 2018-05-10 | LedgerDomain, LLC | Extended blockchains for event tracking and management |
US20180253702A1 (en) * | 2015-11-24 | 2018-09-06 | Gartland & Mellina Group | Blockchain solutions for financial services and other transactions-based industries |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10108812B2 (en) * | 2016-01-28 | 2018-10-23 | Nasdaq, Inc. | Systems and methods for securing and disseminating time sensitive information using a blockchain |
EP3420675B1 (en) * | 2016-02-23 | 2020-03-11 | Nchain Holdings Limited | Blockchain implemented counting system and method for use in secure voting and distribution |
WO2017145019A1 (en) * | 2016-02-23 | 2017-08-31 | nChain Holdings Limited | Registry and automated management method for blockchain-enforced smart contracts |
US20170286951A1 (en) * | 2016-04-04 | 2017-10-05 | Moving Media GmbH | Dynamic Delivery Authorization for Cryptographic Payments |
-
2018
- 2018-07-06 US US16/029,195 patent/US20200013025A1/en active Pending
-
2019
- 2019-07-05 CN CN201910602271.7A patent/CN110688425B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107660293A (zh) * | 2015-04-20 | 2018-02-02 | 欧吉达克斯公司 | 物权电子凭证(edt)的分布式管理方法及其*** |
US20170046689A1 (en) * | 2015-07-14 | 2017-02-16 | Fmr Llc | Crypto Voting and Social Aggregating, Fractionally Efficient Transfer Guidance, Conditional Triggered Transaction, Datastructures, Apparatuses, Methods and Systems |
US20180253702A1 (en) * | 2015-11-24 | 2018-09-06 | Gartland & Mellina Group | Blockchain solutions for financial services and other transactions-based industries |
US20170213209A1 (en) * | 2016-01-21 | 2017-07-27 | International Business Machines Corporation | Enterprise blockchains and transactional systems |
US20170236120A1 (en) * | 2016-02-11 | 2017-08-17 | Oracle International Corporation | Accountability and Trust in Distributed Ledger Systems |
WO2018020376A1 (en) * | 2016-07-29 | 2018-02-01 | nChain Holdings Limited | Blockchain-implemented method and system |
WO2018080206A1 (ko) * | 2016-10-26 | 2018-05-03 | 주식회사 코인플러그 | Utxo 기반 프로토콜에서 머클 트리 구조를 사용하여 통화를 발행 및 지급 결제하는 방법과 이를 이용한 서버 |
US20180130034A1 (en) * | 2016-11-07 | 2018-05-10 | LedgerDomain, LLC | Extended blockchains for event tracking and management |
CN106874087A (zh) * | 2017-01-25 | 2017-06-20 | 上海钜真金融信息服务有限公司 | 一种区块链智能合约定时任务调度方法 |
CN107103473A (zh) * | 2017-04-27 | 2017-08-29 | 电子科技大学 | 一种基于区块链的智能合约实现方法 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111294205A (zh) * | 2020-02-24 | 2020-06-16 | 联想(北京)有限公司 | 密钥管理方法及装置、计算机***以及可读存储介质 |
CN113393235A (zh) * | 2020-03-13 | 2021-09-14 | 富士通株式会社 | 处理写入请求的信息处理装置和发送控制方法 |
CN111430016A (zh) * | 2020-03-24 | 2020-07-17 | 杭州溪塔科技有限公司 | 一种基于区块链的病例信息共享方法、装置及电子设备 |
CN111430016B (zh) * | 2020-03-24 | 2023-05-02 | 杭州溪塔科技有限公司 | 一种基于区块链的病例信息共享方法、装置及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN110688425B (zh) | 2023-12-22 |
US20200013025A1 (en) | 2020-01-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110688425B (zh) | 针对区块链的条件性延期事务的方法和*** | |
US11940971B2 (en) | Blockchain implementing reliability database | |
US20200118131A1 (en) | Database transaction compliance | |
US11303442B2 (en) | Blockchain notification board storing blockchain resources | |
US20220138212A1 (en) | Blockchain implementing reliability database | |
US11308073B2 (en) | Database node functional testing | |
US11048689B2 (en) | Consensus transaction scheduler | |
US20200074470A1 (en) | Database configuration for asset transfers | |
US20220382746A1 (en) | Blockchain notification board storing blockchain resources | |
US10922097B2 (en) | Collaborative model execution | |
US11669532B2 (en) | Blockchain implementing reliability database | |
CN114365116A (zh) | 来自私有区块链的更新的链外通知 | |
US20200151266A1 (en) | Data processing using external information | |
US20200311695A1 (en) | Privacy-preserving gridlock resolution | |
US20200160334A1 (en) | Enhanced contract execution | |
US20200145221A1 (en) | Atomic transactional processing | |
US11455598B2 (en) | Automated conflict resolution | |
US20200387432A1 (en) | Snapshot restoration | |
US10783589B2 (en) | Detection of abnormal estimates | |
CN111753009A (zh) | 包括快速路径服务的分散式数据库中的信息管理 | |
US20200242593A1 (en) | Value optimizing data store | |
US10834122B2 (en) | Prevention of majority attacks | |
US11887146B2 (en) | Product exploration-based promotion | |
US20210256442A1 (en) | Computation of containment relationships | |
US10942916B2 (en) | Fraud prevention via database referencing |
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 |