PoS简介

在PoW中,节点之间通过hash的计算力来竞赛以获取下一个区块的记账权

如果验证者愿意提供更多的令牌作为抵押品,他们就有更大的机会记账下一个区块并获得奖励

类似于现实生活中的股东机制,拥有股份越多的人越容易获取记账权

实现原理

常见的有两种:

1. proofhash < 币龄x目标值
2. proofhash < 币数x目标值

方式1缺点: - 部分节点平时保持离线,只在积累了可观的币龄以后才连线获取利息,然后再次离线

方式2优点: - 所有节点必须更多的保持在线,以进行权益累积。越多的节点在线进行权益累积,系统遭遇51%攻击的可能性就越低

PoS潜在攻击方法

  • 账本分叉问题 ( Nothing at Stake Problem )

    • 在 PoW 机制中,当账本出现分叉时,对 PoW 这种算力敏感的算法,矿工必须选择一个方向进行挖矿。
    • 而在 PoS 这种算力不敏感的时候,PoS 矿工往往会两个方向都挖,以争取实现利益最大化。当多数矿工都在两条链上一起挖矿的时候,就会很容易出现双重支付攻击。
  • 冷启动问题 ( Initial Distribution Problem )

    • PoS 机制中,由于持币量会对挖矿难度产生影响。因此,当一个基于 PoS 体系代币系统启动时,就会面临早期获得代币的持有者,没有动力去花费或者转移代币给第三方。同时,持有越多的币,越容易挖到矿,这样就产生了代币初始流通性问题。
    • 解决方案:早起几个版本,通过 PoW 机制来创建货币,而非 PoS。由于 PoW 本身的性质,矿工在挖矿过程中往往需要资金来升级硬件,所以会让矿工手中的币流通起来
  • 长距离攻击 ( Long-Range Attack )

    • PoS 中,产生每个 Block 的速度相对 PoW 快了很多。因此,少数不怀好意的节点会想着把整个区块链共识账本全部重写。这在 PoW 中是经典的 51% 问题,即:当某一个节点控制了 51% 及以上算力,就有能力篡改账本,但达到 51% 算力是件极其困难的事情。而在 PoS 中缺乏对算力的约束,那么就存在潜在可能篡改账本。
    • 解决方案:同步时,限制最大能接受的分叉节点数量。
  • 贿赂攻击(Bribe Attack)

    • 攻击者购买某个商品或服务 商户开始等待网络确认这笔交易 此时,攻击者开始在网络中首次宣称,对目前相对最长的不包含这次交易的主链进行奖励。 当主链足够长时,攻击者开始放出更大的奖励,奖励那些在包含此次交易的链条中挖矿的矿工。 六次确认达成后,放弃奖励。 货物到手,同时放弃攻击者选中的链条。 因此,只要此次贿赂攻击的成本小于货物或者服务费用,此次攻击就是成功的。相比之下,PoW 机制中贿赂攻击就需要贿赂大多数矿工,因此成本极高,难以实现。
  • 币龄加和攻击 ( Coin Age Accumulation Attack )

    • 在最早的 Peercoin 版本中,挖矿难度不仅与当前账户余额有关,也与每个币的持币时间挂钩
    • 这就导致,部分节点在等待足够长时间后,就有能力利用 Age 的增加来控制整个网络,产生非常显著的影响
    • 解决方案:限制 CoinAge 的最大值

PoS优缺点

优点

  • 不用挖矿,节能
  • 相对PoW,对硬件要求不高,人人可挖矿,更去中心化
  • 不用担心算力集中导致中心化问题(单用户通过购买获得51%的货币,成本更高)

缺点

  • 纯PoS机制的加密货币,只能通过IPO的方式进行,导致少数人(通常是开发者)获得大量成本极低的加密货币,很难保证他们不会大量抛售,信用基础不够牢固
  • 为解决这个问题,很多采用PoW+PoS的双重机制,通过PoW挖矿发行加密货币,使用PoS维护网络稳定。或者采用DPoS机制,通过社区选举的方式,增强信任