【技术实现步骤摘要】
【国外来华专利技术】可更新智能合约相关申请的交叉引用本申请要求于2018年3月29日提交的并且题为“UpdateableSmartContracts”的美国临时专利申请第62/650,183号的优先权。
本申请针对一个可更新智能合约或多个可更新智能合约的设计,对于所述一个可更新智能合约或多个可更新智能合约,将通过每个智能合约与其永久数据存储之间的耦合来防止或减少可更新性,所述耦合是通过智能合约在其上执行的分布式账本平台或区块链实施的。
技术介绍
区块链技术具有带来本世纪或至少本世纪上半叶最大的信息技术革命的潜力。在互联网革命之后,区块链革命可能是迄今为止最大的破坏,它正在挑战互联网最弱的神经——缺乏信任。区块链是可以通过使数据几乎不可变而将信任带入互联网的迄今为止唯一的技术。以太坊(Ethereum)当前是使用最广泛的区块链系统之一。以太坊使数据不可变,以便在节点之间建立信任。以太坊不仅使存储的值不可变,而且使程序或智能合约不可变。这意味着,如果已经在以太坊上部署了智能合约,则该智能合约一旦被部署就无法更新或修改。因此,数据的不变性是有代价的,因为对智能合约的任何未来的更新都将是不可能的。对于许多用例而言,无法更新智能合约是不切实际的,并且可能导致智能合约过时。本文中描述的系统和方法被设计成在不损害底层数据的不变性的情况下使智能合约可更新。
技术实现思路
本文中描述的系统和方法通过提供被实现为父模型和子模型的架构解决方案来解决本领域的需求。作为第一步,部署父智能合约,该父智能合约具有存 ...
【技术保护点】
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
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。