System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及区块链,特别涉及一种区块链系统、智能合约同步方法、计算机设备及存储介质。
技术介绍
1、区块链二层网络是一种针对区块链运算性能瓶颈问题提出的解决方案,通过将区块链系统划分为第一层网络和第二层网络,在第二层网络节点中处理交易,在第一层网络节点(也即是区块链主链)中对第二层网络节点返回的交易结果进行共识,减轻了区块链的运算负担。上述区块链系统中发生的交易可以通过智能合约实现。
2、目前,当智能合约运行在区块链二层网络中,通常由第二层网络节点从第一层网络节点中获取智能合约,以获取处理交易的逻辑。但是,目前的技术方案中下载完整的智能合约这一过程不仅极大地浪费了传输资源和存储资源,还会使得业务安全性受到很大影响。因此,亟需一种智能合约同步方法,能够有效节省传输资源和存储资源,提升业务的安全性。
技术实现思路
1、本申请实施例提供了一种区块链系统、智能合约同步方法、计算机设备及存储介质,能够有效节省传输资源和存储资源,提升业务的安全性。该技术方案如下:
2、一方面,提供了一种区块链系统,该系统包括一层网络和二层网络,该一层网络包括多个第一网络节点,该二层网络包括多个第二网络节点;
3、该第一网络节点,用于对智能合约进行分块,得到多个合约块,基于该多个合约块,生成该智能合约的验证信息,向该多个第二网络节点发送该验证信息,该合约块用于实现该智能合约对应业务中的至少一个分支业务;
4、该第一网络节点,还用于响应于任一该第二网络节点针对该智能合
5、该第二网络节点,用于基于该目标合约块和该智能合约的验证信息,在确定该目标合约块为该智能合约的合约块的情况下,存储该目标合约块。
6、一方面,提供了一种智能合约同步方法,由区块链系统中的第一网络节点执行,该区块链系统包括一层网络和二层网络,该一层网络包括多个该第一网络节点,该二层网络包括多个第二网络节点,该方法包括:
7、对智能合约进行分块,得到多个合约块,基于该多个合约块,生成该智能合约的验证信息,向该多个第二网络节点发送该验证信息,该合约块用于实现该智能合约对应业务中的至少一个分支业务;
8、响应于任一该第二网络节点针对该智能合约的合约同步请求,向该第二网络节点发送目标合约块,该目标合约块是该多个合约块中与该第二网络节点的分支业务匹配的合约块。
9、一方面,提供了一种智能合约同步方法,由区块链系统中的第二网络节点执行,该区块链系统包括一层网络和二层网络,该一层网络包括多个第一网络节点,该二层网络包括多个该第二网络节点,该方法包括:
10、向任一该第一网络节点发送针对智能合约的合约同步请求,该合约同步请求用于获取目标合约块,该目标合约块是该智能合约的多个合约块中与该第二网络节点的分支业务匹配的合约块,该智能合约的合约块用于实现该智能合约对应业务中的至少一个分支业务;
11、基于该智能合约的验证信息和该目标合约块,在确定该目标合约块为该智能合约的合约块的情况下,存储该目标合约块。
12、一方面,提供了一种智能合约同步方法,该方法包括:
13、对智能合约进行分块,得到多个合约块,基于该多个合约块,生成该智能合约的验证信息,发送该验证信息,该合约块用于实现该智能合约对应业务中的至少一个分支业务;
14、响应于针对该智能合约的合约同步请求,发送目标合约块,该目标合约块是该多个合约块中与该合约同步请求对应的分支业务匹配的合约块。
15、在一种可能实施方式中,该对智能合约进行分块,得到多个合约块,包括:
16、对该智能合约进行编译,确定该智能合约的语法信息,该语法信息指示该智能合约中用于实现该至少一个分支业务的代码起止范围;
17、基于该语法信息,对该智能合约进行分块,得到该多个合约块。
18、在一种可能实施方式中,该基于该多个合约块,生成该智能合约的验证信息,包括:
19、基于该多个合约块和该多个合约块在该智能合约中的分块顺序,生成该智能合约的默克尔树;
20、基于该默克尔树的默克尔根和该智能合约的合约标识,生成该智能合约的验证信息。
21、在一种可能实施方式中,该基于该默克尔树的默克尔根和该智能合约的合约标识,生成该智能合约的验证信息,包括:
22、基于验证密钥、该默克尔根和该智能合约的合约标识,生成该验证信息。
23、在一种可能实施方式中,该方法还包括:
24、发送该验证信息,以及,用于生成该验证信息的验证密钥,该验证密钥用于生成合约块对应的待验证信息。
25、在一种可能实施方式中,该响应于针对该智能合约的合约同步请求,发送目标合约块,包括:
26、基于该合约同步请求携带的节点标识,确定与发送该合约同步请求的节点的分支业务匹配的该目标合约块;
27、基于该目标合约块,获取该目标合约块对应的证明信息,该证明信息包括该目标合约块在该智能合约的默克尔树中的默克尔路径,该默克尔路径用于验证该目标合约块在该智能合约中的分块顺序;
28、该方法还包括:
29、发送该目标合约块和该证明信息。
30、在一种可能实施方式中,该方法还包括:
31、基于该合约同步请求携带的节点标识,确定发送该合约同步请求的节点针对该智能合约的权限信息,该权限信息指示该节点获取该智能合约的代码范围;
32、在该目标合约块超出该代码范围的情况下,向该节点返回该智能合约中该目标合约块对应的调用接口。
33、一方面,提供了一种智能合约同步方法,该方法包括:
34、发送针对智能合约的合约同步请求,该合约同步请求用于获取目标合约块,该目标合约块是该智能合约的多个合约块中与该合约同步请求对应的分支业务匹配的合约块,该智能合约的合约块用于实现该智能合约对应业务中的至少一个分支业务;
35、基于该智能合约的验证信息和该目标合约块,在确定该目标合约块为该智能合约的合约块的情况下,存储该目标合约块。
36、在一种可能实施方式中,该基于该智能合约的验证信息和该目标合约块,在确定该目标合约块为该智能合约的合约块的情况下,存储该目标合约块,包括:
37、基于该目标合约块的默克尔路径和该目标合约块,确定该目标合约块的待验证信息;
38、在该目标合约块的待验证信息和该智能合约的验证信息一致的情况下,确定该目标合约块为该智能合约的合约块,存储该目标合约块。
39、一方面,提供了一种计算机设备,该计算机设备包括一个或多个处理器和一个或多个存储器,该一个或多个存储器中存储有至少一条计算机程序,该计算机程序由该一个或多个处理器加载并执行以实现上述智能合约同步方法。
40本文档来自技高网...
【技术保护点】
1.一种区块链系统,其特征在于,所述系统包括一层网络和二层网络,所述一层网络包括多个第一网络节点,所述二层网络包括多个第二网络节点;
2.根据权利要求1所述的系统,其特征在于,所述第一网络节点,用于:
3.根据权利要求1所述的系统,其特征在于,所述第一网络节点,用于:
4.根据权利要求3所述的系统,其特征在于,所述第一网络节点,用于:基于验证密钥、所述默克尔根和所述智能合约的合约标识,生成所述验证信息。
5.根据权利要求3或4所述的系统,其特征在于,所述第一网络节点,还用于:
6.根据权利要求1所述的系统,其特征在于,所述第一网络节点,用于:
7.根据权利要求6所述的系统,其特征在于,所述第二网络节点,用于:
8.根据权利要求1所述的系统,其特征在于,所述第一网络节点还用于:
9.一种智能合约同步方法,其特征在于,由区块链系统中的第一网络节点执行,所述区块链系统包括一层网络和二层网络,所述一层网络包括多个所述第一网络节点,所述二层网络包括多个第二网络节点,所述方法包括:
1
11.根据权利要求9所述的方法,其特征在于,所述基于所述多个合约块,生成所述智能合约的验证信息,包括:
12.根据权利要求11所述的方法,其特征在于,所述基于所述默克尔树的默克尔根和所述智能合约的合约标识,生成所述智能合约的验证信息,包括:
13.根据权利要求11或12所述的方法,其特征在于,所述方法还包括:
14.根据权利要求9所述的方法,其特征在于,所述响应于任一所述第二网络节点针对所述智能合约的合约同步请求,向所述第二网络节点发送目标合约块,包括:
15.一种智能合约同步方法,其特征在于,由区块链系统中的第二网络节点执行,所述区块链系统包括一层网络和二层网络,所述一层网络包括多个第一网络节点,所述二层网络包括多个所述第二网络节点,所述方法包括:
16.一种智能合约同步方法,其特征在于,所述方法包括:
17.一种智能合约同步方法,其特征在于,所述方法包括:
18.一种计算机设备,其特征在于,所述计算机设备包括一个或多个处理器和一个或多个存储器,所述一个或多个存储器中存储有至少一条计算机程序,所述计算机程序由所述一个或多个处理器加载并执行以实现如权利要求16或权利要求17所述的智能合约同步方法。
19.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有至少一条计算机程序,所述计算机程序由处理器加载并执行以实现如权利要求16或权利要求17所述的智能合约同步方法。
20.一种计算机程序产品,其特征在于,所述计算机程序产品包括程序代码,所述程序代码存储在计算机可读存储介质中,计算机设备的处理器从计算机可读存储介质读取所述程序代码,所述处理器执行所述程序代码,使得所述计算机设备执行如权利要求16或权利要求17所述的智能合约同步方法。
...【技术特征摘要】
1.一种区块链系统,其特征在于,所述系统包括一层网络和二层网络,所述一层网络包括多个第一网络节点,所述二层网络包括多个第二网络节点;
2.根据权利要求1所述的系统,其特征在于,所述第一网络节点,用于:
3.根据权利要求1所述的系统,其特征在于,所述第一网络节点,用于:
4.根据权利要求3所述的系统,其特征在于,所述第一网络节点,用于:基于验证密钥、所述默克尔根和所述智能合约的合约标识,生成所述验证信息。
5.根据权利要求3或4所述的系统,其特征在于,所述第一网络节点,还用于:
6.根据权利要求1所述的系统,其特征在于,所述第一网络节点,用于:
7.根据权利要求6所述的系统,其特征在于,所述第二网络节点,用于:
8.根据权利要求1所述的系统,其特征在于,所述第一网络节点还用于:
9.一种智能合约同步方法,其特征在于,由区块链系统中的第一网络节点执行,所述区块链系统包括一层网络和二层网络,所述一层网络包括多个所述第一网络节点,所述二层网络包括多个第二网络节点,所述方法包括:
10.根据权利要求9所述的方法,其特征在于,所述对智能合约进行分块,得到多个合约块,包括:
11.根据权利要求9所述的方法,其特征在于,所述基于所述多个合约块,生成所述智能合约的验证信息,包括:
12.根据权利要求11所述的方法,其特征在于,所述基于所述默克尔树的默克尔根和所述智能合约的合约标识,生成所述智能合约的验证...
【专利技术属性】
技术研发人员:崔嘉辉,
申请(专利权)人:腾讯科技深圳有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。