ETH-权益证明-21

245 阅读6分钟
  • POS概述:

    • ⽐特币和以太坊⽬前采⽤的都是POW(⼯作量证明)机制,但这种⽅式⼀直为⼈所诟病,因为其浪费电⼒资源,“挖矿”过程消耗了⼤量的电⼒资源,这些能耗是必须的吗?
    • 矿⼯挖矿是为了取得出块奖励,获取收益。系统给予出块奖励的⽬的是激励矿⼯参与区块链系统维护,进⾏记账,⽽挖矿本质上是由矿⼯投⼊资⾦来决定的(投⼊资⾦买设备 → 设备决定算⼒ → 算⼒⽐例决定收益)。那么,为什么不直接拼“钱”呢,即直接根据投⼊钱的多少来进⾏收益分配,这就是权益证明的基本思想
    • ⼀般来说,采⽤权益证明的货币,会先预留⼀些货币pre-mining给开发者,⽽开发者也会出售pre-sale⼀些货币换取开发所需要的资⾦,在系统进⼊稳定状态后,每个⼈都按照持有货币的数量进⾏投票
    • 优点:
      • 省去了挖矿的过程,避免了因此产⽣的能耗和对环境的影响
      • 维护区块链安全的资源形成闭环,⽽POW中维护其安全的资源需要通过现实中流通的货币购买矿机等设备,这导致有⼈想要攻击,只需要外部聚集⾜够资⾦就可以攻击成功(⼩型币种很容易被攻击掉),⽽POS可以有效防御这种情况,因为对于POS来说,⽐如要发动51%攻击时,必须要先设法获得此种加密货币发⾏量⼀半以上的份额
    • POS与POW并不互斥:
      • 有些币种采⽤混合模型,例如挖矿难度与持有币的数量相关(实际并不能这么简单设置,因为会导致“旱的旱死,涝的涝死”,需要添加⼀定限制,⽐如添加Proof of Deposit,即刚投⼊的币需要锁定⼀段时间,不能⽴即使⽤等等)
  • 权益证明这么好,为什么实际中并未得到⼤规模应⽤?

    • 因为仍然存在很多挑战,例如“双边下注”nothing at stake
      • 比如当区块链系统产⽣了分叉,存在两个区块A和B竞争主链时,采⽤权益证明的⽅法就是所有持币者对这两个区块投⼊币进⾏投票,从⽽决定哪⼀个区块成为最⻓合法链上的区块
      • 假如有⼀个⼈,在A和B同时进⾏下注,最终A区块胜出,那么他能够获得A区块相应收益,⽽在B区块进⾏投票放⼊的“筹码”也会被退还,这也就导致其每次都能获得收益
      • 由于⼀个⼈可以拥有多个账户,所以⽆法强迫⼀个⼈⼀次只能投向⼀个区块,⽽越有钱的⼈,通过“双边下注”得到的收益也就越多
  • ETH拟采⽤的POS:Casper the Friendly Finality Gadget(FFG)

    • 该协议在过渡阶段需要和POW结合使⽤
    • 在⽐特币系统中,为了防范分叉攻击,⼀个交易在其获得6次确认后被认为该区块安全。但实际上这种安全只是概率意义上的安全,仍然可能会被拥有强⼤算⼒的⽤户在其前⾯发动分叉攻击
    • Casper协议引⼊了⼀个概念:Validator(验证者)
      • ⼀个⽤户想要成为Validator,需要上交⼀笔“保证⾦”,这笔保证⾦会被系统锁定
      • Validator的职责是推动系统达成共识,投票决定哪⼀条链成为最⻓合法链,投票权重取决于保证⾦数⽬
      • 具体做法:
        • 每挖出100个区块作为⼀个epoch
        • 需要投票决定此epoch是否可以成为Finality
        • 两轮投票two-phase commit
          • 第⼀轮Prepare Message,第⼆轮Commit Message
          • 规定每轮投票都要获得2/3以上的验证者同意才能通过
        • 在实际中,针对其进⾏了⼀些修改,两轮投票在实际中只需要⼀轮即可,⽽且将epoch减少为50个区块
          • 每个epoch的投票对于此epoch来说是Commit Message,对于后⼀个epoch来说是Prepare Message
          • 连续两个epoch都得到2/3以上的投票,才算有效
          • epoch.png
      • 矿⼯挖矿会获得出块奖励,⽽验证者也会得到相应奖励
        • 如果验证者有不良⾏为,被发现时要受到处罚:
          • 例如某个验证者“⾏政不作为”,不参与投票导致系统迟迟⽆法达成共识,此时会扣掉部分保证⾦
          • 如果某个验证者“乱作为”,⽐如给两边都进⾏投票,被发现后没收全部保证⾦
          • 没收的保证⾦被销毁,相当于减少系统中货币总量
        • 验证者存在“任期”,在任期结束后,进⼊“等待期”,在此期间等待其它节点检举揭发是否存在不良⾏为,若通过等待期,则可以取回保证⾦并获得应该得到的投票奖励
      • Q:这样⼀定能保证不被篡改吗,通过投票达成的Finality是否可能被推翻?
        • 如果发动攻击的是矿⼯,则不可能推翻已经达成的Finality,因为在该协议下,⽆论矿⼯算⼒多强,最终投票权都不在其⼿中
        • 攻击成功的情况:必须在系统中,存在⼤量“验证者”进⾏了两边投票,也就是说,⾄少1/3(该协议规定超过2/3才有效)的验证者两侧都投票,才会导致系统被篡改,⽽这⼀旦被发现,这1/3验证者的保证⾦将会被没收
  • 以太坊系统设想,随着时间推移,挖矿奖励逐渐减少⽽权益证明奖励逐渐增多,从⽽实现POW到POS的过渡,最终实现完全放弃挖矿,权益证明仍然存在缺陷,但⼯作量证明已经得到了事实检验,该机制较为成熟

  • EOS:

    • 加密货币“柚⼦”,2018年上线,采⽤权益证明的共识机制
    • 其采⽤的是DPOS:Delegated Proof of Stake
    • 该协议核⼼思想是通过投票选出21个超级节点,再由超级节点产⽣区块
  • 其它观点:

    • 有⼈认为POW消耗的电能所占⽐值并不⼤,⽽且其对于环境的影响是有限的
    • 挖矿提供了将电能转换为钱的⼿段,⽽电能本身难以传输和存储,⼀般来说,⽩天所发的电不⾜,晚上所发的电⼜多于实际需求
    • 因此,挖矿能够将多余的电能转换为有价值的货币,也就是说挖矿消耗电能可以有效消耗过剩产能,并且带动当地经济发展