智能合约制造技术

技术编号:35092718 阅读:18 留言:0更新日期:2022-10-01 16:52
一种在分层网络中执行的方法。所述分层网络包括核心层,所述核心层包括一个或更多个核心节点;一个或更多个中间层,每个所述中间层包括一个或更多个中间层节点;一个或更多个外层,每个所述外层包括一个或更多个外层节点。每个所述核心节点是区块链网络的节点。一个或更多个中间层节点是提供智能合约服务以维护所述智能合约状态的智能合约节点。一个或更多个外层节点是所述智能合约服务的客户端节点。所述方法包括由智能合约节点:在所述第一智能合约节点处维护的所述状态的记录中记录所述智能合约的状态。此外,同时记录所述状态的至少一个第一事务记录在所述区块链网络的区块链上。链上。链上。

【技术实现步骤摘要】
【国外来华专利技术】智能合约


[0001]本公开涉及一种使用区块链提供智能合约的方法。

技术介绍

[0002]区块链是指一种分布式数据结构形式,其中在点对点(P2P)网络中的多个节点中的每个节点处维护区块链副本。区块链包括一系列数据区块,其中每个区块包括一个或更多个事务(transaction)。每个事务都可以回指序列中的先前事务,其可以扩展一个或更多区块。事务可以通过提交到网络包括在新区块中。新区块的创建过程称为“挖掘”,该过程涉及多个挖掘节点中的每个挖掘节点争相执行“工作量证明”,即基于等待包括在区块中的未决事务池解决加密难题。
[0003]网络中的每个节点可以具有以下三个角色中的任何一个、两个或全部:转发、挖掘和存储。转发节点在整个网络节点中传播事务。挖掘节点将事务挖掘到区块中。存储节点各自对区块链中的已挖掘区块存储自己的副本。为了将事务记录在区块链中,一方将该事务发送到网络中的节点中的一个节点进行传播。接收该事务的挖掘节点可以争相将该事务挖掘到新区块中。每个节点被配置为遵守相同的节点协议,该协议将包括用于确认事务有效的一个或更多个条件。无效事务将不会传播或挖掘到区块中。假定事务已经核实有效,从而在区块链上被接受,则该事务(包括任何用户数据)将因此作为不可改变的公共记录,继续存储在P2P网络中的各个节点处。
[0004]成功解决工作量证明难题以创建最新区块的矿工通常被奖励一个称为“区块创始事务”的新事务,该事务会生成新的数字资产数额。工作量证明激励矿工不要欺骗系统,在他们的区块中包括双重花费事务,因为挖掘区块需要大量计算资源,而包括试图双重花费的区块很可能不会被其他节点接受。
[0005]在“基于输出的”模型(有时称为基于UTXO的模型)中,给定事务的数据结构包括一个或更多个输入以及一个或更多个输出。任何可花费输出包括指定数字资产数额的元素,有时称为UTXO(“未花费的事务输出”)。该输出还可以包括指定用于赎回该输出的条件的锁定脚本。每个输入包括指向先前事务中的此类输出的指针,并且还可以包括解锁脚本以用于解锁指向输出的锁定脚本。因此,考虑一对事务,将其称为第一事务和第二事务(或“目标”事务)。第一事务包括指定数字资产数额的至少一个输出,并且包括定义解锁该输出的一个或更多个条件的锁定脚本。第二事务(目标事务)包括至少一个输入和解锁脚本,该至少一个输入包括指向第一事务的输出的指针;该解锁脚本用于解锁第一事务的输出。
[0006]在此类模型中,当第二事务(目标事务)被发送到P2P网络以在区块链中传播和记录时,在每个节点处应用的有效性准则之一将是:解锁脚本满足在第一事务的锁定脚本中定义的一个或更多个条件中的所有条件。另一条件将是:第一事务的输出尚未被另一早期有效事务赎回。根据这些条件中的任何一个条件发现目标事务无效的任何节点都不会传播该事务,也不会包括该事务以便挖掘到要记录在区块链中的区块中。
[0007]另一种事务模型是基于账户的模型。在这种情况下,每个事务均不通过参考过去
事务序列中先前事务的UTXO来定义转移的数额,而是通过参考绝对账户余额进行定义。所有账户的当前状态由矿工单独存储到区块链中,并不断更新。
[0008]传统上,区块链中的事务用于传递数字资产,即许多数字代币。但是也可利用区块链在区块链上叠加其它功能。例如,区块链协议可允许在事务输出中存储附加用户数据。现代区块链在单一事务中可存储的最大数据容量在不断增加,从而能够并入更复杂的数据。例如,这可用于在区块链中存储电子文档,甚至音频或视频数据。

技术实现思路

[0009]本公开提供了一种方案,由此智能合约的状态维持在围绕区块链网络节点的核心分层的智能合约节点层中,并且由此状态也记录在区块链网络的区块链上。
[0010]根据本文公开的一个方面,提供了一种在分层网络中维护智能合约的状态的方法。所述分层网络包括核心层,所述核心层包括一个或更多个核心节点;一个或更多个中间层,每个所述中间层包括一个或更多个中间层节点;一个或更多个外层,每个所述外层包括一个或更多个外层节点。每个所述核心节点是区块链网络的节点,所述中间层节点中的一个或更多个是提供智能合约服务以维护所述智能合约状态的智能合约节点,所述外层节点中的一个或更多个是所述智能合约服务的客户端节点。所述方法包括由所述一个或更多个智能合约节点中的第一个:在所述第一智能合约节点处维护的所述状态的记录中记录所述智能合约的状态。此外,同时记录所述状态的至少一个第一事务记录在所述区块链网络的区块链上。
附图说明
[0011]为了帮助理解本公开的实施例并示出如何实施此类实施例,现将仅通过举例的方式参考附图进行说明,其中:
[0012]图1是一种用于实现区块链的系统的示意性框图;
[0013]图2示意性地示出了可记录在区块链中的事务的一些示例;
[0014]图3是分层网络的示例的示意性表示;
[0015]图4是分层网络的示例的另一示意性表示;
[0016]图5是分层的示例的另一示意性表示;
[0017]图6是分层网络的示例的另一示意性表示;
[0018]图7示意性地示出了分层网络中实现的示例性认证服务;
[0019]图8是用于记录区块链上的数据项顺序的示例性事务的示意性事务图;
[0020]图9示意性地示出了用于记录事务中一组数据项的顺序的示例性索引列表;
[0021]图10示意性地示出了用于记录事务中一组数据项的顺序的索引列表的另一示例;
[0022]图11示意性地示出了用于记录事务中一组数据项的顺序的索引列表的另一示例;
[0023]图12示意性地示出了在分层网络的一层中实现的智能合约节点的系统;
[0024]图13是描述用于零息债券合约的基于区块链的DFA的示意图;
[0025]图14是示出与主要状态并行存在的次要状态的示意图;
[0026]图15示意性地示出了区块链分层网络(BLN),分别由第1层到第3层的矿工、智能合约和用户组成;
[0027]图16示意性地示出了在BLN拓扑中连接的节点社区;
[0028]图17是示出示例性方法中第一阶段的示意性序列图;
[0029]图18是示出示例性方法中第二阶段的示意性序列图;
[0030]图19是示出示例性方法中第三阶段的示意性序列图;
[0031]图20是示出示例性始发事务的示意性事务图;
[0032]图21至图24是示出部分完成的接续阶段中部分完成的交易事务的示例的示意性事务图;
[0033]图25是示出完成交易事务的示例的示意性事务图;
[0034]图26是示出转换事务的示例的示意性事务图;
[0035]图27是示出完成事务的示例的示意性事务图;
[0036]图28是示出UTXO集合撤销事务的示例的示意性事务图。
具体实施方式
[0037]示例性系统概述
[0038]图1示出了一种用于实现区块链150的示例性本文档来自技高网
...

【技术保护点】

【技术特征摘要】
【国外来华专利技术】1.一种在分层网络中维护智能合约状态的方法,所述分层网络包括核心层、一个或更多个中间层、和一个或更多个外层,所述核心层包括一个或更多个核心节点,每个所述中间层包括一个或更多个中间层节点,每个所述外层包括一个或更多个外层节点;其中,每个所述核心节点是区块链网络的节点,所述中间层节点中的一个或更多个中间层节点是提供智能合约服务以维护所述智能合约状态的智能合约节点,所述外层节点中的一个或更多个外层节点是所述智能合约服务的客户端节点;所述方法包括由所述一个或更多个智能合约节点中的第一智能合约节点执行:在所述第一智能合约节点处维护的所述状态的记录中记录所述智能合约的状态;其中,也记录有所述状态的至少一个第一事务被记录在所述区块链网络的区块链上。2.根据权利要求1所述的方法,其中所述一个或更多个智能合约节点是多个智能合约节点;所述方法包括,由所述第一智能合约节点:将所述状态传播到另一个智能合约节点处维护的所述智能合约状态的记录,所述传播在所述分层网络的所述一个或更多个中间层内的智能合约节点之间的一个或更多个连接上执行。3.根据权利要求1或2所述的方法,其中所述第一事务由所述客户端节点中的一个客户端节点传输到待记录在所述区块链中的所述核心节点中的至少一个核心节点。4.根据前述任一项权利要求所述的方法,其中所述方法包括,由所述第一智能合约节点:将所述第一事务从所述第一智能合约节点传输到待记录在所述区块链上的所述核心节点中的至少一个核心节点。5.根据权利要求3所述的方法,其中,通过所述客户端节点中的一个客户端节点与所述核心层之间的所述分层网络内的至少一个连接,所述第一事务被直接传输到所述至少一个核心节点。6.根据权利要求4所述的方法,其中所述方法包括,由所述第一智能合约节点:在所述第一智能合约节点处从所述客户端节点中的所述一个客户端节点接收所述第一事务;其中所述第一智能合约节点的所述传输包括将所述第一事务转发到所述至少一个核心节点。7.根据权利要求6所述的方法,其中以下两项中的一项或两项:

所述接收是直接通过所述第一智能合约节点与所述客户端节点中的所述一个客户端节点之间的所述分层网络内的连接执行的,和/或

所述转发是直接通过所述第一智能合约节点与所述核心层之间的所述分层网络内的至少一个连接执行的。8.根据前述任一项权利要求所述的方法,其中所述第一事务由所述客户端节点中的一个客户端节点发起。9.根据权利要求1至7中任一项所述的方法,其中所述第一事务由所述第一智能合约节点发起。10.根据前述任一项权利要求所述的方法,其中在所述智能合约节点中的至少一个智能合约节点处维护的所述状态的所述记录被提供给所述客户端节点中的至少一个客户端
节点。11.根据权利要求10所述的方法,其中所述提供使得所述至少一个客户端节点能够确定所述状态,而无需查询所述区块链上的所述记录。12.根据权利要求10或11所述的方法,其中所述记录直接通过所述至少一个智能合约节点与所述至少一个客户端节点之间的所述分层网络内的连接提供。13.根据权利要求10至12中任一项所述的方法,其中所述方法包括:所述第一智能合约节点,通过所述第一智能合约节点将在所述第一智能合约节点处维护的所述状态的所述记录提供给所述至少一个客户端节点,来执行所述提供。14.根据从属于权利要求2的权利要求10至13中任一项所述的方法,其中在所述状态传播到的其它智能合约节点中的至少一个处维护的记录被提供给所述至少一个客户端节点。15.根据前述任一项权利要求所述的方法,其中所述智能合约节点中的至少一个智能合约节点被设置成检查所述区块链上或矿工内存池中的所述记录,以确认所述智能合约的所述状态。16.根据权利要求15所述的方法,其中所述至少一个智能合约节点被设置成直接通过所述至少一个智能合约节点与所述核心节点中的至少一个核心节点之间的所述分层网络内的连接来执行所述检查。17.根据权利要求15或16所述的方法,其中所述方法包括所述第一智能合约节点执行所述检查。18.根据权利要求15、16或17所述的方法,其中所述检查由除所述第一智能合约节点之外的所述智能合约节点中的另一智能合约节点执行。19.根据前述任一项权利要求所述的方法,其中所述客户端节点中的至少一个客户端节点检查所述区块链或矿工的内存池,以确认所述智能合约的所述状态。20.根据权利要求19所述的方法,其中由所述至少一个客户端节点进行的所述检查通过所述客户端节点与所述核心层之间的所述分层网络内的直接连接执行。21.根据前述任一项权利要求所述的方法,其中所述第一事务包括一个或更多个输入,每个输入包括所述智能合约的相应方的加密签名。22.根据前述任一项权利要求所述的方法,其中所述第一事务的输入包括所述第一智能合约节点的操作者的加密签名。23.根据前述任一项权利要求所述的方法,其中所述第一事务包括一个或更多个输出,每个输出包括将所述输出锁定到所述智能合约的相应方的锁定脚本。24.根据前述任一项权利要求...

【专利技术属性】
技术研发人员:克雷格
申请(专利权)人:区块链许可股份公司
类型:发明
国别省市:

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

1