Skip to content

shockcoder/PoS-demo

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 

Repository files navigation

权益证明 PoS( Proof of Stake)

权益证明

权益证明( Proof of Stake, PoS) 类似于现实生活中的股东机制,拥有股份越多的人越容易获取记账权

点点币的PoS实现原理

点点币PPCoin前期采用PoW挖矿开采和分配货币,以保证公平。后期采用PoS机制,保障网络安全,即拥有51%货币难度更大,从而防止51%攻击。PoS核心概念为币龄,即持有货币的时间。例如有10个币、持有90天,即拥有900币天的币龄。另外使用币,即意味着币龄的销毁。在PoS中有一种特殊的交易称为利息币,即持有人可以消耗币龄获得利息,同时获得为网络产生区块、以及PoS造币的优先权。

点点币的PoS证明计算公式:

    proofhash < 币龄 * 目标值

proofhash,对应一组数据的哈希hash(nStakeModifier + txPrev.block.nTime + txPrev.offset + txPrev.nTime + txPrev.vout.n + nTime)

目标值,即bnTarget,用于衡量pos的挖矿难度。目标值与难度成反比。

由公式可见,持有的币天越大, 挖到区块的机会越大。

点点币的PoS挖矿难度

点点币使用目标值来衡量挖矿难度,当前区块的目标值与前一个区块目标值、前两个区块的时间间隔有关。

计算公式如下

当前区块目标值 = 前一个区块目标值 * (1007 * 10 * 60 + 2 * 前两个区块的时间间隔) / (1009 * 10 * 60)

About

go实现PoS共识算法

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages