爷青回!
时隔一年零七个月,针对区块链技术的中文播客节目 Fork It 终于更新啦!
Tornado Cash 被制裁,以太坊即将升级到 PoS,超过 66% 的信标链验证者将遵守 OFAC 规定…以太坊升级后,可能会面临协议级审查吗?如果会,这将意味着什么?如果是 PoW,会不会有什么不同?
这一期 Fork It 播客节目,主播 Terry(Nervos 联合创始人)邀请到了 Nervina Labs 创始人 Cipher 来深入地聊一聊 PoW 和 PoS 的话题。
以下是 @字节君 整理的文字稿(删去了与主题无关的新加坡见闻和最后的好物推荐),全文将近 1.8 万字,建议先收藏再阅读 : )
1、开场介绍
Terry:大家好,这一期我们要讨论一个你可以认为是老生常谈的问题,PoW vs. PoS。由于最近发生的一些事情,像 Tornado Cash 被封杀,以及以太坊升级为 PoS 即将到来,PoW 和 PoS 又变成了一个非常热的话题。这一次我们请到了老朋友 Cipher 来和我们一起来聊一聊这个话题。Cipher,给大家打个招呼吧。
Cipher:大家好,我是 Cipher。
Terry:虽然 Cipher 是老朋友了,但还是可能有新的听众,希望你能先聊一聊你的整个区块链入坑经历。
Cipher:我其实算老人了,不是特别老的老人。我大概是 2013 年左右开始玩比特币,看过白皮书,但谈不上信仰。当时,我自己用 Python 写了量化交易的机器人,然后从大概几千块钱赚到了二三十万。当时也在创业,在做其他项目,所以只把比特币当成一种很方便的 T+0 投资品。
Terry:我插个问题,是你太 NB 了,还是那个时候的对手弱?
Cipher:那个时候对手太弱了,几乎没有任何交易机器人。我的策略特别简单,就是连续两个上涨我就买入,连续两个下跌就卖出,就这样都能赚钱。大概有两三个月时间的窗口,然后就不行了。由于国家的政策,包括各方面的原因,我就不玩了。
我到 2016 年才算正式地开始进入区块链行业,当时做联盟链相关的研究和产品,后来加入公链项目,直到去年开始做独立的 NFT 项目。今年我自己又发起了一个新项目,并且来到了新加坡,准备大干一场。
Terry:Cool!今天,我们要聊 PoW 和 PoS 的对比,首先给大家介绍下背景。最近有一件大事,Tornado Cash 这个协议被美国财政部外国资产控制办公室(OFAC)下令封杀了,其中一个核心开发者还在荷兰被捕了。这事闹得挺大,一些中心化的合规机构,包括交易所、钱包,甚至某些区块链应用的前端,也参与封禁与 Tornado Cash 交互过的地址。
另一个背景是以太坊主网即将合并,共识机制将升级为 PoS。
第三个背景,是目前看起来有超过 66% 的信标链验证者将遵守 OFAC 规定,这就不得不让人产生一些联想。有人发起投票,说合规机构未来有没有可能会在 protocol level 对以太坊进行审查。于是乎,关于 PoW 和 PoS 的讨论又热了起来,因为两者在对待 protocol level 的审查有很大的区别。
在这样的背景下,聊一聊 PoW 和 PoS 很有必要。我发现很多人对 PoW 存在很多误解,所以这也是一个澄清的契机。
2、PoW 和 PoS 的关系
Terry:首先,我们把范围限定在 layer 1,因为超出这个范围可能有不同的抉择。Cipher,你认为我们未来的 global money 应该基于 PoW 还是 PoS?你认为 PoW 和 PoS 的关系是什么?是一种进步,是一种倒退,还是说它们不存在进步或是倒退的关系,而是像左和右的关系,萝卜和青菜的关系?
Cipher:我认为它们是两种路线的选择,不存在进步或者退步。
首先,我要澄清的一点是 PoS 和 PoW 都只是区块链出块权的一种筛选机制, 就是我选出谁有权利出块,它们并不是共识机制的全部。共识机制至少还要包含同等重要的,比如说分叉后的选择算法,奖惩方案,等等。
单纯从出块权筛选这个点上,PoW 的出块权本质上来自于算力、能耗、芯片、产能、电费,当地的某些政策,等等,这些都是外在的因素。你会发现这些跟链本身没有太多的关系,它们都是链外的。PoS 的出块权是来自于代币的分布,初始分布是什么,后续的分布是什么,增发的比例是什么,等等。这些都是链上的因素。
讲到这里,大家就很容易理解,PoW 和 PoS 完全不是谁取代谁或者谁先进谁落后。这明显是两种路线,一种是依赖链外的某些东西来确定,另一种是依赖链上的某些东西,都是为了不同的应用场景。
我几年前写过一篇文章,叫 《Ming 向左,Staking 向右》,正好也是用左和右去描述公链的不同,所以我比较同意 PoW 和 PoS 更像是左和右的关系。
3、第一类公链 vs. 第二类公链
Terry:我依稀记得你在那篇文章里提到了 “第一类公链 ”、“第一类公链 ” 的分类,你能介绍下它们的概念吗?
Cipher:区块链有两种典型的应用场景,一种场景是做抗审查,类似于比特币原教旨主义,就是要把财产权牢牢地握在自己的手里,只解决这个最核心的问题。至于它上面能不能做丰富多彩的应用,能不能做 DeFi,能不能支撑百万 tps,不是首要考虑因素。这是公链的一个方向。
第二个方向,我们称之为开放金融,不一定是去中心化金融。相比现在的金融体系,开放金融已经是一个非常革命性的东西了。我们可以在上面做之前 impossible 的金融的应用,第三方可以加到货币系统里面进行操作,所谓的 DeFi 这套东西能够极大地提升生产效率和金融的效率,但是它可能并不那么关心是不是抗审查,它甚至可能会拥抱监管。
简而言之,我说的第一类公链,主要解决怎么抗审查的问题,第二类公链主要解决全球的开放协作问题。 这两类公链能不能合并?有可能合并,但它们一定在不同的层。如果你非要让它们都在同一个层,比如说在 layer 1 去解决,目前我没有看到这样的技术,或者说非常难,一定会有取舍。
Terry:我想 Cipher 你在写这篇文章时,肯定也把以太坊归类到第一类公链吧?
Cipher:是的,至少以太坊和 Vitalik 对外宣传的理念,是往第一类公链去偏的, 但结果上以太坊还是偏向第二类公链,结果其实更重要。
Terry:所以,以太坊升级为 PoS 后,就很有可能是第二类公链了,对吧?
Cipher:对。以太坊现在为什么有这么多的争论,就是因为路线选择的问题,它本质上不是一个技术问题,是个路线选择的问题。 包括以太坊 EIP-1559,也有很多争论。你会发现,EIP-1559 并没有真正地提升 tps,也没有降低 gas fee 之类的,它只是把矿工的权益削弱了。它其实也是一个路线选择,更多的是政治上的东西。
4、第一类公链,选 PoW 还是选 PoS?
Terry:我们之前把话题限制在 layer 1,并且要做 global money,做你上面提到的第一类公链。在 PoW 和 PoS 之间,我想你也更倾向于选择 PoW 吧?聊聊你的看法?
Cipher:对。我需要大家先思考一个问题:区块链提供的核心价值究竟是什么?或者说,区块链真正解决了什么样的问题?
这个问题其实在 DeFi 大规模出现之前,被频繁地讨论,因为在那个时候区块链可能只有支付的功能,但支付功能由于种种原因又被很大程度地削弱了。比如,大家把比特币当 SoV(价值存储),不太愿意去支付,那就没有应用,大家会反复说 “我为什么要用比特币”。
这两年大家的焦点都在应用层,NFT、DeFi 等大规模出来后,大家好像不太关心这个问题了,但事实上它是整个区块链世界最基础的问题之一,是元问题。这个问题没有想清楚,或者没有讨论清楚,实际上后面做的很多事情都是空中楼阁。
我们时光倒退到几年前,你会发现从那个时候开始,区块链就有很多的特征、标签,比如说什么是区块链,区块链是不可篡改的公共数据库,全球计算机,等等。这些标签都是对的,但是缺了一个关键的定语,那就是无需许可。区块链是一个无需许可的、不可篡改的全球公共数据库,无需许可的全球计算机。
如果你摘掉了 “无需许可” 这 4 个字,你会发现你不需要用区块链去实现刚才说的那些点,不可篡改,我用哈希数字签名就可以做到,全球计算机,Amazon 或者一些开放的 API 就可以做到。“无需许可” 只有区块链才能做到。
我个人认为区块链系统是人类发明的第一个,目前也是唯一一个,无需许可的开放系统。 其他的系统都是需要许可的,都是需要比如说拿身份证去办理,或者是有人给你开个账号,等等。所以,我认为除此以外,像性能、隐私、跨链、分片、 NFT 等等,这些都是区块链技术基础之上的高楼大厦,这个基础你要先打牢固。
PoS 其实在很多方面都胜过 PoW,比如说它的性能会更好,能耗会更低,等等。但是你去看所有的 PoS 支持者,哪怕是最激进的辩护者,他们也不得不承认,在无需许可方面 PoW 更强。 PoW 的准入门槛更低,任何人都可以发交易。PoS,由于种种原因,它会把无需许可性削弱。所以,在我看来,PoW 守住了无需许可这条理想主义的底线,但是它也不得不做出牺牲。
PoS 在追求实用性的道路上越走越远。 早期的 PoS 项目,它们不能做 delegate,后来才能做,再后来逐渐地出现了像 Solana 这种偏中心化的 PoS 链。你会发现,它们逐渐地回归到了传统金融的那种运行模式。
在我看来,PoS 更像下一代的央行或者是华尔街,只不过它的系统变得更开放了。 更开放指的是所有人都能够访问,都能够读取数据,但你是不是能够真正地写入数据,以及在写入数据的时候会不会被审查,这些它没法保证。
PoW 始终代表一股反抗金融压榨的这种颠覆性力量。 至于什么叫金融压榨,为什么会有金融压榨,大家可以去维基百科搜一下 “坎蒂隆效应(Cantillon Effect)”,跟货币增发有关的一个效应。
所以,我认为 PoW 或许永远不会成为主流,因为它的性能会受限,它可能非常硬核,但使用起来会比较麻烦。但是,如果说去中心化的世界里,只有 PoS 活了下来,我会觉得非常无聊,所以我是力挺 PoW 的。
5、PoS 矿池更倾向于拥抱监管和审查交易
Terry:刚才你提到最激进的 PoS 辩护者也不得不承认,PoS 在 Permissionless 上有所妥协。但我就听到很多人不这么觉得,他们觉得在这方面没有任何的妥协。Cipher,你能举一些例证来说明这一点吗?
Cipher:我们都知道 PoW 和 PoS 都有 “矿池” 这个概念。你只需要把算力委托给它,或者 stake 给它,矿池它会帮你去做出块。曾经有一段时间,有人想做一个反矿池的 PoW 或者 PoS 算法,后来都失败了,因为从技术上是不太可能实现的,从利益上也没法实现。一个系统发展到一定程度之后,它一定会有分工, 有人出算力,有人出打包区块的服务,有人出 stake,有人提供 delegate 服务,这些都很正常。所以 PoW 和 PoS 都有矿池。
很多人会说:“那 PoW 和 PoS 在去中心化方面一样啊,都有矿池,矿池都可以被干掉。” 事实上并非如此。
比如 PoS 矿池,前面 Terry 你提到有超过 66% 的信标链验证者将遵守OFAC 规定,他们愿意接受监管,为什么?因为 PoS 矿池更有可能是交易所、金融机构、钱包。 这个逻辑很简单,因为他们拥有大量的用户的代币,对吧?我要充值到中心化交易所去交易,自然中心化交易所就持有了大量的 stake,它就可以马上变成一个节点去出块,或者是作为类似矿池的角色。作为第三方,你也更愿意信任这些节点,因为这些节点跑不了。
PoW 矿池可能也跑不了,但是如果算力不喜欢这个矿池,它可以随时切换。对于 PoW 算力而言,它切换矿池的成本是非常低的, 它今天可以用 A 矿池的服务,明天可以用 B 矿池,后天可以切换到 C 矿池去,只需要改一下 URL 就可以了。
PoW 矿池的结算周期也非常短,可能是日结甚至更短。由于 PoS 的机制设计,PoS 矿池 staking 结算周期就比较长了,可能是 30 天之后你才能撤走。这种情况下,用户一定会倾向于选择 reputation 比较好的那些 PoS 矿池。所谓 reputation 比较好,就是它跑不了,跑不了不就是要去监管吗?事实上,这些节点也更愿意去拥抱监管,因为他们本身就是华尔街出来的,或者是做金融生意的。拥抱监管对于他们来讲,没有问题,不会失去什么,反而会得到一些保护。
所以,从矿池这一个角度,你会发现 PoS 矿池天然就比 PoW 矿池更倾向于拥抱监管,更倾向于去审查你的交易。
这里插一句,很多人会反问:“拥抱监管为什么不好?儿童色情,恐怖主义,洗黑钱…这些事情就不应该去做。区块链也好,野生的金融系统也罢,早晚有一天需要拥抱监管,这样才能走进主流。“ 很多人持这样的看法,这个看法的错误在于,当你拥抱监管的时候,你拥抱的究竟是哪里的监管? 美国的监管,俄罗斯的监管,朝鲜的监管,还是伊朗的监管?问题在于,这些监管往往是冲突的,这就会产生很多的问题。
在我看来,这些都是 PoS 的问题。
6、协议级审查,对以太坊而言意味着什么?
Terry:接下来,我想结结合一下 Tornado Cash 这件事情。假设现在是以太坊合并之后,“If regulators ask you to censor at the Ethereum protocol level with your validators“,这里强调的 censor at Ethereum protocol level,我觉得有两种可能。一种可能是,这些 validators 不准、不会去打包比如包含与 Tornado Cash 有交易的包;另一种情况是,虽然这些节点不打包,但总有别人打包了这样的区块,这些 validators 不接受。第二种情况就可能意味着要软分叉了。第一种情况,说实话,在我看来它都不属于 protocol level。Cipher,你怎么看这两种情况?你觉得第一种情况属于 protocol level 吗?
Cipher:我认为只要干预到共识,干预出块,都算 protocol level。
Terry:你觉得这两种情况都算?
Cipher:对,因为你干预到它的出块了。哪怕只有一个节点干预了这个出块,其他人正常出块,其结果依然是干预了出块,因为没有干预的话,可能出块速度更快,或者是能更快地响应你的一笔交易。如果你这笔交易是做资产清算,没有得到及时的响应,可能也会对你造成很大的损失。
Terry:那我们就把这两种情况都算作 protocol level 的审查吧。在这样的基础上,我们再接着讨论问题。如果这种事情发生了,你觉得对于以太坊而言,意味着什么?
Cipher:这是一个很有意思的讨论,这件事儿很有可能已经发生了,只是我们没有感知。 Censorship 的一个严重性,就在于如果做了审查,某个人的交易发出来,所有其他节点都不给他打包,这件事情你是没法察觉的,第三方是没法察觉的。你自己可能知道我这笔交易为什么迟迟不上链,迟迟不被确认,但是第三方可能没法察觉,因为第三方没有任何渠道能看到你的这笔交易。
如果这事儿发生了,我们做一个合理的推论。首先,各国政府或者各级政府都有可能下达封杀令,这个时候有一个问题,你要听谁的命令?你是听所有的政府的命令吗?还是听一部分政府的命令?
比如说,俄乌冲突的时候,美国说俄罗斯是不好的,俄罗斯则反过来。发生冲突的那段时间,我正好在泰国,有很多俄罗斯人滞留在泰国,他们的信用卡突然就用不了了,很崩溃。未来如果说 protocol level 被审查的话,很容易随时会发生比如所有 A 国人的以太坊账户都不能用了,因为 B 国对 A 国下了封杀令,然后 A 国也开始对 B 国下封杀令。这种情况就很尴尬,对吧?
第二种情况,那就是区块链可能变成华尔街了,上面跑的是金融应用,这些金融应用都要合规,合规就意味着你现在的这种匿名账户就不存在了。封杀是什么?封杀是黑名单制度,从黑名单制度过渡到白名单制度,是很自然的事情, 过去的中心化系统也是这样的。以前的中心化交易所,都是黑名单制度,你可以创建一个匿名账户,不需要 KYC 就能直接交易,但现在的中心化交易所,都是白名单制度,都要先进行 KYC,某些国家的人还不能通过 KYC 审查。
现在不是很流行 DID 嘛,可能几年之后,你必须要有一个链上 DID 才能玩区块链。DID 可能用了零知识证明或者其他来保护隐私,不被第三方知道,但权威方肯定有方法能够知道你的身份,这是很自然的,技术上也完全可以实现。当这些 DID 经过了各国政府的各种审查,或者被封杀令、黑名单过滤后成为了白名单,才能玩公链。这时候,公链就变成了联盟链,是一个滑坡。 你会觉得不可能,但是其实你会发现每一步都是很自然而然地会发生。
Terry:怎么有一种通往奴役之路的感觉?
Cipher:对,但也有人认为是康庄大道。
Terry:所以,在你看来,如果协议接受了这样的审查,或者我们往这个方向走下去,很有可能它只是一个略微变好,甚至没有太变好的华尔街,是这样意思吗?
Cipher:对,看你在哪个角度上讲。如果站在我在乎的 permissionless 的角度,那就只是略微变好。但在传统金融从业者的眼里,它其实已经非常好了,把整个金融系统真的公开出来,交易也更公平,确实提高了金融的效率。
很明显的一个例子,就是传统的美元和以 USDC 为代表的数字美元,从竞争优势上,数字美元已经完全跳过了像微信支付、支付宝支付这样的中间阶段,直接跳到了下一个纬度,确实是非常高效的一个金融系统。
Terry:我如果看到协议做了 censorship,会认为是非常可怕的事情,但我也看到一些人,他们认为审查挺好的,说不定还能融入主流社会。对此,你怎么看?
Cipher:我觉得很正常。首先,我也同意区块链需要融入主流社会,我也同意区块链在某种层面上需要接受监管,但是我不希望它是 layer 1 层面去接受, 原因是什么?刚才我也反复强调了,当你接受 censorship 或者说监管的时候,自然要问你接受的是谁的监管,而这些监管可能是冲突的,这其实隐含了一个更高的价值判断。
某一些基础的服务设施,不应该有价值观判断,不应该有对和错的判断, 比如说,水、食物、空气,或者说财产权。我们不应该说,这个人是坏人,所以他不能喝干净的水;这个人是坏人,他不能拥有自己的货币和资产。原因在于好和坏可能是相对的,不是绝对的, 当你说这个人是坏人的时候,可能别人认为他是好人。这就出现了一个问题,如果你说所有的坏人都应该在这个层面接受惩罚,在最基础的生活必需品的层面接受惩罚,那一旦你的判断出现错误,他的代价是极大的。
所以,这就是为什么我认为我们至少要在 layer 1 上,或者至少在某一条链的 layer 1 上,要保持绝对的自由权,公正,不受侵犯,或者说不受监管、不受审查。但是,我也同意可以在 layer 2 上或者是在其他层上,接受监管,拥抱主流。
7、如何看待节点接受审查?
Terry:有人向社区发起了一项调查投票,假设以太坊这些 staking service 都选择了接受监管,做 protocol level 的审查。在这种情况下,社区要做什么呢?这项调查的发起者给了两个选项,一个是说把这个行为当做攻击,我们就相当于是分叉,烧掉他们的钱,另一个是不把这种行为当作攻击。我发现 Vitalik 选择了前者,说我们要通过 social consensus 来分叉并干掉这些节点。我不知道你有没有关注这件事情,你对这件事情的看法是什么?
Cipher:我只能说 Vitalik 越来越成熟了。他的原话是这样说的,把 censorship 当作一种对以太坊攻击,然后 burn 他们的 stake,通过 social consensus 的方式。这句话如果不是 Vitalik 说的,而是其他人说的,肯定会被骂死,因为逻辑非常混乱。要通过 social consensus 去 burn 一个 stake,这件事情就不可实现,没有可操作性。
首先,什么叫 social consensus?没有定义。如果是社区投个票,或者大家决策一下,你怎么投票?你怎么保证这个票是准的?你这个票是上大家投的,链上跟踪的,但你的链已经不可信了,你的链已经 under attack,已经遭受攻击了,你怎么去做 social consensus?而且,就算你做成功了,你怎么保证它能够去分叉?
整个区块链社区,其实有非常好的制衡机制, 是可以做类似 Vitalik 说的这种 social consensus 的事情。比如说比特币社区,矿工、开发者、钱包、交易所,是相互独立的几个制衡力量。如果开发者做的 feature 矿工不接受的话,矿工是可以做硬分叉的,他们不 care 你的这样一个提交,整个社区是相互制衡的。
以太坊如果曾经也有的话,那这种很好的相互制衡的环境,已经被 EIP-1559 还有这次 PoW 转 PoS 消耗殆尽了,大家没有制衡力量了。 换句话说,现在以太坊社区根本就没有 social consensus 的发起能力,没有这样一个制衡力量。如果要发起,那最终结果是谁去发起?实际上还是 Vitalik,他站出来说这几个节点不行,我们把它们干掉。一定是这样,对吧?其他独立群体呢?如果你说是有更多 stake 的人,问题是这些有更多 stake 的人已经接受 censorship 了,要被干掉的就是那些大户,他们怎么可能自己反自己呢?不可能是大户,那可能是开发者吗?不可能是开发者,开发者做一个版本,那些节点可能不同意,PoS 节点可能就不采用了。所以,最终站出来的只能是 Vitalik,这个就很可笑,最后就没有共识了。
因此,用 social consensus 去 burn 一个 stake 这件事,就不可行。那为什么 Vitalik 要站出来选择第一个选项,因为第二个选项对他而言是不能认了的。节点去做 censorship,接受各个国家的监管,将某些交易列入黑名单,这些对于 Vitalik 而言,他是不能认了的,所以他只能表态支持第一个选项。
Terry:刚才你也提到了 social consensus,我当时的第一感觉是一头雾水,听了你的说法以后,好像你也不知道它是什么。
Cipher:我怀疑 Vitalik 也不知道。
Terry:我看到 Coinbase CEO 站出来表态,说如果以太坊的节点要做审查的话,他们就会关闭 staking service。虽然这事儿还没发生,但我觉得至少听起来他做的是一个非常高尚的选择。我想问的一个问题是,如果这事发生了,需要所有的这些 staking service 都做出非常高尚的选择,这是不是本身就是一个问题?
Cipher:没错。首先,我们要意识到一个点,对于矿工来说,抗不抗审查他们不 care,或者说他们不 care 自己符不符合监管。如果说监管方要求你得符合监管,你的矿场才能开下去,你的矿池才能开下去,你的 staking service 才能办下去,矿工他有什么理由真的去拒绝呢?好像没有。就像你说的,这是一个道德选择,不是一个经济选择。
区块链最大的魅力,在于它利用了所有人自私自利的这样一个心理,去实现了一个 public good。 你不能反过来要求每个人都是无私高尚的,因为有审查或者有什么不合理的要求,就不让他们赚这份钱了。我相信 Coinbase 是真心实意的,但这也没什么用,这样只会让出块权落入那些更恶劣的人的手里。节点去符合监管,没有什么损失,反而有很多的收益,为什么不这么做?
所以,这件事不是一个人能够扭转的。
Terry:以上的这些事情,如果发生在 PoW 上,情况会不一样吗?
Cipher:我觉得会不一样。有以下几点,第一点就是我刚才说的 PoS 矿池迁移的难度很大,或者说门槛很高,staking 周期很长,但 PoW 矿池不一样,他们的迁移成本很低, 今天这个矿池关了明天可以再开一个新的,所以他们去做一些道德选择的时候,就没有这么大的 cost。
第二个点,PoW 矿池和 PoW 矿工的分离更强。 矿工或者说矿场,他们接收来自矿池的任务,只做哈希碰撞,他们甚至都不知道这个区块里面的交易是什么。所以,PoW 矿工本身就没有审查这个概念,因为矿工根本没有拿到任何交易,他们只是拿到了一个区块链的哈希然后去碰撞、计算。从法律关系上讲,矿工是没有能力去审查的,他们不光没义务,也没有能力去审查,而矿池刚才说了可以随时切换。所以,PoW 矿工的身份很草根,如果 A 国的矿池要审查交易,他可以选择 B 国的矿池、C 国的矿池,总有矿池给你随时切换。这是很重要的一个点。
我觉得这个是最关键的原因,从审查难度上讲,你要对 PoW 进行审查,其难度远高于 PoS 的。
还有一个问题,可能也跟以太坊本身有关,或者说跟比特币的模型有关。比特币是 UTXO 模型,它的地址可以随时变,所以审查的难度很高,因为审查它往往是滞后的, 给你一堆列表说这堆地址你不能怎么样,但是给你列表的时候,可能在 UTXO 模型里面每一个地址又分出去很多地址,很难追踪。前面说的美国财政部外国资产控制办公室(OFAC),在几年之前就对比特币的一些地址做了审查的要求,事实上也没有产生任何实质性的影响。
以太坊还有一个额外的问题,是 MEV 的问题。 MEV 指的是最大可提取价值。我也是最近看了一些资料才了解到,现在以太坊出块的中心化程度其实非常高,甚至大部分的区块都是由一个地方来决定的。在矿工这一层上面又多了一层,叫做 Flashbots 层,它会把 MEV 的交易都集中在一个中心化服务器里面,做好排序,做好这个区块应该打包哪些,算出最佳收益,然后再把它分发给那些矿池,让矿池去出块。其实,只要 MEV 的 Flashbots 接受监管,中心化就非常的严重。
最新的一个信息是说 Flashbots 公布了自己的源代码,任何人都可以建一个开源的 Flashbots,然后在 Ethereum 2.0 里面去解决这样一个 Flashbots 中心化的问题。但这其实有违 Flashbots 的原理,因为它的原理就是通过中心化来解决大家恶意的交易手续费竞争问题。多个 Flashbots,就又回到了无序竞争,并没有解决问题,为了问题最终一定会再回到中心化的。不过,这是 Account 模型的问题,是以太坊自己的问题,不是 PoS 的问题。
Terry:关于 Flashbots,我前段时间和朋友聊了一下,他们觉得是有去中心化的可能性。因为在 Flashbots 出来之前,其实大部分矿池已经有类似的接口,可以让你去匿名地投递一笔交易,这个很多科学家在用,因为科学家怕被别人夹了他的交易。但是后来矿池自己搭建的这一套模式也好,API 也好,还没有被大范围利用起来,就被 Flashbots 给抢占了,倒逼矿池必须去接 Flashbots,否则就会损失很多科学家支付的手续费。如果未来 Flashbots 开源后,矿池觉得又可以自己架设了,那么有可能回到科学家直接给矿池匿名投递的情况。这个先聊到这里,以后可以请更专业的人给我们讲解。
我在想,矿工的收益会不会也是一个让矿工更积极主动切换矿池的动力。如果某些矿池要过滤好几类交易,那被过滤的这些交易所支付的手续费,矿池就收不到了。所以,这种情况下,矿工会不会切换到不需要去审核的矿池中去?
Cipher:这倒也是。如果有审核的压力,可想而知那些被审核的交易者,他们会愿意支付更高的手续费来吸引矿工优先打包他们的交易。对于那些接受审查的矿池来说,就损失了这部分更高额度的手续费。所以,这对于 PoW 矿工来说也是一个吸引。但对于 PoS 矿池,他们有 reputation,更愿意接受监管,多收一点手续费相比被监管机构盯上的风险,他们肯定会选择不打包那些交易。
Terry:所以他们在这个问题上是不等同的,对吧?
Cipher:是的。
8、PoS 的硬伤
Terry:OK,基于这个新闻事件我们就聊到这,接下来我们可以更 general 地聊一聊 PoS 和 PoW 的一些问题。当然,你也表明了观点,你是站在 PoW 一边的。我想问下,从更 general 的角度来看,你认为 PoS 有什么硬伤吗?
Cipher:PoS 其实有很多硬伤,但是都被很巧妙地回避了,或者大家就不谈了。有一些是跟共识有关的,我可以说一个最简单,也最容易理解,但目前来说是无解的硬伤。
我们都知道,PoS 的安全性来自于有多少比例的 native token 被 stake 了。 举个极端的例子,假设以太坊 2.0 只有万分之一的 ETH 去质押挖矿或者说出块,那理论上我用万分之 0.6 的 ETH 就可以攻击了,对吧?我可以做区块重整攻击,万分之 0.6 当然没有太多的钱了,可能只要几千万美元就攻击掉了,所以它的安全性就很低。
质押得越多,安全性越高,那么问题就来了,我为什么要质押呢?是因为有增发,对吧?有利息,那利息是多少呢?这里就产生了一个问题,利息不论是多少都有问题。比如说,利息很高,20%,年化 20% 的收益已经非常高了,但是我们知道 DeFi 的收益率,刚开始很容易达到百分之几万,百分之几十万,虽然维持的时间不长,但是维持在 20% 以上,超过两、三个月时间,还是很容易的,很多 DeFi 都可以做到这一点。
那问题就来了。对于一个理性的投资人而言,他为什么要关注 public good 呢?对于一个理性的人而言,他不会去 stake 到 consensus 上,他会去 stake 到 DeFi 上。这就意味着,如果大部分人都是理性的话,大部分人都会质押到 DeFi 里,而不是在你的底层协议里面。这就变成了一个头重脚轻的结构,最终可能脚上面只有很少的 stake,然后上面是大部分,一个很重的头,这个就特别容易遭受攻击。
为什么这种攻击实际上短期内不会出现?因为以太坊基金会和一些早期投资人,他们把币质押在 consensus 里面。但只要 DeFi 的利率一上升,你就可以想象会有大笔的钱跑过去。这件事最早是一位以太坊专家发现的, 他还专门写了一篇文章。很有意思的是,他最后还给出来一个结论,说为了防止这种攻击或者这种问题,consensus 业务的年化利率一定要比 DeFi 高。
Terry:这是不可能的,对吧?
Cipher:对,这是不可能的。这是一个非常容易理解的硬伤,你不需要理解共识机制,什么都不需要理解。
Terry:是的,我好像也没想到这个会有什么解。
Cipher:这是没有解的。
Terry:OK,你知道我是什么感受吗?在 PoW 里面,假设发生同样的事情,DeFi 越繁荣,生态应用越好,价值捕获非常好的时候,币价肯定是上升的,对吧?币价上升,算力一定是增长的,所以它是一个正向的关系,也就是我的网络越繁荣,我的链越安全。这是这个协议决定的。刚才我听你的描述,PoS 正好相反,越繁荣反而安全性是会下降的,因为我愿意把我的钱投到其他地方去。
Cipher:对的,这是 PoS 本身的问题。
Terry:负向激励,非常有意思。
Cipher:对,这是一个问题。
第二个问题,就是说 PoS 引入了一个额外的主观性,Vitalik 称之为 “弱主观性”。 我简单介绍一下,它跟一种叫做 “长程攻击(long range attack )” 的 Pos 攻击有关。这个长程攻击是什么意思呢?在 PoW 链上,你要伪造一条或者是重构一条链,实际上是很难的,因为你要把每一个区块的算力计算重新算一遍,难度很大。比如说,你租用了矿场的算力,比特币平均每 10 分钟出一个区块,你去出块的时候,可能真的需要 10 分钟甚至更长时间。
但 PoS 不一样,我可以定每三秒出一个块,或者慢一点,一分钟一个块。我不论定多长时间,这个时间对 PoS 是没有意义的,只要你有 stake,只要你有币,你就可以在一秒钟内伪造未来,比如说 1000 个区块或者 1 万个区块,反正直接放空块就可以了,我总是可以做出来的,因为实际上都不需要去做,只需要做数字签名就行了。区块签名非常快。
长程攻击是什么意思呢?比如说,我是上一批出块人,质押了 1 万个币,然后有权利出块,出完块之后,把币卖掉,退出出块权。一万个区块之后,我突然做一件事情,用自己的私钥重新签 1 万个区块之前的那个区块,从那个区块开始再重新拉一条链出来。一个个区块之前的那个区块,我是有币的,有权利出块,再重新铺 1 万个区块,这时候就出现了两个分叉,从 1 万个区块之前的那个区块开始分叉。
这两个分叉可能就是两种不同的结果,这个时候对于一个用户来讲,或者对一个新的区块链节点来讲,他没有办法判断哪条链是正确的链,这就是长程攻击。他完全没有办法,没有一个客观的指标说哪一条链是对的,因为信息签名人都是一模一样的。
所以,你会发现 PoW 没有这个问题,因为像比特币,基本上 6 个区块之后就很难逆转了,因为我真的需要这么长时间才能碰撞出哈希,我真的没有这么大的能量去算。如果真的要去攻击 PoW,我可能要花好几倍的钱才能伪造出来,所以我不可能做这件事情。
那么,PoS 是怎么解决长程攻击的呢?就得引入所谓的弱主观性,每隔一段时间我在 GitHub 或者某个地方发出公告,公布比如说 1 万个区块之前的那个区块长什么样子,让大家记住就是那个样子,以后别人再说别的大家不要相信,这就是弱主观性。然后再过 1 万个区块,再发布一下,从这个区块开始我们就认这个了,以此类推,这就是弱主观性。
为了解决长程攻击,产生了几个问题。第一个问题,就是谁有权利发布 check point?如果发布 check point 的本身就是一位长程攻击者呢?你可能会说他不是一位攻击者,因为是 Vitalik 或者以太坊基金会发的,so what?他们就不能成为攻击者了吗?这是无解的,长程攻击和弱主观性的引入也是无解的。当然,如果你认为它不是个问题,那就不存在有没有解这个问题了。
以上是 PoS 的第二个问题,第三个问题叫做 nothing at stake。
在比特币里面,你要在同一个高度同时出两个块,造成别人的混乱,是很难的,因为你出一个块平均就要 10 分钟,就要这么多的能量,所以同一个人在同一个地方同时挖两个块,这个事情很少存在。但是,在 PoS 里,出块是 0 成本的,所以它完全可以同时在两个分叉上去出块,这个可能是恶意的,也可能不是恶意的。具体细节我就不讲了,解决方案是什么?解决方案就是,当你同时在两个分叉上同时出块,系统就要惩罚你,罚没你的押金。
到此为止,这个问题已经解决了,但是为什么说它还是个问题呢?因为系统要罚没押金,就意味着 stake 需要押金,需要有解锁的时间,因为 stake 有解锁的时间,而且这个解锁时间还不能太短,就会进一步导致一个问题,也就是刚才说的 PoS 矿池没办法快速切换。这意味着,我不愿意去信任那些新的节点。如果一个新的节点站出来说,我是个 PoS 矿池,大家都来找我,但是质押的时间是一个月的话,节点可能就跑路了,质押的利息全被节点吃了。所以,这就产生了 reputation 的问题,大家因为无法快速切换,只能找那些有信誉的,就导致这些节点更愿意接受监管。这是一连串逻辑。
Terry:所以,没有办法只改一个地方?
Cipher:对,没有办法只改一个地方。
Terry:OK,你觉得比如说审查 stake 交易,它在 PoS 里面是一个问题吗?
Cipher:对,这也是一个问题,一个很大的问题。可能有人会说,PoW 也这样啊,你有算力你就可以一直赚钱,你也是垄断,等等。其实这个论断是不对的。你去看历史上比特币矿池的变迁,算力比例的变迁,其实一直在变,为什么?因为新的矿机,新的各地不同的监管,以及由于季节和基础设施的原因,不同地方有不同的电费,使得矿池的排名一直发生变动。
PoS 不是这样的,PoS 其实只要你有这些 stake,你就可以一直出块,一直赚钱。就是说,一旦你是老大,你就永远是老大。PoW 不是这样,你的矿机需要更新,下一次新的矿机你没买到或者没有买对,或者你的矿场没有迁移到更低成本的地方,你就落后了,你就被别人取代了。如果我就是砸钱,花很多钱投资建厂,花更高的价钱买矿机,我就可以拥有 PoW 更多的出块权。PoS 则不是这样的,你一旦有这么多比例的币,你就永远有这么多,甚至更多,因为出块后,新的增发会按比例奖励给你。其他没有质押的人,是没有按比例得到激励的。
如果你一直 stake,就会导致流动性更差,变化更小。原因是什么?一旦这些人真的掌控了,形成了类似托拉斯这种概念,掌控了整个出块权的话,哪怕有一个人从散户那里收集到了足够多的币,足够多的 stake,他要去出块,第一步就是要把币质押到这个协议里面,这样才有权利出块,对吧?他一定要先去做质押,而质押交易本身是一个链上交易,而链上交易刚才说了是可以审查的。如果这些形成托拉斯的人,就是审查你这笔交易的人,就会导致哪怕你有比他们还要多的币,你就是没有办法去 stake 成功,没有办法成为出块人。这件事在 PoW 中很难做到,因为我总可以买到更好的矿机,总可以找到更多的电力。
这其实是一个很大的问题,但这个问题短期内我觉得是不太能撞见的,但可能 5 年甚至更久,长期我觉得是有可能的。
Terry:你觉得有什么解决方案吗?Social consensus?
Cipher:没有解决方案。
9、对 PoW 的几大误解
Terry:那你对 PoS 和 PoW 的性能问题怎么看?
Cipher:我觉得性能一定是牺牲了某些东西,因为技术进步到现在,有一点大家一定要相信,那就是没有什么黑科技、黑魔法、灵丹妙药。你不可能说,这个东西性能特别好,而且又没有妥协任何东西,这是不可能的。
为什么说 PoS 通常性能好?大家看到像 Solana、BSC 或者其他区块链,性能确实要比比特币高很多,那是因为他们采用了 PBFT 算法。他们是由固定的或者少数的几个节点去出块,轮流出块,它其实更中心化,节点可能只有少数的几个或者几十个,当然出块速度更快,就跟联盟链一样,联盟链当然更快。
这里有一个反例,就是这次以太坊转 PoS,并不会提高 tps。 因为以太坊 2.0 并不是严格意义上的这个 PBFT 算法。所以,它是一种妥协吧。这其实是一个误解,或者说是一个偏差,那就是 PoS 并不保证性能会更好。
Terry:不同的 PoS 很不一样,对吧?
Cipher:对的,很不一样。
Terry:OK,我还看到一些说法,认为 PoS 更环保,PoW 费电,你怎么看?
Cipher:这个很有意思,我也经常跟一些朋友聊这事儿。你会发现,特斯拉也是用电的,比特币矿机也是用电的,但是从来没有任何人说特斯拉费电或者说对环境不友好,反而说特斯拉对环境很友好,很环保,为什么?比特币矿机也没有烧油啊,只是耗电,而且大部分是水电,有季节关系的这种电。
为什么?因为大家潜意识里面认为挖矿这件事儿不创造价值,PoW 算哈希就是在浪费时间,浪费能源,浪费资金。大家潜意识里认为特斯拉确实能载人跑,而比特币明明可以用 PoS 却非要用 PoW,那就是浪费电,环境不友好。这个错误在于,没有意识到 PoW 的价值就是它真的确保了 permissionless,任何人都可以使用。
PoS 刚才也聊了这么多,它其实没有办法真的确保 permissionless,而 permissionless 这一点就足够值得我们花这么多的电去支撑它,这个是值得的。
然后再说说环境。其实 PoW 对电价是非常敏感的, 什么样的电价格便宜?那些别人不要的电最便宜,如果大家都抢着要,那是很贵。什么样的电大家都不要。风电,水电,为什么?因为这些电,尤其是风电和汛期的水电,很难存储,你不要它可能就浪费掉了,这个电也赚不了钱。反而是说,我用矿机去把这些电拿过来,然后真金白银给到这些往往是落后地区建立的水电厂、风电厂,去支援他们的建设,去扶贫,让那些落后的地区得到资金。我觉得这是对环境更友好的一种方式。
Terry:我还看到一种说法,他们认为共识协议 it’s all about security,就是关于安全性。他们认为,再同等情况下,PoW 要实现 51% 攻击,其成本是远低于 PoS 的。换言之,就是 PoS 的攻击费用会更高,所以 PoS 是更安全的,所以 PoS 是更好的共识协议。在这样的一个论述当中,你觉得有什么问题吗?
Cipher:我觉得肯定有问题。刚才也说了,PoS 它并不是百分之百的代币都去质押了,它可能只有一部分,甚至可能只有一小部分,它的攻击成本你怎么算?你只要算那一小部分,结果有可能非常低。
PoW 的攻击是这样的,你去租借算力的话,大规模的算力是很难租借的。矿机是一个固定资产,是一个很难转卖的、不可他用的一个资产,它只能挖矿,甚至只能挖这一种矿。如果矿塌了,比特币崩了,矿工一点好处都没有,对吧?
这个时候,很多人会说 stake,比如我有 1 万个币,我在系统里的 stake 很强,我对整个社区很有 ownership,我特别希望 PoS 好。你有矿机,你也希望比特币好。但其实这两点是不一样的,为什么不一样?因为矿机的流动性极差,非常差,很难卖出去。如果你将矿机借给别人去攻击这条链的话,你的矿机可能就废了。
所以,矿工对租借算力,尤其是大规模的租借算力非常警惕。 你租借我的算力,如果是去攻击,我自己的矿机就废了。但是 stake 不一样,PoS 里面的 token 不一样。我现在有 1000 个 ETH,下一秒我可能就通过 Uniswap 换成 USDC 了,对吧?流动性极好,我瞬间就不是你的 token holder 了,所以我对你的项目到底有没有 ownership,我觉得要打一个很大的问号。
如果你告诉我说,如果不质押在 consensus 里面,整个安全性是有问题的。我管你这个干嘛,我反正一发现苗头,就赶紧一秒钟兑换成 USDC 然后跑掉。PoW 矿工能这么干吗?不能,那些矿机是真金白银买的,而且可能要 3~6 个月才能回本。所以,两者是不一样的。
10、PoW 的缺点
Terry:我觉得 PoS 的这些言论我们聊得差不多了,最后,虽然你是 PoW 的支持者,但我也想听一听你认为 PoW 有什么缺点。比如说,你如何看待 51% 攻击,因为这也是被 PoS 社区提到最多的。
Cipher:先说 51% 攻击。当人们说到 51% 的时候,往往后面要加两个字 “攻击”,但是 51% 和 51% 攻击,或者 51% 选择和 51% 攻击是两件事情。
攻击是一个主观发生的,我通过 51% 攻击,我的目的是什么?我是要目的实现,类似双花的效果,对吧?我先给你 100 个比特币,把你的房子买了,然后我通过 51% 攻击,把这 100 个比特币的转账在另外一条分叉上给抹掉。这就是 51% 攻击,是真真正正的攻击,它理论上也是存在的,但是概率比较低。
还有一个更基础的,是 51% 的区块选择,也就是算力选择。当出现两条分叉链的时候,我选择那条更长的链,理由是它的算力超过 51%,所以比特币网络或者是其他任何 PoW 网络,是随时分叉的,可能经常会同时收到两个矿池发过来的打包的交易。我要去看谁的算力更大,超过 51% 或者是大于另外一条分叉,我就选这条链。
比特币 6 个区块后就不能 revert 了,这个实际上是大家的一个共识,并非写在协议里的,也不可能写在协议里。写在协议里面的是说,不论这条链有多长,哪怕有比如说 10 万区块,但只要我又发现了一条新的链,而且它的算力积累或者说它的区块长度积累超过了现在的链,我马上就切换过去,这个就是 51% 的选择。
这个选择实际上是一个 feature 而不是一个 bug,它是故意这么做的。 为什么故意这么做?中本聪在做比特币的时候,做了一个取舍,在可用性和终局性上做了一个选择。
所谓终局性,就是 finality。我们都知道,比特币是没有终局性的,只有概率性共识,超过 6 个区块,我认为 99.99% 没问题了,但是仍然有可能 revert,所以比特币没有终局性。没有终局性,确实是比特币的缺点,导致很多金融场景没法做,因为金融业务一定要有终局性,这样才能做下一笔业务。我们之前做联盟链、做金融场景、做银行业务的时候,很明确这一点。
但比特币是故意这么选的,放弃终局性,选择了可用性。 什么叫可用性?就是我永远会收到新的区块,哪怕全球有 90% 的算力都不存在了,比如说突然有一天打核战了,或者是中美之间的网络电缆断掉了,哪怕只有 10% 的算力在线,比特币依然能够继续出块。
我再举一个特别极端的例子,假设我这台电脑突然跟别人断开了,或者整个新加坡的网络跟其他国家断开了,新加坡本地只要有矿工,理论上也可以缓慢地出块,可以继续往下走,这就是可用性。但是有可能网络恢复之后,你会发现外面的链更长,你的链就要被放弃,这些交易不作数,你要选择跟着外面那条更长的链继续下去。但在那之前,你依然可以用这条链,这就是为了预防极端的情况发生。
反过来看 PoS,它有终局性,但是它会在极端情况下失去可用性。 极端情况下是什么?比如说 66% 的出块节点网络突然断开了,或者是 50% 的节点 stake 在 A 网络,另外 50% 在 B 网络,这条 PoS 链就停摆了,没法往下走。
Terry:它必须要求它是个在线的链,是吧?
Cipher:它必须要求在线,必须要求 66% 以上的算力在线。PoW 确实有缺点,它没有终局性就是缺点,但它是为了可用性放弃了终局性,这是它的一个抉择,所以也可以看作是一个 feature。
另外,像费电之类的,前面也详细聊了。还有人会说,PoW 的中心化程度更高,因为 PoS 任何人都可以去 stake,但在 PoW 中,去建设矿场难度很大,门槛很高。但事实上,任何业务都会往规模化效应发展。这就是说,哪怕 PoS 很容易建一个节点去出块,但是为了效率,你也会选择去 delegate 给中心化的 PoS 矿池,至少大部分人会这么做,所以其实也没有什么用处。最终,无论是 PoW 还是 PoS,都是矿池出绝大部分的块,到最后就变成了比较两者的矿池去中心化程度高不高,或者是趋同性强不强。矿池是不可避免的。
Terry:是的。还记得几年前,以太坊社区认为不会有 staking service,大家都自己去 stake,从目前的现状来看,其实完全不是这个情况。
Cipher:以太坊 2.0 的出块门槛,可能比 PoW 更高。 为什么?因为 PoS 出块还有一个问题,一旦你出错了,你会受到惩罚。而且,出块前还要先同步一个以太坊的节点,现在普通的电脑已经同步不起了。此外,你还要有很好的带宽去接收最新的区块交易,很好的 CPU 去验证别人的交易,还要确保你的主机随时在线,不在线或者出了什么问题,你的钱就要被罚没了。你觉得有这么多的困难,这么高的风险,大家会自己做吗?肯定会有,但是绝大部分人肯定还是委托给别人。
11、如何看待针对 PoW 的各种优化?
Terry:最后,我们聊一下其他共识协议。大家觉得 PoW 费电,所以除了 PoS,还出现了其他的共识协议,你能不能介绍一下有代表性的几个,给大家科普一下?
Cipher:这几年,我们陆陆续续地看到了很多很有意思的 PoW 的 “优化”。
Terry:是打引号的优化吗?
Cipher:对,打引号的优化,因为非常有隐蔽性或者说迷惑性。 一开始我也很兴奋,觉得真的解决问题了,后来发现魔鬼真的是在细节里面。下面,我就举几个常见的例子。
前两年有一个很热门的项目,名字我不说了,它的概念叫 PoC,Proof of Capacity。它不是一个存储项目,它是用硬盘来挖矿,但不是用来存储。它在你的硬盘里面写随机数,按一个规则写随机数,然后出块的时候,让你去某一个指定扇区的某一个点里面把随机数读出来,并证明你的硬盘真的塞满了这些随机数。随机数只能是一开始顺序生成出来,不能跟你要的时候你再生成,因为你会来不及,大概是这样一个逻辑。
它的点是什么?它的点是这样我就不费电了。我其实是用你的存储空间来证明你真的用了这么多存储空间,你的存储空间越大,你找到我指定的 challenge 的概率越高,你出块的概率就越高,它是这样一个逻辑。它的共识也是 Nakamoto 共识,类似于最长链。
PoC 的错误在哪?它省电,省资源,又类似 PoW 这种无需许可,也不会有 PoS 那些问题,因为硬盘也是个外部变量,不是一个内部变量,你总可以买到硬盘的,对吧?所以,它跟 PoW 非常像,只不过哈希矿机变成了硬盘,从耗电变成了不耗电。
看起来很酷,很好的一个升级,那问题在哪?问题在于,PoW 的本质不是 Proof of Electricity,而是 Proof of Cost。 你真的消耗了这么多,你才能出块,这样我才能防止攻击,因为你要攻击的话,你必须也消耗这么多。Proof of Capacity 看起来不费电,但是耗费硬盘啊,耗费硬盘也是一种 cost。
假设全网的硬盘是 1 万块,我要 51% 攻击,按这个逻辑 5000 块硬盘就可以产生类似的攻击,按使用 5000 块硬盘的成本去算,算上它的固定投入和少许的电费投入。我们只算固定投入,固定投入是要有折旧的,比如折旧一年,平均每天的成本就是你的总投入除以 365,这就是你的成本。这个成本要想达到和 PoW 相同的安全性,最后一算,其实跟 PoW 的成本是一样的,因为它们都是 Proof of Cost,一定要花费这么多的成本才能达到相同的安全性。
Terry:只是烧的东西不一样而已,对吧?
Cipher:对,只是烧的东西不一样而已。PoC 说省电,但是烧硬盘,没有计算消耗多少硬盘。在算成本的时候,没有算能不能达到比特币相同的安全性。要达到相同安全性,你的成本是一样的,甚至 PoC 可能更加不环保。因为硬盘大家可以买来存自己的照片和数据,现在被你占掉了,和显卡挖矿有点类似。作为对比,PoW 的芯片没有跟任何人竞争,反正你买去也没什么用,就只能归挖矿用。
所以,现在很少有人提 PoC 了。
最近,有人提了一个概念,很有意思,叫做 PoW eco,应该是 economic 的意思。它的点是,PoW 算法的哈希碰撞毫无意义,我能不能把哈希碰撞做成比如说去算蛋白质的折叠、人工智能算法的模型训练,顺道出块,这样一举两得,两全其美,不浪费电了,因为去算这个模型或者做视觉渲染本身也得费电。
PoW eco 的问题在哪?它的错误在于,这样只是降低了别人的攻击成本。 比如说,挖矿需要花 10 万美金的电费出一个块,这 10 万美金里面的 9.9 万美金我可以通过给别人做蛋白质折叠、做 AI 算法训练挣回来。实际上算下来我真正投入的电费成本就是 1000 美元,对吧?投入 1000 美元,这就意味着你的安全成本只有 1000 美元,理论上我只要花 2000 美元就可以攻击你。所以,PoW eco 虽然综合成本降低了,但是它的安全性也降低了。
因此,这些 PoW 升级版的共识机制,先不要跟我说成本降低了,更加环保了,直接告诉我达到跟比特币相同的安全性时,你的消耗究竟是更多还是更少。你去看他们的描述,几乎没有任何人去分析安全性。
还有一个思潮,就是之前谈到 PoW 的一个缺点是没有终局性,于是就有 “聪明人” 出来说我们搞个 PoW + PoS 的混合机制吧,PoW 负责出块,native token 在 PoW 的基础上进行质押,质押后形成一个 PoS group,隔一段时间 PoS group 投一个票,去打包一个块作为 checkpoint。比如说,每 1000 个 PoW 区块后,出一个 PoS 区块作为 checkpoint,这个区块定下来之后就不能 revert 了,以此类推。通过 PoS 的 checkpoint,让 PoW 有终局性,这样一个逻辑。
这件事情的问题在于什么?就是我刚才讲的终局性是一个 feature,是一个选择,不是一个 bug,所以它不需要修复。
反过来讲,你的修复一定是错误的。第一,我们考虑刚才的极端情况,新加坡的网络断了,我跟其他的算力隔离了,这个时候 PoS 打包的 checkpoint 有意义吗?我究竟是看 checkpoint,还是看外面更强的算力?如果外面有 90% 的算力,PoS 打包的是 10% 算力的 checkpoint,那意义在哪?我听谁的,不听谁的?
PoW 没有终局性,是一个 feature,不是一个 bug,你不能修复它,或者说不需要修复它。
第二个点,如果 PoS 的 checkpoint 能够做 finality,有决定权,你还要 PoW 出块干嘛,你直接让 PoS 出块不就行了,为什么还每 1000 个区块打个点,意义是什么?反正 PoS 说了算,不是 PoW 说了算。这个是非常自相矛盾的,但你会发现有一些所谓的创新项目还是会这么做。
Terry:OK。刚才你提到 PoW 的本质是 Proof of Cost,就是我要消耗多少。我听下来,有点像通过消耗来铸币,只不过是把这个铸币工作 decentralize 到全球了。只要你这么去消耗,你就能铸币,你去减少消耗,本质上你也减少了别人攻击的成本。
(完)