工作量证明(Proof-of-Work,PoW)是一种对应服务与资源滥用、或是阻断服务攻击的经济对策。一般是要求用户进行一些耗时适当的复杂运算,并且答案能被服务方快速验算,以此耗用的时间、设备与能源做为担保成本,以确保服务与资源是被真正的需求所使用。
工作量证明最常用的算法是散列函数(h),对于输入 n 得到这个数的散列值 h(n),几乎无法从散列值 h(n) 反向推导出 n,因此借由指定查找 h(n) 的特征,让用户进行大量的穷举运算,就可以达成工作量证明。
公有链的安全基石是共识机制,而 PoW 是目前为止容错能力最好的公有链共识机制。 比特币 采用 POW, 攻击者想要攻击比特币就必须拥有全网一半以上的算力( 51% 攻击 ),这使得攻击非常昂贵。
现在采用 pow 共识机制的公有链很多,如果一个新币采用的和比特币一样的挖矿算法,现有的比特币矿场只需要分出一小部分算力就可以占到新币算力的一半以上。所以说新发行的币采用和比特币一样的散列算法是不安全的(一发行就被大矿场控制,背离去中心化初衷)。
对于那些专业和富有人士,可以开发出 ASIC 组成的特定计算机,整个硬件都是为了特定挖矿算法设计,导致算力被控制在少数人手中。
由于大型矿场对比特币算力的垄断,对采用 pow 的数字货币,分叉往往被控在大矿场手中。2017 年 8 月的比特币分叉事件,对于大矿场是有利的。手中比特币数量不变,缺凭空多出 bitcoin cash(比特币现金),价值增加。这一事件会驱动大矿场分裂比特币。比特币被大矿场控制,这又和中心化交易又有什么区别呢?
来源: https://juejin.im/post/5a3b68e65188252bca050950