【技术实现步骤摘要】
面向高吞吐率的图式账本的随机化共识方法和装置
本申请涉及分布式账本
,特别是涉及一种面向高吞吐率的图式账本的随机化共识方法和装置。
技术介绍
2008年,一位自称中本聪的匿名人士提出比特币(Bitcoin),紧接着,以区块链技术(blockchaintechnology)为主的分布式账本技术(distributedledgertechnology)相继问世。分布式账本技术本质上是一种在多站点、多地理位置或者多机构之间共享资产的数据库。分布式账本技术由于其去中心化、去信任化和防篡改的特点逐渐受到关广泛注和应用。以比特币为代表的第一代区块链技术采用链式的区块连接形式,通过区块哈希值将多个区块依次首位相连,最终形成一条由多个区块组成的链式结构。由于全网共同维护一条区块链,在同一时间,全网的所有节点只能产生一个有效区块,并且全网的所有的其他节点都会对新产生的有效区块进行验证和存储(节点状态机复制),最终导致节点增加反而会对整个系统的引入吞吐率瓶颈的问题。除比特币外的其他公有账本也主要采用节点状态机复制,即系统中每个节点都存储全网产生的所有区块,使得系统在数据传输过程占用大量的网络流量开销,随着系统节点数量增多,更会导致网络瓶颈,即账本系统的吞吐率瓶颈随节点数量增加愈加明显。为了支持尽可能高吞吐率,部分分布式账本采用随机共识,然而相较于节点状态机复制,随机共识的账本数据也更可能被抵赖。由此可见,现有能技术下的分布式账本难以在保证高吞吐率和可扩展性的同时保证数据的安全性。
技术实现思路
【技术保护点】
1.一种面向高吞吐率的图式账本的随机化共识方法,其特征在于,应用于分布式账本系统,所述分布式账本系统包括委员会节点维护的全局知识单链,以及所述委员会节点和普通节点维护的DAG结构;所述方法包括:/n所述委员会节点遍历所述全局知识单链中的所有区块,获得全局知识,并将所述全局知识增量地广播给所述分布式账本系统中的所有节点;所述全局知识包括可用节点列表和随机种子;/n产块节点根据第一本地私钥和所述随机种子生成第一随机序列;/n所述产块节点基于所述第一随机序列,在所述可用节点列表中确定见证节点列表;所述见证节点列表中包含多个见证节点;/n所述产块节点将见证请求发送给所述多个见证节点;所述见证请求包括:当前生成的新区块体;/n所述多个见证节点中的任意见证节点在所述见证请求通过验证后,回执数字签名给所述产块节点并将所述新区块体存储在本地缓存区;/n在接收的数字签名的数量达到预设阈值后,所述产块节点对所述新区块体生成新区块头;/n所述产块节点合并所述新区块体和所述新区块头生成新区块,并将所述新区块头广播给所有节点;/n所述见证节点接收到所述新区块头后,在所述本地缓存区搜索得到与所述新区块头对应的所述 ...
【技术特征摘要】
1.一种面向高吞吐率的图式账本的随机化共识方法,其特征在于,应用于分布式账本系统,所述分布式账本系统包括委员会节点维护的全局知识单链,以及所述委员会节点和普通节点维护的DAG结构;所述方法包括:
所述委员会节点遍历所述全局知识单链中的所有区块,获得全局知识,并将所述全局知识增量地广播给所述分布式账本系统中的所有节点;所述全局知识包括可用节点列表和随机种子;
产块节点根据第一本地私钥和所述随机种子生成第一随机序列;
所述产块节点基于所述第一随机序列,在所述可用节点列表中确定见证节点列表;所述见证节点列表中包含多个见证节点;
所述产块节点将见证请求发送给所述多个见证节点;所述见证请求包括:当前生成的新区块体;
所述多个见证节点中的任意见证节点在所述见证请求通过验证后,回执数字签名给所述产块节点并将所述新区块体存储在本地缓存区;
在接收的数字签名的数量达到预设阈值后,所述产块节点对所述新区块体生成新区块头;
所述产块节点合并所述新区块体和所述新区块头生成新区块,并将所述新区块头广播给所有节点;
所述见证节点接收到所述新区块头后,在所述本地缓存区搜索得到与所述新区块头对应的所述新区块体;除所述多个见证节点外的其他节点存储所述新区块头;
所述见证节点合并所述新区块头和所述新区块体,得到并存储所述新区块。
2.根据权利要求1所述的方法,其特征在于,所述全局知识还包括所述分布式账本系统中所有节点的公钥;产块节点根据第一本地私钥和所述随机种子生成第一随机序列,包括:
根据所述第一本地私钥和所述随机种子生成随机数;
基于所述随机数,计算得到随机凭证和第一随机序列;
在所述产块节点将见证请求发送给所述多个见证节点前,所述方法还包括:
根据所述新区块体、所述随机凭证和随机数生成所述见证请求;
所述多个见证节点中的任意见证节点在所述见证请求通过验证后,回执数字签名给所述产块节点,包括:
所述任意见证节点在所述全局知识中获取所述产块节点的公钥;
所述任意见证节点利用所述随机凭证和所述产块节点的公钥,验证所述随机数;
所述任意见证节点验证所述新区块体内的交易数据;
在所述新区块体内的交易数据和所述随机数通过验证后,所述任意见证节点回执数字签名给所述产块节点。
3.根据权利要求1所述的方法,其特征在于,在除所述多个见证节点外的其他节点存储所述新区块头之后,所述方法还包括:
所述其他节点中的任意节点在所述新区块头获取所述新区块的哈希值;
所述其他节点中的任意节点利用第二本地私钥签名所述哈希值得到新哈希值;
在所述新哈希值满足预设条件时,所述其他节点中的任意节点对所述新区块头对应的所述新区块进行校验。
4.根据权利要求1所述的方法,其特征在于,在所述见证节点合并所述新区块头和所述新区块体,得到并存储所述新区块后,所述方法还包括:
所述见证节点根据第三本地私钥和随机种子生成第二随机序列;
所述见证节点基于所述第二随机序列,在所述可用节点列表中确定备份节点列表;所述备份节点列表中包含多个备份节点;
所述见证节点将所述新区块发送给所述多个备份节点,以使所述多个备份节点存储所述新区块。
5.根据权利要求3所述的方法,其特征在于,所述其他节点中的任意节点对所述新区块头对应的所述新区块进行校验,包括:
在预设节点表中依次确定抽查的当前节点;其中,所述预设节点表中的节点包括所述多个见证节点和所述产块节点;
从所述当前节点中获取与所述新区块头对应的区块体,验证所述区块体内的交易数据;
在所述区块体内的交易数据通过验证时,合并所述区块体和所述新区块头得到所述新区块,并存储所述新区块;
在所述区块体内的交易数据未通过验证并且所述当前节点不是所述预设节点表中依次确定的最后一个节点时,在预设节点表中依次确定抽查的下一个节点;
在所述区块体内的交易数据未通过验证并且所述当前节点是所述预设节点表中依次确定的最后一个节点时,将所述新区块头对应的所述新区块确定为事故区块。
6.一种面向高吞吐率的图式账本的随机化共识装置,应用于分布式账本系统,所述分布式账本系统包括委员会节点维护的全局知识单链,以及所述委员会节点和普通节点维护...
【专利技术属性】
技术研发人员:朱晓旻,吴仪,蔡华谦,张舒汇,郭京申,舒俊宜,
申请(专利权)人:北京智融云河科技有限公司,
类型:发明
国别省市:北京;11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。