CN112005236A - 区块链网络上的文档访问 - Google Patents

区块链网络上的文档访问 Download PDF

Info

Publication number
CN112005236A
CN112005236A CN201980027664.8A CN201980027664A CN112005236A CN 112005236 A CN112005236 A CN 112005236A CN 201980027664 A CN201980027664 A CN 201980027664A CN 112005236 A CN112005236 A CN 112005236A
Authority
CN
China
Prior art keywords
blockchain
node
document
nodes
network
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.)
Pending
Application number
CN201980027664.8A
Other languages
English (en)
Inventor
刘智雄
曾焕逸
苏志文
林俊睿
G·P·诺布尔
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN112005236A publication Critical patent/CN112005236A/zh
Pending legal-status Critical Current

Links

Images

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/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
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0209Architectural arrangements, e.g. perimeter networks or demilitarized zones
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0891Revocation or update of secret information, e.g. encryption key update or rekeying
    • 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
    • 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/3247Cryptographic 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
    • 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/3263Cryptographic 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 certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
    • H04L9/3265Cryptographic 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 certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements using certificate chains, trees or paths; Hierarchical trust model
    • 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
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/56Financial cryptography, e.g. electronic payment or e-cash

Abstract

示例性操作可包括以下中的一个或多个:配置包括第一和第二区块链节点的区块链网络;由第一区块链节点向第二区块链节点提供数据引用;由第二区块链节点从第一区块链节点访问文档;以及由第二区块链节点向共享区块链分类账提供文档的接收证明。

Description

区块链网络上的文档访问
技术领域
本申请总体上涉及区块链网络,更具体地涉及区块链上的文档访问和处理。
背景技术
分类账通常被定义为记录交易的条目的帐簿。分布式分类账是整体或部分地复制到多个计算机的分类账。密码分布式分类账(CDL)可具有这些属性中的至少一些属性:不可逆性(交易一旦被记录,就不能被反转)、可访问性(任何一方可全部或部分地访问CDL)、时间顺序和时间戳(所有各方都知道交易何时被添加到分类账)、基于共识(交易仅当被网络上的各方批准(通常一致地)时才被添加)、可验证性(所有交易可被密码验证)。区块链是CDL的实例。虽然本文的描述和附图是以区块链来描述的,但是本申请同样适用于任何CDL。
分布式分类账是通常应用密码技术(诸如存储与其他块有关的密码哈希)的连续增长的记录列表。区块链是分布式分类账的一个常见实例,并且可用作公共分类账来存储信息。尽管主要用于金融交易,但区块链可存储与商品和服务(即,产品、包装、状态等)有关的不同信息。去中心化的方案向去中心化的网络提供权限和信任,并且使其节点能够在公共“块”上连续且顺序地记录其交易,从而创建被称为区块链的独特“链”。通过哈希码的密码被用于保护交易源的认证和去除中央中介。区块链是分布式数据库,该分布式数据库维护区块链块中的连续增长的记录列表,这些记录由于其不可变的属性而得到免受篡改和修改的保护。每个块包含时间戳和指向先前块的链接。区块链可用于保持、跟踪、传送和验证信息。由于区块链是分布式系统,因此在向区块链分类账添加交易之前,所有对等方都需要达到共识状态。
通常,涉及安全网关的实体之间的文档转移缺少文档转移(transfers)和收据验证的不可变记录。因此,需要一种多实体区块链网络来提供所有被转移文档的收据记录并克服这些限制。
发明内容
本发明的一个方面提供了一种方法,该方法包括以下中的一个或多个:配置包括第一和第二区块链节点的区块链网络;由第一区块链节点向第二区块链节点提供数据引用;由第二区块链节点从第一区块链节点访问文档;以及由第二区块链节点向共享区块链分类账提供文档的接收证明。
另一方面提供了一种包括区块链网络的系统,该区块链网络包括包含根节点的云代理,以及第一和第二区块链节点。所述第一区块链节点用于提供数据引用。第二区块链节点被配置成接收来自第一区块链节点的数据引用,并且作为响应,从第一区块链节点的访问文档并向共享区块链分类账提供该文档的接收证明。
另一方面提供了一种包括指令的非瞬态计算机可读介质,该指令在被处理器读取时使得处理器执行以下中的一个或多个:配置包括第一和第二区块链节点的区块链网络;由第一区块链节点向第二区块链节点提供数据引用;由第二区块链节点从第一区块链节点访问文档;以及由第二区块链节点向共享区块链分类账提供文档的接收证明。
附图说明
图1A示出根据示例性实施例的具有区块链的文档共享系统的网络图。
图1B示出根据示例性实施例的区块链中的共享分类账内容的网络图。
图2A示出了根据示例性实施例的示例性对等方节点区块链架构配置。
图2B示出根据示例性实施例的示例性对等方节点区块链配置。
图3是示出根据示例性实施例的被许可的(permissioned)区块链网络的图。
图4A示出根据示例性实施例的用于执行区块链配置的系统消息收发图。
图4B示出根据示例性实施例的用于执行文档转移的系统消息收发图。
图5A示出根据示例性实施例的配置和处理区块链中的文档转移的示例性方法的流程图。
图5B示出根据示例性实施例的使用区块链的文档编辑过程的流程图。
图6A示出根据示例性实施例的被配置成根据本文描述的一个或多个操作对区块链执行不同操作的示例性物理基础设施。
图6B示出根据示例性实施例的在订约方和被配置为在区块链上实施智能合约条款的中介服务器之间的示例性智能合约配置。
图7示出了被配置为支持一个或多个示例性实施例的示例性计算机系统。
具体实施方式
容易理解的是,如在本文中的图中一般描述和示出的,本发明的部件可以以各种各样的不同配置布置和设计。由此,如附图中所表示的方法、装置、非瞬态计算机可读介质和系统中的至少一个的实施例的以下详细描述不旨在限制所要求保护的应用的范围,而是仅表示所选实施例。
本说明书通篇描述的本特征、结构或特性可以任何合适的方式组合在一个或多个实施例中。例如,贯穿本说明书,短语“示例性实施例”、“一些实施例”或其他类似语言的使用是指结合实施例描述的特定特征、结构或特性可以包括在至少一个实施例中的事实。因此,贯穿本说明书,短语“示例性实施例”、“在一些实施例中”、“在其他实施例中”、或其他类似语言的出现不一定都指同一组实施例,并且所描述的特征、结构、或特性可以按任何适合的方式组合在一个或多个实施例中。
此外,虽然术语“消息”可能已经在实施例的描述中使用,但该应用可以应用于许多类型的网络数据,如分组、帧、数据报等。术语“消息”还包括分组、帧、数据报、及其任何等效物。此外,虽然在示例性实施例中可能描了述特定类型的消息和信令,但是它们不限于特定类型的消息,并且应用不限于特定类型的信令。示例性实施例提供为区块链提供生物测定威胁情报处理的方法、设备、网络和/或系统。
区块链是包括彼此通信的多个节点的分布式系统。区块链操作称为链码的程序(例如,智能合约等),保持状态和分类账数据,并执行交易。一些交易是在链码上调用的操作。一般而言,区块链交易通常必须由某些区块链成员“背书”,并且仅背书的交易可被提交至区块链并且对区块链的状态具有影响。未背书的其他交易被忽略。可能存在用于管理功能和参数的一个或多个特殊链码,统称为系统链码。
节点是区块链系统的通信实体。“节点”可以在不同类型的多个节点可以在同一物理服务器上运行的意义上执行逻辑功能。节点被分组在信任域中并且与以不同方式控制它们的逻辑实体相关联。节点可以包括不同类型,诸如向背书者(例如对等方)提交交易-调用、并向排序服务(例如排序节点)广播交易提议的客户端或提交-客户端节点。另一类型的节点是可接收客户端提交的交易、提交交易并维护区块链交易的分类账的状态和副本的对等方节点。对等方还可以具有背书者的角色,尽管这不是必须的。排序-服务-节点或排序者是为所有节点运行通信服务的节点,其实现交付保障,例如在提交交易和修改区块链的世界状态时向系统中的每个对等方节点的广播,区块链的世界状态是初始区块链交易的另一名称,其通常包括控制和设置信息。
分类账是区块链的所有状态转换的排序的、防篡改的记录。状态转换可由参与方(例如,客户端节点、排序节点、背书方节点、对等方节点等)提交的链码调用(即,交易)引起。交易可导致一组资产键-值对被提交给分类账作为一个或多个操作数,诸如创建、更新、删除等。分类账包括区块链(也称为链),其用于在块中存储不可变的、排序的记录。分类账还包括维护区块链的当前状态的状态数据库。每个通道通常有一个分类账。每个对等方节点维护它们作为其成员的每个通道的分类账的副本。
链是被结构化为哈希链接的块的交易日志,并且每个块包含N个交易的序列,其中N等于或大于1。块头部包括块的交易的哈希,以及先前块的头部的哈希。以此方式,分类账上的所有交易可被排序并加密地链接在一起。因而,不可能在不破坏哈希链接的情况下篡改分类账数据。最近添加的区块链块的哈希表示链上的之前已经到来的每个交易,使得可以确保所有对等方节点处于一致和可信状态。链可存储在对等方节点文件系统(即,本地、附加存储、云等)上,从而有效地支持区块链工作负荷的仅附加(append-only)性质。
不可变分类账的当前状态表示包括在链交易日志中的所有键的最新值。因为当前状态表示通道已知的最新键值,所以有时将其称为世界状态。链码调用针对分类账的当前状态数据执行交易。为了使这些链码交互有效,可以在状态数据库中存储键的最新值。状态数据库可以简单地是链的交易日志的索引视图,因此可以在任何时间从链重新生成状态数据库。状态数据库可在对等方节点启动时和在交易被接受之前自动恢复(或如果需要的话生成)。
对于商业伙伴交换商业数据,通常要求一个伙伴配置能够向其商业伙伴发送数据和从其商业伙伴接收数据的网关。传统上讲,最佳实践是建立交换简档(例如,基于B2B CPA规范),其定义贸易伙伴之间的交换细节,例如传输级别和安全级别要求。然而,这个过程通常需要并非简单的努力,因为它涉及多方的手动过程以定义交换细节。连通性也可能是另一主要问题,因为这些网关通常位于受保护网络中,其中组织的防火墙使得更难以出于配置目的而从因特网连接网关。为了解决这些问题,需要一种建立虚拟连接的商业网络以使得商业伙伴之间的智能合约能够管理文档转移的机制。
图1A示出根据示例性实施例的区块链中的文档共享系统的逻辑网络图。参考图1A,网络100包括区块链网络112,其包括区块链节点104。区块链节点104表示期望共享任何类型的文档136的不同组织。由于区块链网络112中的参与者是明确定义的组织,区块链网络112最常见地是被许可的区块链。然而,公共区块链(例如,Ethereum)加以适当修改后也可以用于此目的。区块链节点104中的任何一个都可以是始发节点104,其与其他区块链节点104共享文档。任何数量的区块链节点104可被包括在区块链网络112中,所示出的是三个区块链节点104A、104B和104N。区块链技术在商业伙伴或节点104之间建立虚拟网络,其中反向隧道技术允许伙伴建立区块链基础结构。
每个区块链节点104具有相关联的网关116,示为与区块链节点104A相关联的网关116A、与区块链节点104B相关联的网关116B以及与区块链节点104N相关联的网关116N。网关116各自包括包含通信参数(例如加密、凭证和端口)的配置。使用手动过程(例如B2B CPA简档)来交换网关配置的常见现有实践以及使该过程自动化的主要挑战是网关116通常位于隔离的网络中,该网络阻止其他系统访问和配置网关。CPA文件是一种枚举两个合作伙伴进行协作和交换B2B文档所需的有效,可见和可执行的交互的XML文档。CPA文件包含通信协议、可靠的消息传递过程信息、请求和响应安全性、消息传输以及文档信封细节。
区块链为合作伙伴提供交换凭证以建立虚拟专用网络(VPN)用于通信的基础设施,但是将区块链网络用于企业对企业(B2B)使用情况的另一挑战是合作伙伴通常不适应将关键数据或文档放在组织外部的区块链中。当前,一种通用方法是将敏感数据或文档放在另一个数据存储中(使用指针,URL和包含的散列来证明文档的有效性)。
区块链网络112包括一个或多个云代理120,其包括根节点128和每个区块链节点104签名的智能合约124。智能合约124包括根节点128的IP地址和/或端口标识符,以及希望转移文档136的每个商业伙伴/区块链节点104的一组凭证。智能合约124内的通信协议可在云代理120上创建并导入到每个网关116。基于智能合约124中的通信协议,每个伙伴可加入具有有限范围的区块链网络112(例如,只有具有签署的通信协议或智能合约124的伙伴104可以加入)。
文档136在区块链节点104之间的区块链交易132之外转移。当准备好共享一个或多个文档136或配置时,始发节点104发送数据的数据引用(例如URL)到区块链网络112。已经签署智能合约124的参与者节点104然后能够通过该数据引用访问(一个或多个)文档136,并使用其凭证将副本拉到其自己的网络存储中。参与者节点104通过组合文档150的哈希、盐(salt)154和其自己的标识符158以形成收据144、对其进行签名并创建区块链交易132,来提供它们已经收到文档136的证明。仅当参与者节点104已访问并哈希了文档136时,这才可以执行。
盐是随机数据,被用作“哈希”数据的单向函数的附加输入、密码或口令短语。盐与随机数的概念密切相关。盐的主要功能是防御字典攻击或防御其哈希等效项(预先计算的彩虹表攻击)。盐有时用于保护存储器中的密码。历史上,密码可以以明文存储在系统上,但是随着时间的推移,已经开发了额外的保护措施以保护用户的密码不被从系统读取。盐是那些方法之一。
响应于在区块链节点104之间转移文档136,区块链交易132由接收文档136的区块链节点104生成。区块链交易132将收据存储在与每个区块链节点104相关联的分布式共享分类账108中,如参见图1B和4B所描述的。有利地,本申请允许对等方或伙伴之间进行受保护的文档转移,同时允许每个伙伴在本地维护关键数据和文档。总之,本申请提供了一种用于商业伙伴通过利用云代理120来建立通信网络的机制。一旦建立了网络112,伙伴就可以将网关116的配置和商业文档136二者与存储在区块链网络112中的不可抵赖记录进行交换。伙伴可以通过向其他伙伴发送数据引用来在本地维护文档136,而具有该数据引用的伙伴可以决定是否检索文档136,但是他们的访问记录将保留在区块链中。
图1B示出根据示例性实施例的区块链中的共享分类账108内容的图。参考图1B,共享分类账108包括收据内容144。接收文档136的每个区块链节点104创建收据144,如关于图4B更详细地描述的,并且生成将收据内容144存储在区块链上的区块链交易。因为区块链包括所有接收到的文档136的收据144,所以有一组收据144被存储在区块链上和共享分类账108中,其在图1B中被标识为收据144A至收据144N。
收据内容144各自包括文档的哈希150、盐154和接收节点标识符158中的一个或多个。对于对应于收据144A至144N的N个收据144,分别存在文档150A至150N、盐154A至154N和接收节点标识符158A至158N的对应哈希。哈希是可以用于将任意大小的数据映射到固定大小的数据的函数。由此,文档150的哈希将经哈希的文档减小到固定大小。盐154是被用作“哈希”数据的单向函数的附加输入的随机数据。接收节点标识符158是唯一地标识接收节点104的任何字母数字或其他类型的字符串。
在一些情况下,参与者节点104可通过不创建收据144并将其提交给区块链来选择接受接收错误文档136的风险。然而,接收错误的文档136可能具有业务成本或其他不利结果。如果参与者节点104否认已经访问过文档136,则有它们所作所为的证据(通过存储在共享分类账108中的收据144)。
图2A示出了根据示例性实施例的区块链架构配置200。参考图2A,区块链架构200可以包括某些区块链元素,例如,一组区块链节点202。区块链节点202可包括一个或多个节点204-210(仅以示例的方式示出了4个节点)。这些节点参与多个活动,诸如区块链交易添加和验证过程(共识)。区块链节点204-210中的一个或多个可以背书交易并且可为架构200中的所有区块链节点提供排序服务。区块链节点可发起区块链认证并寻求写入存储在区块链层216中的区块链不可变分类账,其副本也可存储在底层物理基础结构214上。区块链配置可以包括链接到应用编程接口(API)222以访问和执行所存储的程序/应用代码220(例如,链码、智能合约等)的一个或多个应用224,所存储的程序/应用代码220可以根据参与者所寻求的定制配置来创建并且可以维持其自己的状态、控制其自己的资产和接收外部信息。这可以被部署为交易并通过附加到分布式分类账而安装在所有区块链节点204-210上。
区块链基础或平台212可以包括不同层的区块链数据、服务(例如,加密信任服务、虚拟执行环境等)和底层物理计算机基础设施,其可以用于接收和存储新交易并且提供对寻求访问数据条目的审核者的访问。区块链层216可暴露接口,该接口提供对处理程序代码和使用物理基础设施214所必需的虚拟执行环境的访问。密码信任服务218可以用于验证诸如资产交换交易之类的交易并保持信息私密。
图2A的区块链架构配置可以通过由区块链平台212暴露的一个或多个接口和提供的服务来处理和执行程序/应用代码220。代码220可控制区块链资产。例如,代码220可以存储和转移数据,并且可以由节点204-210以智能合约和关联链码的形式以具有执行条件或其他代码元素为条件来执行。作为非限制性实例,可以创建智能合约以执行提醒、更新和/或受制于变更、更新等的其他通知。智能合约本身可以用于标识与分类账的授权和访问要求和使用相关联的规则。例如,收据内容226可从从不同的区块链节点202接收文档136的区块链节点202接收,并且可由包括在区块链层216中的一个或多个处理实体(例如,虚拟机)来处理。收据228各自被记录到共享分类账108,并且可以包括关于图1B更详细地描述的收据226的内容。物理基础结构214可用于检索本文所述的任何数据或信息。
在链码内,可以通过高级应用和编程语言来创建智能合约,然后将其写入区块链中的块。智能合约可以包括利用区块链(例如,区块链对等方的分布式网络)注册、存储和/或复制的可执行代码。交易是智能合约代码的执行,其可以响应于满足与智能合约相关联的条件来执行。智能合约的执行可以触发对数字区块链分类账的状态的可信修改。由智能合约执行引起的对区块链分类账的修改可通过一个或多个共识协议贯穿区块链对等方的分布式网络被自动复制。
智能合约可以以键-值对的格式将数据写入区块链。此外,智能合约代码可以读取存储在区块链中的值并且在应用操作中使用它们。智能合约代码可以将不同逻辑操作的输出写入到区块链中。该代码可用于在虚拟机或其他计算平台中创建临时数据结构。写入到区块链的数据可以是公共的和/或可以被加密并保持为私有的。由智能合约使用/生成的临时数据由所提供的执行环境保存在存储器中,然后,一旦区块链所需的数据被标识就被删除。
链码可以包括具有附加特征的智能合约的代码解释。如本文所述,链码可以是部署在计算网络上的程序代码,其中链码在共识过程期间由链验证器一起执行和验证。链码接收哈希并从区块链检索与通过使用先前存储的特征提取器创建的数据模板相关联的哈希。如果哈希标识符的哈希和从所存储的标识符模板数据创建的哈希匹配,则链码向所请求的服务发送授权密钥(authorization key)。链码可以写入与密码细节相关联的区块链数据。在图2A中,区块链节点202接收收据内容226,其包括文档150的哈希、盐154和接收节点标识符158。一个功能可以是作为区块链交易来创建和提交收据,所述收据可以被提供给节点204-210中的一个或多个。
图2B示出根据示例性实施例的区块链的节点之间的交易流250的示例。参考图2B,交易流程可包括由应用客户节点260发送给背书(endorsing)对等方节点281的交易提议291。背书对等方281可验证客户端签名并执行链码函数以发起交易。输出可包括链码结果、在链码(读取集)中读取的一组键/值版本、以及在链码(写入集)中写入的该组键/值。如果被批准,则将提议响应292与背书签名一起发送回客户端260。客户端260将背书组装到交易有效载荷293中,并且将其广播给排序服务节点284。排序服务节点284随后在通道上将所排序的交易作为块传递给所有对等方281-283。在向区块链提交之前,每个对等方281-283都可验证该交易。例如,对等方可以检查背书策略以确保指定对等方的正确分配已经签署了结果并针对交易有效载荷293验证了签名。
再次参照图2B,客户端节点260通过构造并发送请求到对等方节点281来发起交易291,对等方节点281是背书者。客户端260可包括利用诸如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。在该示例中,区块链用户302可向被许可的区块链网络310提交交易。在该示例中,交易可以是部署、调用或查询,并且可以通过利用SDK的客户端侧应用程序、直接通过REST API等来发布。可信商业网络可以提供对诸如审核者(例如,美国股票市场中的证券交易委员会)之类的监管者系统314的访问。同时,节点308的区块链网络运营商系统管理成员许可,诸如将监管节系统310注册为“审核者”,并且将区块链用户302注册为“客户端”。审核者可能仅限于查询分类账,而客户端可被授权部署、调用和查询特定类型的链码。
区块链开发者系统316编写链码和客户端侧应用。区块链开发者系统316可通过REST接口将链直接部署到网络。为了将来自传统数据源330的凭证包括在链码中,开发者系统316可使用带外连接来访问数据。在该示例中,区块链用户302通过对等方节点312连接到网络。在进行任何交易之前,对等方节点312从凭证颁发机构318检索用户的登记和交易证书。在一些情况下,区块链用户必须拥有这些数字证书才能在被许可的区块链网络310上进行交易。同时,可能要求尝试驱动链码的用户在传统数据源330上验证其凭证。为了确认用户的授权,链码可以使用通过传统处理平台320到该数据的带外连接。
图4A示出根据示例性实施例的用于执行区块链配置的系统消息收发图。参考图4A,系统图400包括始发节点401、一个或多个参与者节点402A、402B以及云代理403。始发节点401中的每一个和参与者节点402A、402B中的每一个都是希望参与安全文档转移的组织。从区块链式网络配置的观点来看,始发节点401等效于参与者节点402A、402B中的任一者。
配置过程400在始发节点401和参与者节点402A、402B中的每一个被定义(未示出)时开始。存在许多可以定义节点401、402中的每一个的方式,并且这样的定义是情景相关的。一旦每个节点401、402被定义,则每个节点401、402定义配置参数410。配置参数410包括用于登录到云代理403的注册和登录参数,诸如URL、用户名和密码。节点401、402分别向云代理403传送配置参数411。发起区块链网络112的创建的始发节点401向云代理403发送合约请求412。云代理403响应于接收到合约请求412,创建智能合约415。将要包括在区块链网络112中的所有节点401、402,都需要签署智能合约415。
在创建智能合约415之后,云代理403向每个区块链节点401、402发送智能合约416。区块链节点401、402接收智能合约415,并使用与每个节点401、402相关联的私钥签署智能合约420。智能合约415的内容由每个网关116解析和导入。例如,将有若干虚拟网关被创建,作为每个节点的不同伙伴的表示。换言之,如果节点A具有2个伙伴,将有2个虚拟网关被创建以表示它们中的每一个。该机制适用于所有伙伴(即,伙伴A、B、C等)。
最后,每个节点401、402将签署的智能合约421返回到云代理403。此时,区块链网络112已被配置,文档转移可以开始。
图4B示出根据示例性实施例的用于执行文档转移的系统消息收发图。参考图4B,系统图450包括始发节点401、一个或多个参与者节点402、以及区块链网络451。一旦已经建立了区块链网络451,任何节点401、402就可与其他区块链节点401、402共享文档。系统450示出始发节点401与不同的参与者节点402共享文档。
当始发节点401标识要共享的一个或多个文档460时,文档共享过程450开始。文档被存储在节点104的网络基础设施内的网关116后面,也许存储在节点104的联网部分的数据库内。接下来,始发节点401将数据引用461提供给始发节点401希望与其共享文档460的一个或多个参与者节点402。数据引用461通常是指向始发节点401中存储一个或多个文档的位置的URL。在接收到数据引用461之后,一个或多个参与者节点402使用数据引用461来从始发节点401的数据库拉取所标识的文档465。文档466不是被处理为区块链交易132,而是被转移到区块链网络112、451外部,如参考图1所描述的。反向隧道连接用于从数据库拉取文档466。
一旦参与者节点402已经接收到文档466,则每个参与者节点402创建收据470。收据470包括接收的文档的哈希466、盐和接收文档466的参与者节点402的标识符。每一参与者节点402随后发起包括收据470的区块链交易471。区块链网络451验证交易471,并且将每个收据470存储到区块链475。具体地,收据470变为共享分类账108的一部分,以便在区块链上保留文档转移的不可变记录。
图5A示出根据示例性实施例的配置和处理区块链中的文档转移的示例性方法的流程图500。参考图5A,方法500可包括配置区块链网络504。参见图4A更详细地示出和描述了用于配置区块链网络504的配置步骤。接下来,由每个区块链节点104签署508智能合约。接下来,希望共享一个或多个文档136、466的区块链节点104(即,始发节点401)向其他区块链节点402提供数据引用512。其他区块链节点402使用数据引用512来从自始发节点401访问一个或多个文档516。最后,访问文档516的每个区块链节点402提供接收证明520作为区块链交易132、471。
图5B示出根据示例性实施例的使用区块链的文档编辑过程的示例性方法的流程图550。所述方法可以包括提交者系统接收指示文档的发布的作业细节的用户输入,并且存储接收到的用户输入。作业细节可包括设置发布时间、预期接收者、编辑者和/或批准者等。提交者系统将作业细节传送(或以其他方式提供)给系统并且将文档转移(或以其他方式提供)给系统554。
一旦文档被系统554接收,其通常就被加密。在步骤558,创建包括加密文档或其哈希的区块链交易,该交易随后被提交给区块链。
在区块链处接收到交易之后,将交易存储在区块链562中。在一些实施例中,交易是“来自”提交者且“去往”一个或多个编辑器。在某些实施例中,交易是“去往”一个或多个批准者。如果需要编辑器,则设置编辑器,然后通知编辑器。在某些示例中,编辑器通过电子邮件等被通知文档准备好被审阅和编辑。
在步骤566,编辑器通过访问根据提交的区块链交易存储的文档来编辑文档。编辑器系统的每个编辑会话可以相应地引起针对被编辑文档的区块链交易的创建。
然后,该新的区块链交易被提交到区块链,并在其中存储570。取决于作业的性质,创建的交易可从编辑器返回到同一编辑器(例如,在需要进一步编辑的情况下),可从编辑器到另一编辑器,或者可从编辑器到一个或多个批准者。不同的编辑器可以使用相同的编辑器系统或不同的编辑器系统(例如,不同的计算机系统)。在编辑之后,系统可以确定(例如,根据设置的作业细节)文档不再被编辑,然后完成文档的定稿。文档定稿可导致由系统创建另一个区块链交易并将其提交给区块链。因而,可以将最终完成的文档合并到区块链中(例如,通过进行密码验证)。
在最终完成文档之后,系统还可以将文档转换成将用于向接收者分发文档的格式。经转换的文档也可被保存到区块链。将认识到,文档的每个连续的区块链交易可以回溯到该文档的先前的区块链交易(例如,一个区块链交易的未花费的“输出”被用作连续的区块链交易的“输入”)。从提交原始文档到最终将文档分发给收件人,可以促进审计跟踪的创建和稳定性。
在任何情况下,一旦文档已经最后定稿并且具有将被分发的格式,则将通知批准者。在某些示例中,通知可以是被传递到批准者系统的消息,在其他示例中,通知可以是例如被发送到与批准者相关联的电子邮件地址的电子邮件。批准者可以通过批准者系统批准、拒绝和丢弃,或者拒绝并请求进一步修改。如果批准者完全拒绝了文档(例如,通过批准者系统提供的拒绝命令),则可以“向”区块链上的特殊垃圾地址生成另一个区块链交易。该地址的密钥可以由系统持有,这样,任何外部方(甚至可能是系统)都无法再解锁文档(或包含文档的交易),因为该文档是由没有任何一方拥有的公钥签名的进入。然后将重复该过程。
最后,批准者还可批准文档以供发布(例如,通过从批准者系统提供的批准命令)。当批准者批准文档的发布时,他们可以有效地签署(从区块链的角度)最终交易。一旦被签署,则与交易相关联的任何其他条件(例如,定时释放)随后将等待被满足。同时,系统针对与该“最终”交易关联的脚本何时完成而监视区块。如果已经完成,则系统可通知接收者574文档现在在区块链上可用,和/或接收者系统可以直接监视区块链,使得区块链有效地通知接收者与最终区块链交易相关联的脚本的期满。在某些示例性实施例中,可以通过使系统向具有文档的接收者发送电子邮件或其他通信来使文档可用。因而,最初上传的文档可以被保护并且及时地传递到预期的接收者。
图6A示出了根据示例性实施例的一个或多个示例性操作方法,被配置为在区块链上执行各种操作的示例性物理基础设施。参考图6A,示例性配置600包括具有区块链620和智能合约640的物理基础设施610,其可以执行任何示例性实施例中包括的任何操作步骤612。步骤/操作612可包含在一个或多个流程图和/或逻辑图中所描述或描绘的一个或多个步骤。这些步骤可以表示从驻留在计算机系统配置的物理基础设施610上的一个或多个智能合约640和/或区块链620写入或读取的输出或写入信息。数据可以从执行的智能合约640和/或区块链620输出。物理基础设施610可包括一个或多个计算机、服务器、处理器、存储器和/或无线通信设备。
图6B示出根据示例性实施例的在订约方和被配置为在区块链上实施智能合约条款的中介服务器之间的示例性智能合约配置。参考图6B,配置650可以表示通信会话、资产转移会话或由智能合约640驱动的过程或程序,智能合约640明确地标识一个或多个用户设备652和/或656。智能合约执行的执行、操作和结果可以由服务器654管理。智能合约640的内容可以要求作为智能合约交易各方的实体652和656中的一个或多个进行数字签名。智能合约执行的结果可以作为区块链交易写入区块链。
以上实施例可以用硬件、由处理器执行的计算机程序、固件或以上的组合来实现。计算机程序可以体现在诸如存储介质的计算机可读介质上。例如,计算机程序可以驻留在随机存取存储器(“RAM”)、闪存、只读存储器(“ROM”)、可擦除可编程只读存储器(“EPROM”)、电可擦除可编程只读存储器(“EEPROM”)、寄存器、硬盘、可移动盘、致密盘只读存储器(“CD-ROM”)、或本领域已知的任何其他形式的存储介质中。
示例性存储介质可耦合到处理器,使得处理器可从存储介质读取信息和将信息写入到存储介质。在替代方案中,存储介质可集成到处理器。处理器和存储介质可以驻留在专用集成电路(“ASIC”)中。在替代方案中,处理器和存储介质可作为离散组件驻留。例如,图7示出示例性计算机系统架构700,其可表示上述组件等中的任何一个或集成在上述组件等中的任何一个中。
图7并非旨在暗示关于本文中所描述的应用的实施例的使用范围或功能的任何限制。无论如何,计算节点700能够实施和/或执行上文阐述的功能中的任何功能。
在计算节点700中,存在计算机系统/服务器702,其可与许多其他通用或专用计算系统环境或配置一起操作。可能适合于与计算机系统/服务器702一起使用的众所周知的计算系统、环境和/或配置的示例包括但不限于个人计算机系统、服务器计算机系统、瘦客户机、厚客户机、手持式或膝上型设备、多处理器系统、基于微处理器的系统、机顶盒、可编程消费电子产品、网络PC、小型计算机系统、大型计算机系统和包括上述系统或设备中的任一个的分布式云计算环境等。
计算机系统/服务器702可以在由计算机系统执行的计算机系统可执行指令(诸如程序模块)的一般上下文中描述。一般而言,程序模块可包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、逻辑、数据结构等。计算机系统/服务器702可以在分布式云计算环境中实践,其中任务由通过通信网络链接的远程处理设备来执行。在分布式云计算环境中,程序模块可位于包括存储器存储设备的本地和远程计算机系统存储介质两者中。
如图7所示,云计算节点700中的计算机系统/服务器702以通用计算设备的形式示出。计算机系统/服务器702的组件可以包括但不限于一个或多个处理器或处理单元704、系统存储器706和将包括系统存储器706的不同系统组件耦合到处理器704的总线。
总线表示若干类型的总线结构中的任一种总线结构中的一种或多种,包括存储器总线或存储器控制器、外围总线、加速图形端口、以及使用各种总线架构中的任一种的处理器或局部总线。作为示例而非限制,此类架构包括工业标准架构(ISA)总线、微通道架构(MCA)总线、增强型ISA(EISA)总线、视频电子标准协会(VESA)局部总线和外围组件互连(PCI)总线。
计算机系统/服务器702通常包括各种计算机系统可读介质。这样的介质可以是可由计算机系统/服务器702访问的任何可用介质,并且它包括易失性和非易失性介质、可移动和不可移动介质两者。在一个实施例中,系统存储器706实现其他附图的流程图。系统存储器706可以包括易失性存储器形式的计算机系统可读介质,诸如随机存取存储器(RAM)710和/或高速缓存存储器712。计算机系统/服务器702还可以包括其他可移动/不可移动、易失性/非易失性计算机系统存储介质。仅以举例的方式,可以提供存储系统714用于从不可移动、非易失性磁介质(未示出,并且通常被称为“硬盘驱动器”)读取和向其写入。尽管未示出,可以提供用于从可移除的非易失性磁盘(例如,“软盘”)读取和向其写入的磁盘驱动器以及用于从可移除的非易失性光盘(如CD-ROM、DVD-ROM或其他光学介质)读取或向其写入的光盘驱动器。在这样的实例中,每一个都可以通过一个或多个数据介质接口连接到总线。如下面将进一步描绘和描述的,存储器706可以包括至少一个程序产品,该程序产品具有被配置为执行应用的不同实施例的功能的一组(例如,至少一个)程序模块。
具有一组(至少一个)程序模块718的程序/实用工具716,以及操作系统、一个或多个应用程序、其他程序模块和程序数据,可以通过示例而非限制的方式存储在存储器706中。操作系统、一个或多个应用程序、其他程序模块和程序数据中的每一者或其某一组合可包含联网环境的实施例。程序模块718通常执行本文描述的应用的不同实施例的功能和/或方法。
如本领域技术人员将认识到的,本申请的各方面可以体现为系统、方法或计算机程序产品。相应地,本申请的多个方面可以采取完全硬件实施例、完全软件实施例(包括固件、驻留软件、微代码等)或组合软件和硬件方面的实施例的形式,这些实施例在此可以全部统称为“电路”、“模块”或“系统”。此外,本申请的方面可以采取体现在一个或多个计算机可读介质中的计算机程序产品的形式,该计算机可读介质具有体现在其上的计算机可读程序代码。
计算机系统/服务器702还可以与一个或多个外部设备720(诸如键盘、定点设备、显示器722等)通信;使得用户能够与计算机系统/服务器702交互的一个或多个设备;和/或使计算机系统/服务器702能够与一个或多个其他计算设备通信的任何设备(例如,网卡、调制解调器等)。这样的通信可以通过I/O接口724发生。此外,计算机系统/服务器702可以通过网络适配器726与诸如局域网(LAN)、通用广域网(WAN)和/或公共网络(例如,互联网)之类的一个或多个网络通信。如图所示,网络适配器726通过总线与计算机系统/服务器702的其他组件通信。应当理解,虽然未示出,但是其他硬件和/或软件组件可以与计算机系统/服务器702结合使用。示例包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动器阵列、RAID系统、磁带驱动器和数据归档存储系统等。
尽管在附图中示出了系统、方法和非暂时性计算机可读介质中的至少一个的示例性实施例,并在前面的详细描述中进行了描述,但是应当理解,本申请不限于所公开的实施例,而是能够具有如以下权利要求所阐述和定义的许多重新布置、修改和替换。例如,各种图的系统的能力可由本文描述的模块或组件中的一个或多个或在分布式架构中执行,且可包含发射器、接收器或两者的对。例如,由单独模块执行的功能的全部或部分可以由这些模块中的一个或多个来执行。进一步,本文所描述的功能可在各时间和关于模块或组件内部或外部的不同事件来执行。此外,通过数据网络、互联网、语音网络、互联网协议网络、无线设备、有线设备中的至少一个和/或通过多个协议,可以在各个模块之间发送在各个模块之间发送的信息。此外,由任何模块发送或接收的消息可直接和/或通过一个或多个其他模块发送或接收。
本领域技术人员将认识到,“系统”可以体现为个人计算机、服务器、控制台、个人数字助理(PDA)、蜂窝电话、平板计算设备、智能电话或任何其他合适的计算设备、或设备的组合。将上述功能呈现为由“系统”执行并不旨在以任何方式限制本申请的范围,而是旨在提供许多实施例的一个实例。实际上,本文公开的方法、系统和装置可以按照与计算技术一致的本地化和分布式形式来实现。
应注意,本说明书中描述的一些系统特征已经作为模块呈现,以便更具体地强调其实现独立性。例如,模块可以被实现为包括定制的超大规模集成(VLSI)电路或门阵列、现成的半导体(诸如逻辑芯片、晶体管或其他分立组件)的硬件电路。模块还可以在诸如现场可编程门阵列、可编程阵列逻辑、可编程逻辑设备、图形处理单元等的可编程硬件设备中实现。
模块也可以至少部分地以用于由各种类型的处理器执行的软件来实现。所标识的可执行代码单元可以例如包括计算机指令的一个或多个物理或逻辑块,其可以例如被组织为对象、过程或函数。然而,所识别模块的可执行文件不需要在物理上位于一起,而是可以包括存储在不同位置中的不同指令,当逻辑上结合在一起时,这些指令包括模块并且实现模块的所述目的。进一步,模块可存储在计算机可读介质上,所述计算机可读介质可以是例如硬盘驱动器、闪存设备、随机存取存储器(RAM)、磁带或用于存储数据的任何其他此类介质。
实际上,可执行代码的模块可以是单个指令或多个指令,并且甚至可以分布在若干不同代码段、不同程序之间以及跨多个存储器设备。类似地,操作数据可以在本文中在模块内被识别和示出,并且可以以任何合适的形式体现并且可以在任何合适类型的数据结构内组织。操作数据可以作为单个数据集收集,或者可以分布在包括不同存储设备的不同位置上,并且可以至少部分地仅作为系统或网络上的电子信号存在。
将容易理解的是,如本文的附图中一般性描述和示出的,本申请的部件可以以各种不同的配置来布置和设计。由此,实施例的详细描述不旨在限制所要求保护的申请的范围,而仅代表本申请的所选实施例。
所属领域的技术人员将容易理解,上文可用不同次序的步骤和/或用不同于所揭示的配置的硬件元件来实施。以上描述可以通过以不同顺序的步骤和/或以与所公开的配置不同的配置的硬件元件来实施。因此,尽管已经基于这些优选实施例描述了本申请,某些修改、变化和替代构造将是显而易见的。
虽然已经描述了本申请的优选实施例,但是应当理解,所描述的实施例仅是说明性的,并且当考虑其全部等同物和对其修改(例如,协议、硬件设备、软件平台等)时,本申请的范围仅由所附权利要求书限定。

Claims (20)

1.一种方法,包括:
配置包括第一和第二区块链节点的区块链网络;
由所述第一区块链节点向所述第二区块链节点提供数据引用;
由所述第二区块链节点从所述第一区块链节点访问对应于所述数据引用的文档;和
由所述第二区块链节点向共享区块链分类账提供所述文档的接收证明。
2.根据权利要求1所述的方法,其中,所述接收证明包括所述文档的哈希以及接收所述文档的区块链节点的盐和标识符中的一个或多个。
3.根据权利要求1所述的方法,其中,配置区块链网络包括:
由所述第一和第二区块链节点中的每一个向第三区块链节点注册;
由所述第三区块链节点向所述第一和第二区块链节点提供智能合约;和
由该第一和第二区块链节点中的每一个对所述智能合约签名。
4.根据权利要求3所述的方法,其中,所述数据引用包括URL,其中,所述文档没有被存储在所述区块链或所述第三区块链节点上。
5.根据权利要求3所述的方法,其中,所述第三区块链节点包括云代理,所述云代理包括根节点,其中,所述智能合约包括所述根节点的通信参数和所述第一和第二区块链节点中的每一个的凭证。
6.根据权利要求5所述的方法,其中,所述云代理建立到所述第一和第二区块链节点中的每一个的反向连接。
7.根据权利要求5所述的方法,其中,配置所述区块链网络还包括:
将所述通信参数导入与所述第一和第二区块链节点中的每一个相关联的网关中;和
存储将在文档传输中涉及的每个区块链节点的凭证。
8.一种系统,包括:
区块链网络,包括:
包括根节点的云代理;
第一区块链节点,被配置用于:
提供数据引用;
第二区块链节点,用于:
从所述第一区块链节点接收所述数据引用,并且作为响应:
从所述第一区块链节点访问与对应于所述数据引用的文档;和
向共享区块链分类账提供所述文档的接收证明。
9.根据权利要求8所述的系统,其中,所述接收证明包括所述文档的哈希以及接收所述文档的区块链节点的盐和标识符中的一个或多个。
10.根据如权利要求8所述的系统,其中,在所述第一区块链节点提供所述数据引用之前,所述第一和第二区块链节点中的每一个向第三区块链节点注册,所述第三区块链节点向所述第一和第二区块链节点提供智能合约,并且所述第一和第二区块链节点中的每一个对所述智能合约签名。
11.根据权利要求10所述的系统,其中,所述数据引用包括URL,其中,所述文档没有被存储在所述区块链或所述第三区块链节点上。
12.根据权利要求10所述的系统,其中,所述第三区块链节点包括所述云代理,其中,所述智能合约包括所述根节点的通信参数和所述第一和第二区块链节点中的每一个的凭证。
13.根据权利要求12所述的系统,其中,所述云代理建立到所述第一和第二区块链节点中的每一个的反向连接。
14.根据权利要求12所述的系统,其中,所述第一和第二区块链节点中的每一个将所述通信参数导入网关并且存储将在文档转移中涉及的每个区块链节点的凭证。
15.一种包括指令的非暂时性计算机可读介质,所述指令在由处理器读取时致使所述处理器执行:
配置包括第一和第二区块链节点的区块链网络;
由所述第一区块链节点向所述第二区块链节点提供数据引用;
由所述第二区块链节点从所述第一区块链节点访问对应于所述数据引用的文档;和
由所述第二区块链节点向共享区块链分类账提供所述文档的接收证明。
16.根据权利要求15所述的非瞬态计算机可读介质,其中,所述接收证明包括该文档的哈希以及接收该文档的区块链节点的盐和标识符中的一个或多个。
17.根据权利要求15所述的非暂态计算机可读介质,其中,配置所述区块链网络包括:
由所述第一和第二区块链节点中的每一个向第三区块链节点注册;
由所述第三区块链节点向所述第一和第二区块链节点提供智能合约;和
由该第一和第二区块链节点中的每一个对所述智能合约签名。
18.根据权利要求17所述的非瞬态计算机可读介质,其中,所述数据引用包括URL,其中,所述文档没有被存储在所述区块链或所述第三区块链节点上。
19.根据权利要求16所述的非暂态计算机可读介质,其中,所述第三区块链节点包括云代理,所述云代理包括根节点,其中,所述智能合约包括所述根节点的通信参数和所述第一和第二区块链节点中的每一个的凭证。
20.根据权利要求19所述的非瞬态计算机可读介质,其中,所述云代理建立到所述第一和第二区块链节点中的每一个的反向连接,其中,配置所述区块链网络还包括:
将所述通信参数导入与所述第一和第二区块链节点中的每一个相关联的网关中;和
存储将在文档传输中涉及的每个区块链节点的凭证。
CN201980027664.8A 2018-04-24 2019-04-04 区块链网络上的文档访问 Pending CN112005236A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/960,662 2018-04-24
US15/960,662 US11563557B2 (en) 2018-04-24 2018-04-24 Document transfer processing for blockchains
PCT/EP2019/058525 WO2019206598A1 (en) 2018-04-24 2019-04-04 Document access on a blockchain network

Publications (1)

Publication Number Publication Date
CN112005236A true CN112005236A (zh) 2020-11-27

Family

ID=66102090

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201980027664.8A Pending CN112005236A (zh) 2018-04-24 2019-04-04 区块链网络上的文档访问

Country Status (4)

Country Link
US (1) US11563557B2 (zh)
JP (1) JP7141193B2 (zh)
CN (1) CN112005236A (zh)
WO (1) WO2019206598A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112862474A (zh) * 2021-02-05 2021-05-28 湖南大学 基于区块链的供应链管理方法及系统、设备、存储介质
CN114157435A (zh) * 2021-12-02 2022-03-08 贵州黔驰信息股份有限公司 一种基于区块链技术的文档处理方法、装置和客户端

Families Citing this family (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10855448B2 (en) * 2018-05-03 2020-12-01 Honeywell International Inc. Apparatus and method for using blockchains to establish trust between nodes in industrial control systems or other systems
GB201811263D0 (en) * 2018-07-10 2018-08-29 Netmaster Solutions Ltd A method and system for managing digital using a blockchain
US10911240B2 (en) * 2018-07-23 2021-02-02 Hitachi, Ltd. Off-chain blockchain storage with validation
US10915521B2 (en) * 2018-08-21 2021-02-09 Syniverse Technologies, Llc Blockchain gateway device and associated method of use
CN109272385B (zh) * 2018-09-14 2021-03-23 创新先进技术有限公司 一种基于区块链的版权事件代理存证方法及系统
CN109274667B (zh) * 2018-09-14 2020-06-23 阿里巴巴集团控股有限公司 一种基于区块链的版权事件存证方法及系统
US10608829B1 (en) * 2018-10-08 2020-03-31 International Business Machines Corporation Blockchain timestamp agreement
US11924360B2 (en) 2018-10-08 2024-03-05 Green Market Square Limited Blockchain timestamp agreement
US10997159B2 (en) * 2018-10-09 2021-05-04 International Business Machines Corporation Blockchain notification board storing blockchain resources
US11303442B2 (en) 2018-10-09 2022-04-12 International Business Machines Corporation Blockchain notification board storing blockchain resources
US11520773B2 (en) 2018-10-09 2022-12-06 International Business Machines Corporation Blockchain notification board storing blockchain resources
US11727456B2 (en) * 2018-10-11 2023-08-15 International Business Machines Corporation Generating a quote to cash solution
US10841213B2 (en) * 2018-10-15 2020-11-17 Moac Blockchain Tech Inc Apparatus and method for communication between chains in a decentralized system
US10922599B2 (en) * 2018-12-14 2021-02-16 Hewlett Packard Enterprise Development Lp Memristor based storage of asset events
US11487819B2 (en) 2019-06-19 2022-11-01 Amazon Technologies, Inc. Threaded leaf nodes in database journal
US11487733B2 (en) 2019-06-19 2022-11-01 Amazon Technologies, Inc. Database journal redaction
US11418345B2 (en) * 2019-06-19 2022-08-16 Amazon Technologies, Inc. Digest proofs in a journaled database
US11310054B2 (en) 2019-06-19 2022-04-19 Amazon Technologies, Inc. Symmetric function for journaled database proof
US11251966B2 (en) 2019-06-28 2022-02-15 Advanced New Technologies Co., Ltd. Sending cross-chain authenticatable messages
US11356282B2 (en) * 2019-06-28 2022-06-07 Advanced New Technologies Co., Ltd. Sending cross-chain authenticatable messages
CN112003703B (zh) * 2019-06-28 2023-08-22 创新先进技术有限公司 一种跨链发送可认证消息的方法和装置
EP3769216B1 (en) * 2019-11-06 2022-03-16 Alipay (Hangzhou) Information Technology Co., Ltd. Data security of shared blockchain data storage based on error correction code
KR102225196B1 (ko) 2019-11-06 2021-03-09 알리페이 (항저우) 인포메이션 테크놀로지 씨오., 엘티디. 에러 정정 코드에 기초하는 공유 블록체인 데이터 저장의 컨센서스
CA3098936A1 (en) * 2019-11-13 2020-02-20 Alipay (Hangzhou) Information Technology Co., Ltd. Dynamic blockchain data storage based on error correction code
US11336438B2 (en) * 2020-03-31 2022-05-17 EMC IP Holding Company LLC Remote approval and execution of restricted operations
CN111475574B (zh) * 2020-04-09 2023-07-11 成都九宽科技有限公司 一种基于区块链的数据采集装置
US11314696B2 (en) * 2020-04-15 2022-04-26 Capital One Services, Llc System and method for managing collaborative multiuser document editing via a distributed ledger
US11366915B2 (en) * 2020-04-21 2022-06-21 Ledgendd Technologies Inc. Method and system for document authorization and distribution
US11265169B1 (en) * 2020-10-30 2022-03-01 Cch Incorporated Methods and systems for exchanging confidential information via a blockchain
US20220318757A1 (en) * 2021-04-02 2022-10-06 Transcrypt Solutions Inc. System for verifying education and employment of a candidate via a blockchain network
US11928049B2 (en) 2021-05-10 2024-03-12 Bank Of America Corporation Blockchain system for source code testing and script generation with artificial intelligence
CN113328935B (zh) * 2021-05-20 2022-11-11 福建思特电子有限公司 基于工业互联网的分布式安全追溯区块链系统
CN113420084B (zh) * 2021-06-07 2023-09-26 广东辰宜信息科技有限公司 区块链系统
US20230306439A1 (en) * 2022-03-23 2023-09-28 Keel Coleman System, method, and apparatus registering documentation of training on a distributed ledger

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017136879A1 (en) * 2016-02-08 2017-08-17 Moloney Lindsay A system and method for document information authenticity verification
US20170364552A1 (en) * 2016-06-16 2017-12-21 The Bank Of New York Mellon Ensuring Data Integrity of Executed Transactions
CN107533501A (zh) * 2015-03-20 2018-01-02 里维茨公司 使用区块链自动认证设备完整性
WO2018026727A1 (en) * 2016-08-01 2018-02-08 Cryptowerk Corp. Computer-implemented method and system of tamper-evident recording of a plurality of service data items
AU2018100150A4 (en) * 2018-02-03 2018-03-08 Talbot, Phillip David MR Proof of delivery on the blockchain
US20180075453A1 (en) * 2016-09-15 2018-03-15 American Express Travel Related Services Company, Inc. Systems and methods for blockchain based payment networks
US20180089256A1 (en) * 2013-09-23 2018-03-29 David D. Wright, SR. Management Of Entitlements Using Blockchain

Family Cites Families (61)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10789373B2 (en) * 2011-10-31 2020-09-29 Reid Consulting Group, Inc. System and method for securely storing and sharing information
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.
US9608829B2 (en) 2014-07-25 2017-03-28 Blockchain Technologies Corporation System and method for creating a multi-branched blockchain with configurable protocol rules
WO2016164496A1 (en) * 2015-04-06 2016-10-13 Bitmark, Inc. System and method for decentralized title recordation and authentication
US20170011460A1 (en) * 2015-07-09 2017-01-12 Ouisa, LLC Systems and methods for trading, clearing and settling securities transactions using blockchain technology
US20170085545A1 (en) 2015-07-14 2017-03-23 Fmr Llc Smart Rules and Social Aggregating, Fractionally Efficient Transfer Guidance, Conditional Triggered Transaction, Datastructures, Apparatuses, Methods and Systems
US20170228731A1 (en) * 2016-02-09 2017-08-10 Fmr Llc Computationally Efficient Transfer Processing and Auditing Apparatuses, Methods and Systems
US20180191503A1 (en) * 2015-07-14 2018-07-05 Fmr Llc Asynchronous Crypto Asset Transfer and Social Aggregating, Fractionally Efficient Transfer Guidance, Conditional Triggered Transaction, Datastructures, Apparatuses, Methods and Systems
US20190188700A1 (en) * 2017-12-15 2019-06-20 Fmr Llc Social Data Tracking 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
US10425428B2 (en) * 2015-08-20 2019-09-24 Guardtime Sa Verification lineage tracking and transfer control of data sets
US10915874B2 (en) * 2015-11-10 2021-02-09 Loyyal Corporation System and process for tokenization of digital media
US20170140408A1 (en) 2015-11-16 2017-05-18 Bank Of America Corporation Transparent self-managing rewards program using blockchain and smart contracts
EP3380984A4 (en) * 2015-11-24 2019-07-31 Ben-Ari, Adi SYSTEM AND METHOD FOR THE PROTECTION OF DATA BY INTELLIGENT BLOCKCHAIN CONTRACT
US9992028B2 (en) 2015-11-26 2018-06-05 International Business Machines Corporation System, method, and computer program product for privacy-preserving transaction validation mechanisms for smart contracts that are included in a ledger
WO2017098519A1 (en) 2015-12-08 2017-06-15 Tallysticks Limited A system and method for automated financial transaction validation, processing and settlement using blockchain smart contracts
US10108812B2 (en) 2016-01-28 2018-10-23 Nasdaq, Inc. Systems and methods for securing and disseminating time sensitive information using a blockchain
SG11201806404SA (en) 2016-02-04 2018-08-30 Nasdaq Tech Ab Systems and methods for storing and sharing transactional data using distributed computer systems
US20170243193A1 (en) 2016-02-18 2017-08-24 Skuchain, Inc. Hybrid blockchain
US10607285B2 (en) * 2016-02-22 2020-03-31 Bank Of America Corporation System for managing serializability of resource transfers in a process data network
US10762504B2 (en) * 2016-02-22 2020-09-01 Bank Of America Corporation System for external secure access to process data network
JP6511201B1 (ja) 2016-02-23 2019-05-15 エヌチェーン ホールディングス リミテッドNchain Holdings Limited ブロックチェーンにより施行される洗練された取引のためのレジストリ及び自動管理方法
US11455627B2 (en) * 2016-04-13 2022-09-27 Haventec Pty Ltd System of security using blockchain protocol
GB201607477D0 (en) * 2016-04-29 2016-06-15 Eitc Holdings Ltd A method and system for controlling the performance of a contract using a distributed hash table and a peer to peer distributed ledger
US10362058B2 (en) * 2016-05-13 2019-07-23 Vmware, Inc Secure and scalable data transfer using a hybrid blockchain-based approach
US9785369B1 (en) 2016-05-23 2017-10-10 Accenture Global Solutions Limited Multiple-link blockchain
US20170344988A1 (en) * 2016-05-24 2017-11-30 Ubs Ag System and method for facilitating blockchain-based validation
US9635000B1 (en) 2016-05-25 2017-04-25 Sead Muftic Blockchain identity management system based on public identities ledger
US10108954B2 (en) * 2016-06-24 2018-10-23 PokitDok, Inc. System and method for cryptographically verified data driven contracts
US10025941B1 (en) * 2016-08-23 2018-07-17 Wells Fargo Bank, N.A. Data element tokenization management
US20180089761A1 (en) * 2016-09-26 2018-03-29 Shapeshift Ag System and method of providing a leader-follower multi-asset portfolio
US20180343120A1 (en) * 2016-10-26 2018-11-29 Black Gold Coin, Inc. Systems and methods for providing a universal decentralized solution for verification of users with cross-verification features
US10484178B2 (en) * 2016-10-26 2019-11-19 Black Gold Coin, Inc. Systems and methods for providing a universal decentralized solution for verification of users with cross-verification features
US20180123779A1 (en) * 2016-11-01 2018-05-03 Jiangang Zhang Flexible Blockchain Smart-Contract Deployment
US10491378B2 (en) * 2016-11-16 2019-11-26 StreamSpace, LLC Decentralized nodal network for providing security of files in distributed filesystems
US10552381B2 (en) * 2016-12-16 2020-02-04 International Business Machines Corporation Shared document editing in the blockchain
US11281805B2 (en) * 2016-12-22 2022-03-22 Itext Group Nv Distributed blockchain-based method for saving the location of a file
CN110506409A (zh) * 2017-01-13 2019-11-26 维萨国际服务协会 安全区块链管理技术
US20180211043A1 (en) * 2017-01-24 2018-07-26 SparkCognition, Inc. Blockchain Based Security for End Points
US20180218176A1 (en) * 2017-01-30 2018-08-02 SALT Lending Holdings, Inc. System and method of creating an asset based automated secure agreement
US9992022B1 (en) * 2017-02-06 2018-06-05 Northern Trust Corporation Systems and methods for digital identity management and permission controls within distributed network nodes
US11321681B2 (en) * 2017-02-06 2022-05-03 Northern Trust Corporation Systems and methods for issuing and tracking digital tokens within distributed network nodes
US10158479B2 (en) * 2017-02-06 2018-12-18 Northern Trust Corporation Systems and methods for generating, uploading and executing code blocks within distributed network nodes
US10513077B2 (en) * 2017-03-09 2019-12-24 Walmart Apollo, Llc System and methods for three dimensional printing with blockchain controls
US10102526B1 (en) * 2017-03-31 2018-10-16 Vijay K. Madisetti Method and system for blockchain-based combined identity, ownership, integrity and custody management
US10664591B2 (en) * 2017-05-11 2020-05-26 Microsoft Technology Licensing, Llc Enclave pools
US10747905B2 (en) * 2017-05-11 2020-08-18 Microsoft Technology Licensing, Llc Enclave ring and pair topologies
US10547594B2 (en) * 2017-08-17 2020-01-28 Domanicom Corporation Systems and methods for implementing data communication with security tokens
US11461768B2 (en) * 2017-08-21 2022-10-04 American Express Travel Related Services Company, Inc. Systems and methods for data file transfer balancing and control on blockchain
US10469248B2 (en) * 2017-10-17 2019-11-05 Amrican Express Travel Related Services Company, Inc. API request and response balancing and control on blockchain
US11063744B2 (en) * 2017-10-20 2021-07-13 Sap Se Document flow tracking using blockchain
US20190164157A1 (en) * 2017-11-28 2019-05-30 American Express Travel Related Services Company, Inc. Transaction authorization process using blockchain
US10642967B2 (en) * 2017-11-28 2020-05-05 American Express Travel Related Services Company, Inc. Single sign-on solution using blockchain
US9990504B1 (en) * 2017-12-18 2018-06-05 Northern Trust Corporation Systems and methods for generating and maintaining immutable digital meeting records within distributed network nodes
US10291395B1 (en) * 2018-01-25 2019-05-14 Fortress Cyber Security, LLC Secure storage of data via a distributed ledger system
US11257073B2 (en) * 2018-01-31 2022-02-22 Salesforce.Com, Inc. Systems, methods, and apparatuses for implementing machine learning models for smart contracts using distributed ledger technologies in a cloud based computing environment
US10956075B2 (en) * 2018-02-02 2021-03-23 Bank Of America Corporation Blockchain architecture for optimizing system performance and data storage
US20190303942A1 (en) * 2018-04-02 2019-10-03 American Express Travel Related Services Company, Inc. Fraud management using a distributed database
US20190303920A1 (en) * 2018-04-02 2019-10-03 American Express Travel Related Services Company, Inc. Transaction process using blockchain token smart contracts
US11728995B2 (en) * 2018-04-09 2023-08-15 American Express Travel Related Services Company, Inc. Reward point transfers using blockchain
US20190311148A1 (en) * 2018-04-10 2019-10-10 Black Gold Coin, Inc. System and method for secure storage of electronic material

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180089256A1 (en) * 2013-09-23 2018-03-29 David D. Wright, SR. Management Of Entitlements Using Blockchain
CN107533501A (zh) * 2015-03-20 2018-01-02 里维茨公司 使用区块链自动认证设备完整性
WO2017136879A1 (en) * 2016-02-08 2017-08-17 Moloney Lindsay A system and method for document information authenticity verification
US20170364552A1 (en) * 2016-06-16 2017-12-21 The Bank Of New York Mellon Ensuring Data Integrity of Executed Transactions
WO2018026727A1 (en) * 2016-08-01 2018-02-08 Cryptowerk Corp. Computer-implemented method and system of tamper-evident recording of a plurality of service data items
US20180075453A1 (en) * 2016-09-15 2018-03-15 American Express Travel Related Services Company, Inc. Systems and methods for blockchain based payment networks
AU2018100150A4 (en) * 2018-02-03 2018-03-08 Talbot, Phillip David MR Proof of delivery on the blockchain

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112862474A (zh) * 2021-02-05 2021-05-28 湖南大学 基于区块链的供应链管理方法及系统、设备、存储介质
CN112862474B (zh) * 2021-02-05 2024-04-12 湖南大学 基于区块链的供应链管理方法及系统、设备、存储介质
CN114157435A (zh) * 2021-12-02 2022-03-08 贵州黔驰信息股份有限公司 一种基于区块链技术的文档处理方法、装置和客户端

Also Published As

Publication number Publication date
US20190327080A1 (en) 2019-10-24
WO2019206598A1 (en) 2019-10-31
JP2021519531A (ja) 2021-08-10
JP7141193B2 (ja) 2022-09-22
US11563557B2 (en) 2023-01-24

Similar Documents

Publication Publication Date Title
US11563557B2 (en) Document transfer processing for blockchains
US10687210B2 (en) Switching mobile service provider using blockchain
US10834095B2 (en) Post-commit validation in a distributed ledger
US10917233B2 (en) Selective exchange of transaction data
US10764070B2 (en) High precision timestamps in blockchain
US10992456B2 (en) Certifying authenticity of data modifications
US11227057B2 (en) Membership access management of a database
US11487886B2 (en) Database private document sharing
US11849047B2 (en) Certifying authenticity of data modifications
US11194911B2 (en) Blockchain technique for agile software development framework
US11270017B2 (en) Selective exchange of transaction data
US11568402B2 (en) Decentralized out-of-band accelerated blockchain transaction processing
US10992455B2 (en) Consensus based ad-hoc group creation
US11157622B2 (en) Blockchain technique for agile software development framework
US20200311695A1 (en) Privacy-preserving gridlock resolution
US11301590B2 (en) Unfalsifiable audit logs for a blockchain
US11177938B2 (en) Database composite endorsement
US20220278848A1 (en) Certifying authenticity of data modifications
US11240003B2 (en) Consent-based data management
US11621858B2 (en) Anonymity mechanisms in permissioned blockchain networks
US11082215B2 (en) Immutable broadcasting queues
US11196543B2 (en) Minimum evidence calculation in blockchain transactions
US11777738B2 (en) Metadata-based endorsement
CN114981773A (zh) 无冲突版本控制

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination