【技术实现步骤摘要】
一种基于门限签名和公平奖励的DPoS共识方法及其系统
本专利技术涉及DPoS共识
,具体为一种基于门限签名和公平奖励的DPoS共识方法及其系统。
技术介绍
区块链是随着比特币等数字加密货币逐渐兴起而盛行的一种新型去中心化分布式系统,具有去中心化、时序数据、集体维护、可编程和安全可信等特点。目前,区块链已引起政府部门、金融机构、科技企业和资本市场的高度重视与广泛关注。如何在一个去中心化的分布式系统中高效地达成共识是区块链技术研究的重要问题。要使区块链成为一个难以攻破的、公开的、不可篡改数据记录的去中心化的诚实可信的系统,需要在尽可能短的时间内做到分布式数据记录的安全、明确及不可逆,提供一个最坚实且去中心化的系统。区块链中,共识机制是最为核心的一部分,它可以保证区块链中的数据在分布式节点之间达到账本一致性且账本数据不可被篡改。股份授权证明机制(DelegatedProofofStake,DPoS),是一种区块链的共识算法,2014年4月由Bitshares的首席开发者DanLarimer(现为EOSCTO)提出并应用。当时Dan观察到比特币系统共识算法POW的一些问题:比如矿池导致算力越来越集中、电力耗费过大等。所以他提出了一种更加快速、安全且能源消耗比较小的算法,这就是后来的DPOS。DPOS是一种基于投票选举的共识算法,有点像民主大会,持币人选出几个代表节点来运营网络,用专业运行的网络服务器来保证区块链网络的安全和性能。DPOS机制中,不需要算力解决数学难题,而是由持币者选出谁说生产者,如果生产 ...
【技术保护点】
1.一种基于门限签名和公平奖励的DPoS共识方法,其特征在于:包括如下步骤:/n步骤一、初始节点投票阶段,投票阶段最终会选出N(大约数目为441个)自提名节点进入见证人候选池中,具体步骤如下:/na.节点自提名/n网络中所有节点都可以在社区中自我提名并注册成为潜在的区块生产者,在这个阶段,节点通常会建立一个竞选网站以吸引用户投票,在网站中,竞选节点一般指定其当选成功后所用到的硬件和软件,有的甚至会给出奖励分配方案吸引用户的投票,自我提名阶段必须在开始投票过程之前全部完成,所有自提名的节点会被列入社区建立的自提名表单中,为下一阶段节点投票提供投票对象;/nb.节点投票/n在主网未上线时,可借用公信力较强的以太坊的智能合约完成投票过程,待主网建立起来后,可直接在自身的区块链系统中建立合约完成投票过程,社区成员使用以太坊的ERC-20协议代币投票表决后,合约会冻结所有账户并拍摄ERC-20代币持有者的初期余额,在整个投票过程中,设定投票时间为T,节点对每个节点的投票贡献不止是代币的数量多少,而是由代币数量n,投票及时度p与节点的投票权重w三个变量决定,一个节点参与投票的贡献φ
【技术特征摘要】
1.一种基于门限签名和公平奖励的DPoS共识方法,其特征在于:包括如下步骤:
步骤一、初始节点投票阶段,投票阶段最终会选出N(大约数目为441个)自提名节点进入见证人候选池中,具体步骤如下:
a.节点自提名
网络中所有节点都可以在社区中自我提名并注册成为潜在的区块生产者,在这个阶段,节点通常会建立一个竞选网站以吸引用户投票,在网站中,竞选节点一般指定其当选成功后所用到的硬件和软件,有的甚至会给出奖励分配方案吸引用户的投票,自我提名阶段必须在开始投票过程之前全部完成,所有自提名的节点会被列入社区建立的自提名表单中,为下一阶段节点投票提供投票对象;
b.节点投票
在主网未上线时,可借用公信力较强的以太坊的智能合约完成投票过程,待主网建立起来后,可直接在自身的区块链系统中建立合约完成投票过程,社区成员使用以太坊的ERC-20协议代币投票表决后,合约会冻结所有账户并拍摄ERC-20代币持有者的初期余额,在整个投票过程中,设定投票时间为T,节点对每个节点的投票贡献不止是代币的数量多少,而是由代币数量n,投票及时度p与节点的投票权重w三个变量决定,一个节点参与投票的贡献φi可由以下公式计算(之后部分激励机制会涉及到节点的投票贡献):φi=n×p×w,投票及时度指的就是在规定投票的T时间内节点投票越早,就越容易获得更高的贡献,同样投票的权重也是指节点连续投票的影响力,这两个参数都被设为指数级别的下降函数,若是投票不及时或是没有连续投票的话,这两个参数值就会越来越低,当节点收到投票提醒时,立即将代币投给心仪的候选见证人,当代币被锁定到合约中,这部分代币会被锁定无法使用,等投票阶段结束后,合约会自动赎回对应的代币到用户的账户上;
步骤二、随机选人阶段,使用可验证延迟函数(VDF)来生成随机数,具体步骤如下:
c.利用VDF公平可验证的方式选出21个随机数并映射到1~N的数值范围内从而选出21个见证人;
d.将N个节点各自选出一个随机数将其公开发布到区块链公示板上,经哈希函数处理为256位的哈希值作为可验证拖延函数(VDF)的其中一个输入,并将最终生成的第21个随机数的时间t也作为谜题破解时间输入,整个VDF计算最终会产生一个最终随机数,选择计算过程中的其余20个随机数作为输出,因此最后会有21个输出随机数和它们的证明,对于这21个随机数的计算结果,任何节点都可以进行验证,节点可根据初始化阶段的公共参数pp、输入x、输出y以及证明π这4个参数,调用Verify算法验证输出结果是否为accept,并且使用VDF最大的优势在于验证的时间复杂度远远低于Eval阶段计算的时间复杂度;
步骤三、门限签名-共识阶段,21个见证人通过分布式密钥产生协议,利用多方参与,计算共享的公私钥对,从而克服单点故障和单个节点不可信问题,之后他们的出块顺序由见证人所获得的投票支持率决定,从高到低排序,投票支持率最高的为第一个出块者,具体步骤如下:
e.节点客户端发起一笔交易Tx,通过钱包签名后该交易数据通过P2P网络发送给所连接的节点服务器(全节点);
f.当全节点BP1收到该交易数据后,首先会对交易进行校验。校验主要分为三个部分:
1.校验交易的权限,是否满足对应的权益要求(EOS中账户具有一系列权限);
2.校验交易的签名,是否有校;
3.校验交易Tx数据是否有效,若校验通过,见证人BP1会将该笔交易放入自己的交易池中;
g.见证人BP1在出块时间内,会将多笔交易从交易池中取出,并打包成区块进行门限签名Sig1,最后再广播给其余20个负责验证的见证人;
h.验证节点收到见证人的区块消息后,验证并门限签名,发送给BP1;
i.BP1收到后合成签名,再次发送给其他见证人;
j.其他见证...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。