CN110495132A - 用于在分布式网络节点内生成、上传和执行代码区块的系统和方法 - Google Patents

用于在分布式网络节点内生成、上传和执行代码区块的系统和方法 Download PDF

Info

Publication number
CN110495132A
CN110495132A CN201780085616.5A CN201780085616A CN110495132A CN 110495132 A CN110495132 A CN 110495132A CN 201780085616 A CN201780085616 A CN 201780085616A CN 110495132 A CN110495132 A CN 110495132A
Authority
CN
China
Prior art keywords
block
contract
network node
block chain
component
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201780085616.5A
Other languages
English (en)
Other versions
CN110495132B (zh
Inventor
安德鲁·库兹贝克
安德鲁·蒙克斯
安东尼·史蒂文斯
阿里吉特·达斯
克里斯托弗·普莱斯
贾斯丁·查普曼
韦恩·汉纳威
莎柏莉娜·史密斯
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Northern Trust Co
Original Assignee
Northern Trust Co
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Northern Trust Co filed Critical Northern Trust Co
Publication of CN110495132A publication Critical patent/CN110495132A/zh
Application granted granted Critical
Publication of CN110495132B publication Critical patent/CN110495132B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic 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/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • H04L9/0637Modes of operation, e.g. cipher block chaining [CBC], electronic codebook [ECB] or Galois/counter mode [GCM]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/542Event management; Broadcasting; Multicasting; Notifications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic 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/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic 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/3236Cryptographic 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/3239Cryptographic 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Multimedia (AREA)
  • Human Computer Interaction (AREA)
  • Power Engineering (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本文公开的实施例描述了用于在区块链上部署新代码区块的系统和方法。在一实施例中,应用服务器可以为用户提供具有合约组件和文档组件的图形用户界面(GUI)。应用服务器可以基于用户选择合约和文档组件来生成组装的合约文本。应用服务器可以确定对应于合约组件和文档组件的智能合约组件的区块链地址或本地地址。应用服务器可以生成代码区块并且可以将该代码区块部署到最新的有效区块链,该代码区块包括对智能合约和文档组件的地址的引用或者本身含有可执行代码。应用服务器可以基于对数字事件触发器的响应执行代码区块中的智能合约。

Description

用于在分布式网络节点内生成、上传和执行代码区块的系统 和方法
技术领域
本申请大体上涉及用于在分布式数据库环境中生成和部署代码区块以及基于一个或多个数字事件触发器执行该代码区块的系统和方法
背景技术
例如分布式账本的分布式数据库通过生成通过数据区块中的数据记录的加密散列连接在一起的数据区块链确保了数据的完整性。例如,在第一区块中的数据记录的至少一部分的加密散列以及在一些情况下与先前区块中数据记录的一部分相组合,用于生成针对第一区块之后的第二区块的区块地址。作为对存储在一个或多个数据区块中的数据记录的更新,生成含有相应经更新的数据记录的新的数据区块,并且利用基于在先前区块中数据记录的至少一部分的加密散列的地址将其连接至先前的区块。换言之,连接的区块形成了区块链,该区块链固有地包含了可追踪的地址序列,其可以用于追踪对包含在其中的数据记录的更新。连接的区块(或区块链)可以分布在计算机网络内的多个网络节点之间,使得每个节点可以维持区块链的副本。尝试损害数据库的完整性的恶意网络节点必须比诚实网络节点更快地重新创建并重新分配区块链,这在大多数情况下,在计算上是不可行的。换言之,凭借网络中的多个网络节点具有同一区块链的副本保证了数据完整性。因此并不需要中央的可信管理机构来保证由网络中的多个节点托管的分布式数据库的完整性。
除了数据记录之外,区块链中的区块还可以含有智能合约,其为可以由托管区块链的网络节点执行的代码。智能合约可以规定对区块链内一个或多个数据记录的处理。智能合约可以基于在文件格式内含有的一个或多个文本文档。然而,常规的系统具有若干技术缺陷,也就是说,存在若干当前区块链技术还未解决的问题。一个问题是如何提供用来根据文本文档生成智能合约并将所生成的合约部署到区块链的功能。另一个问题是如何提供一种与分布式数据库进行通信从而智能地生成智能合约、将智能合约部署到区块链以及从区块链中检索智能合约的网络接口。
发明内容
因此所期望的是一种提供交互式用户界面和后端代码库以允许系统用户生成和部署智能合约的系统和方法。所进一步期望的是一种用于基于由一个或多个网络节点检测的数字事件触发器自动且智能地执行智能合约的系统和方法。
本文所公开的系统和方法旨在解决克服以上所提到的现有技术的缺陷,而且还可以提供附加的或替代的有益效果。本文公开的实施例描述了用于在区块链上部署新的智能合约区块(或代码区块)以及基于一个或多个数字事件触发器执行智能合约区块中的代码的系统和方法。例如,在一些情况下由网络节点托管的应用服务器可以为用户提供图形用户界面(GUI),该图形用户界面具有合约组件、文档组件以及用于构建合约和文档组件的模板。应用服务器可以基于用户选择合约和文档组件并在模板内构建该合约和文档组件来生成组装的合约文本。应用服务器可以确定在区块链中对应于合约组件和文档组件的智能合约的地址。在一些实施例中,应用服务器可以生成智能合约区块(或代码区块),其包括对智能合约和文档组件的地址的引用。在其他实施例中,应用服务器可以生成智能合约区块(或代码区块),其含有智能合约以及它们自身的文档组件。应用服务器可以将智能合约区块(或代码区块)部署到最新的有效区块链。本文公开的系统和方法可以进一步基于检测到一个或多个数字事件触发器执行在经部署的智能合约区块中的智能合约(或智能代码)、基于智能合约的执行生成输出、更新多个数据库记录,和/或将所生成的输出部署到区块链中作为数据区块。
在一个实施例中,一种用于在区块链中生成和部署代码区块的计算机实现方法包含:通过网络节点呈现图形用户界面(GUI),该图形用户界面含有从合约和文档组件的库数据库中检索的多个合约组件和多个文档组件;通过网络节点基于对从多个合约组件中的至少一个合约组件或从多个文档组件中的至少一个文档组件的选择生成组装的合约文本;通过网络节点从合约和文档组件的库数据库中检索对应于该至少一个合约组件的可执行代码的地址或者该至少一个文档组件的文本的地址;通过网络节点基于利用共识阈值对多个网络节点的第一轮询检索第一最新的有效区块链;通过网络节点生成含有对应于该至少一个合约组件的可执行代码的地址或者该至少一个文档组件的文本的地址的代码区块;通过网络节点基于第一最新的有效区块链的最后一个区块的数据记录的至少一部分的加密散列值生成针对代码区块的区块地址;以及通过网络节点在第一最新的有效区块链中所生成的区块地址处附加代码区块。
在另一个实施例中,一种用于在区块链中生成和部署代码区块的计算机实现方法包含:通过网络节点呈现图形用户界面(GUI),该图形用户界面含有从合约和文档组件的库数据库中检索的多个合约组件和多个文档组件;通过网络节点基于对从多个合约组件中的至少一个合约组件或从多个文档组件中的至少一个文档组件的选择生成组装的合约文本;通过网络节点从合约和文档组件的库数据库中检索对应于该至少一个合约组件的可执行代码或者该至少一个文档组件的文本;通过网络节点基于利用共识阈值对多个网络节点的第一轮询检索第一最新的有效区块链;通过网络节点生成含有对应于该至少一个合约组件的可执行代码或者该至少一个文档组件的文本的代码区块;通过网络节点基于第一最新的有效区块链的最后一个区块的数据记录的至少一部分的加密散列值生成针对代码区块的区块地址;以及通过网络节点在第一最新的有效区块链中所生成的区块地址处附加代码区块。
在另一实施例中,一种用于在区块链中生成和部署代码区块的系统包含:多个网络节点,每个包括存储区块链的相应本地副本的非暂态存储介质;多个网络节点中的至少一个具有处理器,该处理器被配置为:呈现图形用户界面(GUI),该图形用户界面含有从合约和文档组件的库数据库中检索的多个合约组件和多个文档组件;基于对从多个合约组件中的至少一个合约组件或从多个文档组件中的至少一个文档组件的选择生成组装的合约文本;从合约和文档组件的库数据库中检索对应于该至少一个合约组件的可执行代码或者该至少一个文档组件的文本;基于利用共识阈值对多个网络节点的第一轮询检索第一最新的有效区块链;生成含有对应于该至少一个合约组件的可执行代码或者该至少一个文档组件的文本的代码区块;基于第一最新的有效区块链的最后一个区块的数据记录的至少一部分的加密散列值生成针对代码区块的区块地址;以及在第一最新的有效区块链中所生成的区块地址处附加代码区块。
附图说明
附图构成了本说明书的一部分并且例示说明了本文公开的主题的实施例。
图1示出了根据示范性实施例的用于在区块链上部署代码区块的示范性系统100。
图2示出了根据示范性实施例的由基于文本的合约生成智能代码区块并将该代码区块部署到区块链的示范性方法200。
图3示出了根据示范性实施例的由基于文本的合约生成代码区块并将该代码区块部署到区块链的示范性方法300。
图4示出了根据示范性实施例的用于基于在区块链中部署的一个或多个智能合约进行智能自动计算的示范性方法400。
具体实施方式
现在将参考附图中所示的示例性实施例,并且在此将使用特定的语言对其进行描述。然而应当理解,并不旨在借此限制权利要求书或本公开的范围。相关领域中的且掌握本公开的技术人员可以想到的,对本文中所例示说明的发明特征的改动和进一步的修改以及对本文中所例示说明的主题的原理的附加应用应当被认为也在本文中所公开的主题的范围内。对本公开在本文中详细参考构成其一部分的附图中所示的实施例详细进行描述。在不脱离本公开的精神或范围的情况下可以使用其他实施例和/或可以做出其他改变。在详细描述中所描述的示例性实施例并不旨在限制本文中所提出的主题。
本文所公开的实施例提供了一种用于在区块链中生成、部署以及更新智能合约(或智能代码)的新颖方法。实施例进一步提供了一种用于自动且智能地执行经部署的智能合约的新颖方法。在这种情况下,实施例提供了对常规区块链技术的显著改进。如以上所提到的,常规区块链技术无法提供能够有高效地基于基于文本的合约生成智能合约的界面并且无法提供用于系统用户动态地生成智能合约的工具(例如,用户界面上的工具)。本文所公开的系统和方法生成并呈现用于系统用户基于基于文本的合约生成智能合约的智能界面。例如,系统可以提供例如图形用户界面(GUI)的界面,诸如WYSIWIG屏幕和后端智能合约库。在界面中,系统可以提供用来允许系统用户生成基于文本的合约的工具。基于文本的合约可以使用已经存储在智能合约库中的合约条款来基于标准化或定制化条款组装合约。
用户界面可以提供图形模板,以供系统用户利用同样通过用户界面提供的多个图形工具生成基于文本的合约。该模板可以呈现将要被定义和包含到基于文本的合约内的,针对条款和条件的结构布置。多个图形工具可以包括,例如,图标、窗口、下拉框、对话框、单选按钮,它们将和模板一起由系统用户用来生成经整合的、基于文本的合约,系统可以将该合约转换成智能合约。多个图形工具还可以包括文本编辑器,以供系统用户手动地输入基于文本的合约的条款和条件。后端智能合约库可以支持该多个图形工具以及用户界面的其他元素。响应于系统用户选择一个或多个图形工具或用户界面中的其他元素或与该图形工具或用户界面中的其他元素进行交互,系统可以调用智能合约库中的相关程序模块和数据库记录。此外,用户界面还可以提供上传特征,以供系统用户上传含有基于文本的合约的文本文件。
系统还可以维护后端合约库。后端智能合约库可以包含多个数据库记录,该多个数据库记录含有基于文本的合约的一个或多个条件以及对应的可执行代码。此外,智能合约库可以含有一个或多个文本文档。基于文本的文档可以提供与一个或多个条件有关的进一步的非可执行信息(例如,术语表)。系统可以在界面中呈现该一个或多个条件和一个或多个文本文档。当用户选择一个或多个条件时,系统可以使用库来检索对应的可执行代码。在一些实施例中,区块链可以含有可执行代码并且库可以存储对应于一个或多个条件的可执行代码的区块地址。此外,系统可以基于来自系统用户的输入智能地配置和更新该库。例如,系统用户可以定义新的条件并输入用来实现该条件的可执行代码,并且系统可以利用新定义的条件和对应的可执行代码自动地更新智能合约库。
如以上所提到的,在一些实施例中,系统可以维护区块链中的后端智能合约库。换言之,与基于文本的合约中的一个或多个条件有关的可执行代码可以存储在区块链的一个或多个区块中。本地库数据库可以含有区块链内可执行代码的相应区块地址。因此,当系统生成智能合约区块并将其部署到区块链时,相对于含有可执行代码本身,智能合约区块可以含有含可执行代码的一个或多个区块的地址。然而,在一些情况下,系统可以从区块链的一个或多个区块中下载可执行代码并包括该下载的可执行代码以生成新的智能合约区块。本领域普通技术人员可以理解,这些实施例仅为示范性的,而并非旨在进行限制,并且智能合约库的其他实施例,例如以下所描述的一个实施例,应当被认为也在本公开的范围内。
在其他实施例中,系统可以维护智能合约本地库中的可执行代码,也就是说,可以本地存储该可执行代码。可执行代码可以与将要被包括在智能合约区块中的一个或多个条件有关。在一些情况下,为了生成具有一个或多个条件的新的智能合约区块,系统可以包括新的智能合约区块中的相应可执行代码的本地地址。在其他情况下,为了生成新的智能合约区块,系统可以利用本地地址检索可执行代码并在智能合约中包括该可执行代码。
在系统中的一个或多个网络节点可以监测一个或多个数字事件触发器。数字事件触发器可以是智能合约的一部分并且实现该数字事件触发器的可执行代码可以在网络节点上本地运行。数字事件触发器可以通过系统检测和/或在系统内生成。在一些情况下,一个或多个网络节点可以检测来自外部来源的数字事件触发器。在其他情况下,第一网络节点可以生成数字事件触发器且第二网络节点可以根据第一和第二网络节点的配置检测该数字事件触发器。数字事件触发器可以包括,例如,预定日期、预定时间点或预定持续时间、计数器中的预定数、智能自动计算的结果、API事件的结果、区块链事件的结果、在网页界面上的用户动作,以及来自管理员用户的输入。数字事件触发器的其他示例包括一个或多个数字令牌(例如,支付义务令牌)的生成和/或过期。支付义务令牌或替代的数字支付令牌可以是数据记录,其含有具有与支付义务相关联的信息片段的一个或多个数据字段。例如,该一个或多个数据字段可以含有支付金额、收款人用户以及付款人用户的信息。如以上所提到的,数字事件触发器可以是智能合约的一部分。相应地,系统可以在系统用户正在组装将被转换成智能合约的合约时为系统用户呈现一个或多个数字事件触发器的选择。
当网络节点检测和/或接收到数字事件触发器时,网络节点通过其自身或者协同其他网络节点,可以自动地执行相关联的智能合约。为了这么做,网络节点可以下载最新的有效区块或其一部分。网络节点可以实施共识算法来验证该最新的区块链,例如用来测量不同节点之间数据的一致的协议。例如,针对系统关键数据和功能,网络可以实施较高的共识阈值,例如95%,来确定所下载的区块链事实上是有效的。对于较不关键的数据和功能,网络节点可以实施较低的共识阈值,例如60%,来确定所下载的区块链的有效性。一旦网络节点已经下载并验证了最新的区块链,网络节点可以检索与数字事件触发器相关联的智能合约区块(或代码区块)。智能合约区块可以含有可执行代码和/或可以含有对该可执行代码的引用地址。网络节点随后可以执行智能合约区块中的或者根据引用地址检索的可执行代码以基于数字事件触发器生成一个或多个输出。此外,网络节点可以在执行可执行代码时更新一个或多个数据库。数据库更新可以在本地数据库内或者是对区块链的数据库更新,在这种情况下网络节点可以利用更新生成新的区块并且将该新的区块附加到区块链。除此之外或者作为替代,网络节点可以利用输出生成新的区块并且将该新的区块附加到区块链。
图1示出了根据示范性实施例的示范性系统100的组件。示范性系统100可以包含网络服务器101、应用服务器103、数据库105、密钥存储器107、客户端设备109,以及分布式网络节点111。系统100可以采用并管理系统区块链,有时被称为“分布式账本”。系统区块链可以用作存储与用户和交易文档相关联的数据记录的分布式数据库,其中存储在系统区块链上的数据记录可以是托管在分布式网络节点111上的数据的区块。应当理解,存储在系统数据库105内的记录中的数据可以不同于存储在被托管在网络节点111上的系统区块链的区块中的数据。在一些实施例中,系统区块链可以是私人方区块链。在其他实施例中,系统区块链可以是公共区块链。
网络服务器101可以托管可以由终端用户访问的网站,其中系统100可以通过各种网页基于每个特定用户的角色和/或权限控制所提供的内容。网络服务器101可以是包含处理器和非暂态机器可读存储器的,能够执行本文所述各种任务和过程的任何计算设备。这种计算设备的非限制性示例可以包括工作站计算机、膝上型计算机、服务器计算机等。尽管示范性系统100包括单个网络服务器101,本领域技术人员可以理解,网络服务器101的一些实施例可以包括在分布式计算环境中运行的任何数量的计算设备。
网络服务器101可以执行被配置为托管网站的软件应用程序(例如,Microsoft),其可以生成各种网页并提供给客户端设备109。客户端设备109可以使用网站来生成并访问存储在系统数据库105上或者在由系统100的节点111托管的区块链中的数据。在一些实施方式中,网络服务器101可以基于一组用户认证证书请求用户认证(例如,用户名、密码、生物识别、加密凭证)。在这种实施方式中,网络服务器101可以访问被配置为存储用户证书的系统数据库105,网络服务器101可以参考以便确定一组输入的证书(据称地认证用户)是否与标识并认证用户的一组适当的证书相匹配。类似地,在一些实施方式中,网络服务器101可以基于系统100内的用户角色(例如,管理员、投资者、投资发起人)生成网页并提供给客户端设备109。在这种实施方式中,用户角色可以通过存储在系统数据库105中的用户记录中的数据字段定义,并且对用户和用户角色的认证可以由网络服务器101通过执行目录访问协议(例如,LDAP)来进行。系统100可以根据由系统数据库105中的用户记录所定义的用户角色命令网络服务器101生成网页内容、访问或生成存储在系统数据库105中的数据,以及访问或生成存储在系统区块链中的数据。
应用服务器103可以根据通过网络服务器101从客户端设备109接收到的指令生成、访问以及更新托管在系统节点111上的区块链实例。网络服务器103可以是包含处理器和非暂态机器可读存储器的,能够执行本文所述各种任务和过程的任何计算设备。这种计算设备的非限制性示例可以包括工作站计算机、膝上型计算机、服务器计算机等。尽管示范性系统100包括单个应用服务器103,本领域技术人员可以理解,在一些实施例中应用服务器103可以包括在分布式计算环境中运行的任何数量的计算设备。还应当理解的是,尽管应用服务器103在图1中被显示为独立于网络服务器101的设备,但是在一些实施例中,网络服务器101和应用服务器103可以是同一设备。
由应用服务器103执行的软件可以为与通过网络服务器101与应用服务器103交互的用户提供区块链服务。应用服务器103可以根据从客户端设备109接收到的指令更新和查询系统数据库105中的记录。应用服务器103随后可以生成用于系统区块链的区块,其中区块含有来自系统数据库105的记录的数据。应用服务器可以接着更新系统区块链的本地实例,并且随后命令网络节点111更新本地存储在网络节点111中的每一个上的系统区块链的实例。每个新的区块可以包括时间戳或者将新区块与区块链上的现有区块相关联的其他数据。作为示例,当应用服务器103生成新的数字身份记录时,应用服务器103随后可以基于数字身份记录的一个或多个数据字段的单向加密散列生成含有数字身份记录和新区块的地址的新区块。应用服务器103随后可以在应用服务器103中存储的区块链的本地实例内的系统区块链中附加新区块。应用服务器103随后可以向每个相应网络节点111传送该新区块。网络节点111继而可以更新存储在每个网络节点111上的区块链的本地实例。在其他实施方式中,应用服务器103可以向网络节点111传送该区块链或其部分,并且网络节点可以相应地利用从应用服务器103接收的传送信息替换系统区块链或其部分的本地实例。
在操作中,当用户命令应用服务器103进行需要查询区块链的区块的交易时,应用服务器103可以进行对网络节点111的轮询以基于标识区块的散列值识别所查询的数据,并且穗呕随后确定所识别的区块内的数据是否准确。应用服务器103随后可以等候来自预定法定人数的网络节点111的预定仲裁集的响应来确认区块中的数据;应用服务器103随后可以继续利用区块链的数据区块继续处理交易,前提是预定阈值数量的网络节点111指示了所涉及讨论的区块与本地存储在网络节点111中的每一个上的实例的区块相匹配。
应用服务器103可以针对将从系统区块链的区块链实例中检索的数据生成区块地址。含有各种形式的文档(例如,PDF、DOC、XLS)的机器可读计算机文件可以通过网络服务器101上传到应用服务器103,或者以其他方式存储到系统数据库105中,在这之后应用服务器103可以生成文档的散列值,其中应用程序使用散列值或其他标识符值来从系统数据库105中引用文件。应用服务器103随后可以通过生成文档的散列以及前一个区块数据或区块地址的散列值来针对文件生成区块地址。该区块地址随后可以存储到系统数据库105内,连同文件和与计算机文件有关的任何数量的附加数据字段条目一起存储在文档记录中。操作中,应用服务器103或网络节点111可以根据区块地址引用含有文件的区块链的区块。应用服务器103可以按照类似的方式在系统区块链上生成附加区块和对应的区块地址——例如,生成针对含有用户数据的区块的散列值并且随后利用先前区块的区块地址生成新的区块地址。本领域技术人员可以理解,区块地址可以按照来自新区块和一个或多个先前区块的散列区块数据和/或散列区块地址的任意数量的组合来生成,从而使得新区块的地址取决于,或以其他方式关联至,至少前一个区块。
在一些实施方式中,系统区块链可以含有智能合约,其为可执行的编码脚本,该可执行的编码脚本命令应用服务器103和/或网络节点111在满足由智能合约指示的一定条件时执行预定过程。在一些情况下,这些过程命令应用服务器103和/或网络节点111在区块链上生成新的区块,其通常代替在系统区块链中的现有区块中发现的信息。
例如,在一些实施方式中,系统100可以采用智能合约以控制用户对存储在系统区块链上和/或系统数据库105中的机器可读计算机文件的访问。智能合约可以包含逻辑上用作针对用户权限的矩阵表的代码,该针对用户权限的矩阵表将用户或用户角色与在系统数据库105中存储的计算机文件内含有的文档进行关联。在这种实施方式中,智能合约可以包含机器可读软件代码,其包括用于应用服务器103和网络节点111的指令,并且在一些情况下,用于系统区块链上区块的区块地址,该区块含有数字身份记录、系统数据库105或应用服务器中的用户角色规则和/或系统数据库105中的文档记录,以及其他类型的数据。当应用服务器103从用户设备109接收文档请求以确定用户是否可以访问所请求的文档时,应用服务器103可以引用含有与用户相关联的,可以含有权限规则或用户角色的数字身份记录的区块地址,和/或针对含有权限规则的智能合约的区块地址。应用服务器103由智能合约指示是否根据用户角色或将用户或用户角色映射至所请求文档的其他用户标识符来从系统数据库105中检索文档。应用服务器103可以在根据智能合约权限数据确定了用户或用户角色与所请求的文档相关联时从系统数据库105中检索文档文件。
如以上所提到的,一些实施例可以包含托管在一个或多个计算设备上的系统数据库105,其中系统数据库105可以存储与提供给终端用户的应用服务的各个方面相关联的数据记录。可以存储在系统数据库105中的非限制性示例可以包括:用户记录,其可以包含描述用户的数据字段(例如,用户数据),如用户凭证(例如,用户名、密码、生物识别、加密证书)、系统区块链上的区块的区块地址、用户账户数据、用户角色或用户权限;文档记录,其可以包含机器可读计算机文件(例如,文字处理文件)、这种计算机文件的解析部分,或者与计算机文件相关联的元数据;以及应用数据,其可以包括由应用服务器103执行的软件指令或者由应用服务器103执行的这种应用程序所使用的数据。系统数据库105可以托管在任何数量的包含非暂态机器可读存储介质且能够执行本文中所述各种任务的计算设备上。如图1所示,系统数据库105可以由网络服务器101和/或应用服务器103通过一个或多个网络进行访问。但是本领域技术人员可以理解,系统数据库105可以托管在用作网络服务器101和/或用作应用服务器103的同一物理计算设备上。
在一些实施例中,系统100可以将针对用户或实体的数字身份存储在系统区块链内。为了这么做,系统100可以允许管理员用户基于实体生成不同类型的数字身份模板。模板可以包括强制性数据字段和补充数据字段。系统100可以将模板存储在系统区块链内和/或数据库105中。当系统100接收生成针对实体的数字身份记录的请求时,系统100可以基于实体的类型从系统区块链或从数据库105中检索数字身份模板。系统100可以基于相应的数字身份模板生成数字身份记录。系统100通过一个或多个网络节点111可以提示实体输入在所生成的数字实体记录中的数据字段所需要的信息。此外,数字身份记录的数据字段中的一个或多个可以具有独立的状态,并且系统100或者受信任的第三方服务器可以更新数字身份记录的状态。数字身份记录可以包括一个或多个验证文档的一个或多个单向散列,例如验证姓名和出生日期的护照的扫描副本。此外,数字身份记录可以包括用户的生物识别信息的一个或多个定向加密散列,例如指纹数据、视网膜扫描数据,和/或任何其他类型的生物识别信息。
在一些实施例中,存储在系统数据库105上的文档记录可以包含含有文档标识散列值的数据字段,该文档标识散列值由应用服务器103在生成或更新含有机器可读计算机文件(例如,PDF、DOC、XSL)的新文档记录(如交易文档)时根据由系统区块链实现的散列算法生成。散列值可以利用描述计算机文件的一个或多个数据字段来生成,该计算机文件可以由用户通过网站门户上传或者从系统数据库105内的文档记录中提取。散列值可以是针对特定文档记录的唯一标识符,并且可以被系统100的各种计算设备(如系统数据库105)用于引用计算机文件或描述该计算机文件的元数据,该计算机文件可以存储在系统数据库105中和/或托管在网络节点111上的系统区块链的区块上。
系统数据库105可以进一步存储合约组件和文档组件的库。合约组件可以是,例如,写好的合约条款或者条件。例如,针对电子支付交易的合约组件可以是例如用于付款人计算设备通过网络连接向收款人设备发起支付所需的网络连接安全等级的条件。文档组件可以是描述性文本,例如定义合约内的技术和法律条款的术语表。文档组件的另一示例可以是招股说明书。在一些实施方式中,应用服务器103可以从库中检索多个合约和文档组件并且将检索到的组件呈现在用户设备109的图形用户界面(GUI)上。用户可以选择和/或修改合约和/或文档组件并且服务器103可以基于用户选择和/或修改合约和/或文档组件来生成组装的合约文本。在其他实施方式中,应用服务器可以接收含有写好的合约文本的一个或多个文件并解析合约文本以将其中的词语、短语和/或句子与库中的合约和文档组件进行匹配。在一些实施方式中,系统数据库105还可以存储含有对应于合约组件的智能合约和对应于文档组件的文档的区块的地址(例如,散列)。在这些实施方式中,应用服务器103可以生成对含有智能合约和文档的区块的地址的引用的合约区块。在一些实施方式中,系统数据库105可以存储对应于合约组件的智能合约和对应于文档组件的文档。在这些实施方式中,应用服务器103可以从系统数据库105中检索智能合约和文档并生成含有所检索的智能合约和文档的代码区块(或智能合约区块)。
密钥存储数据库107,在本领域中有时被称为“高安全模块”、“密钥设备”、“凭证管理中心”等,可以是被配置为根据预定角色或规则管理并为系统100中的各种计算设备分配加密秘钥和加密证书的计算设备。在一些实施方式中,加密密钥可以在用户登录托管在网络服务器101上的网站时用于认证用户。在一些实施方式中,加密密钥可以用于对系统区块链的数据区块加密。另外地或替代地,加密密钥可以用于确认或“签署”数据转移以向数据转移接受方确认该数据源自已知的一方。加密秘钥还可以在应用层上由用户用于对文档或合约应用数字签名,在一些情况下,这可以触发来自存储在系统区块链上的智能合约的脚本代码的指令。
密钥存储数据库107可以托管在任何数量的包含非暂态机器可读存储介质且能够执行本文中所述各种任务的计算设备上。如图1中所示,密钥存储数据库107可以由网络服务器101和/或应用服务器103通过一个或多个网络访问,但是密钥存储数据库105还可以由用户设备109和网络节点111访问以检索或确认加密密钥或加密密钥签名。而且,本领域技术人员可以理解,密钥存储数据库107可以托管在用作网络服务器101和/或应用服务器103的同一物理计算设备上。
网络节点111可以托管系统区块链的一个或多个区块。网络节点111可以是包含处理器和非暂态机器可读存储介质的,能够执行本文所述各种任务和过程的任何计算设备。网络节点的非限制性示例可以是工作站计算机、膝上型计算机、平板计算机以及服务器计算机。计算网络节点111在图1中被描述为存储区块链的区块,但是其他计算设备,例如应用服务器103,也可以托管区块链的区块。每个网络节点111可以本地存储系统区块链的存储介质中的系统区块链的实例,并且可以进一步执行软件应用程序,该软件应用程序命令网络节点111生成和查询本地存储的区块链实例中的区块。
在操作中,网络节点可以根据从应用服务器103或其他网络节点111接收的数据在本地存储的系统区块链的实例上生成新的区块。在一些情况下,应用服务器103可以更新存储在应用服务器103上的区块链的本地实例,并且随后命令网络节点111中的一个或多个更新存储在这种网络节点111上的每个区块链实例。而且,应用服务器103可以根据存储在系统数据库105中的区块地址查询系统区块链的区块。当应用服务器103执行对系统区块链上的区块的查询时,应用服务器103可以轮询网络节点111以确定系统区块链上的最新数据。应用服务器103可以根据在由网络节点111执行的区块链软件内被编码的投票机制来确信区块处的数据是所期望的数据。每个网络节点111以接收对区块和区块地址的查询,并且向应用服务器103返回指示该区块地址是否含有期望数据的响应。以此方式,应用服务器103可以确信该区块链中的数据可以抵抗破坏,因为每个网络节点111上的每个区块链实例需要按照相同方式被破坏使得每个区块地址按照相同方式被破坏。此外,系统区块链还可以禁止应用服务器103对过时数据采取动作。例如,网络节点111a可以执行智能合约,其命令网络节点111a生成第二区块,该第二区块更新在本地区块链实例上的第一区块中的数据记录。换言之,在第一区块中的数据记录在由第二区块中的数据记录代替后可以是过时的。在更新之后,网络节点111a随后可以相应地命令一个或多个剩余的网络节点111b、111c以及应用服务器103更新在这些节点111b、111c以及应用服务器103上的相应本地区块链实例。然而,应用服务器103在应用服务器103从用户设备109或智能合约接收针对经更新的数据记录的数据查询或指令之前可以不更新其本地区块链实例。在对查询响应之前,应用服务器103可以使用投票机制来确定最新的有效区块链。由于最新的有效区块链可以含有经更新的数据记录,这种投票机制可以保护应用服务器103免于对过时数据采取动作并且可以使系统区块链抵抗数据冲突。
客户端设备109可以是允许用户通过网络服务器101与应用服务器103进行交互的任何计算设备。客户端设备109可以执行互联网浏览器或本地应用程序,其可以访问网络服务器101以便向应用服务器103发布请求或指令,以访问系统区块链。客户端设备109可以将来自用户输入的证书传送至网络服务器101,网络服务器101可以根据证书认证用户,并且在一些实施方式中确定用户角色。本领域技术人员可以理解,客户端设备109可以包含被配置为接收任何数量的数据输入的,任何数量的输入设备,数据输入包括能够进行认证的各种类型的数据输入(例如,用户名、密码、证书、生物识别)。本领域技术人员还可以理解,客户端设备109可以是包含处理器和非暂态机器可读存储介质从而允许客户端设备109执行本文中所述的各种任务和过程的任意计算设备。
作为客户端设备109操作的示例,客户端设备可以执行互联网浏览器,其访问托管基金投资管理网站的网络服务器101,该基金投资管理网站可以允许基金经理、管理员和投资者以及其他第三方访问公共平台以用于端对端管理基金投资,通过利用该设备基金经理可以发起基金生命周期事件,例如与来自投资者的出资请求相关联的支付请求,并且投资者可以使用平台来查看生命周期事件,例如和他们的投资有关的出资请求和相关支付义务到期。利用客户端设备109,投资者用户可以选择要投资的投资项目。当交易进行时,投资者用户或发起人用户的客户端设备109可以用于上传含有交易信息的机器可读计算机文件(例如,PDF、DOC、XSL)。系统100可以将计算机文件可以存储到文档数据库105中的文档记录内,该文档记录随后可以被添加到系统区块链的区块,其中根据随后被存储到针对特定计算机文件的文档记录的区块地址,该区块是可访问的。客户端设备109可以通过由网络服务器101生成的网页向应用服务器103发布查询或指令,该查询或指令随后命令应用服务器103查询网络节点111上的区块,并且在一些情况下执行各种任务,例如检索或更新来自系统数据库105的文件。
图2示出了根据示范性实施例的由基于文本的合约生成代码区块并将该代码区块部署到区块链的示范性方法200。尽管一个或多个计算设备和一个或多个数据库可以实施方法200的一个或多个步骤,但是为简明起见,以下描述详细说明了实施方法200的步骤的应用服务器和数据库。本领域技术人员可以理解,一些实施例可以包含附加的或替代的步骤,或者可以完全省略若干步骤。
在第一步骤201中,应用服务器可以为用户提供用来选择、编辑或排列多个合约组件和文档组件的交互式网络应用程序。在一些实施方式中,交互式网络应用程序可以从合约和文档组件的库中选择合约组件和文档组件并呈现所选择的合约组件和文档组件。合约组件可以例如是,例如,写好的合约条款或者条件。例如,针对电子支付交易的合约组件可以是例如用于付款人计算设备通过网络连接向收款人设备发起支付所需的网络连接安全等级的条件。文档组件可以是描述性文本,例如,定义合约内的技术和法律条款的术语表。文档组件的另一示例可以是招股说明书。合约和文档组件可以含有任何格式的文档(例如MS-PDF或文本文件)的片段。应用服务器可以通过用户的计算机或移动设备中的网络浏览器向用户提供交互式网络应用程序。替代地或另外地,应用服务器可以提供网络应用程序作为用户计算机或移动设备上的可下载应用程序。网络应用程序可以呈现具有用于用户选择、组装和修改合约和文档组件的多个交互式元件的图形用户界面(GUI)。例如,网络应用程序可以将多个合约和文档组件呈现为图标、对话框或选项,用户可以将它们拖放在合约模板上。在一些实施方式中,应用服务器可以允许用户修改和编辑合约和文档组件。在一些实施方式中,交互式网络应用程序可以为用户提供用来手动键入合约组件或文档组件的界面。此外,应用服务器可以为用户提供可以允许用户向应用服务器上传一个或多个合约或文档组件的上传工具。用户可以上传一个或多个例如MS-PDF或文本文件的任何格式的合约或文档组件。在一些实施方式中,交互式网络应用程序可以允许用户上传或手动键入整个合约或文档。在一些实施方式中,应用服务器可以基于以上所提到的,从用户接收的输入和上传来更新合约和文档组件的库。例如,应用服务器可以对库进行更新,以包括从用户接收的合约组件。
在下一步骤202中,应用服务器可以基于向交互式网络应用程序的用户输入来生成组装的合约文本。组装的合约文本可以含有通过交互式网络应用程序提供给用户的一个或多个合约和/或文档组件。为了生成该组装的合约文本,应用服务器可以集合用户对合约和/或文档组件的选择、编辑以及修改。应用服务器可以利用交互式网络应用程序向用户呈现组装的合约文本。在一些实施方式中,应用服务器可以使用合约模板以按照有序序列来排列各个合约和/或文档组件从而生成组装的合约文本。
在下一步骤203中,应用服务器可以基于组装的合约文本以及部署在系统区块链上的现有合约和/或文档生成新的智能合约。应用服务器可以查询数据库以检索含有对应于组装的合约文本的合约组件的智能合约的一个或多个区块的区块地址。应用服务器可以进一步查询数据库以检索含有文档组件的一个或多个区块的区块地址。数据库可以包括在系统区块链中含有各个区块的地址(例如,散列)的记录,该区块含有对应于组装的合约文本的合约组件的智能合约。此外,数据库可以包括含有各个区块的地址的记录,该区块含有组装的合约文本的文档组件。例如,数据库可以含有第一记录和第二记录,第一记录指示对应于第一合约组件的第一智能合约存储在系统区块链的区块#ABC处,第二记录指示对应于第二合约组件的第二智能合约存储在系统区块链的区块#DEF处,其中#ABC和#DEF是针对区块链的这些特定区块的区块地址。此外,数据库可以含有第三记录,其指示在组装的合约文本内的文档组件存储在区块地址#789处。在该示例中,新的智能合约可以包括对区块#ABC、#DEF以及#789的引用。在一些实施方式中,应用服务器可以使用散列算法使合约组件散列化并使用所得到的合约组件摘要来确定对应的智能合约的地址区块。在这些实施方式中,在系统区块链中的区块的地址可以基于智能合约的内容或其中任何其他数据的散列。
在下一步骤204中,应用服务器可以将新的智能合约部署为区块链中的代码区块(或智能合约区块)。应用服务器可以轮询网络节点并确定最新的有效区块链。在一些实施方式中,应用服务器可以使用预先确定的阈值以用于确定最新的有效区块链。例如,应用服务器可以向网络节点查询最新的区块链。如果应用服务器从51%的网络节点接收到同一区块链,则应用服务器可以确定所接收的区块链是最新的有效区块链。本领域普通技术人员可以理解,该预先确定的阈值根据针对数据所需要的完整性水平以及存储在区块链中的指令来设置。应用服务器可以针对需要较高水平安全性和完整性的数据,例如,电子货币转移,使用较高的预先确定的阈值。在应用服务器确定了最新的有效区块链之后,应用服务器可以将新的区块部署到区块链。为了这么做,应用服务器可以使用最新的有效区块链的最后一个区块的内容的散列作为新的区块的地址。在一些实施方式中,应用服务器可以使用最后一个区块的内容的散列以及新鲜值来作为新的区块的地址。此外,应用服务器可以通过利用,例如,散列算法来加密新的区块中的数据。例如例如,应用服务器可以单独地将新的区块的部分散列化以形成中间散列值并基于中间散列值生成最终散列值。替代地,应用服务器可以将新的区块的整个内容散列化来生成最终散列值。
图3示出了根据示范性实施例的由基于文本的合约生成代码区块并将该代码区块部署到系统区块链的示范性方法300。尽管一个或多个计算设备和一个或多个数据库可以实施方法300的一个或多个步骤,但是为简明起见,以下描述详细说明了实施方法300的步骤的应用服务器和数据库。但是本领域技术人员可以理解,一些实施例可以包含附加的或替代的步骤,或者可以完全省略一些步骤。
在第一步骤301中,网络节点可以接收基于文本的合约。在一些实施方式中,应用服务器可以提供用于用户上传该基于文本的合约的交互式用户界面。例如,交互式用户界面可以将文档上传工具呈现为如在客户端设备上显示的,用户可见的GUI的一部分。在一些实施方式中,应用服务器可以通过电子邮件接收基于文本的合约。应用服务器可以接收例如MS-PDF或者纯文本文件的任何格式的基于文本的合约。
在下一步骤302中,应用服务器可以解析基于文本的合约并从合约库中检索匹配的组件。应用服务器可以首先解析该基于文本的合约以确定该基于文本的合约是否含有预定的词语、短语、句子和/或段落。一旦应用服务器确定该基于文本的合约含有预定的词语、短语、句子和/或段落,则应用服务器可以从合约库中检索匹配的组件。合约库可以存储在数据库中并且可以包括对应于预定的词语、短语、句子和/或段落的智能合约和/或文档。
在下一步骤303中,应用服务器可以基于从合约库中检索的匹配组件生成新的智能合约。新的智能合约可以包括从合约库中检索的智能合约和/或文档。智能合约可以包括可以由应用服务器或者例如网络节点的其他计算设备执行的代码。文档可以包括例如法律附件或招股说明书的描述性信息。
在下一步骤304中,应用服务器可以将新的智能合约部署为系统区块链中的代码区块。应用服务器可以轮询网络节点并确定最新的有效区块链。在一些实施方式中,应用服务器可以使用预先确定的阈值以用于确定最新的有效区块链。例如,应用服务器可以向网络节点查询最新的区块链。如果应用服务器从51%的网络节点接收到同一区块链,则应用服务器可以确定所接收的区块链是最新的有效区块链。本领域普通技术人员可以理解,该预先确定的阈值根据数据所需要的完整性水平以及存储在区块链中的指令来设置。应用服务器可以针对需要较高水平安全性和完整性的数据使用较高的预先确定的阈值,例如,电子货币转移。在应用服务器确定了最新的有效区块链之后,应用服务器可以将新的区块部署到区块链。为了这么做,应用服务器可以使用最新的有效区块链的最后一个区块的内容的散列作为新的区块的地址。在一些实施方式中,应用服务器可以使用最后一个区块的内容的散列和新鲜值作为新的区块的地址。此外,应用服务器可以通过利用,例如,散列算法来加密区块中的数据。例如,应用服务器可以单独地将新的区块的部分散列化以形成中间散列值并且基于中间散列值生成最终散列值。替代地,应用服务器可以将新的区块的整个内容散列化来生成最终散列值。
图4示出了根据示范性实施例的用于基于在区块链中部署的一个或多个智能合约进行智能自动计算的示范性方法400。尽管多个网络节点可以实施方法400的各个步骤,但是为简明起见以下描述包括一个网络节点来实施各个步骤。网络节点可以含有一个或数个计算系统,例如服务器和/或客户端设备,以及一个或多个数据库。此外,本领域普通技术人员可以理解,可以向方法400添加附加的步骤,可以替换一个或多个步骤,和/或可以完全跳过一个或多个步骤。
在第一步骤401中,网络节点可以接收数字事件触发器。数字事件触发器例如可以已经由在网络节点上运行的独立式应用程序或者基于浏览器的应用程序生成。除此之外或者作为替代,数字事件触发器可以已经由与网络节点通信的其他网络节点生成。在一些实施方式中,数字事件触发器可以已经在由网络节点执行的程序内内在地生成。也就是说,第一程序模块可以响应于检测到一个或多个条件生成数字事件触发器并将该数字事件触发器传送给第二软件模块。可以将该一个或多个条件编码在生成数字事件触发器的软件模块中。
如以上所提到的,可以引起数字事件触发器的一个或多个条件可以在一个或多个软件模块中被编码。在一些实施方式中,软件模块可以是在多个网络节点上运行的软件系统的一部分。替代地,一个或多个软件模块可以是在单个网络节点上运行的软件系统的一部分。无论如何,编码的条件可以包括,例如,日期、经过时间、计数器达到特定数值、用户动作,以及其他类型的条件。在一些实施方式中,相应的软件模块可以在软件模块确定从操作系统或计算机中的任何其他程序接收到的系统日期与存储的日期相匹配时生成数字事件触发器。在一些实施方式中,软件模块可以实现计时器功能,并且当计时器到期时,软件模块可以生成数字事件触发器。在一些实施方式中,软件模块可以实现计数器功能,并且当软件模块确定计数器功能已经达到特定数值时生成数字事件触发器。在这些示例中,针对日期、经过时间、计数器的数值的触发点可以由其他软件模块基于一些处理一个或多个数据记录或状态机的当前状态来确定。替代地,这些触发点可以手动地被编码到相应的软件模块内。在一些实施方式中,软件模块可以响应于接收到来自与网络节点和/或其他网络节点相关联的用户界面的一个或多个输入生成数字事件触发器。例如,系统用户可以向用户界面输入信息或者执行将信息片段传递给用户界面API的代码,并且实现用户界面的软件模块可以向生成数字事件触发器的软件模块传送所接收的信息。例如,系统用户可以通过用户界面输入针对出资请求的请求,并且实现用户界面的软件模块可以向触发器软件模块传送所接收的信息。
在一些实施方式中,数字事件触发器可以被实现为智能代码或智能合约的一部分。例如,以上所提到的检测一个或多个数字事件触发器的软件模块可以是智能合约的一部分。这些软件模块可以是在网络节点上本地运行的智能合约的一部分并且可以调用存储在区块链中的智能合约的其他部分,如以下详细说明的。在一些实施方式中,一个或多个数字事件触发器可以来自一个或多个预言来源。
在下一步骤402中,网络节点可以执行查询以检索与数字事件触发器相关联的智能合约(或智能代码)的区块地址。该查询可以是任何种类的数据库查询,例如对数据库的结构化查询语言(SQL)查询。在一些实施方式中,被查询的数据库可以本地存储在网络节点内的一个或多个非暂态存储装置中。在其他实施方式中,数据库可以在多个网络节点上存储和/或共享。数据库可以包括,例如,有关针对与数字事件触发器相关联的智能代码的一个或多个区块地址的数据记录。在一些实施例中,网络节点可以执行区块链查询。在区块链内的一个或多个数据区块可以包括与数字事件触发器相关联的智能代码的区块地址。对区块链查询在以下对步骤403的描述中进行详细说明。本领域普通技术人员可以理解,网络节点可以针对步骤403、404以及405中的每一个下载和验证单个区块链。替代地,网络节点可以针对步骤403、404以及405中的一个或多个执行独立的区块链下载和验证。此外,网络节点不一定要下载和验证整个区块链,而是可以根据网络节点可能必须执行的数据库查询而下载区块链的仅一部分。查询可以不必是单个查询而是可以含有对多个数据库的多个查询,其中每个相继的查询可取决于一个或多个之前的查询。一旦网络节点基于一个或多个查询检索到网络地址,则网络节点可以执行下一个步骤403。
在下一步骤403中,网络节点可以基于区块地址检索智能合约(或智能代码)。为了检索智能代码,网络节点可能需要具有最新的有效区块链的副本。为了得到最新的有效区块链的副本,网络节点可以向其他网络节点传送请求以将由其他网络节点托管的相应区块链传送回来。网络节点可以将从其他网络节点接收的区块链相互进行比较并与由区块链节点托管的区块链的副本进行比较。在一些实施方式中,这种比较包括:网络节点比较指示区块链中多个区块的区块地址的加密散列的序列。在其他实施方式中,网络节点可以比较数据区块内的一个或多个数据记录来作为比较加密散列的序列的补充或替代。无论比较方案如何,网络节点可以实现共识算法来确定最新的有效区块链。共识算法可以基于区块链中的数据记录的关键性而具有不同的共识阈值。对于更为关键的数据,网络节点可以在多于百分之五十命中的情况下验证最新的区块链。也就是说,如果百分之五十的经接收/存储的区块链彼此相匹配,网络节点可以将区块链指定为有效区块链。在更关键的系统中,阈值可以更高,例如百分之九十。
一旦网络节点已经确定最新的有效区块链,网络节点就可以利用区块地址来查询区块链以检索智能代码。在一些实施方式中,智能代码的部分可以已经被存储在多个区块中并且网络节点可能需要利用多个区块地址做多次查询。在其他实施方式中,智能代码可以在区块链的单个区块中并且单次查询就足够了。一旦检索到智能代码,网络节点就可以执行步骤404。
在下一步骤404中,网络节点可以执行智能代码或智能合约以产生一个或多个输出。例如,智能代码可以在私募股权背景下执行对基金管理费方案的,基于自动计算的实施。例如,基金经理可以在一年的时间段上按季度支付地收取10万美元。数字事件触发器可以是当前日期到达预定的季度末日期。基于由另一软件或智能合约自身内的模块生成的这种数字事件触发器,智能合约可以更新与借记季度支付的资金相关联的第一数据记录以及与基金经理贷记对应的季度支付相关联的第二数据记录。换言之,执行智能合约的一些输出可以是支付数据库中的数据记录,例如指示了关于第一数据记录的借记和关于第二数据记录的贷记。在一些实施例中,第三方交易服务器可以执行该季度支付。网络节点可以向第三方交易服务器传送应当完成支付的指示,并且第三方交易服务器可以向托管与私募股权相关联的账户的银行服务器传送交易请求。银行服务器随后可以向托管与基金经理相关联的账户的第二银行服务器传送支付。在其他实施例中,分布式网络节点可以维持独立的支付系统。也就是说,即使支付记录被存储在区块链中,与分布式网络节点相关联的独立支付系统可以处理以上所提到的支付。独立的支付系统可以借记与私募股权先关联的账户并贷记与基金经理相关联的账户以完成支付。
作为另一示例,数字事件触发器可以与私募股权背景下的逾期支付相关联。在超过预定的支付到期日之后,该网络节点和/或网络节点可以生成数字事件触发器来检索与逾期支付相关联的,实施以上所提到的步骤401、402和403的智能合约。在执行智能合约时,智能合约可以基于被编码在智能合约中的一个或多个执行步骤自动地计算逾期支付费。例如,逾期支付费可以是在到期日是到期金额的百分比。在另一种情况下,逾期支付费可以是基于从超过到期日起经过的日期数的按比例分配的金额。本领域普通技术人员可以理解,这些智能自动计算仅是示范性的,并且其他类型和形式的自动计算也应该被认为是在本公开的范围内。
在下一步骤405中,网络节点可以向区块链部署一个或多个输出并且触发后续事件。在一些实施方式中,网络节点可以在向区块链部署一个或多个输出之前基于一个或多个共识算法下载新的最新有效区块链。在其他实施方式中,网络节点可以使用在先前步骤中经验证的区块链来向区块链部署一个或多个输出。继续以上管理费的示例,输出中的一些可以是对第一和第二数据记录的相应更新以及对支付数据库的另一对应更新。为了向区块链部署这些输出,网络节点可以检索区块链中最后一个区块的一部分。例如,在区块链的最后一个区块内的散列值可以指示区块地址或者区块链中将要将下一区块附加到该区块链的部分。相应地,网络节点可以检索该散列值并且可以使用该散列值作为将要附加到区块链的新区块的地址。替代地,网络节点可以利用将要被部署在区块链中的新区块中的一部分数据记录生成散列值的加密散列。网络节点还可以生成在新区块内的数据记录的至少一部分的加密散列以生成针对新区块的散列值,其中所生成的散列值可以用作或用于生成区块链中的后续区块的区块地址。本领域普通技术人员可以理解,以上提到的区块关联机制仅是示范性的,并且其他区块关联机制也应该被认为是在本公开的范围内。
在一些实施例中,网络节点可以基于一个或多个输出触发一个或多个后续事件。例如,网络节点可以向与基金参与者相关联的用户界面传送已经对基金经理进行基金管理支付的通知。在另一示例中,网络节点可以利用与支付义务有关的令牌向与基金参与者相关联的用户界面传送通知。在一些情况下,网络节点可以触发更多的由智能合约执行的事件或交易,例如形成现金义务令牌。支付义务令牌,或者替代的数字支付令牌可以是数据记录,数据记录含有具有与支付义务相关联的信息片段的一个或多个数据字段。例如,该一个或多个数据字段可以含有支付金额、收款人用户以及付款人用户的信息。在其他情况下,网络节点可以触发由API驱动的事件和/或其他基于区块链的事件。
以上提到的实施例可以克服常规区块链技术中存在的技术缺陷。本文公开的新颖且非常规的功能可以自动、安全且智能地在多个交易方之间生成、追踪并更新数字支付令牌。示范性系统和方法可以与第三方支付服务器进行交互或者实施独立的支付系统从而接收支付确认并更新相关联的数字支付令牌以及触发其他下游交易。此外,示范性系统和方法可以整合一个或多个智能合约和一个或多个数字支付令牌以实现以上所提到的功能。
以上方法描述和过程流程图仅作为例示性示例而被提供,而并非旨在要求或暗示各种实施例的步骤必须按照所提出的次序执行。前述实施例中的步骤可以按照任何次序执行。例如“随后”、“下一”的词语并非旨在限制步骤的次序,这些词语仅用于引导读者看完方法的描述。尽管过程流程图可能将操作描述为顺序过程,但是许多操作可以并行或者同时执行。此外,可以重新设置操作的次序。过程可以对应于方法、函数、程序、子例程、子程序等。当过程对应于函数时,过程终止可以对应于函数返回到调用函数或主函数。
结合本文公开的实施例描述的各种例示性的逻辑块、模块、电路以及算法步骤可以被实现为电子硬件、计算机软件或两者的组合。为了清楚地例示说明硬件和软件的这种可互换性,以上已经大体上根据它们的功能描述了各种例示性的组件、块、模块、电路以及步骤。这种功能是被实现为硬件还是软件取决于特定应用以及对整体系统施加的设计约束条件。技术人员可以针对每种特别应用按照不同方式实现所述功能,但是这种实施方式决策不应当被解释为导致脱离本公开或权利要求书的范围。此外,在逻辑快、模块、电路以及算法之前的限定词“一个(a)”和“一个(an)”并非旨在作为限制,并且多个这种部件也应当被认为是在本公开的范围内。
在计算机软件中实现的实施例可以在软件、固件、中间件、微代码、硬件描述语言或其任意组合中实现。代码段或者机器可执行指令可以表示过程、函数、子程序、程序、例程、子例程、模块、软件包、类或者指令、数据结构或者程序语句的任意组合。代码段可以通过传递和/或接收信息、数据、命令行参数、参数或存储器内容而被耦合至另一代码段或硬件电路。信息、命令行参数、参数、数据等可以通过任何合适的手段被传递、转发或传输,包括存储器共享、消息传递、令牌传递、网络传输等。
用于实现这些系统和方法的实际软件代码或专业控制硬件并非对所要求保护的特征或本公开的限制。因此,在不提及特定软件代码的情况下描述系统和方法的操作和行为应当被理解为软件和控制硬件可以被设计为基于本文的描述实现系统和方法。
当在软件中实现时,功能可以被存储为在非暂态计算机可读或者处理器可读的存储介质上的一个或多个指令或代码。本文公开的方法或算法的步骤可以在处理器可执行的软件模块中实施,其可以驻留在计算机可读或处理器可读的存储介质上。非暂态计算机可读或处理器可读介质同时包括利于将计算机程序从一个位置传递到另一个位置的计算机存储介质和有形存储介质两者。非暂态处理器可读存储介质可以是可以由计算机访问的任何可用介质。以举例的方式而非限制,这种非暂态处理器可读介质可以包含RAM、ROM、EEPROM、CD-ROM或其他的光盘存储器、磁盘存储器或其他磁性存储装置,或者可以用于存储采用指令或数据结构形式的所需程序代码并且可以通过计算机或处理器访问的,任何其他的有形存储介质。如本文使用的盘,包括致密盘(CD)、激光盘、光盘、数字化通用盘(DVD)、软盘以及其中盘通常以磁方式复制数据的蓝光光盘,而盘利用激光器以光学方式复制数据。以上的组合同样应当被包括在计算机可读介质的范围内。另外,方法或算法的操作可以作为代码和/或指令集的一个或任何组合驻留在非暂态处理器可读介质和/或计算机可读介质上,它们可以被包含在计算机程序产品中。
提供了对所公开实施例的以上描述,从而使本领域技术人员能够实现或使用本文所述的实施例以及其变型。对这些实施例的各种修改对于本领域技术人员而言将是显而易见的,并且在不脱离本文公开的主题的精神和范围的情况下本文限定的一般性原理也可以应用于其他实施例。因此,本公开并不旨在受限于本文所示的实施例,而是应当被赋予符合以下权利要求书以及本文公开的原理和新颖特征的最宽泛的范围。
尽管已经公开了各个方面和实施例,但是也可以构思出其他方面和实施例。所公开的各个方面和实施例是为了例示说明的目的而并非旨在进行限制,真正的范围和精神由以下权利要求书指明。

Claims (20)

1.一种用于在区块链中生成和部署代码区块的计算机实现方法,所述方法包含:
通过网络节点呈现图形用户界面(GUI),所述图形用户界面含有从合约和文档组件的库数据库中检索的多个合约组件和多个文档组件;
通过所述网络节点基于对从所述多个合约组件中的至少一个合约组件或从所述多个文档组件中的至少一个文档组件的选择生成组装的合约文本;
通过所述网络节点从合约和文档组件的所述库数据库中检索对应于所述至少一个合约组件的可执行代码的地址或者所述至少一个文档组件的文本的地址;
通过所述网络节点基于利用共识阈值对多个网络节点的第一轮询检索第一最新的有效区块链;
通过所述网络节点生成含有对应于所述至少一个合约组件的所述可执行代码的所述地址或者所述至少一个文档组件的所述文本的所述地址的代码区块;
通过所述网络节点基于所述第一最新的有效区块链的最后一个区块的数据记录的至少一部分的加密散列值生成针对所述代码区块的区块地址;以及
通过所述网络节点在所述第一最新的有效区块链中所生成的区块地址处附加所述代码区块。
2.根据权利要求1所述的方法,进一步包含:
响应于由所述网络节点检测到数字事件触发器:
通过所述网络节点将所述数字事件触发器与所述经部署的代码区块关联;
通过所述网络节点基于利用所述共识阈值对多个网络节点的第二轮询检索第二最新的有效区块链;
通过所述网络节点将所述代码区块下载到所述网络节点的存储器;
通过所述网络节点基于可执行代码的地址检索对应于所述至少一个合约组件的所述可执行代码;以及
通过所述网络节点执行所述可执行代码以生成一个或多个输出。
3.根据权利要求2所述的方法,进一步包含:
通过所述网络节点基于所述一个或多个输出更新一个或多个数据库。
4.根据权利要求2所述的方法,进一步包含:
通过所述网络节点生成含有所述一个或多个输出的区块链区块;以及
通过所述网络节点将所述区块链区块附加到所述第二最新的有效区块链。
5.根据权利要求2所述的方法,其中所述数字事件触发器包含以下中的至少一个:预定日期、预定时间点、预定持续时间;计数器中的预定数、智能自动计算的结果、API事件的结果、区块链事件的结果、在网页界面上的用户动作,以及来自管理员用户的输入。
6.根据权利要求1所述的方法,进一步包含:
通过所述网络节点呈现图形合约模板,所述图形合约模板用于设置所述至少一个合约组件或所述至少一个文档组件。
7.根据权利要求1所述的方法,其中所述可执行代码的所述地址是在所述第一和第二最新的有效区块链的每一个内的区块地址。
8.根据权利要求1所述的方法,其中所述可执行代码的所述地址是在合约和文档组件的所述库数据库中的数据库记录的地址。
9.一种用于在区块链中生成和部署代码区块的计算机实现方法,所述方法包含:
通过网络节点呈现图形用户界面(GUI),所述图形用户界面含有从合约和文档组件的库数据库中检索的多个合约组件和多个文档组件;
通过所述网络节点基于对从所述多个合约组件中的至少一个合约组件或从所述多个文档组件中的至少一个文档组件的选择生成组装的合约文本;
通过所述网络节点从合约和文档组件的所述库数据库中检索对应于所述至少一个合约组件的可执行代码或者所述至少一个文档组件的文本;
通过所述网络节点基于利用共识阈值对多个网络节点的第一轮询检索第一最新的有效区块链;
通过所述网络节点生成含有对应于所述至少一个合约组件的所述可执行代码或者所述至少一个文档组件的所述文本的代码区块;
通过所述网络节点基于所述第一最新的有效区块链的最后一个区块的数据记录的至少一部分的加密散列值生成针对所述代码区块的区块地址;以及
通过所述网络节点在所述第一最新的有效区块链中所生成的区块地址处附加所述代码区块。
10.根据权利要求9所述的方法,进一步包含:
响应于由所述网络节点检测到数字事件触发器:
通过所述网络节点将所述数字事件触发器与所述经部署的代码区块关联;
通过所述网络节点基于利用所述共识阈值对多个网络节点的第二轮询检索第二最新的有效区块链;
通过所述网络节点将所述代码区块下载到所述网络节点的存储器;以及
通过所述网络节点执行所述代码区块中的所述可执行代码以生成一个或多个输出。
11.根据权利要求10所述的方法,进一步包含:
通过所述网络节点基于所述一个或多个输出更新一个或多个数据库。
12.根据权利要求10所述的方法,进一步包含:
通过所述网络节点生成含有所述一个或多个输出的输出区块;以及通过所述网络节点将所述输出区块附加到所述第二最新的有效区块链。
13.根据权利要求10所述的方法,其中所述数字事件触发器包含以下中的至少一个:预定日期、预定时间点、预定持续时间;计数器中的预定数、智能自动计算的结果、API事件的结果、区块链事件的结果、在网页界面上的用户动作,以及来自管理员用户的输入。
14.根据权利要求9所述的方法,进一步包含:
通过所述网络节点从用户接收合约组件或文档组件;
通过所述网络节点生成组装的合约文本以包括从所述用户接收的所述合约组件或所述文档组件;以及
通过所述网络节点更新所述库数据库以包括从所述用户接收的所述合约组件或所述文档组件。
15.一种用于在区块链中生成和部署代码区块的系统,所述系统包含:
多个网络节点,每个包括存储区块链的相应本地副本的非暂态存储介质;
所述多个网络节点中的至少一个具有处理器,所述处理器被配置为:
呈现图形用户界面(GUI),所述图形用户界面含有从合约和文档组件的库数据库中检索的多个合约组件和多个文档组件;
基于对从所述多个合约组件中的至少一个合约组件或从所述多个文档组件中的至少一个文档组件的选择生成组装的合约文本;
从合约和文档组件的所述库数据库中检索对应于所述至少一个合约组件的可执行代码或者所述至少一个文档组件的文本;
基于利用共识阈值对多个网络节点的第一轮询检索第一最新的有效区块链;
生成含有对应于所述至少一个合约组件的所述可执行代码或者所述至少一个文档组件的所述文本的代码区块;
基于第一最新的有效区块链的最后一个区块的数据记录的至少一部分的加密散列值生成针对所述代码区块的区块地址;以及
在所述第一最新的有效区块链中所生成的区块地址处附加所述代码区块。
16.根据权利要求15所述的方法,其中所述处理器被进一步配置为:
响应于检测到数字事件触发器:
将所述数字事件触发器与所述代码区块关联;
基于利用所述共识阈值对多个网络节点的第二轮询检索所述最新的有效区块链;
将所述代码区块下载到所述网络节点的存储器;
执行所述代码区块中的所述可执行代码以生成一个或多个输出。
17.根据权利要求16所述的方法,其中所述处理器被进一步配置为:
基于所述一个或多个输出更新一个或多个数据库。
18.根据权利要求16所述的方法,其中所述处理器被进一步配置为:
生成含有所述一个或多个输出的输出区块;以及
将所述输出区块附加到第二最新的有效区块链。
19.根据权利要求16所述的方法,其中所述数字事件触发器包含以下中的至少一个:预定日期、预定时间点、预定持续时间;计数器中的预定数、智能自动计算的结果、API事件的结果、区块链事件的结果、在网页界面上的用户动作,以及来自管理员用户的输入。
20.根据权利要求15所述的方法,其中所述处理器被进一步配置为:
呈现合约模板,所述合约模板用于设置所述至少一个合约组件或所述至少一个文档组件。
CN201780085616.5A 2017-02-06 2017-12-19 用于在分布式网络节点内生成、上传和执行代码区块的系统和方法 Active CN110495132B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201762455532P 2017-02-06 2017-02-06
US62/455,532 2017-02-06
US15/846,012 2017-12-18
US15/846,012 US10158479B2 (en) 2017-02-06 2017-12-18 Systems and methods for generating, uploading and executing code blocks within distributed network nodes
PCT/US2017/067175 WO2018144153A1 (en) 2017-02-06 2017-12-19 Systems and methods for generating, uploading, and executing code blocks within distributed network nodes

Publications (2)

Publication Number Publication Date
CN110495132A true CN110495132A (zh) 2019-11-22
CN110495132B CN110495132B (zh) 2023-08-22

Family

ID=63037446

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201780085616.5A Active CN110495132B (zh) 2017-02-06 2017-12-19 用于在分布式网络节点内生成、上传和执行代码区块的系统和方法

Country Status (5)

Country Link
US (1) US10158479B2 (zh)
EP (2) EP3568948B1 (zh)
CN (1) CN110495132B (zh)
SG (1) SG11201906796VA (zh)
WO (1) WO2018144153A1 (zh)

Families Citing this family (87)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10452998B2 (en) 2017-03-19 2019-10-22 International Business Machines Corporation Cognitive blockchain automation and management
US10984483B2 (en) * 2017-03-19 2021-04-20 International Business Machines Corporation Cognitive regulatory compliance automation of blockchain transactions
US10515233B2 (en) 2017-03-19 2019-12-24 International Business Machines Corporation Automatic generating analytics from blockchain data
US10871948B1 (en) 2017-03-30 2020-12-22 Wells Fargo Bank, N.A. Smart contract blockchain abstraction API
US20210342838A1 (en) * 2017-04-20 2021-11-04 Tokencard Limited Systems and methods for receiving and distributing consideration via smart contracts on a blockchain
EP4184404A1 (en) * 2017-05-26 2023-05-24 nChain Licensing AG Script-based blockchain interaction
US10944546B2 (en) 2017-07-07 2021-03-09 Microsoft Technology Licensing, Llc Blockchain object interface
US10943680B1 (en) * 2017-09-07 2021-03-09 Massachusetts Mutual Life Insurance Company Intelligent health-based blockchain
US10963400B2 (en) * 2017-10-11 2021-03-30 International Business Machines Corporation Smart contract creation and monitoring for event identification in a blockchain
US11216788B1 (en) 2017-11-30 2022-01-04 Worldpay, Llc Systems and methods for blockchain-based payment transactions, alerts, and dispute settlement, using a blockchain interface server
EP3503012A1 (en) * 2017-12-20 2019-06-26 Accenture Global Solutions Limited Analytics engine for multiple blockchain nodes
US11205178B2 (en) * 2017-12-28 2021-12-21 International Business Machines Corporation Converting processes into multiple blockchain smart contracts
US10567234B1 (en) * 2018-02-13 2020-02-18 EMC IP Holding Company LLC Point of origin capture for data compliance management in cloud computing environment
US20200118092A1 (en) * 2018-03-13 2020-04-16 Paul Gauvreau Built by Blockchain: A Universal API for Nonnative Cross Chain Smart Contracts
US11494764B2 (en) * 2018-04-04 2022-11-08 Vijay Madisetti Methods and systems for smart contracts for security and filtering
US11563557B2 (en) * 2018-04-24 2023-01-24 International Business Machines Corporation Document transfer processing for blockchains
US10606669B2 (en) * 2018-06-08 2020-03-31 Optum, Inc. Domain and event type-specific consensus process for a distributed ledger
US10771240B2 (en) 2018-06-13 2020-09-08 Dynamic Blockchains Inc Dynamic blockchain system and method for providing efficient and secure distributed data access, data storage and data transport
US10243748B1 (en) * 2018-06-28 2019-03-26 Jonathan Sean Callan Blockchain based digital certificate provisioning of internet of things devices
US10819503B2 (en) * 2018-07-03 2020-10-27 International Business Machines Corporation Strengthening non-repudiation of blockchain transactions
GB201811263D0 (en) * 2018-07-10 2018-08-29 Netmaster Solutions Ltd A method and system for managing digital using a blockchain
US10896149B2 (en) * 2018-07-29 2021-01-19 International Business Machines Corporation Composition operators for smart contract
US10901955B2 (en) 2018-07-29 2021-01-26 International Business Machines Corporation Smart contract input mapping
US10896195B2 (en) 2018-07-29 2021-01-19 International Business Machines Corporation Automatic generation of smart contracts
US11443327B2 (en) * 2018-08-29 2022-09-13 Jpmorgan Chase Bank, N.A. Method and apparatus for implementing a block chain node device
US11281660B1 (en) * 2018-08-31 2022-03-22 Vitalyx, Inc. Multi-parallel processing of n-dimensional orthogonal splits in transactions and data for a distributed transaction system
US11227350B1 (en) 2018-09-06 2022-01-18 Side, Inc. Single-tier blockchain-based system and method for document transformation and accountability via different node types
CN109359957B (zh) * 2018-09-17 2022-11-22 中国银联股份有限公司 一种安全多方计算的方法及相关装置
US11212076B2 (en) 2018-09-19 2021-12-28 International Business Machines Corporation Distributed platform for computation and trusted validation
US11940978B2 (en) 2018-09-19 2024-03-26 International Business Machines Corporation Distributed platform for computation and trusted validation
US11032063B2 (en) 2018-09-19 2021-06-08 International Business Machines Corporation Distributed platform for computation and trusted validation
CN109361661B (zh) * 2018-10-08 2020-07-10 莆田市烛火信息技术有限公司 一种依附相关链算力的区块链的共识装置
US10726107B2 (en) 2018-10-08 2020-07-28 Mythical, Inc. Systems and methods for facilitating tokenization of modifiable game assets on a distributed blockchain
US10880074B2 (en) * 2018-10-15 2020-12-29 Adobe Inc. Smart contract platform for generating and customizing smart contracts
CN109658238B (zh) * 2018-10-26 2020-06-16 阿里巴巴集团控股有限公司 数据处理方法及装置
US11474854B2 (en) * 2018-10-30 2022-10-18 International Business Machines Corporation Transformation of inter-organization process for execution via blockchain
US10671372B2 (en) * 2018-11-01 2020-06-02 Dell Products L.P. Blockchain-based secure customized catalog system
KR102180991B1 (ko) 2018-11-07 2020-12-17 어드밴스드 뉴 테크놀로지스 씨오., 엘티디. 블록 체인 기밀 거래의 규제
BR112019008168A2 (pt) 2018-11-07 2019-09-10 Alibaba Group Holding Ltd métodos implementados por computador, meio de armazenamento legível por computador e sistema
US10922309B2 (en) * 2018-11-19 2021-02-16 Dragonchain, Inc. Distributed ledger interaction system and methods
DE102018129354A1 (de) * 2018-11-21 2020-05-28 Phoenix Contact Gmbh & Co. Kg Verfahren zum Bearbeiten von Anwendungsprogrammen auf einem verteilten Automatisierungssystem
US10518178B1 (en) 2018-12-06 2019-12-31 Mythical, Inc. Systems and methods for transfer of rights pertaining to game assets between users of an online gaming platform
CN110851496B (zh) * 2018-12-07 2023-03-14 深圳市智税链科技有限公司 在区块链网络中查询交易信息的方法、装置、记账节点和介质
CN110032599B (zh) * 2018-12-20 2020-05-05 阿里巴巴集团控股有限公司 数据结构的读取及更新方法、装置、电子设备
WO2020145591A1 (ko) * 2019-01-08 2020-07-16 주식회사 에치에프알 자연 언어 기반 블록 체인 스마트 계약 생성방법 및 그를 위한 장치
KR102142688B1 (ko) * 2019-01-08 2020-08-07 주식회사 에치에프알 자연 언어 기반 블록 체인 스마트 계약 생성방법 및 그를 위한 장치
CN110060155B (zh) * 2019-01-31 2021-03-23 创新先进技术有限公司 区块链的智能合约执行方法及装置和电子设备
US11138600B2 (en) * 2019-02-05 2021-10-05 Capital One Services, Llc Smart contract regulation
US11373174B1 (en) 2019-02-05 2022-06-28 Mythical, Inc. Systems and methods for facilitating transfer of ownership of tokens between users on a decentralized database
CN109919632A (zh) * 2019-02-21 2019-06-21 贵州省烟草公司贵阳市公司 一种提高合同文本符合性的方法、装置及电子设备
CN109977638A (zh) * 2019-02-22 2019-07-05 亦非云互联网技术(上海)有限公司 基于以太坊的智能合约更新方法及系统、存储介质及终端
US10425230B1 (en) 2019-03-01 2019-09-24 Capital One Services, Llc Identity and electronic signature verification in blockchain
EP3702951A1 (de) * 2019-03-01 2020-09-02 Siemens Aktiengesellschaft Computerimplementiertes verfahren und blockchain-system zur erkennung eines angriffs auf ein computersystem bzw. computernetzwerk
WO2019101236A2 (en) 2019-03-04 2019-05-31 Alibaba Group Holding Limited Software interface for smart contracts
CN109918946B (zh) * 2019-03-08 2019-12-10 浙江雲禾智能设备有限公司 一种基于区块链技术的大数据安全处理系统及方法
CN109933629B (zh) * 2019-03-15 2021-07-30 腾讯科技(深圳)有限公司 数据同步方法、装置、计算机设备以及可读存储介质
CA3060791C (en) * 2019-04-08 2020-10-06 Alibaba Group Holding Limited Product promotion using smart contracts in blockchain networks
EP3953834A4 (en) * 2019-04-12 2023-01-04 Symbiont.io, Inc. SYSTEMS, DEVICES AND PROCEDURES FOR DLT-BASED DATA MANAGEMENT PLATFORMS AND DATA PRODUCTS
US11676143B2 (en) * 2019-05-16 2023-06-13 Coinbase, Inc. Systems and methods for blockchain transaction management
CN110275916B (zh) * 2019-05-23 2021-01-12 创新先进技术有限公司 数据操作记录的存储方法、系统、装置及设备
US11204933B2 (en) 2019-05-23 2021-12-21 Advanced New Technologies Co., Ltd. Data manipulation record storage method, system, apparatus, and device
US11122110B2 (en) 2019-06-11 2021-09-14 Advanced New Technologies Co., Ltd. Blockchain-based file processing method, apparatus, and device, and storage medium
EP3906488B1 (en) * 2019-06-12 2023-08-02 Nec Corporation Method and contract rewriting framework system for supporting smart contracts in a blockchain network
US11321307B2 (en) 2019-06-25 2022-05-03 Optum, Inc. Orchestrated consensus validation for distributed ledgers using heterogeneous validation pools
SG11202003808PA (en) 2019-06-28 2020-05-28 Advanced New Technologies Co Ltd System and method for data processing
CN110516469B (zh) * 2019-07-31 2023-05-26 苏州白杨软件有限公司 一种基于区块链的共享大数据应用场景中的防黑客方法
CN110417905B (zh) * 2019-08-02 2022-06-07 深圳市迅雷网络技术有限公司 一种合约发布方法、装置、设备和联盟链系统
CN110489234A (zh) * 2019-08-16 2019-11-22 中国银行股份有限公司 区块链层的报文处理方法、装置、设备及可读存储介质
US10783082B2 (en) 2019-08-30 2020-09-22 Alibaba Group Holding Limited Deploying a smart contract
CN110675256B (zh) * 2019-08-30 2020-08-21 阿里巴巴集团控股有限公司 部署和执行智能合约的方法及装置
CN110554866B (zh) * 2019-09-12 2022-11-01 北京工商大学 一种基于mvc交易类智能合约交互式设计方法
US20210092127A1 (en) * 2019-09-19 2021-03-25 Microsoft Technology Licensing, Llc Writing role-backed access control to chain
CN117273774A (zh) * 2019-09-25 2023-12-22 支付宝(杭州)信息技术有限公司 一种基于区块链的信息处理方法、装置及设备
EP3769490B1 (en) * 2019-10-16 2022-05-04 Alipay (Hangzhou) Information Technology Co., Ltd. Implementing a blockchain-based web service
US11119734B2 (en) * 2019-11-06 2021-09-14 International Business Machines Corporation Software detection and modification
CA3098935A1 (en) 2019-11-19 2020-02-20 Alipay (Hangzhou) Information Technology Co., Ltd. System and method for consensus management
AU2019321923B2 (en) * 2019-11-27 2021-09-02 Alipay (Hangzhou) Information Technology Co., Ltd. Asynchronous processing of blockchain blocks
CN114268645B (zh) * 2019-12-26 2024-08-09 湖南天河国云科技有限公司 一种基于区块链的工业互联网可信控制方法、装置和系统
US11475453B2 (en) * 2019-12-31 2022-10-18 Capital One Services, Llc System and techniques for utilizing a smart contracts library
US11558180B2 (en) 2020-01-20 2023-01-17 International Business Machines Corporation Key-value store with blockchain properties
EP3890276A1 (de) * 2020-03-31 2021-10-06 Siemens Aktiengesellschaft Integrieren einer maschine in ein bestehendes distributed-ledger-netzwerk
US11080412B1 (en) 2020-08-20 2021-08-03 Spideroak, Inc. Efficiently computing validity of a block chain
US11563727B2 (en) 2020-09-14 2023-01-24 International Business Machines Corporation Multi-factor authentication for non-internet applications
CN112767156B (zh) * 2021-01-19 2024-03-08 中国工商银行股份有限公司 基于区块链的数据处理方法、装置及系统
US11822524B2 (en) 2021-09-23 2023-11-21 Bank Of America Corporation System for authorizing a database model using distributed ledger technology
US11907179B2 (en) 2021-09-23 2024-02-20 Bank Of America Corporation System for intelligent database modelling
US20230131294A1 (en) * 2021-10-26 2023-04-27 Clear Contracts Inc. Executable code blocks based on captured user interactions

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150332283A1 (en) * 2014-05-13 2015-11-19 Nant Holdings Ip, Llc Healthcare transaction validation via blockchain proof-of-work, systems and methods
US20150379510A1 (en) * 2012-07-10 2015-12-31 Stanley Benjamin Smith Method and system to use a block chain infrastructure and Smart Contracts to monetize data transactions involving changes to data included into a data supply chain.
CN105976231A (zh) * 2016-06-24 2016-09-28 深圳前海微众银行股份有限公司 基于区块链智能合约的资产管理方法及节点
US20160335533A1 (en) * 2015-05-15 2016-11-17 Joshua P. Davis System and Method for an Autonomous Entity
US20170011460A1 (en) * 2015-07-09 2017-01-12 Ouisa, LLC Systems and methods for trading, clearing and settling securities transactions using blockchain technology
WO2017011601A1 (en) * 2015-07-14 2017-01-19 Fmr Llc Computationally efficient transfer processing, auditing, and search apparatuses, methods and systems

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10102510B2 (en) 2012-11-28 2018-10-16 Hoverkey Ltd. Method and system of conducting a cryptocurrency payment via a mobile device using a contactless token to store and protect a user's secret key
US20160098723A1 (en) * 2014-10-01 2016-04-07 The Filing Cabinet, LLC System and method for block-chain verification of goods
US20160275461A1 (en) 2015-03-20 2016-09-22 Rivetz Corp. Automated attestation of device integrity using the block chain
AU2016242888A1 (en) 2015-03-31 2017-11-16 Nasdaq, Inc. Systems and methods of blockchain transaction recordation
JP6704985B2 (ja) 2015-04-05 2020-06-03 デジタル・アセット・ホールディングス・エルエルシー デジタル資産仲介電子決済プラットフォーム
US20160321434A1 (en) 2015-05-01 2016-11-03 Monegraph, Inc. Digital content rights transactions using block chain systems
US20170048209A1 (en) * 2015-07-14 2017-02-16 Fmr Llc Crypto Key Recovery and Social Aggregating, Fractionally Efficient Transfer Guidance, Conditional Triggered Transaction, Datastructures, Apparatuses, Methods and Systems
US10402792B2 (en) 2015-08-13 2019-09-03 The Toronto-Dominion Bank Systems and method for tracking enterprise events using hybrid public-private blockchain ledgers
US11915332B2 (en) 2015-10-02 2024-02-27 Loyyal Holdings Incorporated System and process for tokenization and management of liability
CA3041904A1 (en) 2015-10-29 2017-05-04 RiskWhip Pty Ltd Technology adapted to configure computer systems to perform management, and enable streamlined user-configuration, of complex autonomous peer-to-peer transaction frameworks
US11562353B2 (en) * 2015-11-24 2023-01-24 Mastercard International Incorporated Method and system for gross settlement by use of an opaque blockchain
EP4050503B1 (en) 2015-12-22 2023-11-01 Financial & Risk Organisation Limited Methods and systems for identity creation, verification and management
US10713654B2 (en) * 2016-01-21 2020-07-14 International Business Machines Corporation Enterprise blockchains and transactional systems
US10346406B2 (en) 2016-03-28 2019-07-09 International Business Machines Corporation Decentralized autonomous edge compute coordinated by smart contract on a blockchain
US9824031B1 (en) * 2016-10-28 2017-11-21 International Business Machines Corporation Efficient clearinghouse transactions with trusted and un-trusted entities

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150379510A1 (en) * 2012-07-10 2015-12-31 Stanley Benjamin Smith Method and system to use a block chain infrastructure and Smart Contracts to monetize data transactions involving changes to data included into a data supply chain.
US20150332283A1 (en) * 2014-05-13 2015-11-19 Nant Holdings Ip, Llc Healthcare transaction validation via blockchain proof-of-work, systems and methods
US20160335533A1 (en) * 2015-05-15 2016-11-17 Joshua P. Davis System and Method for an Autonomous Entity
US20170011460A1 (en) * 2015-07-09 2017-01-12 Ouisa, LLC Systems and methods for trading, clearing and settling securities transactions using blockchain technology
WO2017011601A1 (en) * 2015-07-14 2017-01-19 Fmr Llc Computationally efficient transfer processing, auditing, and search apparatuses, methods and systems
CN105976231A (zh) * 2016-06-24 2016-09-28 深圳前海微众银行股份有限公司 基于区块链智能合约的资产管理方法及节点

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
BECK ROMAN等: "BLOCKCHAIN-THE GATEWAY TO TRUST-FREE CRYPTOGRAPHIC TANSACTIONS", 《TWENTY-FOURTH EUROPEAN CONFERENCE ON INFORMATION SYSTEMS(ECIS)》 *

Also Published As

Publication number Publication date
EP3896894A1 (en) 2021-10-20
US20180227116A1 (en) 2018-08-09
SG11201906796VA (en) 2019-08-27
EP3568948A4 (en) 2019-11-20
CN110495132B (zh) 2023-08-22
EP3568948B1 (en) 2021-02-17
EP3896894B1 (en) 2022-08-31
EP3568948A1 (en) 2019-11-20
US10158479B2 (en) 2018-12-18
WO2018144153A1 (en) 2018-08-09

Similar Documents

Publication Publication Date Title
CN110495132A (zh) 用于在分布式网络节点内生成、上传和执行代码区块的系统和方法
CN108701145B (zh) 用于分布式网络节点内的数字身份管理和许可控制的系统和方法
CN110494876A (zh) 用于在分布式网络节点内发布和追踪数字令牌的系统和方法
CN110494877A (zh) 用于在分布式网络节点内发布和追踪数字令牌的系统和方法
US11451530B2 (en) Systems, methods, and apparatuses for implementing super community and community sidechains with consent management for distributed ledger technologies in a cloud based computing environment
Liu et al. A blockchain-based framework of cross-border e-commerce supply chain
US20230342734A1 (en) Systems, methods, and apparatuses for implementing smart flow contracts using distributed ledger technologies in a cloud based computing environment
US11257073B2 (en) Systems, methods, and apparatuses for implementing machine learning models for smart contracts using distributed ledger technologies in a cloud based computing environment
US20190236606A1 (en) Systems, methods, and apparatuses for implementing a virtual chain model for distributed ledger technologies in a cloud based computing environment
JP2021519488A (ja) ブロックチェーン内でコード及びイメージを用いるためのシステム及び方法
US20200134719A1 (en) Distributed ledger implementation for entity formation and monitoring system
US20190392429A1 (en) Capital inheritance system and method for facilitating transfer of digital cryptocurrency
US11157876B1 (en) Intelligent employment-based blockchain
Van Mölken Blockchain across Oracle: Understand the details and implications of the Blockchain for Oracle developers and customers
CN109784870A (zh) 合同管理方法、装置、计算机设备及计算机可读存储介质
CN112435006A (zh) 一种应用区块链技术的专利全过程管理方法、系统及设备
US20210365946A1 (en) Payslip verification for blockchain transaction
CN109446259A (zh) 数据处理方法及装置、处理机及存储介质
CN109325873A (zh) 自助业务处理方法、装置、计算机设备及存储介质
EP3832510B1 (en) Method, system and computer programs for not repudiable transparent ordering, replication and logging of operations involving personal data
Sater Blockchain and the european union's general data protection regulation: A chance to harmonize international data flows
Greene Self-Sovereign Identity and the Decentralized, Consent-Based Model
Govinda et al. Implementation of Election System Using Blockchain Technology
Fernandes Distributed Ledger Technologies and NFTs in Healthcare Scenarios
Halder et al. Digital Degree Issuing and Verification Using Blockchain

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: 40010080

Country of ref document: HK

GR01 Patent grant
GR01 Patent grant