一种高速、变频的区块链POS共识计算方法与系统与流程

文档序号:18623689发布日期:2019-09-06 22:45阅读:417来源:国知局
一种高速、变频的区块链POS共识计算方法与系统与流程

本发明涉及区块链技术领域,尤其涉及区块链共识计算领域。



背景技术:

区块链的共识机制,即决定区块链网络中哪个矿工取得下一个区块的封装权,是区块链的核心工作机制,是区块链取得去中心化特征,从而构建具有分布式安全和数据可信网络的关键所在。自比特币诞生到当前的主流区块链网络如以太坊,均以工作量证明(pow)作为取得共识的核心算法。

pow共识机制一方面由于大量的能源浪费,使其在当今社会环保意识越大越强、对环保要求越来越高的条件下,显得越来越不合时宜;另一方面,由于要计算超高难度的随机数需要花费一定的时间,从而使其单位时间所能容纳的交易数受到相当大的限制,交易效率极低,这极大地限制了区块链向大容量、大并发应用场景的推广使用。

pos机制是解决pow机制目前所存在问题的主要方向,由于不再需要计算随机数,因此可以同时实现“绿色挖矿”(区块封装)与交易效率提升,因而已受到业界的高度重视与广泛关注。但目前所出现的绝大部分pos机制,要么机制太过复杂,要么与现有区块链的一些核心机制,如区块奖励机制区别过大,从而使其难以实现由现有pow机制向pos机制的平滑过渡。

在实现由现有pow机制向pos机制平滑过渡中有几个关键问题需要解决:

(1)如何以现有用户(矿工)的相关属性为基础,公平、合理地选出区块封装竞争获胜者;

(2)如何确保整个区块链在交易量大时,网络计算效率能满足高速交易的需求,但同时又不致因为太过频繁的区块封装而带来整个网络新增区块过多,从而使网络整体激励增发矿工奖励过多,带来网络整体奖励积分的贬值。



技术实现要素:

有鉴于此,本发明设计了一种高速、变频的区块链pos共识计算方法与系统,通过本方法与系统既可以拥有pos共识计算的绿色挖矿、高并发高效率交易支持的性能,还可以实现现有主流区块链技术由pow向pos的平滑过渡,在保证网络高速交易的同时,使用变频化的区块封装,将网络整体区块封装密度控制在一定水平。为实现上述目的,本发明的技术方案是这样实现的:

如图1所示,设计一种高速、变频的区块链pos共识方法,包括如下步骤:

第一步,矿工以其区块链帐户权重为基础,按区块链约定周期定时向区块链网络中的挖矿管理智能合约发送矿工注册交易;

第二步,新区块生成时,首先统计当前有效注册矿工所构成的随机空间大小,其计算公式如下:

rspace为当前的随机空间,m(i)balance为i矿工的帐户权重,注册矿工总数为n;

第三步,以当前区块号及前一区块的哈希值为基础,进行哈希计算,并将哈希计算的字节数据转换为0~1之间的随机浮点小数rfloat,rfloat的小数位不能小于rspace的整数位大小;

第四步,将由(2)计算的随机空间与(3)获得的随机数相乘:

rselminer=rspace×rfloat(2)

所获得的rselminer在随机空间映射所对应的矿工号m(j)balance即本次区块封装所选中的矿工;

第五步,区块封装算法比较(4)所选中的矿工是否为本矿工,若是,则开始封装区块;

第六步,区块封装算法统计交易池中的交易数量,并计算交易池中交易数占交易池最大限额的比率:

trate=tpoolcount/pmax(3)

第七步,区块封装时延,按照式公式(4)控制:

bmminmgdelay=tmaxdelay-tmaxdelav×trate(4)

bminmgdelav为本次区块封装时延,tmaxdelay为系统所设定的区块最大封装时延;

第八步,区块完成封装后,向网络广播已封装区块;

第九步,其余节点接收到已封装区块后,按(2)、(3)、(4)步骤对区块封装矿工进行验证,若符合,则将区块加入主链,若不符合,则丢弃该区块。

如图1所示,矿工注册约定周期可以以区块链的区块号的增加量作为计算依据,如约定每增加100个区块作为一个注册周期或一固定时间如一天作为一个注册周期。使用固定周期用户注册,是为了确保用户的实时在线,从而确保网络的区块封装算力。

如图1所示,区块封装当前矿工的选择,非常重要的一点是随机数的计算。随机数的计算,要同时保证两个特征:(1)随机性,即没有任何人可以通过计算设定明确设定下一矿工是谁;(2)确定性,由于要保证整个网络计算的一致性,任一矿工及区块验证者,均可以根据当前的网络数据,按照确定的机制计算出相同的当前区块封装者。为实现这两个特点,本发明以当前区块号及前一区块号的哈希值作为数据源,以哈希计算作为随机数产生的方法。哈希计算具有如下两个特点:(1)确定数据源,所计算的哈希值是确定的;(2)数据源任一微小变化,其哈希值变完全不同,且其变化是空间随机分布的。

如图2所示,共识计算系统由有如下模块组成:(1)矿工权重统计模块;(2)随机数生成模块;;(3)矿工选择模块;(4)区块封装时延计算模块;(5)区块封装模块;(6)已封装区块矿工验证模块。

这些模块可以单独存在,也可以组合存在,根据实际应用场景进行调整。

附图说明

图1一种高速、变频的区块链pos共识计算方法流程图

图2一种高速、变频的区块链pos共识计算系统组成图

具体实施方式

下文中,以基于以太坊技术体系实现高速、变频的pos技术机制为例详细描述本发明的实施原理与优选实施例。

在以太坊网络中部署矿工注册智能合约minerregistrycontract,合约中所包括的结构体miner的结构如下:

同时,在合约中建立矿工数组,管理注册矿工信息。

随机数的生成算法函数为:

区块封装时延函数主要计算指令为:

15为区块最大封装时间15秒,txs为当前交易池交易数,300为交易池最大交易数。

区块封装验证同样采取上述算法进行矿工及区块封装时延的验证,分别增加minerveryfy(coinbase)和blocktimeveryfy(blocknuber)函数。

以上所述仅为本发明的实施例说明,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

综上所述,本发明针对目前pow共识计算方法效率低、能源浪费严重,新出现的pos在机制与原理上又与现行pow区分太大,从而使由现有pow向pos过渡困难等问题,设计了一种高速、变频的区块链pos共识计算方法与系统。通过本方法与系统可使当前以pow共识机制为主导的区块链向以pos为主导的区块链平滑过渡,并使新的pos共识机制区块链具有高速和根据交易量进行区块变频封装的能力,一方面解决当前区块链高并发应用场景中所面临的交易瓶颈,另一方面以让区块整体封装密度控制在一个合理水平。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1