[发明专利]一种基于工作量证明的选举型拜占庭容错共识方法有效
申请号: | 201911203495.7 | 申请日: | 2019-11-29 |
公开(公告)号: | CN111082924B | 公开(公告)日: | 2023-07-25 |
发明(设计)人: | 钟永成;谭德志;招继恩;张海;谭大伦 | 申请(专利权)人: | 杰创智能科技股份有限公司 |
主分类号: | H04L9/06 | 分类号: | H04L9/06;H04L9/08;H04L9/32;G06Q40/04;G06Q20/40;G06F21/64 |
代理公司: | 广州专理知识产权代理事务所(普通合伙) 44493 | 代理人: | 谭昉 |
地址: | 510000 广东省广州市高新技*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 工作量 证明 选举 拜占庭 容错 共识 方法 | ||
1.一种基于工作量证明的选举型拜占庭容错共识方法,其特征在于,所述方法包括:
共识方法总体架构;
工作量证明模块;
选举算法模块;
实用拜占庭容错模块;
具体的,所述的共识方法总体架构如下所述:
整个区块链网络中有普通节点和共识节点,只有共识节点才允许更新处理实际业务的业务账本,在此基础上提出“共识候选人链”,专门用于生成共识节点,普通节点可以通过工作量证明机制不断延长“共识候选人链”,利用最新区块上工作量证明的随机数和高度选出21个共识节点,共识节点利用实用拜占庭容错算法更新业务账本来保证高效共识;
具体的,所述的工作量证明模块的作用机制如下:
本共识方法中的工作量证明与比特币中使用的工作量证明算法相似,所有节点通过不断改变随机数使区块的哈希值满足小于某个难度目标,但原有的工作量证明的算法出块时间长,且由于链分叉的问题需要至少六个区块才能真正确认交易,在此基础上,为适应“共识候选人链”的需求,对现有工作量证明模块进行三点改造:
(1)区块上记录时间戳,上一个区块的哈希值,随机数,区块高度和记账人的公钥和其对区块的签名;
(2)所有节点需要不断改变随机数来满足前一区块哈希值+随机数+区块高度难度值的条件,当计算出来后,记账人需要对前一区块哈希值+随机数+区块高度进行签名并广播区块;
(3)调整难度值的生成系数,使其满足平均出块时间为85秒一个,则“共识候选人链”上约30分钟更新21个新的区块;
(4)当节点收到区块后,对随机数和记账人进行确认,如果都有效则把区块写入自己的“共识候选人链”上;
引入工作量证明模块的原因在于让所有普通节点有公平的机制争取成为共识节点,而调整难度值使得区块链的出块时间加快,以便更好的为下一步共识选举提供随机性,而出块时间也可以成为逻辑时钟,改变后的区块结构使得当根据区块高度找到区块时,能够快速确认当时及后面区块的记账人;
具体的,所述的选举算法模块的作用机制如下:
在工作量证明的驱动下,“共识候选人链”约30分钟可更新21个区块,因此每30分钟进行一次共识节点的更新,此时各个节点利用下式根据最新区块的随机数和高度算出新一轮共识节点中第一个节点所在的高度,选取从该高度开始以后的21个不同的节点作为新一轮的共识节点:
hnew=h-22-16+nonce%8
如当前区块的高度为h=100而随机数nonce=65834时,hnew=58,于是新一轮的21个共识节点是从高度为58的区块开始,找到对应区块的记账人,然后继续在下一区块中找到另一个记账人,直到找到21个新的共识节点;
具体的,所述的实用拜占庭容错模块的作用机制如下:
当共识节点确定后,在共识节点间使用实用拜占庭容错算法进行共识来进行业务账本的更新,当存在f个作恶共识节点时,共识节点总数需要超过3f+1时才能保证一致性,为了使共识方法更适用于区块链,使用改进型的只有两阶段的拜占庭算法,在该算法中节点只需对区块进行验证而不需要排序,
详细流程如下所示:
(1)系统中的每一笔交易都向全网广播;
(2)当节点收到一笔交易后,如果不是共识节点则泛洪转发,若是则验证交易的合法性,合法则写入内存;
(3)主节点在一定时间内收集交易并打包成区块,经过预设的出块时间后打包,向其他共识从节点广播共识提案消息;
(4)其他从节点收到共识提案消息后,对消息进行验证,如果有效,则向其他共识节点发送共识确认消息;
(5)任意共识节点在收到其他2f个来自不同节点的相同的确认消息后,认为共识达成并发布完整的区块;
(6)任意节点在收到完整区块后,将包含的交易从内存中删除,并开始下一轮共识;
在从节点怀疑主节点作恶或者在主节点发起共识一段时间后仍未达成共识则该从节点会触发视图更换来更换主节点,该流程与传统的实用拜占庭容错算法无异;
使用实用拜占庭容错作为业务账本的优势在于不会出现链的分叉,且完成一次共识的时间比工作证明和股权证明短,因此可以大大加快交易吞吐率。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于杰创智能科技股份有限公司,未经杰创智能科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911203495.7/1.html,转载请声明来源钻瓜专利网。