[发明专利]一种基于交易共享的共识出块方法及系统有效
申请号: | 202110529719.4 | 申请日: | 2021-05-14 |
公开(公告)号: | CN113256417B | 公开(公告)日: | 2022-07-12 |
发明(设计)人: | 郭光华;徐留成;卢瑞瑞 | 申请(专利权)人: | 杭州链网科技有限公司 |
主分类号: | G06Q40/04 | 分类号: | G06Q40/04;G06Q20/38;G06Q20/40;H04L9/32;H04L9/40 |
代理公司: | 杭州五洲普华专利代理事务所(特殊普通合伙) 33260 | 代理人: | 徐晶晶 |
地址: | 310000 浙江省杭州市余杭区*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 交易 共享 共识 方法 系统 | ||
1.一种基于交易共享的共识出块方法,其特征在于,包括以下步骤:
响应用户链上交易请求,区块链上出块节点构建相应交易事务,对所述交易事务进行签名后复制多个交易副本发送至链上其他出块节点,执行备份副本命令,集合链上所有出块节点的账户地址形成账户地址集,并在账户地址集中随机并逐一分配账户地址作为交易副本的保存指定位置;
其他出块节点对收到的交易副本进行签名,形成签名存证,并将签名存证在链上广播;
出块节点将交易事务打包成块广播至链上,并向共识节点发出出块请求;
共识节点基于签名存证验证交易副本与交易事务是否对应,若对应,则进行出块节点验证,具体为:验证打包成块的块内包含的交易事务关联的签名存证,并利用公钥对签名存证进行解密确认交易副本与交易事务对应,确认对应签名存证数量大于2/3的出块节点总数,验证通过;
若出块节点存储有历史区块的交易副本的签名存证,具体为:共识节点随机抽取链上当前任意一个历史区块,验证出块节点是否存储有历史区块的交易副本的签名存证,则准许共识出块,其中,历史区块为:当前正要出块的区块头中 merkle hash root 目录选择任一子哈希,根据子哈希关联到相应的随机历史区块。
2.根据权利要求1所述的基于交易共享的共识出块方法,其特征在于,所述出块节点及共识节点部署于区块链中,所述区块链基于Substate框架实现;
所述出块节点用于解析用户交易请求,整合用户请求方账户地址作为交易输入,接收方作为交易输出,形成交易事务,所述交易事务还包括交易时间戳、交易哈希值以及区块版本号;
基于私钥对交易事务签名并执行备份副本命令,生成多个交易副本并分发至其他出块节点,其中,所述备份副本命令包括备份副本文件名、后缀名、保存路径、保存指定位置,所述交易副本附带私钥签名。
3.根据权利要求1所述的基于交易共享的共识出块方法,其特征在于,所述其他出块节点对收到的交易副本进行签名,形成签名存证,并将签名存证在链上广播,具体如下:
其他节点利用hash函数对收到的交易副本进行hash变换,生成数字摘要,之后使用私钥对数字摘要进行签名,形成签名存证,所述其他节点存储其所持有的交易副本,并将形成的签名存证连同公钥广播至链上。
4.根据权利要求1所述的基于交易共享的共识出块方法,其特征在于,出块节点将交易事务打包成块广播至链上,并向共识节点发出出块请求,包括如下:
出块节点将交易事务的输入输出信息及交易时间戳、区块版本号进行排列并进行hash运算,得到交易唯一hash值,并利用merkle运算计算交易唯一hash值与区块中前多个交易的hash root的最终merkle hash root,将交易唯一hash值、最终merkle hash root以及时间戳打包成块,在链上广播;
所述向共识节点发出出块请求是在交易事务打包成块的同时附带请求出块的区块链版本号,连同打包的交易事务在链上广播,等待共识确认出块。
5.根据权利要求1-4任意一项所述的基于交易共享的共识出块方法,其特征在于,还包括:
在出块节点中利用Frame控件构建多个交易池,出块节点在所述多个交易池中并行处理多个交易,包括交易签名和生成交易副本以及交易打包成块;
其中,当处理交易的个数小于等于区块允许的交易容量预设值时,所处理交易经merkle运算,得到最终的hash root作为参数将所有交易打包成块;
当处理交易的个数大于区块允许的交易容量预设值时,去除多出的交易,将预设值范围内的交易通过merkle运算并打包成块。
6.一种基于交易共享的共识出块系统,其特征在于,包括签名发送模块、签名广播模块、请求发出模块、第一验证模块及第二验证模块;
所述签名发送模块,用于响应用户链上交易请求,区块链上出块节点构建相应交易事务,对所述交易事务进行签名后复制多个交易副本发送至链上其他出块节点,执行备份副本命令,集合链上所有出块节点的账户地址形成账户地址集,并在账户地址集中随机并逐一分配账户地址作为交易副本的保存指定位置;
所述签名广播模块,设置为:其他出块节点对收到的交易副本进行签名,形成签名存证,并将签名存证在链上广播;
所述请求发出模块,设置为:出块节点将交易事务打包成块广播至链上,并向共识节点发出出块请求;
所述第一验证模块,设置为:共识节点基于签名存证验证交易副本与交易事务是否对应,若对应,则进行出块节点验证,具体为:验证打包成块内的块内包含的交易事务关联的签名存证,并利用公钥对签名存证进行解密确认交易副本与交易事务对应,确认对应签名存证数量大于2/3的出块节点总数,验证通过;
所述第二验证模块,设置为:若出块节点存储有历史区块的交易副本的签名存证,具体为:共识节点随机抽取链上当前任意一个历史区块,验证出块节点是否存储有所述历史区块的交易副本的签名存证,则准许共识出块,其中,历史区块为:当前正要出块的区块头中merkle hash root 目录选择任一子哈希,根据子哈希关联到相应的随机历史区块。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于杭州链网科技有限公司,未经杭州链网科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110529719.4/1.html,转载请声明来源钻瓜专利网。
- 上一篇:去中心化加密通讯与交易系统
- 下一篇:作业机械的驱动系统、控制方法及作业机械