当前位置: 首页 > 专利查询>DLT全球公司专利>正文

可更新智能合约制造技术

技术编号:27696230 阅读:9 留言:0更新日期:2021-03-17 05:24
用于智能合约的父/子模型使得在不损害底层数据的不变性的情况下智能合约是可更新的。作为第一步,部署父智能合约(客户合约),该父智能合约存储可以使用合约地址调用的任何其他合约。然后,每当部署了新的子智能合约(服务合约)时,都会利用新的子智能合约的地址更新父智能合约,使得父智能合约将能够调用子智能合约。子智能合约的结构对于父智能合约而言是已知的。例如,在部署父智能合约之前,父智能合约已知进入子智能合约的输入的数量和从子智能合约出来的输出的数量,并且事务数据仍然可访问而不会影响父智能合约。

【技术实现步骤摘要】
【国外来华专利技术】可更新智能合约相关申请的交叉引用本申请要求于2018年3月29日提交的并且题为“UpdateableSmartContracts”的美国临时专利申请第62/650,183号的优先权。
本申请针对一个可更新智能合约或多个可更新智能合约的设计,对于所述一个可更新智能合约或多个可更新智能合约,将通过每个智能合约与其永久数据存储之间的耦合来防止或减少可更新性,所述耦合是通过智能合约在其上执行的分布式账本平台或区块链实施的。
技术介绍
区块链技术具有带来本世纪或至少本世纪上半叶最大的信息技术革命的潜力。在互联网革命之后,区块链革命可能是迄今为止最大的破坏,它正在挑战互联网最弱的神经——缺乏信任。区块链是可以通过使数据几乎不可变而将信任带入互联网的迄今为止唯一的技术。以太坊(Ethereum)当前是使用最广泛的区块链系统之一。以太坊使数据不可变,以便在节点之间建立信任。以太坊不仅使存储的值不可变,而且使程序或智能合约不可变。这意味着,如果已经在以太坊上部署了智能合约,则该智能合约一旦被部署就无法更新或修改。因此,数据的不变性是有代价的,因为对智能合约的任何未来的更新都将是不可能的。对于许多用例而言,无法更新智能合约是不切实际的,并且可能导致智能合约过时。本文中描述的系统和方法被设计成在不损害底层数据的不变性的情况下使智能合约可更新。
技术实现思路
本文中描述的系统和方法通过提供被实现为父模型和子模型的架构解决方案来解决本领域的需求。作为第一步,部署父智能合约,该父智能合约具有存储用于子智能合约的子智能合约地址的特征,可以使用子智能合约地址调用子智能合约。然后,每当部署了新的子智能合约时,都利用新的子智能合约的地址更新父智能合约,使得父智能合约将能够调用新的子智能合约。此处唯一的限制是子智能合约的结构是父智能合约已知的。例如,在部署父智能合约之前,父智能合约已知进入子智能合约的输入的数量和从子智能合约出来的输出的数量。在本文中描述的某些实施方式中,父智能合约是调用智能合约,并且是不可更新的,而子智能合约是被调用智能合约,并且是可更新的。在这种情况下,向调用(父)智能合约通知如何对其更新后的被调用(子)智能合约进行调用。另一方面,在本文中描述的其他实施方式中,被调用(子)智能合约是不可更新的,调用(父)智能合约是可更新的。在这种情况下,当调用(父)智能合约更新至新版本时,它只是继续使用其地址不变的被调用(子)合约,就像其先前调用(父)智能合约一样。在示例实施方式中,系统和方法更通常地涉及一个智能合约或多个智能合约的设计,对于所述一个智能合约或多个智能合约,将通过每个智能合约与其永久数据存储之间的耦合来防止或减少可更新性,所述耦合是通过智能合约在其上执行的分布式账本平台或区块链实施的,像以太坊这样的常见智能合约平台就是这种情况。在这样的示例实施方式中,每个概念性智能合约都被分成单独的可更新智能合约和不可更新智能合约,其中,每个智能合约的功能的划分如下:平台的永久数据存储的任何直接使用都变成不可更新智能合约的功能的一部分并且剩余部分的功能的至少一些驻留在可更新智能合约中,因此,用于智能合约的互操作的任何现有或未来技术都可以用于实现与使用原始的概念性智能合约将实现的组合功能相同的组合功能。此外,可以将用于指导智能合约开始与另一智能合约互操作的任何现有或未来技术可以与可更新智能合约的原始或后续部署结合使用,以实现互操作性。示例实施方式包括一种用于通过将智能合约分离成经由固定接口连接的不可更新智能合约和可更新智能合约来更新在区块链上实现的智能合约的方法。不可更新智能合约针对需要永久地访问的数据处理向区块链进行的持久性数据存储和检索,并且可更新智能合约不包括向区块链进行数据存储和检索。部署可更新智能合约的第一版本和不可更新智能合约,并且经由接口向不可更新智能合约提供可更新智能合约的第一版本的地址。不可更新智能合约将可更新智能合约的第一版本的地址存储至区块链。不可更新智能合约可以从区块链中检索永久数据,并且经由接口将永久数据传递至可更新智能合约的第一版本。在操作中,可更新智能合约对永久数据执行计算,并且经由接口将基于对永久数据的计算的更新数据返回至不可更新智能合约,并且不可更新智能合约将更新数据存储至区块链。在其他示例实施方式中,一种用于更新在区块链上实现的智能合约的方法包括如下初始步骤:将智能合约分离成可更新智能合约和不可更新智能合约,其中,不可更新智能合约针对需要永久地访问的数据处理向区块链进行的持久性数据存储和检索,并且可更新智能合约不包括向区块链进行数据存储和检索;部署可更新智能合约的第一版本和不可更新智能合约;利用可更新智能合约的第一版本的地址调用不可更新智能合约的接口;以及不可更新智能合约将可更新智能合约的第一版本的地址存储至区块链。为了更新智能合约,部署可更新智能合约的第二版本,并且利用可更新智能合约的第二版本的地址来调用不可更新智能合约的接口,其中,不可更新智能合约将可更新智能合约的第二版本的地址存储至区块链。不可更新智能合约通过从区块链中检索可更新智能合约的第二版本的地址并且在所检索的地址处调用可更新智能合约的第二版本来唤出(invoke)可更新智能合约的第二版本。在其他实施方式中,智能合约被分离成不可更新智能合约和与不可更新智能合约具有与相应接口的多个可更新智能合约。调用步骤利用相应可更新智能合约的相应版本的地址来调用相应接口,并且相应可更新智能合约的相应版本的地址被存储至区块链。唤出步骤包括:从区块链中检索可更新智能合约的第二版本的地址,并且在所检索的地址处调用可更新智能合约的第二版本。可替选地,相应接口可以由单个接口代替,其中,调用步骤包括利用与相应可更新智能合约相关联的标识符和相应可更新智能合约的相应地址来调用单个接口。在该实施方式中,存储步骤将相应可更新智能合约的相应版本的标识符和地址存储至区块链,以及唤出步骤包括:从区块链中检索可更新智能合约的第二版本的标识符和地址,并且在所检索的地址处调用由标识符标识的可更新智能合约的第二版本。在其他实施方式中,可更新智能合约是自注册的,并且调用步骤包括:自注册可更新智能合约利用自注册可更新智能合约的相应版本的地址来调用不可更新智能合约的接口。多个可更新智能合约也可以是自注册的。在这样的实施方式中,分离包括将智能合约分离成不可更新智能合约和多个可更新智能合约,并且部署步骤包括部署每个可更新智能合约的第一版本和第二版本。调用步骤包括:自注册可更新智能合约利用相应自注册可更新智能合约的相应版本的地址来调用不可更新智能合约的相应接口。另外,存储步骤包括将相应可更新智能合约的相应版本的地址存储至区块链,以及唤出步骤包括:从区块链中检索可更新智能合约的第二版本的地址并且在所检索的地址处调用可更新智能合约的第二版本。在这些实施方式的每一个中,分离还可以包括将智能合约分离成多个不可更新智能合约。在其他实施方式中,可更新智能合约被硬编码有不可更新智能合约的地址。在该实施方式中,通过将智能合约分离成可更新智能合约和不可更新智本文档来自技高网...

【技术保护点】
1.一种用于更新在区块链上实现的智能合约的方法,包括:/n将所述智能合约分离成可更新智能合约和不可更新智能合约,其中,所述不可更新智能合约针对需要永久地访问的数据处理向所述区块链进行的持久性数据存储和检索,并且所述可更新智能合约不包括向所述区块链进行数据存储和检索;/n部署所述可更新智能合约的第一版本和所述不可更新智能合约;/n向所述不可更新智能合约提供所述可更新智能合约的第一版本的地址;/n所述不可更新智能合约将所述可更新智能合约的第一版本的地址存储至所述区块链;/n所述不可更新智能合约从所述区块链中检索永久数据并且将所述永久数据传递至所述可更新智能合约的第一版本;/n所述可更新智能合约对所述永久数据执行计算,并且将基于对所述永久数据的计算的更新数据返回至所述不可更新智能合约;以及/n所述不可更新智能合约将所述更新数据存储至所述区块链。/n

【技术特征摘要】
【国外来华专利技术】20180329 US 62/650,1831.一种用于更新在区块链上实现的智能合约的方法,包括:
将所述智能合约分离成可更新智能合约和不可更新智能合约,其中,所述不可更新智能合约针对需要永久地访问的数据处理向所述区块链进行的持久性数据存储和检索,并且所述可更新智能合约不包括向所述区块链进行数据存储和检索;
部署所述可更新智能合约的第一版本和所述不可更新智能合约;
向所述不可更新智能合约提供所述可更新智能合约的第一版本的地址;
所述不可更新智能合约将所述可更新智能合约的第一版本的地址存储至所述区块链;
所述不可更新智能合约从所述区块链中检索永久数据并且将所述永久数据传递至所述可更新智能合约的第一版本;
所述可更新智能合约对所述永久数据执行计算,并且将基于对所述永久数据的计算的更新数据返回至所述不可更新智能合约;以及
所述不可更新智能合约将所述更新数据存储至所述区块链。


2.根据权利要求1所述的方法,其中,所述可更新智能合约和所述不可更新智能合约经由固定接口连接,并且其中,所述可更新智能合约的第一版本的地址经由所述固定接口提供至所述不可更新智能合约,所述不可更新智能合约经由所述固定接口将所述永久数据传递至所述可更新智能合约的第一版本,并且所述可更新智能合约经由所述固定接口将基于对所述永久数据的计算的更新数据返回至所述不可更新智能合约。


3.根据权利要求1所述的方法,其中,向所述不可更新智能合约提供所述可更新智能合约的第一版本的地址包括:利用所述可更新智能合约的第一版本的地址调用所述不可更新智能合约的接口。


4.根据权利要求3所述的方法,还包括:
部署所述可更新智能合约的第二版本;
利用所述可更新智能合约的第二版本的地址调用所述不可更新智能合约的所述接口;
所述不可更新智能合约将所述可更新智能合约的第二版本的地址存储至所述区块链;以及
所述不可更新智能合约通过从所述区块链中检索所述可更新智能合约的第二版本的地址并且在所检索的地址处调用所述可更新智能合约的第二版本来唤出所述可更新智能合约的第二版本。


5.根据权利要求4所述的方法,其中,所述分离包括将所述智能合约分离成所述不可更新智能合约和多个可更新智能合约,所述部署步骤包括部署每个可更新智能合约的第一版本和第二版本,所述调用步骤包括利用相应可更新智能合约的相应版本的地址来调用相应接口,所述存储步骤包括将所述相应可更新智能合约的相应版本的地址存储至所述区块链,以及所述唤出步骤包括从所述区块链中检索所述可更新智能合约的第二版本的地址并且在所检索的地址处调用所述可更新智能合约的第二版本。


6.根据权利要求4所述的方法,其中,所述分离包括将所述智能合约分离成所述不可更新智能合约和多个可更新智能合约,所述部署步骤包括部署每个可更新智能合约的第一版本和第二版本,所述调用步骤包括利用与相应可更新智能合约相关联的标识符和所述相应可更新智能合约的相应地址来调用接口,所述存储步骤包括将所述相应可更新智能合约的相应版本的地址和所述标识符存储至所述区块链,以及所述唤出步骤包括从所述区块链中检索所述可更新智能合约的第二版本的地址和所述标识符并且在所检索的地址处调用由所述标识符标识的可更新智能合约的第二版本。


7.根据权利要求4所述的方法,其中,所述可更新智能合约是自注册的,并且所述调用步骤包括自注册可更新智能合约利用所述自注册可更新智能合约的相应版本的地址来调用所述不可更新智能合约的接口。


8.根据权利要求4所述的方法,其中,所述分离包括将所述智能合约分离成所述不可更新智能合约和多个可更新智能合约,所述部署步骤包括部署每个可更新智能合约的第一版本和第二版本,所述可更新智能合约是自注册的,并且所述调用步骤包括自注册可更新智能合约利用相应自注册可更新智能合约的相应版本的地址调用所述不可更新智能合约的相应接口,所述存储步骤包括将所述相应可更新智能合约的相应版本的地址存储至所述区块链,以及所述唤出步骤包括从所述区块链中检索所述可更新智能合约的第二版本的地址,并且在所检索的地址处调用所述可更新智能合约的第二版本。


9.根据权利要求4所述的方法,其中,所述不可更新智能合约从所述区块链中检索永久数据并且将所述永久数据传递至所述可更新智能合约,并且所述可更新智能合约对所述永久数据进行计算并且将基于对所述永久数据的计算的数据返回至所述不可更新智能合约以用于向所述区块链进行永久存储。


10.根据权利要求4所述的方法,其中,所述分离包括将所述智能合约分离成多个不可更新智能合约。


11.根据权利要求1所述的方法,还包括:
在部署所述可更新智能合约的第一版本之前,将所述不可更新智能合约的地址硬编码到所述可更新智能合约的第一版本中;
部署所述可更新智能合约的第二版本;
调用所述可更新智能合约的第二版本;
所述可更新智能合约的第二版本在硬编码的地址处调用所述不可更新智能合约;以及
所述不可更新智能合约将任何永久数据存储至所述区块链。


12.一种用于在区块链上实现智能合约的系统,包括:
存储器,其用于存储指令;以及
一个或更多个处理器,其使用存储在所述存储器中的所述指令执行包括以下的操作:
将所述智能合约分离成可更新智能合约和不可更新智能合约,其中,所述不可更新智能合约针对需要永久地访问的数据处理向所述区块链进行的持久性数据存储和检索,并且所述可更新智能合约不包括向所述区块链进行数据存储和检索;
部署所述可更新智能合约的第一版本和所述不可更新智能合约;
向所述不可更新智能合约提供所述可更新智能合约的第一版本的地址;
所述不可更新智能合约将所述可更新智能合约的...

【专利技术属性】
技术研发人员:尼拉伊·斯里瓦斯塔瓦
申请(专利权)人:DLT全球公司
类型:发明
国别省市:加拿大;CA

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1