CN113169882B - 用于区块链的互操作性的系统和方法 - Google Patents

用于区块链的互操作性的系统和方法 Download PDF

Info

Publication number
CN113169882B
CN113169882B CN201980081327.7A CN201980081327A CN113169882B CN 113169882 B CN113169882 B CN 113169882B CN 201980081327 A CN201980081327 A CN 201980081327A CN 113169882 B CN113169882 B CN 113169882B
Authority
CN
China
Prior art keywords
smart contract
blockchain
host blockchain
host
blockchains
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.)
Active
Application number
CN201980081327.7A
Other languages
English (en)
Other versions
CN113169882A (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.)
Innoprice Inc
Original Assignee
Innoprice Inc
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 Innoprice Inc filed Critical Innoprice Inc
Publication of CN113169882A publication Critical patent/CN113169882A/zh
Application granted granted Critical
Publication of CN113169882B publication Critical patent/CN113169882B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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
    • G06F16/2379Updates performed during online database operations; commit processing
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems
    • G06F16/1824Distributed file systems implemented using Network-attached Storage [NAS] architecture
    • G06F16/183Provision of network file services by network file servers, e.g. by using NFS, CIFS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0442Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply asymmetric encryption, i.e. different keys for encryption and decryption
    • 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]
    • 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
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage

Abstract

本文公开了一种用于区块链的互操作性的系统和方法,从而允许以实时且安全的方式跨区块链使用智能合约。多个区块链相互连接并允许使用由其他连接的区块链在其上编写的智能合约,而无需重写和/或下载其他区块链上的智能合约。所公开的系统和方法使用分布式文件系统存储装置来安全地处理从一个区块链流向另一连接的区块链的信息。此外,每个连接的区块链都与不同的私钥和公钥相关联,以便对跨区块链流动的数据进行加密和解密。

Description

用于区块链的互操作性的系统和方法
相关申请的交叉引用
本申请是基于2018年11月9日提交的美国临时专利申请号62/758,113并根据35U.S.C.199(e)要求优先权的非临时专利申请。
技术领域
本申请整体涉及分布式账本平台上的数据处理领域,并且具体地涉及区块链的互操作性。此外,本发明涉及智能合约跨一个或多个区块链平台的可重用性。
背景技术
近期,区块链技术的使用已扩展到加密货币以外,为智能合约的执行提供了框架。智能合约是各方之间的自执行协议,所有条款和条件均以代码编写,并根据未来的签名或触发事件自动执行。通过利用区块链技术,智能合约一旦附加到区块链上,就不能被撤销、拒绝或逆转。智能合约通常提供多种功能,只需在智能合约附加到的区块链上调用调用方法即可执行这些功能。随着越来越多具有不同处理和执行速度的区块链不断涌现,具有各种功能的多个智能合约正在编写中。然而,智能合约功能的使用仅限于托管所述智能合约的区块链。由于在不同区块链中普遍存在的智能合约的结构和语言不同,与一个区块链相关联的用户无法在另一区块链上使用智能合约的功能。此外,一些区块链具有更高的执行速度,导致嵌入在附加到该区块链的智能合约中的算法的执行速度更快,并且不同的区块链上的用户无法访问此类算法/方法。这限制了智能合约带来的好处,并阻碍了区块链的互操作性。
在主题区块链上执行来自另一区块链的智能合约方法的常用方法之一是将所述智能合约代码复制到第三方处理平台上、以主题区块链可接受的语言和结构重写代码并将其添加到主题区块链中。任选地,用户可在另一区块链上注册并在另一区块链上直接使用智能合约功能。
上述从其他区块链中重用智能合约的方法导致了重写整个智能合约时不必要的资源、时间和人力浪费。此外,不同的区块链具有不同的功能支持、算法和执行速度,因此来自其他区块链的智能合约代码不能被重写和/或复制到它们上面。此外,智能合约代码的这种重写不允许实时执行智能合约。
鉴于与用于近实时地跨区块链重用智能合约的现有方法和系统相关联的上述缺点,非常期望具有一种允许跨区块链实时重用智能合约的系统和方法。如下所述,本发明通过允许跨不同区块链使用智能合约而无需将智能合约代码从一个区块链重写到另一区块链,从而实现区块链之间的互操作性。
发明内容
本公开的实施方案提出了技术改进,作为对发明人在常规系统中认识到的上述技术问题中的一个或多个的解决方案。
在本发明的一方面,提供了一种用于在联网环境中彼此连接的区块链的互操作性的系统和方法。
在另一方面,提供了一种用于通过利用分布式文件存储系统并推迟在区块链上执行事务,从而使得其他区块链能够在区块链上使用智能合约方法来跨区块链实时重用智能合约的系统和方法。
在又一方面,本发明提供了用于使得能够通过加密区块链和分布式文件存储系统之间的通信来以安全的方式跨区块链使用智能合约的系统和方法。
从附图和结合所附权利要求书解释的说明性实施方案的详细描述,本公开的其他方面、优点、特征和目的将变得显而易见。
应当理解,本公开的特征易于以各种组合进行组合,而不脱离由以下详细描述和附图所限定的本公开的范围。
附图说明
当结合附图阅读时,将更好地理解以上发明内容以及以下对说明性实施方案的详细描述。为了说明本公开,在附图中示出了本公开的示例性构造。然而,本公开不限于本文公开的特定方法和手段。此外,本领域技术人员将理解,附图未按比例绘制。只要有可能,相同的元件都用相同的数字表示。
现在将参考以下附图仅以示例的方式描述本公开的实施方案,附图中:
图1是示意图,图1描绘了根据本公开的示例性实施方案的用于跨区块链重用智能合约的系统。
图2描绘了按照本公开配置的区块链的详细架构框图。
图3描绘了按照本公开的用于识别非主机区块链的方法索引。
图4和图4A描绘了按照本公开的在区块链上的初始智能合约内维护的列表的详细视图。
图5描绘了概述在本发明的优选实施方案中识别非主机区块链所涉及的步骤的流程图。
图6描绘了可通信地耦合到分布式文件系统存储装置的多个相互连接的区块链中正在操作的区块链。
图7A描绘了分布式文件系统存储中存储位置的内容。
图7B描绘了在识别非主机区块链之后,在主机区块链的初始智能合约中维护的列表中的条目。
图7C描绘了方法索引中的条目。
图8描绘了按照本公开的优选实施方案的正在操作的主机区块链和非主机区块链。
图9描绘了根据本公开的替代实施方案的正在操作的主机区块链和非主机区块链。
图10A描绘了本公开的替代实施方案中的分布式文件系统存储装置中的存储位置的内容。
图10B描绘了按照本公开的替代实施方案的在识别非主机区块链之后在主机区块链的初始智能合约中维护的列表中的条目。
图10C描绘了按照本公开的替代实施方案的方法索引中的条目。
图11描绘了密钥存储库的详细视图。
图12描绘了根据本公开的实施方式的各方面的示例性过程的流程图。
在附图中,采用带下划线的数字来表示带下划线的数字所在的项或与该下划线的数字相邻的项。不带下划线的数字与通过将不带下划线的数字链接到项的线所标识的项有关。当数字不带下划线并伴有相关箭头时,不带下划线的数字用于标识箭头所指的一般项。
具体实施方式
以下详细描述示出了本公开的实施方案以及它们可以实现的方式。尽管已经公开了执行本公开的一些模式,但本领域技术人员将认识到,用于执行或实践本公开的其他实施方案也是可能的。本领域技术人员将认识到本公开的实施方案的许多变化、替代和修改。应当理解,本发明不限于本文描述的特定方法、协议等,并且因此可变化。本文所用的术语仅用于描述特定实施方案的目的,并不旨在限制本发明的范围,本发明的范围仅由权利要求书限定。
除非另有说明或从上下文中暗示,否则以下术语和短语包括以下提供的含义。除非另有明确说明或从上下文显而易见,否则以下术语和短语不排除该术语或短语在其所属领域中已获得的含义。提供这些定义是为了帮助描述本文描述的方面的特定实施方案,并且不旨在限制要求保护的发明,因为本发明的范围仅由权利要求书限制。此外,除非上下文另外要求,否则单数术语应包括复数,而复数术语应包括单数。
如本文所用,术语“包含”用于指对本发明必不可少的组合物、方法及其各自的组分,但对包括未指定的要素开放,无论是否必不可少。
除非上下文另有明确指示,否则单数术语“一个/一种”和“该/所述”包括复数个对象。类似地,类似地,除非上下文另有明确说明,否则词语“或”旨在包括“和”。因此,例如,对“该方法/所述方法”的提及包括本文所述类型的和/或对于本领域技术人员而言在阅读本公开等之后将变得显而易见的一种或多种方法和/或步骤。
尽管在本公开的实践或测试中可使用与本文所述的那些方法和材料相似或等效的方法和材料,但下文描述了合适的方法和材料。术语“包含”是指“包括”。“例如”在本文用于指示非限制性示例。“例如”与“诸如”一词同义。
本发明要求一种用于跨区块链重用智能合约方法,从而允许区块链之间的互操作性的系统和方法。图1描绘了用于跨区块链重用智能合约方法的系统的示例性实施方案。按照图1的示例性实施方案,系统100包括服务器布置结构102,该服务器布置结构可通信地耦合到多个区块链104,该多个区块链包括主机区块链104a和非主机区块链104b。多个区块链中的每一个可通信地耦合到分布式文件系统存储装置106。按照本文所描述的示例性实施方案,图1所示的分布式文件系统为星际文件系统(IPFS)。然而,应当理解,出于本发明的目的,任何分布式文件系统存储都将以与IPFS类似的方式执行。术语“主机区块链”是指多个区块链中添加了请求执行智能合约方法的第一事务的区块链。此外,术语“非主机区块链”是指多个区块链中部署了所述智能合约方法的区块链。此外,104d描绘了多个区块链的新传入区块链。服务器布置结构102可操作以将事务108添加到多个区块链平台104中的任一个。可通过服务器布置结构102的前端单元108上的基于web的应用程序或基于移动的应用程序(图1中未示出)来添加事务108。在替代实施方案中,使用允许将事务添加到区块链的服务器布置结构上的第三方扩展。
此外,多个区块链中的每一个被配置为将添加到其上的事务的执行推迟预定时段。在预定时段之后执行事务,并且服务器布置结构可操作以通过前端单元接收针对所执行事务的输出。多个区块链中的每一个都部署有一个或多个智能合约,一个或多个智能合约包括多个智能合约方法,每个智能合约方法都与定义的输出有关。所述智能合约方法的示例可为getPastEvents(),其可用来查询自时间开始以来的事件日志。类似地,可在多个区块链中的每一个的一个或多个智能合约上编程各种智能合约方法。
在本发明的一个方面,多个区块链中的每一个在架构、配置、执行速度和部署在其上的一个或多个智能合约的功能方面彼此不同。所述不同区块链的示例为以太坊、EOS、Multichain、Stellar、Corda等。应当理解,多个其他区块链可形成所述系统的多个区块链的一部分。
在整个本公开中,术语“服务器布置结构”是指包括一个或多个处理器的一个或多个服务器的布置结构,该一个或多个处理器被配置为执行例如如先前所提及的各种操作。任选地,服务器布置结构包括能够执行各种操作的物理或虚拟计算实体的任何布置结构。术语“一个或多个处理器”可指一个或多个单独处理器、处理设备和与可由其他处理设备共享的处理设备相关联的各种元件。另外,一个或多个单独处理器、处理设备和元件布置在各种架构中,用于响应和处理驱动上述系统的指令。
此外,应当理解,可通过单个硬件服务器来实现服务器布置结构。服务器布置结构可替代地通过以并行或分布式架构操作的多个硬件服务器来实现。作为示例,服务器布置结构可包括诸如存储器单元、处理器、网络适配器等的部件,以存储和处理与文档有关的信息,并将处理后的信息传递给诸如客户端设备的其他计算部件。
服务器布置结构经由一个或多个通信网络可通信地耦合到多个区块链。术语“一个或多个通信网络”可以是彼此互连并且用作单个大型网络的单个网络的集合。此类单独网络可以是有线的、无线的或它们的组合。
此类单独的网络的示例包括但不限于局域网(LAN)、广域网(WAN)、城域网(MAN)、无线LAN(WLAN)、无线WAN(WWAN)、无线MAN(WMAN)、因特网、第二代(2G)电信网络、第三代(3G)电信网络、第四代(4G)电信网络、第五代(5G)电信网络和全球微波接入(WiMAX)网络互操作性。
此外,术语“前端单元”是指使得用户能够访问存储在区块链上的信息和/或存储区块链上的信息的图形用户界面单元或命令行界面。
在以下段落中,描述了可通信地耦合到服务器布置结构的多个区块链中的至少一个的结构。尽管描述是针对一个区块链提供的,但本领域技术人员应当理解,以类似方式配置可通信地耦合到服务器布置结构的多个区块链中的每一个。此外,进入系统的任何新传入区块链必须以如下所述的类似方式配置,以实现多个区块链之间的互操作性,如本发明所公开的。
图2描绘了按照本发明配置的多个区块链104a中的一个(为了描述图2,下文称为示例性区块链)的详细架构框图。多个区块链中的每一个具有相似的架构,并且以与示例性区块链相似的方式配置。示例性区块链包括一个或多个智能合约214和初始智能合约202,其中初始智能合约202包括至少一个数据结构存储库204。一个或多个智能合约214进一步包括一个或多个智能合约方法216。初始智能合约202可操作以在数据结构存储库204中存储添加到示例性区块链的一个或多个事务的列表206,其中一个或多个事务中的每一个都针对与一个或多个事务中的每一个相关的方法名称、执行状态和从IPFS返回的哈希映射。术语“智能合约方法”是指用于询问智能合约或更改其状态的一组代码。根据所需的输出,智能合约中可包含多个智能合约方法。作为非限制性示例,如在本发明的附图和流程图中所使用的,getpct()是用于计算百分比的智能合约方法,给定两个整数作为输入参数。在上面的示例中,getpct是智能合约方法getpct()的方法名称。
此外,初始智能合约202可操作以在数据结构存储库204中存储方法索引208,其中方法索引包括一个或多个方法名称、针对智能合约方法映射的一个或多个方法名称中的每一个、智能合约名称和区块链名称的索引。在整个本公开中,方法名称、智能合约名称和区块链名称是用于分别指代智能合约方法、智能合约和区块链的别名。别名可以是任何字符集、数字、字母数字代码、十六进制代码或任何能够引用和标识不同实体的命名系统。在一个实施方案中,智能合约名称可直接指代区块链上的智能合约,就像在EOS区块链中一样。任选地,替代地,智能合约名称可用来指代智能合约在区块链上的地址,如在以太坊区块链中一样。
方法索引208允许识别部署有包含智能合约方法的智能合约的非主机区块链,如在附加到主机区块链的事务中所接收的。本领域技术人员应当理解,初始智能合约202可部署任何普及的索引机制,包括但不限于发明的索引。优选地,存储在多个区块链中的每个区块链的初始智能合约202的数据结构存储库204中的方法索引208定期更新,并与多个区块链的所有其他区块链同步。
任选地,服务器布置结构202维护主方法索引210(图2中未示出)。主方法索引210是方法索引208的副本。系统100中的任何新传入区块链104d(如图1所示)与服务器布置结构102交互,以通过其应用二进制接口(ABI)提供部署的智能合约、可访问的智能合约方法及其相关参数的列表。这些详细信息以及合约地址对于与新传入区块链上的一种或多种智能合约方法进行交互至关重要任选地,可将具有新智能合约方法集的新智能合约添加到多个区块链中的现有区块链。因此,服务器布置结构102更新主方法索引210并将更新后的主方法索引广播到多个区块链104中的每一个。多个区块链中的每个区块链的初始智能合约202基于更新的主方法索引更新存储在其数据结构存储库204中的方法索引208。
在一个实施方案中,方法索引208直接存储在服务器布置结构102上。多个区块链中的每一个都与服务器布置结构102通信,以便识别部署有期望智能合约方法的非主机区块链。在任何新传入区块链的情况下,由服务器布置结构102保持方法索引的更新,替代地,所述方法索引208存储在区块链外部的链外存储介质中,由区块链验证,其中方法索引208可通过多个区块链中的每一个动态地有效地获取。
任选地,初始智能合约202被配置为包括验证指示器212,其中验证指示器212指示添加到区块链的事务的执行状态。在一个实施方案中,通过在事务成功执行的情况下设置的标志来实现验证指示器212。在执行推迟的情况下,将重置标志,直到执行事务为止。初始智能合约202使用验证指示器来更新在数据结构存储库204中维护的列表206中的事务的执行状态。
此外,初始智能合约202包括具有预配置权限的一个或多个标准方法调用218。术语“标准方法调用”是指来自智能合约的默认方法调用,预配置参数不能被任何区块链用户更改。任选地,可通过一个或多个智能合约包装器来实现标准方法调用。如在优选实施方案中所使用的所述标准方法调用的示例为“Write to IPFS”(写入IPFS)、“READ from IPFS”(从IPFS读取)。多个区块链中的每一个被配置为使用默认系统智能合约的一个或多个标准方法调用与分布式文件系统存储装置进行通信。如本文所用,术语“通信”是指从分布式文件存储系统读取和写入。分布式文件系统存储提供了一种用于存储和交换文档以进行对等传输的协议。此外,可在与分布式文件系统的各种公共记录有关的各种对等点上存储信息。对等记录互不依赖;这可确保分布式文件系统不会因任何对等记录的不正常运行而发生故障。一旦存储,信息的内容就不能更改。这使分布式文件系统安全。在将数据记录写在分布式文件存储系统上的情况下,从分布式文件系统返回地址哈希,该地址哈希指示数据记录的存储位置。可使用返回的地址哈希在分布式文件存储系统上读取数据记录。本领域技术人员应当理解,上面提到的标准方法调用是具有基本功能的示例性名称,其基本功能是指对分布式文件系统存储系统的写入和读取。
在整个本公开中,术语“初始智能合约”是指附加到区块链的预配置智能合约,并且包括在部署预配置智能合约时自动创建的一组对象定义。对于可通信地耦合到服务器装置的多个区块链中的每一个,初始智能合约都是必不可少的元素。进入系统的任何新传入区块链都必须部署初始智能合约。此外,术语“数据结构存储库”是指存储在区块链上的智能合约内部的数据元素的有组织的集合。这些数据元素可具有不同的类型和不同的长度。所述数据结构存储库可为线性数据结构或分层结构。作为非限制性示例,如在本公开的一个实施方案中所使用的,此类数据结构存储库是数据元素以键值对格式存储在数据结构存储库中的链表和数组。此外,术语“链外数据存储介质”是指不存储在区块链上的数据记录的任何存储装置。此类链外存储介质的示例为Enigma、Swarm等。在此类情况下,区块链从第三方解决方案(诸如Oracle)读取数据。
图3描绘了包括一个或多个方法名称的索引的方法索引208,其中一个或多个方法名称中的每一个都针对智能合约方法、智能合约名称和区块链名称进行映射。方法名称是智能合约方法的别名。功能描述描述了智能合约方法的功能。智能合约名称是指托管智能合约方法的智能合约。区块链名称是指在其上部署了智能合约的区块链。换句话说,非主机区块链是部署了智能合约方法的区块链。参考图3,方法索引208的示例条目如下:302是部署在区块链310上的智能合约308内的智能合约方法304的方法名称。306描述了智能合约方法和输入参数类型的功能。因此,可确定getpct是B2区块链上的智能合约@Maths中存在的智能合约方法getpct()的方法名称。此外,按照306,推断出智能合约方法需要两个整数作为float类型。
在一个实施方案中,在一个或多个区块链上可存在具有定义的功能输出的智能合约方法。尽管返回相同的功能输出,但此类智能合约方法可通过跨各个区块链的不同名称来表示。此外,跨各个区块链上的不同智能合约可存在一种或多种具有相同功能输出但名称不同的智能合约方法。可基于方法索引208的功能描述字段306来对具有相同功能输出的所述智能合约方法进行分组。有利的是,方法索引208包括用于返回相同功能输出的一个或多个不同智能合约方法的代表性名称标识符。
任选地,替代地,与第二智能合约方法相比,第一智能合约方法可能会返回相同的功能输出,但在输入参数类型方面可能会有所不同。此外,返回相同功能输出的一种或多种智能合约方法可能具有变化的执行速度和准确性。随后,方法索引208包括用于智能合约方法的输入参数类型、精度和执行速度的索引字段。在一个实施方案中,方法索引208可基于期望的输出功能性提供使用智能合约方法的建议。这是通过针对每个方法名称计算适用性索引来实现的。适用性索引基于若干参数,包括但不限于智能合约在部署有智能合约方法的区块链上的执行速度、智能合约方法的准确性、处理智能合约方法所需的资源量和能源量。
在本发明的一个实施方案中,用户可通过前端单元选择跨可通信地耦合到服务器布置结构的多个区块链可用的多个功能中的一个或多个。服务器布置结构被配置为基于计算出的适用性索引为所选择的功能选择最合适的智能合约方法。在另一实施方案中,可向用户提供针对所选择功能的一种或多种智能合约方法的推荐。
此外,示例性区块链与私钥和公钥相关联。示例性区块链被配置为在初始智能合约202内存储密钥存储库220,其中密钥存储库220包括多个区块链中的每一个和与所述区块链相关联的公钥的映射。只要新传入区块链构成多个区块链的一部分,密钥存储库220就会更新。密钥存储库220通过标准方法调用218中的一个暴露于任何传入的智能合约或初始智能合约。替代地,多个区块链中的每一个可通过其ABI(应用二进制接口)公开密钥存储库。为了生成所述私钥和公钥,可使用RSA加密算法、椭圆曲线数字签名算法(ECDSA)或本领域技术人员已知的其他加密算法。
图4描绘了列表206的详细视图,该列表包括添加到示例性区块链的一个或多个事务,其中一个或多个事务中的每一个都对应于方法名称、事务的执行状态和从IPFS返回的哈希。列表206的示例条目如下:402是添加到示例性区块链的事务,请求在部署在区块链410上的智能合约406内执行智能合约方法404。由408指示事务402的执行状态。根据初始智能合约的验证指示器确定事务402的所述执行状态。在事务402的执行完成之后,列表206进一步存储从IPFS 412返回的哈希。字段412中读为False的条目指示不返回IPFS哈希值。因此,可以确Txn0需要智能合约方法getpct(),并且执行状态是挂起的,因此没有从IPFS返回哈希。图4A描绘了处于另一状态的列表206,其中在字段412中存储由“Write to IPFS”标准方法调用返回的哈希地址QmahmHDpSXGKUNxVGre3ZGj9wG9pGwhb691SZdep4gV4XU。
在又一实施方案中,多个区块链中的每一个与分布式文件系统存储安全地通信。在分布式文件存储系统上写入信息之前,多个区块链中的每一个都使用其私钥对信息进行加密。这样可以确保信息始终以安全的形式存储在分布式文件存储系统中。按照本发明的实施方案,该信息是智能合约方法的方法名称、智能合约方法的关联参数、来自智能合约方法的执行的方法输出等。类似地,为了读取在来自分布式文件系统存储装置的信息中,多个区块链中的每一个使用对信息进行加密的区块链的公共密钥来解密信息,所述公共密钥在多个区块链中的每一个的密钥存储库中可用。
在操作中,由用户选择主机区块链,其中主机区块链是在其上注册用户并在其上发起操作的区块链。本领域技术人员应当理解,以与图2所描绘的示例性区块链类似的方式配置主机区块链。一旦选择了主机区块链,则服务器布置结构将第一事务附加到主机区块链,其中第一事务包括方法名称和一个或多个参数。所述一个或多个参数是与对应于方法名称的智能合约方法相关联的必需输入参数。此外,第一事务具有从主机区块链的初始智能合约调用一个或多个标准方法调用的预配置权限。第一事务尤其会调用主机区块链的初始智能合约中的“Write to IPFS”标准方法调用。“Write to IPFS”标准方法调用将方法名称和一个或多个参数写入IPFS中的第一存储位置。IPFS返回第一哈希地址,该第一哈希地址指示第一存储位置。随后,推迟第一事务的执行。将对应于第一事务的条目添加到主机区块链的初始智能合约的数据结构存储库中维护的列表中,其中该条目包括方法名称、第一事务的推迟的执行状态和第一哈希地址。通过验证指示器监视推迟的执行状态,该验证指示器通过在事务执行挂起时设置的标志来实现。
服务器布置结构被进一步配置为从主机区块链接收方法名称和第一地址哈希。这是通过向主机区块链添加查询事务来实现的,其中查询事务具有预配置的权限,以访问主机区块链的初始智能合约的数据结构存储库中维护的列表,并读取存储在与第一事务相对应的条目中的第一哈希地址。优选地,在第一预设延迟之后添加查询事务,其中第一预设延迟基于主机区块链和分布式文件存储系统的一个或多个标准方法调用的处理速度。
服务器布置结构识别非主机区块链,该非主机区块链应执行与方法名称相对应的智能合约方法。通过基于方法名称查询方法索引来完成对非主机区块链的识别。图5描绘了在本发明的优选实施方案中用于识别非主机区块链的方法500。在步骤502处,服务器布置结构从主机区块链的初始智能合约的数据结构存储库中维护的列表中检索附加到主机区块链的第一事务中包括的方法名称。在504处,服务器布置结构查询方法索引以定位与方法名称相对应的条目。在506处,选择针对在504处定位的条目列出的智能合约。最后,在508处,识别部署有包括智能合约方法的所述智能合约的非主机区块链,非主机区块链是在506处,在方法索引的所定位的条目中针对所选择的智能合约列出的非主机区块链。一旦识别了非主机区块链,就将非主机区块链名称添加到与主机区块链的初始智能合约的数据结构存储库中维护的列表中的第一事务相对应的条目中。在另一实施方案中,可使用用户在附加到主机区块链的第一事务中提供的区块链名称来完成对非主机区块链的识别。
在识别非主机区块链之后,服务器布置结构可操作以将第二事务附加到非主机区块链,其中第二事务包括第一哈希地址并且具有从非主机区块链的初始智能合约调用一个或多个标准方法调用的预配置权限。
附加到非主机区块链的第二事务通过传递第一哈希地址,从非主机区块链的初始智能合约调用“Read from IPFS”标准方法调用。非主机区块链的初始智能合约的“Readfrom IPFS”标准方法调用读取方法名称,以及IPFS的第一哈希地址处可用的一个或多个参数。由“Read from IPFS”标准方法调用返回方法名称和一个或多个参数,并将其存储在非主机区块链的初始智能合约的数据结构存储库中。识别非主机区块链上的包括智能合约方法的智能合约。随后执行智能合约方法,获得方法输出并存储在非主机区块链的初始智能合约的数据结构存储库中。此外,从非主机区块链的初始智能合约调用标准方法调用“Write to IPFS”,其中“Write to IPFS”标准方法调用将存储在非主机区块链的初始智能合约的数据结构存储库中的方法输出作为输入参数。“Write to IPFS”标准方法将方法输出写入IPFS中的第二存储位置并且返回第二哈希地址,该第二哈希地址存储在非主机区块链的初始智能合约的数据结构存储库中。服务器布置结构被进一步配置为在第二预设时间之后接收第二哈希地址,该第二预设时间基于方法和非主机区块链的处理时间。应当理解,第二事务被预配置为以顺序方式调用上述步骤。
随后,服务器布置结构可操作以将第三事务附加到非主机区块链,其中第三事务包括第二哈希地址并且具有从主机区块链的初始智能合约调用一个或多个标准方法调用的预配置权限。附加到主机区块链的第三事务通过传递第二哈希地址,从主机区块链的初始智能合约调用“Read from IPFS”标准方法调用。主机区块链的初始智能合约的“Readfrom IPFS”标准方法调用读取IPFS第二哈希地址处可用的方法输出,并返回方法输出,然后将方法输出作为第一事务的最终输出存储在主机区块链初始的智能合约的数据结构存储库中。此外,重置验证指示器,指示第一事务的执行状态为完成。通过查询与主机区块链的初始智能合约的数据结构存储库中维护的列表中的第一事务相关的条目记录,服务器安排接收最终输出。应当理解,第一事务的最终输出与方法输出相同,并且所使用的术语不同,只是为了突出显示附加到主机区块链的第一事务的最终输出。
以下段落公开了实现所要求保护的发明的示例场景。
图6和图7描绘了操作中的示例场景。参考图6,向可通信地耦合到服务器布置结构602的多个区块链中的一个区块链(出于本示例的目的,在下文简称为主机区块链604)注册的用户希望使用在主机区块链上不可用的智能合约方法。对于本示例,用户希望使用智能合约方法classify.documentsQ,该智能合约方法将文档分为专利和非专利文献(NPL)。主机区块链604可通信地耦合到分布式文件存储系统606,出于本示例的目的,该分布式文件存储系统为IPFS。本示例中的智能合约方法classify.documentsQ将四(4)个参数作为输入(paraml、param2、param3、param4),根据这些参数将文档分类为专利/NPL。用户使用服务器布置结构的前端单元602a输入用于分类为专利/NPL的文档608和智能合约方法名称,即classify.documents。前端单元602a从智能合约方法classify.documents()所需的文档606中提取四(4)个输入参数。
服务器布置结构602将第一事务Txn0 610附加到主机区块链604,其中Txn0 610包括智能合约方法名称即classify.documents和四(4)个参数(False、False、US和False)。Txn0 610在主机区块链604的初始智能合约612中调用“Write to IPFS”标准方法调用616。“Write to IPFS”标准方法调用616将classify.documents名称和四(4)个参数写入IPFS606中的第一存储位置620。
图7A描绘了在执行“Write to IPFS”标准方法调用之后IPFS中的第一存储位置620的内容。
此外,IPFS 606返回第一哈希地址QmTfCejgo2wTwqnDJs8LulpCNeCrCDuE4GAwkna93zdd7d。随后,推迟Txn0 610的执行。与Txn0 610相对应的条目被添加到在主机区块链604的初始智能合约612的数据结构存储库614中维护的列表622中。此外,初始智能合约612从方法索引624识别托管具有classify.documents智能合约方法的智能合约的非主机区块链B2。
图7B描绘了添加了与事务610相对应的条目702的列表622。
服务器布置结构602通过从主机区块链604中查询列表622的条目702来接收智能合约方法名称classify.documents和第一地址哈希QmTfCejgo2wTwqnDJs8LulpCNeCrCDuE4GAwkna93zdd7d。
参考图8,服务器布置结构602将第二事务Txn5 818附加到非主机区块链802,其中Txn5 818包括第一哈希地址QmTfCejgo2wTwqnDJs8LulpCNeCrCDuE4GAwkna93zdd7d。Txn5818通过传递第一哈希地址从非主机区块链802的初始智能合约804调用“Read from IPFS”816。“Read from IPFS”816读取第一地址哈希中可用的数据并返回classify.documents(False、False、US和False)。识别非主机区块链802上的包括智能合约方法classify.documents()的智能合约@Classifier 820。随后,执行classify.documents(),获得方法输出Patent并存储在数据结构存储库806中。此外,从非主机区块链802的初始智能合约804调用标准方法调用“Write to IPFS”814。“Write to IPFS”814标准方法调用将方法输出Patent写入IPFS中的第二存储位置830,并返回第二哈希地址QmMfCejgo2wPwgnNJs8LulpCNeCrYDuE4GAwlns31jed9a。服务器布置结构602被进一步配置为在第二预设时间之后接收第二哈希地址QmMfCejgo2wPwgnNJs8LulpCNeCrYDuE4GAwlns31jed9a。
随后,服务器布置结构602将第三事务Txn2 826附加到主机区块链604,其中Txn2826包括第二哈希地址QmMfCejgo2 wPwgnNJs8Lul pCNeCrYDuE4 GA wlns31jed9a.Txn2,通过传递第二哈希地址QmMfCejgo2wPwgnNJs8LulpCNeCrYDuE4GAwlns31jed9a从主机区块链604的初始智能合约612调用“Read from IPFS”标准方法调用618。“Read from IPFS”618读取IPFS中在830处可用的方法输出Patent,然后将其存储在主机区块链604的初始智能合约612的数据结构存储库614中,作为第一事务Txn0 610的最终输出。此外,将验证指示器622重置为0,从而将Txn0 610的执行状态指示为完成。通过从主机区块链查询列表622的条目702,由服务器布置结构602接收最终输出Patent。服务器布置结构602的前端单元602a上显示最终输出Patent。因此,输入文档608被分类为专利。因此,区块链的用户能够使用在另一区块链上可用但在用户注册到的区块链上不可用的智能合约方法,而无需重写所述智能合约方法。
在本发明的替代实施方案中,服务器布置结构将第一事务附加到主机区块链,其中第一事务包括方法名称和一个或多个参数。所述一个或多个参数是与方法名称相对应的智能合约方法所需的输入参数。此外,第一事务具有从主机区块链的初始智能合约调用一个或多个标准方法调用的预配置权限。通过将方法名称和一个或多个参数作为输入参数传递到标准方法调用,第一事务尤其会在主机区块链的初始智能合约中调用“Secure Writeto IPFS”(安全写入IPFS)标准方法调用。“Secure Write to IPFS”标准方法调用被配置为使用主机区块链的私钥、方法名称和一个或多个参数进行加密。然后将加密的方法名称和一个或多个参数写入IPFS。IPFS返回第一哈希地址,该第一哈希地址指示方法名称的第一存储位置以及IPFS上的一个或多个参数。随后,推迟第一事务的执行。将对应于第一事务的条目添加到主机区块链的初始智能合约的数据结构存储库中维护的列表中,其中该条目包括智能合约方法名称、推迟的执行状态和返回的第一哈希地址。通过验证指示器监视推迟的执行状态,该验证指示器通过在事务执行挂起时设置的标志来实现。
服务器布置结构被进一步配置为从主机区块链接收方法名称和第一地址哈希。这是通过向主机区块链添加查询事务来实现的,其中查询事务具有预配置的权限,以访问主机区块链的初始智能合约的数据结构存储库中维护的列表,并读取存储在与第一事务相对应的条目中的第一哈希地址。优选地,在第一预设延迟之后添加查询事务,其中预设延迟基于主机区块链和分布式文件存储系统的一个或多个标准方法调用的处理速度。
服务器布置结构识别非主机区块链,该非主机区块链应执行与方法名称相对应的智能合约方法。以与如图5所描绘类似的方式识别非主机区块链。在识别非主机区块链之后,服务器布置结构可操作以将第二事务附加到非主机区块链,其中第二事务包括第一哈希地址和第一区块链名称。第一区块链名称是主机区块链的别名。
附加到非主机区块链的第二事务通过传递第一哈希地址和第一区块链名称,从非主机区块链的初始智能合约调用“Secure Read from IPFS”(从IPFS安全读取)标准方法调用。非主机区块链的初始智能合约的“Secure Read from IPFS”标准方法调用被配置为从非主机区块链的密钥存储库中检索与第一区块链名称(即主机区块链)相对应的公钥。此外,“Secure Read from IPFS”标准方法调用使用主机区块链的检索到的公钥进行解密,并读取方法名称以及IPFS的第一哈希地址处可用的一个或多个参数。由“Secure Read fromIPFS”标准方法调用返回方法名称和一个或多个参数,并将其存储在非主机区块链的初始智能合约的数据结构存储库中。识别非主机区块链上的智能合约,该智能合约包括与方法名称相对应的智能合约方法。随后执行智能合约方法,获得方法输出并存储在非主机区块链的初始智能合约的数据结构存储库中。随后,从非主机区块链的初始智能合约调用标准方法调用“Secure Write to IPFS”,其中“Secure Write to IPFS”标准方法调用将方法输出作为输入参数。“Secure Write to IPFS”标准方法调用被配置为使用非主机区块链的私钥进行加密,并将方法输出写入IPFS中的第二存储位置。“Secure Write to IPFS”标准方法调用返回第二哈希地址,该第二哈希地址存储在非主机区块链的初始智能合约的数据结构存储库中。服务器布置结构被进一步配置为在第二预设时间之后接收第二哈希地址,该第二预设时间基于智能合约方法和非主机区块链的处理时间。
随后,服务器布置结构可操作以将第三事务附加到主机区块链,其中第三事务包括第二哈希地址和第二区块链名称。第二区块链名称是非主机区块链的别名。附加到非主机区块链的第三事务通过传递第二哈希地址和第二区块链名称,从主机区块链的初始智能合约调用“Secure Read from IPFS”标准方法调用。主机区块链的初始智能合约的“SecureRead from IPFS”标准方法调用被配置为从主机区块链的密钥存储库中检索与第二区块链名称(即非主机区块链)相对应的公钥。此外,“Secure Read from IPFS”标准方法调用使用非主机区块链的检索到的公钥进行解密,并读取IPFS的第二哈希地址处可用的方法输出。由“Secure Read from IPFS”标准方法调用返回的方法输出存储在主机区块链的初始智能合约的数据结构存储库中,作为第一事务的最终输出。此外,重置验证指示器,指示第一事务的执行状态为完成。通过查询与主机区块链的初始智能合约的数据结构存储库中维护的列表中的第一事务相关的条目记录,服务器安排接收最终输出。
参考图9,该图描绘了通过允许区块链之间的安全通信的系统的替代实施方案实现的将文档分类为在前述段落中描述的专利/NPL的示例场景。
服务器布置结构602将第一事务Txn0 610附加到主机区块链604,其中第一事务610包括智能合约方法名称即classify.documents和四(4)个参数(False、False、US和False)。Txn0 610在主机区块链604的初始智能合约612中调用“Secure Write to IPFS”标准方法调用902。“Secure Write to IPFS”标准方法调用902使用主机区块链604,的私钥来加密智能合约方法名称即classify.documents和四(4)个参数(False、False、US和False),并写入IPFS 606中的第一存储位置620。
图10A描绘了在执行“Secure Write to IPFS”标准方法调用之后IPFS中的第一存储位置620的内容。
此后,IPFS 606返回第一哈希地址QmIfJejgo2gTwqnMJs8Lul p VNedrCDuE4GAwkna 93zde9a。因此,推迟Txn0 610的执行。与第一Txn0 610相对应的条目被添加到在主机区块链604的初始智能合约612的数据结构存储库614中维护的列表622中。此外,初始智能合约612从方法索引624识别托管具有classify.documents智能合约方法的智能合约@Classifier的非主机区块链B2。
图10B描绘了添加了与事务610相对应的条目1002的列表622。
服务器布置结构602通过从主机区块链604中查询列表622的条目1002来接收方法名称classify.documents和第一地址哈希QmIfJejgo2gTwqnMJs8LulpVNedrCDuE4GAwkna93zde9a。
参考图8,服务器布置结构602将第二事务Txn5 818附加到非主机区块链802,其中Txn5 818包括主机区块链604的第一哈希地址QmIfJejgo2gTwqnMJs8LulpVNedrCDuE4GAwkna93zde9a和第一区块链名称B1。Txn5 818通过传递第一哈希地址从非主机区块链802的初始智能合约804调用“Secure Read from IPFS”816。
“Secure Read from IPFS”816被配置为从非主机区块链802的密钥存储库812检索与第一区块链名称B1相对应的公钥MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCqGKukOlDe7zhZj6+H0qtjTv
Ke4eCZOFPqriOcb2JZfXJ/DgYSF6vUpwmJG8wVQZKjeGcjDOL5UlsuusFnczWBQ7R
KNUSesmQRMSGkVbl/3j+skZ6UtW+5u09IHNsj6tQ51slSPrCBkedbNf0Tp0GbMJDyR4e
9T04ZZwIDAQAB,即主机区块链604的公钥。“Secure Read from IPFS”816解密在第一哈希地址QmIfJejgo2gTwqnMJs8LulpVNedrCDuE4GAwkna93zde9a处可用的信息并且返回classify.documents(False、False、US和False)。识别非主机区块链802上的包括智能合约方法classify.documents()的智能合约@Classifier820。随后,执行classify.documents(),获得方法输出Patent并存储在数据结构存储库806中。随后,从非主机区块链802的初始智能合约804调用标准方法调用“Secure Write to IPFS”814。“Secure Write to IPFS”814标准方法调用被配置为使用非主机区块链802的私钥进行加密,并将方法输出Patent写入IPFS中的第二存储位置830。“Secure Write to IPFS”814标准方法调用返回第二哈希地址QyIfJefgl9gYwqxABs8IvllVDedrCOuW8GHwkna93zde2f。服务器布置结构602被进一步配置为在第二预设时间之后接收第二哈希地址QyIfJefgl9gYwqxABs8IvllVDedrCOuW8GHwkna93zde2f,该第二预设时间基于智能合约方法classify.documentsQ和非主机区块链802的处理时间。
随后,服务器布置结构602可操作以将第三事务Txn2 826附加到非主机区块链604,其中Txn2 826包括非主机区块链802的第二哈希地址QyIfJefgl9gYwqxABs8IvllVDedrCOuW8GHwkna93zde2f和第二区块链名称B2。Txn2通过传递非主机区块链的第二哈希地址和第二区块链名称B2,从主机区块链B1的初始智能合约612调用“Secure Read from IPFS”标准方法调用618。“Secure Read from IPFS”618标准方法调用被配置为从主机区块链Bl的密钥存储库620检索与第二区块链名称B2相对应的公钥,即非主机区块链的公钥。此外,“Secure Read from IPFS”618使用检索到的非主机区块链B2的公钥进行解密,并读取在第二哈希地址QyIfJefgl9gYwqxABs8IvllVDedrCOuW8GHwkna93zde2f处可用的方法输出Patent。由“Secure Read from IPFS”618标准方法调用返回的方法输出Patent存储在主机区块链的初始智能合约的数据结构存储库中,作为第一事务的最终输出。此外,重置验证指示器,指示第一事务的执行状态为完成。通过从主机区块链604查询列表622的条目702,由服务器布置结构602接收最终输出Patent。
在本发明的另一实施方案中,提供了一种用于在区块链上执行动态智能合约的方法。术语“动态智能合约”是指包括一个或多个智能合约方法的智能合约,该一个或多个智能合约方法跨可通信地耦合到服务器布置结构的多个区块链中的多于一个区块链部署。动态智能合约的执行通过实时导入部署有动态智能合约的、与主机区块链分开的非主机区块链上可用的一个或多个智能合约方法来提供。
在上述段落中描述的实施方案的示例场景中,在操作中,动态智能合约包括三(3)个智能合约方法,分别为getpctQ、createsign()和classify.documents()。在上述3种智能合约方法中,主机区块链(即部署动态智能合约的区块链)上存在两(2)种。智能合约方法classify.documentsQ在主机区块链上不可用。
参考图12,在执行动态智能合约期间,在步骤1202处,接受智能合约方法classify.documents()以便基于执行序列进行处理。执行序列主要是指处理一个或多个智能合约方法以用于执行动态智能合约的顺序,并构成执行逻辑流的基础。执行逻辑流确定智能合约方法classify.documentsQ在主机区块链上是否可用。在智能合约方法在主机区块链上可用的情况下,执行逻辑流移至1218,在该步骤中处理智能合约方法。在所述智能合约方法在主机区块链上不可用的情况下,执行逻辑流移至步骤1204,在该步骤中将动态智能合约的执行推迟预定时间。在1206处,查询主机区块链的初始智能合约的方法索引,以定位与智能合约方法名称相对应的条目。此外,在1208处,根据所定位的条目,选择包括智能合约方法的智能合约。因此,在1210处,识别部署有所选择的智能合约的非主机区块链。在1212处,在非主机区块链上处理智能合约方法。在1214处,将来自非主机区块链上的智能合约方法的方法输出通过如图8或图9所述的分布式文件存储系统返回到主机区块链。在1216处,恢复动态智能合约的执行。执行逻辑流进一步确定是否还有剩余智能合约方法需要处理以完成动态智能合约的执行。如果动态智能合约的执行还有其他智能合约方法需要处理,则执行逻辑流循环回到步骤1202。否则,执行动态智能合约。
本领域技术人员应当理解,前述描述和实施方案描绘了两个区块链之间的互操作性,并且可将它们扩展到可通信地耦合到服务器布置结构的多个区块链。应当进一步理解,本文中的术语“第一”、“第二”等并不表示任何特定的角色、顺序或重要性,而是用于将一方与另一方区分开。
本文给出的任何示例或说明均不应以任何方式视为对与它们一起使用的任何一个或多个术语的局限、限制或明确定义。相反,这些示例或说明仅被认为是说明性的。本领域的普通技术人员将理解,与这些示例或说明一起使用的任何一个或多个术语将包括其他实施方案,这些实施方案可能会或可能不会在说明书中或其他地方给出,并且所有此类实施方案都旨在包括在该一个或多个术语的范围内。此外,词语“示例”或“示例性”在本文用来表示用作示例、实例或说明。本文中被描述为“示例性”的任何方面或设计不必被解释为相对于其他方面或设计是优选的或有利的。相反,词语“示例”或“示例性”的使用旨在以具体方式呈现概念。
说明书、实施方案和附图不应被视为限制权利要求的范围。还应当理解,在整个本公开中,除非在逻辑上另有要求,否则在示出或描述过程或方法的情况下,可以任何顺序、重复地、迭代地或同时地执行方法的步骤。本文所描述的功能或过程的至少部分可以合适的计算机可执行指令实现。
应当理解,本公开的特征易于以各种组合进行组合,并且可在不脱离本公开的范围的情况下引入附加特征。

Claims (8)

1.一种用于可通信地耦合到分布式文件存储系统和服务器布置结构的多个区块链之间的互操作性的系统,其中所述服务器布置结构被配置为:
将第一事务附加到所述多个区块链中的主机区块链,所述第一事务包括方法名称和一个或多个参数,其中所述主机区块链可操作以:将所述第一事务的执行推迟预定时段;
将所述方法名称和所述一个或多个参数存储在所述分布式文件存储系统上;
从所述主机区块链接收第一哈希地址和所述方法名称,其中所述第一哈希地址指示所述方法名称和所述一个或多个参数在所述分布式文件存储系统上的第一存储位置;
在所述多个区块链中识别非主机区块链;
将第二事务附加到所述非主机区块链,所述第二事务包括所述第一哈希地址;
从所述非主机区块链接收第二哈希地址,其中所述第二哈希地址指示所述分布式文件存储系统上的第二存储位置,所述第二存储位置被配置存储来自所述非主机区块链上的与所述方法名称相对应的智能合约方法的执行的方法输出;
将第三事务附加到所述主机区块链,所述第三事务包括所述第二哈希地址;
在所述预定时段结束时所述执行所述第一事务之后,接收所述主机区块链上的所述第一事务的最终输出,其中所述最终输出指示所述智能合约方法的所述方法输出;
其中每一个所述主机区块链和所述非主机区块链中均包括初始智能合约,所述初始智能合约进一步包括用于与所述分布式文件存储系统通信的一个或多个标准方法调用;
其中所述服务器布置结构被进一步配置为基于方法索引来识别非主机区块链,所述方法索引包括针对所述多个区块链中的至少一个映射的一个或多个方法名称的列表。
2.根据权利要求1所述的系统,其中所述初始智能合约进一步包括数据结构存储库,所述数据结构存储库被配置为维护一个或多个事务以及所述一个或多个事务的执行状态的列表。
3.根据权利要求1所述的系统,其中所述主机区块链和所述非主机区块链中的每一个被配置为对与所述分布式文件存储系统的所述通信进行加密。
4.根据权利要求3所述的系统,其中所述主机区块链和所述非主机区块链中的每一个被分配有私钥和公钥。
5.根据权利要求1所述的系统,其中所述预定时段基于所述智能合约方法在所述非主机区块链上的执行时间。
6.一种用于可通信地耦合到分布式文件存储系统和服务器布置结构的多个区块链的互操作性的系统,所述系统包括主机区块链,所述主机区块链被配置为:
接收用于执行智能合约方法的第一事务,所述事务包括与所述智能合约方法相对应的方法名称和一个或多个参数;
将所述方法名称和所述一个或多个参数加密并传输到所述分布式文件存储系统;
将所述事务推迟预定时间;
在所述多个区块链中,识别部署有所述智能合约方法的非主机区块链;
接收第二哈希地址,其中所述第二哈希地址指示所述分布式文件存储系统上的第二存储位置,所述第二存储位置被配置存储来自所述非主机区块链上的与所述方法名称相对应的智能合约方法的执行的方法输出;
解密并从所述分布式文件存储系统读取来自所述非主机区块链上的所述智能合约方法的执行的方法输出;其中每一个所述主机区块链和所述非主机区块链中均包括初始智能合约,所述初始智能合约进一步包括用于与所述分布式文件存储系统通信的一个或多个标准方法调用;
执行所述第一事务并存储与所述第一事务有关的最终输出。
7.一种用于在主机区块链上执行动态智能合约的方法,其中所述动态智能合约包括将按执行序列处理的一个或多个智能合约方法,所述一个或多个智能合约方法跨与所述主机区块链分开的多个区块链部署,所述方法包括以下步骤:
a)接受所述动态智能合约的所述一个或多个智能合约方法中的智能合约方法,以便按照所述执行序列进行处理;
b)确定所述智能合约方法在所述主机区块链上的可用性;
c)基于对所述智能合约方法在所述主机区块链上的不可用性的确定,将所述动态智能合约在所述主机区块链上的执行推迟预定时段;
查询主机区块链的初始智能合约的方法索引,以定位与智能合约方法名称相对应的条目,根据所定位的条目,选择包括智能合约方法的智能合约;
d)识别部署有所选择的智能合约方法的非主机区块链;
e)接收来自在所述非主机区块链上执行的所选择的智能合约方法的方法输出;
f)恢复所述动态智能合约方法的所述执行;
g)循环至步骤(a),直到按照所述执行序列处理了所述动态智能合约的所述一个或多个智能合约方法中的最后一个智能合约方法。
8.根据权利要求7所述的方法,其中基于方法索引来识别所述非主机区块链,所述方法索引包括针对所述多个区块链中的至少一个映射的一个或多个方法名称的列表。
CN201980081327.7A 2018-11-09 2019-11-09 用于区块链的互操作性的系统和方法 Active CN113169882B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201862758113P 2018-11-09 2018-11-09
US62/758,113 2018-11-09
PCT/IB2019/059641 WO2020095278A1 (en) 2018-11-09 2019-11-09 System and method for interoperability of blockchains

Publications (2)

Publication Number Publication Date
CN113169882A CN113169882A (zh) 2021-07-23
CN113169882B true CN113169882B (zh) 2024-03-22

Family

ID=70611546

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201980081327.7A Active CN113169882B (zh) 2018-11-09 2019-11-09 用于区块链的互操作性的系统和方法

Country Status (7)

Country Link
US (1) US11068470B2 (zh)
EP (1) EP3864798B1 (zh)
CN (1) CN113169882B (zh)
FI (1) FI3864798T3 (zh)
HR (1) HRP20231316T1 (zh)
LT (1) LT3864798T (zh)
WO (1) WO2020095278A1 (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10942920B2 (en) * 2019-06-03 2021-03-09 Advanced New Technologies Co., Ltd. Service processing system and method based on blockchain
US11151228B2 (en) * 2019-06-26 2021-10-19 Advanced New Technologies Co., Ltd. Blockchain-based image transaction system, method, apparatus, and electronic device
US10783082B2 (en) * 2019-08-30 2020-09-22 Alibaba Group Holding Limited Deploying a smart contract
CN112613059A (zh) * 2020-12-31 2021-04-06 鲁班(北京)电子商务科技有限公司 基于Fastdfs及CA的快速解密文件的方法及系统
CN113379550B (zh) * 2021-06-29 2023-04-14 杭州复杂美科技有限公司 区块执行方法、计算机设备和存储介质
CN114911869A (zh) * 2022-05-13 2022-08-16 北京航星永志科技有限公司 一种数据及文件存储系统、方法、装置及电子设备
CN115208665B (zh) * 2022-07-15 2023-05-05 河南农业大学 一种基于区块链的种质资源数据安全共享方法及系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106559211A (zh) * 2016-11-22 2017-04-05 中国电子科技集团公司第三十研究所 一种区块链中隐私保护智能合约方法
CN106980540A (zh) * 2017-03-07 2017-07-25 清华大学 一种分布式多维离散数据的计算方法
CN107171794A (zh) * 2017-06-27 2017-09-15 葛峰 一种基于区块链和智能合约的电子文书签署方法
CN107622096A (zh) * 2017-08-31 2018-01-23 上海保险交易所股份有限公司 基于区块链系统的异步多方数据交互方法和存储介质
CN108234515A (zh) * 2018-01-25 2018-06-29 中国科学院合肥物质科学研究院 一种基于智能合约的自认证数字身份管理系统及其方法

Family Cites Families (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8601056B2 (en) * 2010-03-09 2013-12-03 Avistar Communications Corporation Scalable high-performance interactive real-time media architectures for virtual desktop environments
US10490304B2 (en) * 2012-01-26 2019-11-26 Netspective Communications Llc Device-driven non-intermediated blockchain system over a social integrity network
US10121186B2 (en) * 2014-03-31 2018-11-06 Monticello Enterprises LLC System and method of using a browser application programming interface for making payments
JP6364132B2 (ja) * 2015-03-31 2018-07-25 ナスダック, インコーポレイテッドNasdaq, Inc. ブロックチェーン取引記録のシステムおよび方法
US20170011460A1 (en) * 2015-07-09 2017-01-12 Ouisa, LLC Systems and methods for trading, clearing and settling securities transactions using blockchain technology
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
US20170134161A1 (en) * 2015-11-06 2017-05-11 Cable Television Laboratories, Inc Blockchaining for media distribution
US10013573B2 (en) * 2015-12-16 2018-07-03 International Business Machines Corporation Personal ledger blockchain
SG10202006900PA (en) * 2015-12-22 2020-08-28 Financial & Risk Organisation Ltd 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
US10255108B2 (en) * 2016-01-26 2019-04-09 International Business Machines Corporation Parallel execution of blockchain transactions
WO2017134281A1 (en) * 2016-02-04 2017-08-10 Nasdaq Technology Ab Systems and methods for storing and sharing transactional data using distributed computer systems
US11010729B2 (en) * 2016-04-14 2021-05-18 Pricewaterhousecoopers Llp Cryptoconomy solution for administration and governance in a distributed system
SG11201810306XA (en) * 2016-05-20 2018-12-28 Moog Inc Secure and traceable manufactured parts
US10198325B2 (en) * 2016-05-24 2019-02-05 Mastercard International Incorporated Method and system for desynchronization recovery for permissioned blockchains using bloom filters
US11188883B2 (en) * 2016-09-23 2021-11-30 International Business Machines Corporation Using ledger sensors to enable contextual contracts across various enterprise blockchain applications
US20180089761A1 (en) * 2016-09-26 2018-03-29 Shapeshift Ag System and method of providing a leader-follower multi-asset portfolio
US20180114205A1 (en) * 2016-10-21 2018-04-26 Bank Of America Corporation Distributed ledger system for providing aggregate tracking and threshold triggering
US10657127B2 (en) * 2016-11-28 2020-05-19 Sap Se Distributed joins in a distributed database system
US10382485B2 (en) * 2016-12-23 2019-08-13 Vmware, Inc. Blockchain-assisted public key infrastructure for internet of things applications
US10225078B2 (en) * 2017-02-09 2019-03-05 International Business Machines Corporation Managing a database management system using a blockchain database
AU2018230763A1 (en) * 2017-03-08 2019-10-31 Ip Oversight Corporation System and method for creating commodity asset-secured tokens from reserves
US10657607B2 (en) * 2017-05-06 2020-05-19 Adp, Llc Implementation of payroll smart contract on a distributed ledger
US11055703B2 (en) * 2017-06-19 2021-07-06 Hitachi, Ltd. Smart contract lifecycle management
US10361859B2 (en) * 2017-10-06 2019-07-23 Stealthpath, Inc. Methods for internet communication security
US20190188411A1 (en) * 2017-12-19 2019-06-20 Vladislav Kroutik Systems and Methods for Decentralizing Consumer Preferences, Consent and Permissions Management with Reward and Reputation Network for Enterprises Using a Blockchain Ledger
US10878482B2 (en) * 2018-01-19 2020-12-29 Hypernet Labs, Inc. Decentralized recommendations using distributed average consensus
US20190361917A1 (en) * 2018-05-25 2019-11-28 Bao Tran Smart device
US10095888B1 (en) * 2018-06-04 2018-10-09 Capital One Services, Llc Secure decentralized system utilizing smart contracts, a blockchain, and/or a distributed file system
CN109003078B (zh) * 2018-06-27 2021-08-24 创新先进技术有限公司 基于区块链的智能合约调用方法及装置、电子设备

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106559211A (zh) * 2016-11-22 2017-04-05 中国电子科技集团公司第三十研究所 一种区块链中隐私保护智能合约方法
CN106980540A (zh) * 2017-03-07 2017-07-25 清华大学 一种分布式多维离散数据的计算方法
CN107171794A (zh) * 2017-06-27 2017-09-15 葛峰 一种基于区块链和智能合约的电子文书签署方法
CN107622096A (zh) * 2017-08-31 2018-01-23 上海保险交易所股份有限公司 基于区块链系统的异步多方数据交互方法和存储介质
CN108234515A (zh) * 2018-01-25 2018-06-29 中国科学院合肥物质科学研究院 一种基于智能合约的自认证数字身份管理系统及其方法

Also Published As

Publication number Publication date
LT3864798T (lt) 2023-10-25
WO2020095278A1 (en) 2020-05-14
FI3864798T3 (fi) 2023-10-11
EP3864798B1 (en) 2023-08-09
US20200356546A1 (en) 2020-11-12
CN113169882A (zh) 2021-07-23
HRP20231316T1 (hr) 2024-02-02
EP3864798A1 (en) 2021-08-18
US11068470B2 (en) 2021-07-20

Similar Documents

Publication Publication Date Title
CN113169882B (zh) 用于区块链的互操作性的系统和方法
US10642825B2 (en) System and method for interoperability of blockchains
US20220366020A1 (en) Method and system for verifying ownership of a digital asset using a distributed hash table and a peer-to-peer distributed ledger
JP6877448B2 (ja) 分散ハッシュテーブル及びブロックチェーンを用いてコンピュータソフトウェアを保証する方法及びシステム
CN110689349B (zh) 一种区块链中的交易哈希值存储和搜索方法及装置
EP3652885B1 (en) Secure token passing via blockchains
US8078880B2 (en) Portable personal identity information
US9311135B2 (en) Method for generating universal objects identifiers in distributed multi-purpose storage systems
JPWO2010041442A1 (ja) 情報処理装置、方法、プログラム及び集積回路
US20230080528A1 (en) Smart data protection
US20090019051A1 (en) Ubiquitous document routing enforcement
CN108702289A (zh) 数据保护环境中的端到端加密和备份
US8387877B2 (en) Systems and methods for the secure control of data within heterogeneous systems and networks
CN108460293A (zh) 一种应用程序完整性多级检查机制
Chatzigiannis et al. Proof of assets in the diem blockchain
CN114036538A (zh) 一种基于虚拟块设备的数据库透明加解密实现方法及系统
CN115129275A (zh) 一种数字文件打印方法、装置、电子设备及存储介质
JP7119448B2 (ja) 情報処理装置及び情報処理プログラム
CN117708878B (zh) 基于oram带隐私保护功能的版权信息可信检索方法
CN115118486B (zh) 物联网系统、基于区块链获取数据的方法和装置、存储介质以及计算设备
CN115129276A (zh) 一种数字文件打印方法、装置、电子设备及存储介质
CN115114334A (zh) 在区块链中查询数据的方法及装置
CN115118485A (zh) 基于区块链获取数据的方法和装置
CN117194482A (zh) 数据查询方法、装置、计算机设备和存储介质
Zhao Implementing a segmentation-based oblivious RAM

Legal Events

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