注:作者Tuur Demeester是一位独立的投资者,他还是Adamant Research研究机构的主编。
15亿美元
比特币2.0
也有人认为以太坊开拓了属于自己的一片天,如果比特币是黄金,那么以太坊就是石油。
Andreas:ETH是比特币的竞争对手,就像鲨鱼是狮子的竞争对手一样。两个生态系统各异的顶尖技术是可以共存的。
以上两种观点恕我不能苟同。在我看来,以太坊和比特币之间的直接竞争结果是以太坊慢慢失去市场占有率。
本篇文章会详细解释与比特币相比,为什么我看跌以太坊代币ETH。我并不是无所不知的,我的观点可能会有偏差,但我认为本篇文章足以证明我们低估了ETH和其生态系统存在的问题。
要是看完这篇文章之后你想要卖空ETH,建议你先考虑以下几点:
- 专业的交易者在进行交易时会确保自己的资金存在的风险低于1%,最高不能超过2%。这也是我个人的经验之谈。
- 相关交易只能在交易所中进行,也就是说你必须承担攻击事件带来的资金损失风险。
- 很多聪明人都看好ETH,我建议你先去看看他们怎么说,或者看看他们是怎么批评这篇文章的。
- 就算我的分析是正确的,我还是可能因为交易损失资金,因为市场波动性始终比较大。
灵活性(flexibility)
ETH的雄心壮志
ETH并不想像比特币一样,仅仅在不可更改的账簿上进行数字现金交易记录。它的愿景是建立一个虚拟机,一个基于云端的去中心化的计算机。只要与这台机器相连,人们就能通过写代码来创建智能合约或去中心化app(Dapp),可以发布在ETH网络中。任何调用(call)ETH网络的行为都需要花费一定数量的手续费。
298个
不过,我认为这是个圈套。自ETH发起之初我就一直在密切关注这个项目。我很担心其中存在的风险及本质问题都被忽视了。我认为这个项目至少需要一次彻底检查。到了万不得已的时候甚至应该直接放弃整个项目,这样才能防止过度的知识和金融成本用于追求不可能实现的目标。
计算机网络的取舍
试想一下整个计算机网络:硬件是用于运行处理器、整个操作系统乃至协议的,同时用于协调数据转换。但是无论你如何选择配置,在成本、安全、速度和灵活性之间总会存在取舍。
比特币核心协议会不惜一切代价提高网络安全性,因此它被称之为数字黄金,一种去中心化的价值储存方式。所以它的运行成本也相对较高,交易生成速度却比较慢,灵活性交易表现也不佳。的确,就像很多失败的彩色币(colored coin)项目提到的一样,比特币急需开拓一些新的功能。我不是说低成本、高速度和高灵活度是不可能的,只不过这些功能必须建立在基于比特币网络的其它协议层中,比如说闪电网络(lightning network)和侧链(sidechains)。
ETH采用的方法则与比特币大相径庭。ETH将灵活性置于第一位,所以说,它放弃了安全性、速度,甚至是成本方面的发展。
让我们依次分析这几个计算机网络所需的要素。
灵活性
70条
而ETH的目标完全不同。以太坊基金会(Ethereum Foundation)开发者编写的Ethereum Homestead指南中提到:
……与比特币协议不同,ETH是为了适应性和灵活性而生的。
为了实现这种适应性和灵活性,ETH关注的重点有四个方面:绝对的开放性;多样化的改进;多种合约语言;体制化的硬分叉(原文是institutionally,这里译者理解的体制化是指某种规则、习惯、意识和氛围的环境,欢迎指正)。
首先,ETH选择了与比特币脚本语言系统完全相反的图灵完备(Turing Completeness)目标;也就是说,ETH对其区块链上发布的代码类型和执行方法都不设限制。ETH创始人Vitalik Buterin曾说过:
ETH不像比特币协议一样包含大量功能,但ETH协议内置的编程语言鼓励你添加任何你想要的功能。
12%
多名计算机科学家和开发者始终对ETH区块链极端的开放性表示反对。而最近ETH客户端频频崩溃恰好也印证了他们的观点。
Muneeb Ali:我今年7月提到过:试着想想所有ETH节点在处理单个交易后崩溃的场景。然后9月份我的预言成真了:Geth节点崩溃。所以说,给区块链添加更多逻辑性只会更容易暴露网络中的所有节点漏洞。
其次,ETH开发者在区块链上创建了多样化编程及代码发布界面,原因如下:
运行ETH网络的客户端必须保持多样化,这样才能发展及构成一个更清晰的协议,促使整个系统更加稳固:在其它改进方案不受影响的前提下,某个改进方案产生的问题很有可能导致网络崩溃。
以太坊基金会技术主管Taylor Gerring补充道:
无论出现人为或代码错误,各个客户端开发者会聚集在一起,比较结果,讨论这些错误带来的影响,最终得出一个具体的解决方案。
90%
这种策略不采用分散化的网络奖励机制,反而支持多样化改进,因此也遭到了外界的批评。因为这种方式违反了去中心化的共识机制。
Peter Todd:多样化共识改进实际上造成了多种协议。最好安全地阻止这种不安全的运作模式。
就连中本聪本人也曾对多样化共识改进表示不满:
我认为多方兼容改进对比特币来说不是个好方法。比特币系统的正常运作很大程度上依赖于所有节点的高度一致性,而多方改进会对网络构成威胁。
如果你想要更深入了解这方面的问题,可以看Aaron van Wirdum写的“The Long History and Disputed Desirability of Alternative Bitcoin Implementations”。这篇文章中,Peter Todd认为ETH在9月18号遭受攻击之后,很可能意外分裂出独立的两条链。
此外,在近期发表的一篇文章中,Todd指出ETH的多样化改进并不会使其网络更加可靠,因为ETH并没有一个全面的协议细节来规范这些改进。假设Geth拥有90%的市场占有率,是官方客户端,但其它改进仍然可以造成潜在的分裂威胁,因此Geth根本没有足够的智慧资本来保证和比特币类似的可靠性。Gregory Maxwell指出:
……过去的半年以来,Bitcoin Core收到了来自91名贡献者的800条非兼容改进提交以及469条兼容改进;而go-ethereum(Geth)客户端仅收到22名贡献者的247条非兼容提交和105条兼容改进。
四倍
另外,这种对多样化改进的担忧不仅仅是个人臆断。ETH的前身Mastercoin也采用了类似的多样化改进方式,最终产生了大量的问题,为此他们不得不恢复到单一改进模式。
缺少明确规范细则的多样化改进最终会导致大量的问题,这就是我的观点。
Christopher Allen:问题不在于系统漏洞,而在于他们对市场、激励、人类行为和错误决定的肤浅理解。
第三,ETH项目为实现灵活性,支持创建多种合约语言,包括Solidity、Mutan、Serpent等等。
5000万美元
在我看来这个漏洞50%的责任应该落在Solidity语言的头上。……即使是合约代码完全的按照这个语言文档来编写,也经过了大量的测试,同样会有这样的漏洞。
也许慢慢地,Solidity和ETH其他智能合约语言的漏洞会被修复。但会对现有的代码造成极大的影响。就像最近Bitcoin core开发者会议中所说的一样:
如果你改变了Solidity,现有的智能合约可能无法正常运行。
Emin Gün Sirer:相对于网络代码来说,编写安全的智能合约代码就跟试验核反应堆一样困难。而Solidity和以太坊虚拟机(EVM)更像是一些松散的网络代码。
与稳定安全的语言和改进相比,ETH的语言和改进相对比较脆弱,延展性较高,就跟稻草一样。当然了,如果用稻草来盖房子,风险未免太大。
Christopher Allen:Solidity作为一种智能合约语言,很容易被二流程序员有意或无意地滥用。
不过,目前ETH正试图通过形式验证(formal verification)的方式,设立最佳的合约标准,从而改进智能合约代码。但Casper协议是否能通过这种形式验证还是个未知数。
ETH提高适应性和灵活度的第四个方法就是出于安全或延展性目的进行硬分叉。
简单来说,硬分叉会改变整个协议,更新所有节点。新节点与旧版本中的节点不兼容。反之亦然。
Bitcoin Core从未执行过类似的硬分叉代码。而ETH则不同,开发者将硬分叉视为一种去除某些多余功能以及解决重大网络问题的工具。ETH开发者还认为硬分叉是实现延展性目标的正当工具。
alex van de sande:见证了成功的硬分叉。恭喜这个团队顺利完成了一次过渡!
ETH核心开发者Vlad Zamfir说过:
我意识到,硬分叉是区块链技术发展道路上的重要一环,所以我一直对此表示支持。
目前外界很多主张都违背了中本聪当初设立的标准,而ETH对硬分叉的支持可能是最受争议的一种,我也这么认为。以下是几点反对硬分叉的理由:
1. 硬分叉会导致区块链分裂成两条活跃的、独立的链(就像ETH硬分叉一样)。这种情况只会带来更多新的安全问题、政治分裂和用户的困惑。
可互换性(fungibility)
3. 交易所不爱处理硬分叉带来的风险。
4. 在我看来,体制化的硬分叉会带来一连串的政治问题,最终形成一个只要靠游说和偏袒就能实现目标的不公平的系统,这种系统极其不稳定。就拿“Buterin效应”举个例子吧:DAO遭受攻击时,Vitalik Buterin并没有明确表示自己反对硬分叉。于是人们开始从他的演讲或文章中寻找线索,最终得出了他和以太坊基金会实际上是支持硬分叉的(说不定他们猜对了)。这样看来,好像硬分叉真的是社区共识的结果一样,即使整个投票时间仅仅持续了12天,而且只有不到6%的以太币持有者参与了投票。
5. 体制化硬分叉还会给核心开发者带来法律问题,这会影响到未来的发展。核心开发者通过对硬分叉的支持,证明自己有权力回滚交易或者逆转网络中的所谓不公正事件。因此,此次事件的任何一名受害者(攻击事件受害者、攻击者、旧链用户、金融犯罪执法网络)实际上都有权追究他们的法律责任。这其中存在着明显的利益冲突。DAO托管人Buterin在硬分叉之前就买了DAO代币,然后他表示支持硬分叉,就是为了重新分配大量被盗的代币,美其名曰社区共识。另外,Buterin和Zamfir作为核心开发者和DAO托管人,也可以说白帽黑客(这些白帽黑客成员大多来自以太坊基金会),将DAO资金转移到一个疑似托管架构中,试图剥夺攻击者处理DAO代币的权力,这种行为将引发后续有关信托义务的法律问题。
Preston J. Byrne:很快就有人会因为自愿托管DAO的资金而后悔。
6. 用体制化硬分叉来实现区块链的长期发展是一个不可行的策略。协议是一个架构的基础层,随着生态系统的发展,这一架构追求的利益应该是稳定性而不是安全预测或性能改进。Buterin也对此表示同意:“……从技术角度来看,硬分叉的风险会越来越大。到某一时刻,也就是实现充分的体制化之后,它们(硬分叉)将不再是最佳选择。”
总之,如果ETH的目标是成为一个能“在全球范围内安全执行服务”的交易账簿,那么它的合约和编程语言必须足够稳固。至于ETH追求的灵活性是否会破坏网络的稳健性,目前还不太清楚。不过我个人认为答案是肯定的。
总结
本篇文章还会有第二部分。第二部分旨在研究ETH网络的速度、成本和安全性。我将深入分析ETH采用网络sharding技术实现链上扩容,最终转到权益证明(PoS)协议的策略。欢迎你们留下评论或观点。
非常感谢Bryan Bishop、Christopher Allen、Pelle Braendgaard、MAbtc和Jameson Lopp对本篇文章的阅读指正。
声明:本篇文章内容不构成投资、财会、税务或法律建议。本篇文章的目的也不在于推荐读者买卖任何证券或其它投资产品、理财产品或服务。本篇文章不存在引导读者选择任何投资策略的目的。