区块链知识:什么是POS算法和POS机制?
POS是一种在公链中的共识算法,可以看作是POW算法的替换。POW是保证比特币、当前以太坊和许多其它区块链安全的一种机制,但是POW算法受到了多方的指责,因为他在挖矿过程中破坏了环境,浪费了电力。POS正在尝试用一种不同的机制代替挖矿的概念,以此希望能妥善的处理好问题。
POS机制可以被描述成一种虚拟挖矿。鉴于POW主要依赖于计算机硬件的稀缺性来防止女巫攻击,POS则主要依赖于区块链自身里的代币。在火币网互相转币POW中,一个用户可能拿1000美元来买计算机,加入网络来挖矿产生新区块,从而得到奖励。而在POS中,用户可以拿1000美元购买等价值的代币,把这些代币当作押金放入POS机制中,这样用户就有机会产生新块而得到奖励。在POW中,如果用户花费2000美元购买硬件设备,当然会获得两倍算力来挖矿,从而获得两倍奖励。同样,在POS机制中投入两倍的代币作为押金,就有两倍大的机会获得产生新区块的权利。
总体上说,POS算法如下所示。存在一个持币人的集合,他们把手中的代币放入POS机制中,这样他们就变成验证者。假设在区块链最前面一个区块(区块链中最新的块),这时POS算法在这些验证者中随机选取一个(选择验证者的权重依据他们投入的代币多少,比如一个投入押金为10000代币的验证者被选择的概率是一个投入1000代币验证者的10倍),给他们权利产生下一个区块。如果在一定时间内,这个验证者没有产生一个区块,则选出第二个验证者来代替来产生新区块。与POW一样,以最长的链为准。
注意这个模型有许多变种。在之前点点币的POS算法中,每秒钟有一个不同的验证者被分配来产生区块。有时,没有一个明确的机制来说明谁成为验证者。每个代币持有人都是一个潜在的验证者,但如果一个代币持有人离线或者对验证不感兴趣,他就会错过产生新区块的机会。而在有些POS算法中,根本没有验证者选择的概念。因此,一种传统的拜占庭容错共识算法过去常常用来使所有验证者同意下一个区块。然而,选择下一个验证者的伪随机算法可以有很多不同方式,但无论充值或其它方式,使用代币替换矿工的原则是不会改变的。所以,至少现在,看了这篇文章的朋友,一定要打开视野,思考一些更深层面的东西。