作者:Jan
成本悖论
区块链技术提供的价值是去中心化的安全,而安全是可以用攻击成本来衡量的。一条链的攻击成本有多高,它就有多安全。
区块链的共识节点提供的产品是安全,共识节点是网络服务的生产者。我们也知道,经济学里面有一个基本定律,在完全竞争市场中,生产者在均衡状态下的边际收益等于边际成本。也就是说,如果区块链的共识算法创造了一个完全竞争市场,提供多少安全,就需要多少生产成本:
攻击成本 = 安全程度 = 生产成本
想要提供多少边际安全,就需要付出多少边际成本。现在 PoS 告诉我们,我们可以提供等量的安全,但是只需要 10% 甚至 1% 的成本,你不会觉得很奇怪吗?为什么 PoS 这么容易就打破了经济规律?
一种情况是,同等安全程度的PoS需要的实际成本是一样的,只是一部分被隐藏起来了。以 DPOS 为例,如果你想要做 Validator,就需要通过某些方法搜集足够多的票投给自己,进入前 X 个 Validator 的列表才行。搜集足够多的票的成本是多少呢?这个成本对于不同的人/机构是一样的吗?如果不一样,这是一件好事还是坏事呢?这个成本是一个公开信息吗?如果不是一个公开信息,这是一件好事还是坏事呢?
我很喜欢一句话:
Financial institutions make people feel safe by hiding risk behind layers of complexity. Crypto brings risk front and center and brags about it on the internet.
而把成本以最清楚的方式公开在所有人面前,正是 PoW 的特点。
PoS 不是真正的 Permissionless
还有一种情况是,PoS 没有创造一个完全竞争市场。
在 PoS 中,未来的共识群体是由今天的共识群体决定的。任何新的节点想要参与共识都需要通过至少一个交易来实现(e.g. 抵押,投票,etc.),而这个交易是否被处理是由今天的共识群体决定,他们可以处理这个交易,也可以不处理这个交易,如果不处理这个交易,新的节点永远都无法参与共识。同时,「不处理交易」是容易伪装而难于惩罚的行为,我还没有看到能在共识协议中解决这个问题的方案。PoS 往往是根据 Stake 的权重来分配出块比例(和节点数量没关系),考虑到大部分系统中 stake 的集中程度,这是一个非常实际的问题。
PoW 是彻底的 Permissionless。无论什么时候,只要你愿意,都可以买矿机和电力加入出块者的行列,不需要今天的矿工给你任何形式的许可。你也许会说,我还是需要购买矿机和电力呀,这是不是一种形式的许可呢?是的,从更低一层来说,这也是一种许可。但遗憾的是,在所有的 Proof of XXX 中,这已经是最去中心化的许可形式了,毕竟矿机生产和电力资源的去中心化程度远高于各种 Tokens。我们总是应该追求尽可能的去中心化,否则用回中心化系统就好了。
或许又有人问:如果设计一种不需要向链上发送任何交易,只要 Token 放在那里就可以参与共识的 PoS,不是就解决了你说的问题吗?
这会带来两个问题:
1、如果 Token 放在那儿就能参与共识,意味着用户对参与共识没有任何承诺,不参与共识也没有任何成本和惩罚(用户可能根本都没上线),这样的共识是很难设计的;
2、会有 Nothing at Stake 的问题,这里不再多言。
Layer 1 必须用 PoW
Layer 1 是加密经济的基础,承担 Layer 1 角色的区块链必须是一个无需许可的网络,因为 Layer 1 必须是全球共享的、中立的设施,就像互联网,而需要许可“则意味着它是受到某一群人控制的,与这个目标是根本冲突的。从上面的分析我们可以得出一个结论,如果我们希望 Layer 1 尽可能的去中心化和安全,Layer 1 就只有PoW 一个选项。PoS 不是不能用,只是不适合 Layer 1。
关于 PoW vs. PoS,讨论仍在继续:https://talk.nervos.org/t/pow-vs-pos/1732