工作量证明

工作量证明(POW, Proff of Work)最经典的应用场合为比特币。POW 通过提高攻击者的成本来保护网络安全。在比特币的分布式网络中,Leader 节点(能够提交 Commit 到区块链)的权利是通过计算难题得到的。攻击者除非达到全网算力的 51%,否则无法篡改区块链。

工作量证明的原理如下:

  • 给定基本字符串 S

  • 找到一个字符串 X,使得 hash(S + X) 的前 n 位为 0

其中。n 为难度系数,难度系数越大,找到 X 的难度越大,这个值是由比特币网络算法得出的。

由于 HASH 算法没有规律性,因此只能通过穷举的形式找到 X。这就导致了找到 X 的难度是指数级的。但是验证 X 的难度是线性的。从而增加了攻击者的成本。

为什么 POW 能够保证网络的安全?

  1. 只有计算出难题的节点才有权提交区块到区块链。这意味着攻击者的攻击成本很高。

  2. 交易本身被密码学加密,因此无法伪造交易。因此攻击者无法通过伪造交易来攻击网络。

通过上述两个条件,攻击者既无法通过 DDoS 攻击网络,也无法通过伪造交易来攻击网络。从而保证了网络的安全。

权益证明

权益证明(POS, Proff of Stake)是另一种常见的共识算法。POS 通过质押代币的数量来决定 Leader 节点。

POS 中验证者(Leader)的权利是根据其质押的代币数量来决定的。质押的代币数量越多,验证者获得区块生成权利的可能性越大。如果验证者恶意操作,那么其质押的代币将被销毁。

POS 通过质押的形式选举出 Leader 节点,从而保证了网络的安全。

委托权益证明

委托权益证明(DPOS, Delegated Proof of Stake)是权益证明的一种变种。DPOS 通过代币持有者投票选举出验证者。

持币人通过选出代表节点来运营网络。DPOS 机制中集中化程度急剧加深,因为只有少数节点能够成为验证者。但是 DPOS 机制中验证者的选举是公开的,因此可以通过公开的方式来监督验证者。

DPOS 实际上相当于君主立宪制的银行。

容量证明

容量证明(POC, Proff of Capacity)是一种新型的共识算法。POC 通过硬盘容量来决定 Leader 节点。POC 和 POW 同样都是通过提出难题来保证网络的安全。

POC 的理论基础依赖于一个名为 Pebbling Game 的游戏。Pebbling Game 是一个有向无环图图,根据树的理论,有向无环图实际上可被视为一个多叉树。Pebbling Game 的目标是找到一条从根节点到叶子节点的路径,使得路径上的节点数最少。

Pebbling Game 具备下面的特点:

  • 尽管 Pebbling Game 找到这样的路径很困难,但是验证却十分简单,只需要沿着路径走一遍就行了。

  • Pebbling Game 可以给定一个节点数,要求根节点到叶子节点的路径上的节点数不超过这个值。通过这个方式可以修改问题的难度。

  • 存在一个值 N,使得 Pebbling Game 找到根节点到叶子节点的路径的节点数为 N 是不可能的。这个值 N 就是容量证明的难度系数。

  • Pebbling Game 是一个 NP 完全问题,不存在通用解。

POC 和 Pebbling Game 类似。通过验证树的高度来验证硬盘的容量。

新的节点加入挖矿之前,首先通过一个预处理步骤来计算大量的 Plot 文件,这些文件包含了大量的 hash 值,这些 hash 值不是孤立存在的,必须处理完前一个 hash 值才能处理下一个 hash 值。

当网络广播新的区块时,挖矿节点通过时间戳等参数选择合适的 Plot 文件中的 Hash 值组合,最后,最先找到这样 Plot 文件的节点允许发布下一个区块。

还是不太明白难题提出的原理。
Last moify: 2022-12-04 15:11:33
Build time:2025-07-18 09:41:42
Powered By asphinx