以太坊架构存在缺陷,分片会是救星吗?
发布:中币网 时间:2019-01-18 00:00:00 加入收藏 打赏
如果我们忽略所有的噪音,在引擎盖下挖掘,我们会发现,以太坊的问题不是产品市场适应性的问题,而是工程稳定性的问题。以太坊架构基于一个有缺陷且不可升级的理念:它假设“智能合约”需在成千上万台机器上复制计算。
(图片来自:Thought Catalog)
本文的其余部分解释了原因,它最初是一个推文风暴,作者Hugo Nguyen将其整理成了一篇博文。
比特币不是魔法,它牺牲了所有效率的方式,这违背了我们的直觉和“最佳实践”,目的是给我们一些特别的东西。
比特币的效率特别低,这是因为以下两个因素:
它要求生产区块的速度必须缓慢;
它使用广播通信;
为了强调这是多么反直觉,你可以试想一下:
有目的地放慢工作速度,即使你想出了一个让它变快的方法?
告诉所有你知道的人,关于你在每时每刻所做的每件事?
在网络环境中,这样做是更疯狂的。不仅你会变慢,其他人也必须慢。不仅你对每个人都要大喊大叫,每个人都对其他人要大喊大叫。
此外,该网络还拥有数十万成员。如果你有一个巨大的精神病院,你就有了正确的精神形象。
在大多数情况下,以比特币的方式做事,简直就是疯了。
事实证明,最大限度地降低效率有其优势。比特币故意让事情变得缓慢,这使得欺骗的代价变得很高。通过使用广播通信,它最大限度地减少了信任单个成员的需要(用计算机术语,就是最大限度地提高容错性)。
比特币通过减慢区块和使用广播通信的方式,解决了拜占庭将军问题。这是计算机科学的重大突破。
但比特币的方式,其代价很高。它在光辉和无用性之间走了一条细线。只要流过区块链的数据以可管理的速度增长,区块链系统就会工作得很好。
除了线性以外,任何数据的增长率都是不可持续的,而且会有一定的死刑。非线性数据增长将迅速逐个杀死各个节点,并不可避免地将系统恢复到一个更依赖信任的模型。
由于区块链系统是非常低效的,如果数据增长太快,几乎没有什么可依赖的。实际上,区块链系统正走在非常薄的冰面上。
因此,当涉及到区块链数据时,你需要非常高效。这是为了弥补上述效率极低的情况。
这就是为什么以太坊的“富状态”架构是如此糟糕的原因。以太坊状态纯粹是为计算而需要的,但是它们以不可管理的速度增长。
当核心层接受富状态的原因是模糊和可疑的时候,以太坊的设计决策更值得怀疑。
模拟图灵完备性?区块链上不可能有真正的图灵完备性,因为所有程序都必须以某种方式停止。所以“图灵完备”完全是一个噱头。Vitalik本人也承认了这一点。
使得智能合约更容易编写?在区块链工程方面,易用性是你最不要担心的问题。这不是一个优先选项。记住,有了区块链,你就踏上了薄冰,而不要添加富状态。
那为什么呢?使用比特币风格的脚本,就无法支持计算了吗?当然不是的,任何通过以太坊智能合约完成的计算,都可以在比特币上完成,只是需要在更高层。
这就是问题的症结所在。以太坊正在错误的层面上解决问题,通过这样做,使得其核心设计变得肿胀。
拖延时间,也不是解决办法。分片并不是解决方案,分片意味着降低广播通信的水平,而广播通信正是区块链环境的一个特性,而不是一个bug!
把所有的希望都寄托在分片这个神奇的治疗方案上,这一切都代表了以太坊对工程的态度:希望。
如果你考虑到比特币,以太坊的问题就更严重了,尽管比特币在数据类型和处理的数据增长方面极为保守,但它仍然有很大的失败机会。嗯,比特币仍然是一个实验。
如果你读过我最近关于比特币激励计划的文章,你会发现我留下了一些开放式的问题,我仍然不知道答案。我对比特币持乐观态度,但是谨慎乐观。
简单地说:比特币已经把事情扩展到了极限,以获得有用的东西。尽管如此,它的成功并没有保障。以太坊将事情延伸得更远,而没有充分的理由。由于这个原因,以太坊的架构从一开始就存在缺陷。
在工程方面再多说几句。以太坊的故事其实并不罕见。我们以前看过这部电影:
70年代的RISC与CISC
90年代的Linux与Windows
在这些片段中,我们了解到,硬件和软件作为模块化的简单层构建时,工作得最好,以RISC和Linux为例(另一个例子是TCP/IP)。原因是这些系统趋向于更灵活、更优雅,并且能够更容易地适应不断变化的环境/用例。
这种见解在Unix设计理念中得到了更好的应用:“灵活性、简单性和自由是首要考虑因素”。
Unix的设计理念也得到了来自大自然的赞同。即使蚂蚁个体是愚蠢和高度专业化的,它们的群体也会展现出突如其来的智慧。同样地,我们的大脑由简单的神经元组成,它们各自执行简单的任务。
以太坊核心层的厨房水槽方法类似于复杂指令集的概念。或者用大而复杂的组件来构建软件,而不是用小而专业的组件。为了复杂性而复杂,是有问题的。
总之,以太坊的设计决策存在问题,其没有强有力的理由支持。我们以前也见过类似于以太坊的工程错误。我的猜测是,以太坊最终将成为历史书中不该做事情的另一大例子。
注:
我所提到的“区块链系统”,指类似比特币这样基于工作量证明(PoW)的区块链;
附加阅读:Gregory Maxwell 在这里解释了“验证,而不是计算”。下面是其中的一个片段:
1_syD1HGiDSUy06_XCexVcIA
“当你意识到“图灵完备”是一个错误的工具,我们的系统所做的是验证,而不是计算时,所有这些在可扩展性、隐私性和灵活性方面的根本改进都会出现。
这种认知错误,不会对那些一开始就对智能合约有着模糊概念的人带来任何好处。
在比特币的世界里,更强大的智能合约,绝对是重要的,我毫不怀疑。但围绕以太坊的营销蠢话不是动力,而是船锚。共识不一致和权力下放的载体,破坏资源消耗和激励不匹配。幸运的是,我在这里描述的认知框架,在比特币专家社区中得到了很好的理解。”
原文:https://medium.com/@hugonguyen/why-ethereum-architecture-is-flawed-d4eefd15db3e
作者:Hugo Nguyen
编译:洒脱喜
稿源(译):巴比特资讯(http://www.8btc.com/ethereum-architecture-is-flawed)
来源:bitcoin86
来源:中币网 https://www.zhongbi.net/news/shanzhaibi/125448.html 声明:登载此文仅出于分享区块链知识,并不意味着赞同其观点或证实其描述。文章内容仅供参考,不构成投资建议。投资者据此操作,风险自担。 此文如侵犯到您的合法权益,请联系我们3111859717@qq.com,我们将第一时间处理。