天天小说网

第三节 比特股—DPoS

么这些受托人将会获得n票。

七、随机数的生成

在DPoS中我们有101个节点,并拥有超过99.9%在线时间。这意味着即使其中只有一个节点在运行,我们也可以可靠地生成一组安全的随机数。

structBlock {

hashsecret;//HASH(S[n])

wherenistheindexinthearrayofsecretsgeneratedbythisdelegate

hashrevealed_secret;//S[n-1]

};

对于每一个区块,在标头(header)区域加入HASH(S[n])。S[n]则是下一轮受托人产生区块时需要展示的密钥,同时也在标头中写入S[n-1]。

现在我们能够在每次区块产出时(每15~30秒)拥有一连串的密钥。从这一连串的密钥中,我们可以通过以下方式,在该区块生成随机数R。

if(first_block_produced_by_delegate)then Block[HEAD].revealed_secret=0

ASSERT( HASH( Block[HEAD].revealed_secret) ==

GetLastBlockProducedBy Delegate(Block[HEAD].delegate_id).secret)

R=HASH(Block[HEAD].revealed_secret)

for(uint32_t i=1;i<101;++i){

R=HASH(Block[HEAD-i].revealed_secret+R)//where+is concat

R= 本区块生成的随机数

每个R都是经由101位受托人在上述过程中导入的密钥所计算得出的。而即使101位受托人当中只有一位在工作,所生成的R也会是真正的随机数。

对作恶行为的描述及惩罚措施。

每轮中只有101位受托人中的最后一位有机会做出这样的抉择(不生产区块,进而不展示密钥),所以其作恶的机会很渺茫。

如果选择不生产区块,他们将可能被开除,并且失去了在未来获得奖励的可能性,还会被没收之前缴纳的保证金。

即使作为一名作恶的受托人,他所能做的只不过是不生产一个区块而已。

举例来说,如果某期乐透开奖只发给赢家总投注金额的50%(另外50%作为慈善用途),那么作恶的受托人最多只能够做到不赚不赔。还是拿乐透DAC举例,如果一个作恶者能够控制开奖前最后的n位受托人,那么他的胜算将会上升2~n倍。为了解决所有这些问题,我们决定,在一个指定的出块轮中生成随机数的规则必须遵守“全有全无定律”。也就是说,必须要101位受托人全体报到,否则就不会生成随机数。

八、轻量级客户端

比特币轻量级客户端的运行完全依赖于工作量证明(PoW)验证机制和受信任节点。一方面,只要在工作量证明机制中造假的成本高过交易的价值,大致上你便可以确信你的交易是有效的,并且数据会被写入正式的区块链中。另一方面,PoS货币(如Peercoin或NXT)就没有这样的模式。在PoS体系中,唯一验证区块链的方式就是要拥有区块链的完整拷贝,或是完全信任拥有这份拷贝的人。而在DPoS体系中,对于那些可能欺骗使用轻量级客户端的用户的受托人,我们拥有制止以及惩罚的手段。如果受托人签署了一份声明,说明交易是有效且经过确认的,那么这份声明便可以用作单方面开除作恶受托人的凭据。这意味着对小额交易的轻量级验证能够获得和基于PoW的轻量级验证同样的效果。

更多内容加载中...请稍候...

若您看到此段落,代表章节内容加载失败,请关闭浏览器的阅读模式、畅读模式、小说模式,以及关闭广告屏蔽功能,或复制网址到其他浏览器阅读!

新书推荐

别人练功吃苦,你直接速通高武? 快穿之在BE剧本里狂撩男主心尖 你有天眼不去赌石,又在乱看 权宠娇妃王爷,夫人又美 四合院:我叫易中河 穿成Omega恶毒公公后我躺平 一人:开局响雷果实,师叔祖出山 不装了,我靠召唤强无敌 误染相思 宝可梦:这个训练家不科学