System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本说明书实施例属于区块链,尤其涉及交易缓存方法及区块链节点。
技术介绍
1、区块链(blockchain)是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。在区块链中按照时间顺序将数据区块以顺序相连的方式组合成链式数据结构,并以密码学方式保证数据区块不可篡改和不可伪造。由于区块链具有去中心化、信息不可篡改、自治性等特性,区块链也受到人们越来越多的重视和应用。
技术实现思路
1、本专利技术的目的在于提供一种交易缓存方案,能使得区块链系统支持超大规模账户和极高的ctps(confirmed transactions per second,每秒上链交易数),实现极高的交易处理性能。
2、本说明书第一方面提供一种交易缓存方法,由区块链节点执行,所述区块链节点中包括用于缓存交易的n个交易池分片,所述方法包括:接收第一交易,所述第一交易中包括第一发送者账户;基于所述第一发送者账户,确定所述第一交易在所述n个交易池分片中归属的目标交易池分片;将所述第一交易缓存到所述目标交易池分片。
3、本说明书第二方面提供一种区块链节点,所述区块链节点中包括用于缓存交易的n个交易池分片,所述区块链节点包括:接收单元,被配置成接收第一交易,所述第一交易中包括第一发送者账户;确定单元,被配置成基于所述第一发送者账户,确定所述第一交易在所述n个交易池分片中归属的目标交易池分片;存储单元,被配置成将所述第一交易缓存到所述目标交易池分片。
4、本说明书第三方面
5、本说明书第四方面提供一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现如第一方面描述的方法。
6、本说明书第五方面提供一种计算机程序产品,当该计算机程序产品在计算机中执行时,令计算机执行如第一方面描述的方法。
7、在本说明书实施例提供的方案中,能通过对交易池的分片和可扩展部署,并且以交易的发送者账户作为确定该交易归属的交易池分片的依据,确保每个交易池分片交易的吞吐和性能,从而使得区块链系统支持超大规模账户和极高的ctps,实现极高的交易处理性能。
本文档来自技高网...【技术保护点】
1.一种交易缓存方法,由区块链节点执行,所述区块链节点中包括n个交易池分片,所述方法包括:
2.根据权利要求1所述的方法,其中,所述基于所述第一发送者账户,确定所述第一交易在所述n个交易池分片中归属的目标交易池分片,包括:
3.根据权利要求1所述的方法,还包括:
4.根据权利要求3所述的方法,其中,所述验证流程包括子流程序列,所述子流程序列由多个子流程按照执行成本由低到高的顺序排列形成;
5.根据权利要求4所述的方法,其中,所述子流程序列包括用于交易流控检查的第一子流程,所述第一子流程包括:
6.根据权利要求4所述的方法,其中,所述子流程序列包括用于交易合法性检查的第二子流程,所述第二子流程包括:
7.根据权利要求3或4所述的方法,其中,所述区块链节点还包括n个第一缓存分片,所述n个交易池分片对应不同的第一缓存分片,所述第一缓存分片用于缓存其对应的交易池分片中的交易的发送者发送的且验证成功的第二交易的交易信息;所述验证流程包括用于交易重放检查的第三子流程,所述第三子流程包括:
8.根据权利要求7所
9.根据权利要求7所述的方法,其中,所述第二交易的交易信息包括以下中的任一项:所述第二交易的第二哈希值、所述第二交易中的多项信息,所述多项信息至少包括第二发送者账户和nonce值。
10.根据权利要求3或4所述的方法,其中,所述区块链节点还包括n个第二缓存分片,所述n个交易池分片对应不同的第二缓存分片,所述第二缓存分片用于缓存其对应的交易池分片中的交易的发送者的账户状态。
11.根据权利要求10所述的方法,其中,所述第一交易中包括基于所述第一交易的发送者的私钥的签名;所述验证流程包括用于交易完整性检查的第四子流程,所述第四子流程包括:
12.根据权利要求10所述的方法,其中,所述第一交易中包括所述第一交易对应的资源总额;所述验证流程包括用于账户余额检查的第五子流程,所述第五子流程包括:
13.根据权利要求12所述的方法,其中,在所述确定所述资源总额是否大于读取到的账户余额之前,还包括:
14.根据权利要求13所述的方法,其中,在从状态数据库中读取所述账户余额的情况下,所述方法还包括:
15.根据权利要求1所述的方法,其中,所述n个交易池分片中的至少部分交易池分片部署在不同的设备上。
16.一种区块链节点,所述区块链节点中包括用于缓存交易的n个交易池分片,所述区块链节点包括:
17.一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行权利要求1-15中任一项所述的方法。
18.一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现权利要求1-15中任一项所述的方法。
...【技术特征摘要】
1.一种交易缓存方法,由区块链节点执行,所述区块链节点中包括n个交易池分片,所述方法包括:
2.根据权利要求1所述的方法,其中,所述基于所述第一发送者账户,确定所述第一交易在所述n个交易池分片中归属的目标交易池分片,包括:
3.根据权利要求1所述的方法,还包括:
4.根据权利要求3所述的方法,其中,所述验证流程包括子流程序列,所述子流程序列由多个子流程按照执行成本由低到高的顺序排列形成;
5.根据权利要求4所述的方法,其中,所述子流程序列包括用于交易流控检查的第一子流程,所述第一子流程包括:
6.根据权利要求4所述的方法,其中,所述子流程序列包括用于交易合法性检查的第二子流程,所述第二子流程包括:
7.根据权利要求3或4所述的方法,其中,所述区块链节点还包括n个第一缓存分片,所述n个交易池分片对应不同的第一缓存分片,所述第一缓存分片用于缓存其对应的交易池分片中的交易的发送者发送的且验证成功的第二交易的交易信息;所述验证流程包括用于交易重放检查的第三子流程,所述第三子流程包括:
8.根据权利要求7所述的方法,还包括:
9.根据权利要求7所述的方法,其中,所述第二交易的交易信息包括以下中的任一项:所述第二交易的第二哈希值、所述第二交易中的多项信息,所述多项信息至少包括第二发送者账户和nonce值。
10.根据权利要求3或4所述的方...
【专利技术属性】
技术研发人员:曹睿学,
申请(专利权)人:蚂蚁区块链科技上海有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。