当前位置:首页 > 资讯 > 区块链技术 > 正文

虾说区块链-64-共识机制POS

发布:中币网   时间:2018-01-12 12:57:00   加入收藏 打赏

一直在说区块链是一系列技术结合后的新的技术架构,那么这里分别介绍下这些相关技术,也涉及到一些扩展开去的相关内容。

一直在说区块链是一系列技术结合后的新的技术架构,那么这里分别介绍下这些相关技术,也涉及到一些扩展开去的相关内容。

虾说区块链-64-共识机制POS

区块链-共识机制pos:

继续整理共识机制,这里简单介绍下POS机制。

POS

POS:proof of stake,称为股权证明。Pos机制是一个新的机制,在bitcoin出现后,不断摸索出来,到现在为止pos还一直在不断改进中。

由于bitcoin的火热,挖矿的激烈竞争,发现大量矿机加入挖矿,造成了众多电力硬件资源的浪费。同时理论上的51%算力攻击随着大矿池的不断扩展,理论上出现了攻击的可能性。Bitcoin的高额收益使得联合挖矿,使得对区块链本质去中心化构成了威胁。Pos机制的出现一定程度的上改善了pow的一些劣势,但是pos本事也存在一定的缺陷。这里简单做pos机制作个说明。

2011年在bitcointalk论坛上,Quantum Mechanic提出proof of pos机制,这个机制通过证明验证其可行性。在pow流行的时候,从一开始的cpu挖矿、到显卡挖矿、到ASIC挖矿,到现在各种专业的矿机,强大的算力,也造成了大量的电力资源浪费。Pos出现之前,2011年莱特币中的scrypt算法和zcash中的equihash算法,试图改善,通过控制cpu挖矿和内存依赖性算法来缓解算力中心化的现象,但是最终还是出现了各种专业矿机,于是换一种思路,考虑新的共识机制。

Pos机制简单理解为,网络中节点中打开自己钱包,上线后,增加权重,在pow中依靠计算算力决定区块的产生,那么pos中使用虚拟货币的数量作为抵押,从而有一定几率产生区块。同时也会产生一部分理论,理解为银行中存钱获得利息的概念。Pos在点点币中最开始使用。

运行机制:网络中节点把节点中的数字货币放入pos机制中,身份转变为验证者,pos机制在这些验证者中随机选择一个做为区块的产生者,当然这个随机和投入的数字货币数量有关系,投入多的币自然比少的被选取的概率要大,根据数量比例基本成正比。当然在一定的时间内,这个被pos选出来的生成者没有生成区块,那么就再次选择下一个验证者。至于有效链,这个遵循区块链的最长链原则。通俗理解:手上的数字货币越多产生区块的可能性就越大,那么一个合格的pos区块表达式为:F(timestamp)<Target*balance。(timestamp一个区块产生时间段,Target*balance称为乘积因子余额,那么这个越大就也越可能生成区块和上述的手上数字货币的数量越多越可能生成区块契合)

以点点币为例子说明pos具体流程:点点币2012年发布,Sunny King提出,一种混合挖矿方式,即Pow+Pos,pow用于发行货币,pos用于系统维护。具体参考:

http://www.8btc.com/blockchain-tech-consensus-mechanism

系统中设计了几个具体的概念:

coinstake:一种特殊交易。类似bitcoin中coinbase,coinstake需要输入的数量必须等于一,第一个输入的prevout不能为空,输出数量必须大于一。Coinstake不会单独广播,只存在区块中,客户端节点一般不介入内存池,当花费时检查是否成熟。

Kernel protocal:第一个输入叫kernel,这个判断区块是否合法,判断标准:

SHA256D(nStakeModifier+ txPrev.block.nTime + txPrev.offset + txPrev.nTime + txPrev.vout.n +nTime)< bnTarget * nCoinDayWeight

nStakeModifier:调节器,防止矿工提前计算,理解为一个POS区快属性。

txPrev.block.nTime:所在区块时间戳,交易发起者对于交易纳入区块的时间不确定,节点可能通过预估来计算对自己有利的时间戳,该参数防止节点预估提前生成交易。

txPrev.offset:偏移量。降低生成coinstake的概率。

txPrev.nTime:构造时间。

txPrev.vout.n:输出下标。

bnTarget *nCoinDayWeight:全网的目标难度基础值,类似bitcoin的难度值,nCoinDayWeight是币龄的一个概念。

上述条件设置为公式,目的为了提供给矿工充足的一个随机性,保证影响到合格区块的最大因素是币龄。

币龄的概念:这个类似于银行的一种存款利息,币龄通过币和存在实践计算,一旦这个币被消费,那么币龄清空重新计算。简化得到一个利息公式:

stakeReward =nCoinAge * 33 / (365 * 33 + 8) * 0.01 * COIN

pos机制也存在51%的攻击,只是和bitcoin不同,这个需要掌握51%的币龄,无疑对比下掌握算力和币龄,还是币龄51%的难度更为大点。

POS2.0:

2014年出现黑币,使用完善后的pos协议,在黑币前5000个块,使用纯粹的pow机制,使用scrypt算法,后续采5000到10000的块使用pos和pow混合,在10001使用纯pos机制。通胀率1%。

上文提到的黑币方式,称为pos2.0,这种方式前期通过算法改进后的pow方式发币,但流通一定数量后,通过投资形式再获取利益。促进整个生态环境。Pos2.0的主要对细节进行修改,使用余额来代替币龄。一个合格区块的条件为:

F(Timastamp)< Target * 币数。

POS3.0:

黑币通过修改交易手续费,调整难度等优化,将收益修改为固定值。

Pos劣势:

pos机制最初节点只要持有币,那么会有固定收益,参与者需要获得pos机制的数字货币只有转让,那么有可能原始人不愿意,甚至恶意节点故意大量隐瞒拥有的数字货币,会出现零成本获利。所以现在pos都会结合pow一块的共识机制。

本文由币乎社区(bihu.com)内容支持计划赞助。

来源:




来源:中币网  https://www.zhongbi.net/news/jishu/14798.html
声明:登载此文仅出于分享区块链知识,并不意味着赞同其观点或证实其描述。文章内容仅供参考,不构成投资建议。投资者据此操作,风险自担。 此文如侵犯到您的合法权益,请联系我们3111859717@qq.com,我们将第一时间处理。