d543c - 2y

一些朋友可能依然对以太坊这种范式抱有好感(“具有强大的功能”),在此基础上,认为以太坊可以通过所谓的 “渐进式去中心化” 达至理想的,或至少是可接受的去中心化程度。 但我认为,这是一种缺乏思虑的意见。以太坊的中心化问题,不是 Vitalik 的疏离、退隐乃至死亡可以解决的,这个 Vitalik 的消失的下一步就是下一个 Vitalik 的起步,因为它的中心化因素藏在它的技术范式中。 这种技术范式,又恰好是许多人看好它的理由。这里面的矛盾,很多人还没有发现。 我把我曾经的思考放在这里,希望可以帮各位节省一点时间。 以太坊的技术范式可以概述为: - 链上计算;计算的含义是除了用户输入进去的数据,它还可以根据计算产生有意义的新数据;这一点常常被人归纳为 “图灵完备”。 - 全局状态;计算(合约型账户)的结果可以长存在链上,以备随时调用;节点需要对全局状态达成共识。 - 富状态性;交易可以同时调用多个合约型账户的状态,并且这种调用的深度仅受区块大小的限制,不受别的限制;这是所谓的 “以太坊 DeFi 可组合性” 的根源。 三者的组合,是以太坊的功能性的源头,也就是各位今天可以在以太坊上看到许多应用的原因。但是,很少有人思考过为了获得这种功能性,必须付出多大的代价。 明显的一点是隐私性和可扩展性的牺牲。代码都放在链上,用户的交互都显然可见,而且因为是账户模型,难以避免链上足迹在单一账户中积累,所以隐私性差。其次是计算都在链上发生,意思是被交易调用的计算会在整个网络的每个节点中重复执行一遍,这可扩展性当然差。这一点的直接后果就是以太坊节点的运行门槛更高。 但是还有更根本的东西被牺牲掉了。 约束交易的资源消耗量的手段是要求账户根据程序计数器 Gas 付费。但这里面就有两个问题:(1)交易可能使用不同的资源,例如数学运算、合约的状态数据 slot 和一次性使用的数据 call data,使用不同资源的合适 Gas 开销比例是难以确定的;为什么做一次这个运算要消耗 10 Gas,而读一次状态是 100 呢?(2)全局状态的不断增长(状态膨胀),会使原本的状态读写操作的 Gas 消耗量偏低,即不断趋于失调。原本以太坊上只有 100 个账户,现在变成了 10 万个账户,那读写一次任意账户状态的实际开销就是上升了,这时候如果还保持着原有的定价,就会导致大家滥用链上状态。 第二点决定了,即使仅仅是为了让协议获得生存能力、保持合理的抗 DoS 攻击能力,某一些操作的 Gas 消耗量也必须调整,而且是不断调整(因为状态会不断膨胀);而第一点又决定了,这里面有许多科学无法确定的问题。既然科学无法确定,就只能诉诸政治决断,治理结构会自然趋于中心化。 另一种中心化的因素,同样藏在技术范式里:因为以太坊不仅要对计算的步骤达成共识,还必须对计算的 Gas 消耗量达成共识(Gas 消耗量乘以交易的 Gas 单价决定了账户要付出多少 ETH,所以是全局状态的一部分),所以改变 Gas 消耗量的升级必须是硬分叉升级,没法做软分叉。然而,一旦硬分叉成为一种习惯,治理中的多数派就彻底没了制衡,因为少数派除非再造一个网络,否则挡不住多数派将自己的意志强加在所有人头上。 这就是以太坊何以中心化。Vitalik 只是表象,深层原因是它在技术上就埋藏了这种中心化的因子。 如果你相信渐进去中心化,你不妨问问自己,到明年(2024 年),以太坊这种技术范式就已经有 10 年的历史了,为什么它从来没变得更家去中心化过? 在所有对以太坊的评价中,我认为最中肯的来自 Giacomo(已经有 nostr 网友引用了):“以太坊浪费了许多有价值的智力资源”。这不仅仅是因为我认为我也是曾经被浪费的一个。也是因为,它在各个方面,都既表现出一种处心积虑(请看以太坊白皮书,所有设计环环相扣,就是让上述三种元素融为一体),同时,又实在是缺乏思虑的产物。并且在它的演化中,这种缺乏思虑变得越来越明显。 你我都知道,权力没有制衡,是缺乏思虑最好的助推剂。

0
0
0

3cbb4 - 2y

0
0
0

53a83 - 2y

0
0
0

a6f6f - 2y

0
0
0

a6f6f - 2y

0
0
0

36538 - 2y

0
0
0

d543c - 2y

0
0
0

45c41 - 2y

0
0
0

7cf68 - 2y

0
0
0

a6f6f - 2y

0
0
0

0d6f3 - 2y

0
0
0

0d6f3 - 2y

0
0
0

d543c - 2y

误解 #1:不在底层实现机密功能的区块链系统都一样。比特币的资金形式是 UTXO,所以个人可以不断换用新的公钥(地址),不必让信息在同一个地址(公钥)上反复积累;同时,单笔交易就可以将一笔交易完全打散,换用成新地址;此外,还有 P2EP、Coinjoin 这样简单易行地打破链上线索分析法的东西。 但以太坊的资金形式是账户余额,并且这些余额是全局状态的一部分,所以,个人频繁换用公钥会加剧状态的膨胀(主链负担);此外,因为单笔交易难以将账户内的资金彻底打散,所以即使个人清扫账户、换用账户,其链上踪迹也会更容易分析。 你认识不到它们有区别,不代表它们都一样。 误解 #2:L2 的隐私特性可以孤立于 L1 而存在。L2 总是需要资金发起交易来进入,也总需要发起交易来退出。所以 L2 的隐私特性是无法孤立于 L1 而存在的。 举个著名的例子,Tornado Cash 是以太坊上一个著名的零知识混币协议,你可以把一笔钱存进去,然后用另一个账户来取出它。这是用零知识的范围证明来实现的。听起来很棒,问题是,你的取款账户用于取款的 gas 从哪里来?如果它要从别处来,就会将混币的隐私效果完全消灭。所以 Tornado Cash 必须搭配元交易来使用。 你现在的回应,跟 Vitalik 当年对比 UTXO 和账户模型的说法完全一样,但现在已经显然无法说服人了,至少不能说服我。 # 误解 #3:多维度的资源计量方式可以解决全局状态带来的问题。这是彻底的误解,即使你发明一种新的资源度量单位(如以太坊即将做的那样,对单区块的 Call Data 施以额外的字节数限制),只要网络必须对每一步的资源消耗计量达成共识,问题就还在。没人能保证这些计量绝对准确而不需要改变。 此外,推到极端,彻底的多维度计量会撕裂以太坊范式的第三个元素:富状态性。不过,我认为,如果真有这么一天,以太坊的粉丝应该感到高兴,认真的。因为这代表治理的参与者终于开始考虑以太坊协议的生存力问题了。 另外,我很乐意听听你怎么论证以太坊基金会比政府机构更去中心化。

0
0
0

d543c - 2y

0
0
0

0d6f3 - 2y

0
0
0

0d6f3 - 2y

0
0
0

0d6f3 - 2y

0
0
0

0d0b0 - 2y

0
0
0

d543c - 2y

0
0
0

0d6f3 - 2y

0
0
0

Showing page 1 of 1 pages