为什么选择 PoW

CKB 选择了 PoW,很多人表示了质疑和不理解,我觉得可以我们梳理一些常见的对 PoW 的看法和误解,并说明为什么 CKB 最终会选择 PoW。

PoW 是否会造成能源浪费?

PoW 的确依赖大量的能量消耗,从事的是一种几乎没有任何其他价值的哈希计算,竞争寻找特征随机数的过程,所以多人调侃 PoW 的矿机的唯一用处是冬天可以取暖。这是从实用主义,环保主义的角度来看待 PoW 和能源消耗之间的关系,其实 PoW 消耗的能源以另外一种形式储存下来,并且储存的价值还可以被放大。

我想用传统的黄金来举个例子,黄金在工业领域和作为装饰品,有一定的使用价值,但非常有限。全球各国耗费巨资开采出来的黄金,都作为战略储备储藏起来。消耗这么多的能源去开采没什么使用价值的黄金,却成为了国家信用货币的支柱之一 (https://www.zhihu.com/question/20114997/answer/242402622)。所以黄金开采中的成本被储藏到了黄金内部成为其价值的一部分,于是黄金通过其具有的战略意义,其价值被放大了。

跟黄金一样,通过 PoW 机制产生的代币,每一枚代币内部其实内聚了产生这枚代币的能源价值,同时由于区块链提供不可篡改和伪造机制,我们可以用近乎零成本的方式去证明一枚代币的真伪,并对产生这枚代币需要耗费的能源的价值达成共识,这个共识的成本极低。这个时候通过 PoW 产生的代币具有了储藏价值的资产属性,当我们基于代币的天然信用支撑起全球的经济体,在这个经济体内我们可以用代币交易,支付,清算等等,这个过程其实是一个把 PoW 消耗的能源价值放大的过程。

用区块链去构建全球的金融基础设施,其成本、安全性和实效性相对传统金融基础设施,尤其是在跨地域实时达成共识方面,有不可比拟的优势。而这种共识用传统的方式达成的成本,其实极高。所以被 PoW 消耗能源的价值潜力挖掘出来并放大,相对于传统方式,其实是更加的节约和环保。

多种 PoW 最终会不会通过竞争收敛到只会存下一种?

从过往历史来看,不断有 PoW 链消亡,也不断有包含新特性的 PoW 链诞生。我不认为 PoW 最后只会剩下 BTC,理由是 BTC 本身是一种纯粹的基于 PoW 的资产,价值储藏能力无出其右,除此之外,BTC 并没有其他任何特有属性。

反观其他新诞生的基于 PoW 的链,几乎没有一条重走 BTC 的老路,因为走 BTC 老路最好的方式是硬分叉 BTC,或者用 BTC 的源码自己跑一条独立的链,走这条路的成功者寥寥,在我看来只有 LTC,BCH,BSV。而其他发展出自己独立特性的 PoW 链,比如注重隐私的 ZCash,Grin,比如带来了智能合约的 Ethereum 1.0,还有 Nervos CKB 发展出一套分层架构解决扩展性问题,这些链不是都发展的挺好么?

问题可以变换成所有带有自己独立特性的 PoW 链最后会不会都消亡,只剩下没有独立特性的 BTC?如果这个问题真的能成为现实的话,那么我只能说这个世界实在是太无聊了。

PoW 和 PoS 孰优孰劣?

这个问题看场景,如果你要解决的是多资产安全性问题,以及达成最广泛的全球共识,并且这个过程没有审查,准入许可,那么 PoW 是你的唯一选择。如果只需要在一个较小范围内,有限的节点之间达成共识,并且提供极高的性能,那么 PoS 是最佳选择。

在 Nervos Network 中,分底层和应用层,底层注重安全和去中心化,所以选用的是 PoW,而上层应用层注重性能和用户体验,PoS 是理想的选择,所以在 Nervos Network 中,是可以把两种共识算法融合,互相发挥长处。

PoW 链最终走向的格局是什么?

PoW 的最终格局是支撑一个市值庞大的多资产价值储藏网络。在这个网络中,矿工通过 PoW 参与挖矿贡献算力来保证网络安全性,这个过程其实是不断把外部能量注入到网络中,并作为价值储藏起来的过程。由于 PoW 能提供极致的安全性和去中心化,这是区块链信任的根源,并且可以通过时间累积不断扩展其信用规模,最后的终局是全世界绝大部分能发行到区块链的资产,最后都会由 PoW 来承载,以及所有参与 PoW 的矿工,会在全世界寻找成本最低廉的能源,而这个过程会推动全球能源资源的更高效合理分配。

Nervos 为什么会选择 PoW?

引用一篇 Nervos CKB 的首席架构师 Jan 写的文章,在这篇文章中,他通透的解释了为什么 PoW 是作为底层公链的唯一选择,作为底层基础设施,承载多资产价值储藏网络,要的是最大限度的安全性和去中心化,而只有 PoW 能够达成。

原文链接:https://talk.nervos.org/t/nervos-pow/1639/

关于 PoW 和 PoS 的误解太多,想要在一篇文章中讲个明白实在是一个极高难度的任务,所以这里只简单讨论两点,一个是从经济学上思考 PoS 给出的美好承诺是否可靠,另一个是 PoS 本质上是一种许可机制。之所以拿这两点出来是因为很多讨论非常纠结一些技术性的细节,忽视了这两个根本性的问题。

成本悖论

区块链技术提供的价值是去中心化的安全,而安全是可以用攻击成本来衡量的。一条链的攻击成本有多高,它就有多安全。

区块链的共识节点提供的产品是安全,共识节点是网络服务的生产者。我们也知道,经济学里面有一个基本定律,在完全竞争市场中,生产者在均衡状态下的边际收益等于边际成本。也就是说,如果区块链的共识算法创造了一个完全竞争市场,提供多少安全,就需要多少生产成本:

攻击成本 = 安全程度 = 生产成本

想要提供多少边际安全,就需要付出多少边际成本。现在 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。