望梅止渴的以太坊分片(Sharding)

不久前 Vitalik 发了一篇题为《为什么分片棒棒哒:揭开技术属性的神秘面纱(Why sharding is great: demystifying the technical properties)》的文章(https://vitalik.ca/general/2021/04/07/sharding.html,中文机翻痕迹明显,建议阅读英文版),从技术上深入浅出地讲解了以太坊分片提供的特定属性和付出的牺牲。

文中提到:“分片是以太坊可扩展性的未来,它将是帮助生态系统每秒支持数千笔交易并允许世界上大部分地区以可承受的成本定期使用该平台的关键。”

文章是好文章,特别是通过定义以太坊分片的特定属性,与“流氓分片”(原文所说的“具有非常不同且通常弱得多的安全属性的技术”)划清了界限。

虽然烤仔非常佩服 V 神画大饼的实力,也认同安全可靠的分片技术是未来区块链技术必然的发展方向,但是对于文中的若干错误仍然觉得不吐不快。

文章的核心逻辑是 V 神认为通过“简单”技术无法同时让区块链获得可扩展性(Scalability)、去中心化(Decentralization)、安全性(Security)三个属性,即所谓的“不可能三角”,而分片技术可以同时解决这些问题,所以“分片棒棒哒”。这个逻辑初看似乎有点道理,但是仔细想想却似是而非,主要有三个漏洞:“简单”技术、“不可能三角”、分片的必要性。

观点:交易所比特币储备逐渐下降 或表明积累一直在进行:Newsbtc发文称,所有交易所的比特币储备似乎正在逐渐下降,这或表明积累一直在进行。当储备增加时,这意味着更多的投资者将他们的比特币放入交易所钱包以供出售,或将其兑换为山寨币。另一方面,当所有交易所的比特币储备下降时,表明买家正在将他们的比特币发送到个人钱包,可能是为了积累。在价格暴跌的情况下,鲸鱼似乎正在慢慢开始增持比特币。[2021/7/10 0:41:02]

首先是关于“简单”技术无法同时获得三个属性的论断。文中没有定义到底什么样的技术能称为“简单”,实际讨论时偷换概念成了三种“容易的解决方案(easy solutions)”:包括比特币以太坊在内的传统单链,由少数节点维护的高吞吐量区块链(大约指 EOS 和联盟链),以及多链生态系统(波卡和其它一些不保证安全性的“流氓分片”等)。

这个论断的逻辑问题在于,“简单(simple)”不等于“容易(easy)”,偷换概念后的举例论证也因为没有穷尽所有可能性而更像是在挑软柿子捏。

BTC跌破10900美元关口 日内跌幅为3.81%:火币全球站数据显示,BTC短线下跌,跌破10900美元关口,现报10898.9美元,日内跌幅达到3.81%,行情波动较大,请做好风险控制。[2020/9/3]

类似的逻辑烤仔之前曾经在一个笑话中见到过——“如何证明所有奇数都是素数?我们来看一下:3是素数,5是素数,7也是素数,证完了。”

其中第二种方案吞吐量高的区块链(“High-TPS chains”),在 V 神的概念里似乎和节点数量少画上了等号,犯了循环论证的错误。总之,这里的论述肯定是没有考虑 Conflux 这样可以在几千个共识节点上实现几千 TPS 吞吐量的方案。

或许 V 神在这里对于“简单”的定义可以直接按照效果划一条线,凡是能解决“不可能三角”的统统归为“不简单”技术,这样方可确保逻辑严谨立于不败之地。

其次,所谓的“不可能三角”也是一个由来已久的错误概念。虽然常被拿来和分布式系统的 CAP 定理相提并论,但是实际上“区块链不可能三角”从来没有任何理论上的证明,最多只能算是一个“假说”或者“猜想”。这种把“自己做不到”等同于“不可能”的逻辑,颇有一种便秘了埋怨地球没有吸引力的即视感。

好在 V 神似乎也意识到再提“不可能三角”以太坊分片的优点就说不通了,所以在这篇文章里偷偷加上了一个前提——“如果你坚持使用简单技术,那么将无法同时获得三种属性”。

不知道啥时候能正式把“区块链不可能三角”的说法正式改为“区块链简单技术暂时做不到三角”以正视听,同时建议加一行小字“‘简单技术’指不能同时获得这三种属性的区块链技术”。

最后,这篇文章也不足以支持分片技术的必要性和迫切性。分片固然可以打破“不可能三角”,解决以太坊面临的性能问题。但这只是一个充分性的条件,不能说明为什么一定要采用分片技术,甚至不能说明为什么一定要打破“不可能三角”。

在“不可能三角”的描述中,可扩展性的要求是整个区块链共识系统的处理能力超过普通消费级 PC 或笔记本电脑作为单个节点的处理能力。从长远来看这个目标终归是要实现的,但是从目前以太坊的实际情况来看,这个目标属于好高骛远。以现在的电脑性能,单机足以每秒处理几千甚至上万笔交易,而以太坊只能处理不超过 50 笔,还远远没有达到瓶颈。基于以太坊现在的性能搞分片,就像是一个小学数学还没学明白的孩子非要学高等数学一样,事倍功半不说,将来还免不了从头再来一遍。

所以,即便分片可以解决以太坊面临的问题,也不意味着必须用分片来解决。与最初提出以太坊分片的概念时相比,如今已经有了包括 Conflux 等高性能共识算法和 Rollup 等第二层扩展方案在内的很多现成的解决方案。再抱残守缺地坚持做分片就有点一条道走到黑的意思了。

除了核心逻辑存有漏洞之外,分片本身在安全性、可靠性和性能方面的牺牲也是非常明显的,V 神在文中已经说得比较详细,此处不再赘述。

这里只纠正一点:分片必然降低用户体验,增加确认用户等待时间的问题无可避免,并非只存在于采用欺诈证明的方案。尽管 ZK-SNARK 等证明技术可以大幅提升交易的验证效率,确保交易上链后能被快速确认,但此类技术无一例外需要较长的时间用于生成证明。因此,从用户的视角来看,采用 ZK-SNARK 技术减少交易上链后等待时间的代价是增加了上链前等待生成证明的时间,总的体验未必有多少改善。寄希望于靠 ZK-SNARK 解决分片带来的延迟问题的人,应该再去复习一下朝三暮四的故事。

综上所述,烤仔认为以太坊的分片技术就如同望梅止渴故事里的梅子,可以鼓舞人心但是没有多少实际意义。如果一直心心念念远方的梅子,而对身边的溪流视而不见,恐怕只会渴死在路上。

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

金智博客

区块链Uniswap V3新特性解析系列二:范围订单是限价单吗?

在 Uniswap V2 版本中,交易者只能选择以当前的市场价格进行交易。由于 V2 版本在协议层面缺乏原生的限价单功能,导致用户很难在 Uniswap 上应用常见的止盈或止损策略。 这个问题,在 V3 版本最新的升级中终于得到了解决。 上一篇我们提到过,当 LP 设定的做市价格范围完全高于或低于市场价格时,LP 必须提供单一币种进行做市。

比特币最新价格昨晚好像有老外偷偷买了1万枚比特币

狂人本着负责,专注,诚恳的态度用心写每一篇分析文章,特点鲜明,不做作,不浮夸! 本内容中的信息及数据来源于公开可获得资料,力求准确可靠,但对信息的准确性及完整性不做任何保证,本内容不构成投资建议,据此投资,责任自负。

屎币剧烈波动的牛市中 高端玩家是如何稳定获利的?

在牛市中,交易者们也难免迷失方向。昨天全村的人们可能还在喊着:「冲呀!」,今天可能就看到一群人挤满天台。 是的,你很难预测市场,或者说,你很难每把都梭准。 那除了做时间的朋友外,还有什么别的策略能够避免市场波动带来的系统性风险呢? 答案,或许是市场中性策略。 在传统金融市场中,量化机构已经将市场中性策略运用得炉火纯青。

[0:15ms0-7:92ms