现在以太坊的交易速度不到20TPS,而迅雷链宣称能够达到百万TPS;
对于以太坊的交易费用来说,100美元也是微不足道的,而在EOS上交易基本上是免费的。但本文作者认为DApp搭建在以太坊之上是迄今为止最理所当然的选择,不会选择其他链。
为什么在以太坊开发dapp
- 因为以太坊的高度去中心化,确保开发者拥有真正的自主权,不用担心在以太坊上开发DApp会被平台限制;
- 因为以太坊经过了时间的考验,安全性可以得到保证,不会使用其他链来试错。
我们来看看作者对于此,是如何更深入的思考?相信会对你有所帮助。
每个月几乎都有一家公司发布白皮书,声称已解决了以太坊面临的可扩展性问题。
这些新的区块链声称比以太坊更好、更快、更智能—— 他们说他们可以处理数千甚至数百万次事务每秒(TPS),没有交易费用,并且有近乎即时的确认时间。
然而,在Loom Network,当我们着手构建一个将大型去中心化移动游戏和社交网络带入主流的平台时,搭建在以太坊之上是迄今为止最理所当然的选择。
在这篇文章中,我将解释为什么我们认为以太坊已经赢得了成为Web 3.0基础,并且将成为未来所有主要DApp平台将选择在其之上构建的基础层。
让我们从最明显的开始。
以太坊开发者比其他任何平台都要多一个数量级
自从我们于去年11月推出以来,我们的以太坊代码学校CryptoZombies.io现在已拥有超过207,623+用户,而且这一数字每月增长超过30,000+,并没有减缓的迹象。
Truffle(Ethereum的开发框架)的下载量近550,000次,自1月份以来每月增长超过45,000+。
简单来说,在以太坊之上搭建的开发者数量不仅在增长 ——而且还在加速。
每月使用以太坊的Truffle系列的开发者数量不仅在增长——而且还在加速。
这意味着,如果另一个区块链平台想要在开发者采用率方面击败以太坊,仅仅赶上以太坊的现状还不够 —— 它必须超过以太坊的增长率。
为什么开发者采用率那么重要?
到头来,如果没有人实际在使用你的区块链,那么它每秒可以处理多少交易并不重要。
而且为了拥有值得使用的应用程序,你需要吸引足够多的开发者来构建它们。
如果没有开发人员在你的区块链上构建应用程序,那么你实际上正在建造一座鬼城。
拥有最多开发者在其之上构建真实世界应用程序的区块链平台,将成为获得最广泛主流采用率的平台。以太坊不仅在这个领域有着巨大的领先优势,而且差距正在日益扩大。
那么,为什么以太坊能够吸引绝大多数开发者呢?
以太坊有比其他任何平台都优秀的DApp开发工具和框架
Truffle、Infura、Web3.js、OpenZeppelin、Geth、Ganache、MetaMask、CryptoZombies、MyCrypto、Etherscan、ERC20以及ERC721。
不同开发团队已经不知疲倦地投入了数十万小时在这些工具(及许多其他工具)里——而且它们可以供任何希望在以太坊上构建DApp的以太坊开发者使用。
而这个开发者生态系统随着时间的推移而不断增长。 我们的团队和至少其他十几个团队正在围绕以太坊DApp开发构建更多的工具和基础设施,这将使以太坊开发者在未来的开发更加轻松。
这是梅特卡夫定律在开发者基础设施中的应用。 开发者构建越多有用的东西,新开发人员也就能越容易(也更加愉快地)进行构建工作,而效果不断叠加。
如果你是一位开发者,并且想要构建一个替代以太坊的区块链平台,你则需要在自己的平台之上构建所有这些工具的等效版本,以便与以太坊为开发者创造的便利竞争。
或者你可以,对吧……直接搭建在以太坊之上,并开箱即用所有这些东西
但让我们再深入一层。
让我们来聊聊为什么开发者会愿意花时间构建这些工具。
而这里是我们将深入挖掘的地方,来看看以太坊真正的闪光点。
还跟着我的思路吗?我还没有说到我观点的核心呢——这才刚刚开始。
以太坊不会牺牲去中心性
当谈到区块链时,有一个叫做“可扩展性三难题”的基本法则。 这有点像一条物理定律,说区块链只能拥有以下三个属性中的两个:去中心性、可扩展性和安全性。
它的意思就是,在提供同等级的安全性的情况下,如果你想增加区块链的可扩展性,那么你必须牺牲其去中心性。
为什么会这样?
由于区块链的本质,每一个验证器都需要运行该网络上发生的每一次计算,以确保其准确性。
因此,如果你希望通过让成千上万的用户运行验证器来充分去中心化网络,那么每秒最大事务数量则会受到普通用户的PC和网络速度可以处理的限制。
另一方面,如果你想拥有史上最快、最具扩展性的区块链,你应该做以下的事情:
- 要求所有验证器都是超级计算机。
- 网络上尽可能少地设置验证器,以减少每个节点的链接数量。
- 将所有验证器都放在同一地理区域(国家、数据中心)以减少节点之间的延迟。
你能看出来为什么那对区块链来说是一个很糟糕的情况吗?
然而,我看到的每个拥有极高每秒tps的项目都在悄然进行着这个去中心性权衡——其中大多数对于用户/投资者而言都不透明。
为什么去中心性很重要?
Chris Dixon和Spencer Bogart各自都根据相同的题目“为什么去中心性很重要” 写了一篇很棒的博客—— 两篇很强烈推荐阅读。
Chris Dixon在他的文章中提出了一个简单的论点:开发者会更希望在一个他们知道以后不会改变对于他们设置的规则、不会带走他们的用户和利润的平台上构建。
如果你在Facebook和Apple的App Store上构建你的应用程序,你不得不给予它们信任,相信这些平台在未来不会查禁你、阻止某些用户去使用你的应用或查看你的更新、或开始向你收取更高的费用以继续接触到相同的用户。
以太坊,反之,就是我们说的无许可。
以太坊可以被任何人用于任何目的,无需任何人的许可。
没有人可以阻止你将一段代码上传到以太坊区块链,并且没有人可以阻止你的用户执行它。
先让它沉淀一会儿,因为这非常强大。
历史上第一次,我们有一个平台,任何人都无法关闭,任何人都无法审查——不是政府,也不是拥有大量资金的大型企业,也不是罗斯柴尔德家族或波格丹诺夫(科幻故事电视制作人)或外星爬虫人,也不是所有你yy的阴谋论。
如果你在以太坊上构建DApp,没有人可以阻止你的用户匿名访问它。
如果你买了一些存储在网络上的token或虚拟物品,你将得到保证,它们将永远呆在那里,而且没有人能够将它们从你身边带走。
而这正是去中心化区块链的这种无许可 和抗审查制度 的特性,使我们能够在互联网历史中首次拥有虚拟物品的真正所有权。
是的,我就是要说说“头号玩家”。伴随着无法剥夺的虚拟物品的真正所有权,区块链使我们能够在网络游戏和虚拟现实中孕育出疯狂的新鲜事物——比如拥有不属于任何公司的虚拟化身并在可以存在在不同的世界之间。
越来越多中心化平台无法作出这个保证。
几乎每个被称为“以太坊杀手”的平台都直接决定为了更高的可扩展性而舍弃去中心化程度,并把其宣传得就像是一个功能。
而这种权衡很具有诱惑力,因为它看起来就是市场需要的。
那些不太了解的用户会抱怨费用过高、交易时间太慢——所以我们不能指责开发商试图向市场推销他们认为市场想要的东西。
在Spencer Bogart的“为什么去中心性很重要”一文中,他说:
新用户和开发者对这些新型网络的偏向并不奇怪:提高的吞吐量和功能是用户和开发者立即就可以体会接受的事情,而“去中心性”作为功能的好处看似还不确定。
在短期内,用户可能会受到可扩展性更高的区块链所提供的性能诱惑,没有意识到去中心化的重要性,而会在一切崩溃的时候惊醒。
然而,事实是,如果没有去中心性,这些加密网络将失去最重要的“无许可”和“抗审查制度”的特质——那是,任何人都可以使用该网络,任何人都可以其之上构建。
毕竟,去中心化区块链的目标就是提供一个硬性承诺—— 一个开放的、无歧视参与的、不变的总账。 从某种意义上说,我们忍受去中心性的低效率,因为这是让网络能够具有这些特质的唯一途径。
其他区块链可以达到1000 TPS或更高,因为它们有一个小的固定数量的节点来验证所有的事务——EOS的例子为21个,Lisk的例子为101个。
但是由21个节点运行的网络要求你相信这21个公开身份的节点不会对协议进行更改,或者限制某些人将来将其用于某些目的。
对于一个恶意实体来说,影响成千上万个匿名以太坊节点去审查某些事务,要比影响21个公开身份的区块制作人中的15个要困难得多。或者这15个区块制作人形成一个卡特尔联盟并改变规则使其有利于他们,就像是在中心化平台一样。或者政府或企业向这些实体施加压力来审查某些事务或用户。
正如Spencer所说:
这些半去中心化的平台受到相同社会和经济压力的影响,促使中心化平台审查某些用户和活动,因此趋向于他们应该纠正的相同结果。
如果开发者不能100%相信基础层将始终保持无许可和抗审查,那么他们就没有动力开始在平台上构建而不是简单地使用传统的Web服务器。
通过牺牲基础层去中心化程度以达到增加吞吐量来吸引用户的近期目标,这些平台首先就讽刺性地破坏了使用区块链的全部动机。
更重要的是,增加Layer 1(第1层)的吞吐量甚至不是解决可扩展性的方法。
它会给你带来一些初步的收益,但它从根本上被区块链的本质阻碍,这并不是实现真正 可扩展性的方式。
所以引出了我的下一点……
为第2层扩展提供了一个安全的基础层
尝试在一台巨型超级计算机上运行互联网上100个最受欢迎的游戏和社交应用程序是很荒谬的。
同样,假设在可预见的未来世界上所有去中心化应用程序都将在一条区块链上运行,也是荒谬的。
仅Facebook就需要数十万台服务器才能运行。 但是有人却认为去中心化Facebook将与其他所有DApp共用一个大型区块链?
让我们快速地看看一些数字。
Facebook每秒会有超过3万次赞/评论,纳斯达克每秒有超过2万次交易,像“吃鸡”这样的MMO游戏要处理超过1M个并发用户的游戏状态更新。
它只需要几十个这样大小的应用和游戏就会让你超过100万TPS的总数。
那么当用户数量增加一倍时,你要怎么办?
显然,尝试在同一条链上运行所有DApp不是一个实际的方法。
区块链能够每秒执行一千个事务或每秒执行一百万个事务并不重要——没有任何单个区块链可以在一条链上足够快地处理世界上所有去中心化应用程序。
扩展必须发生在第2层
解决方案很明显——这些应用程序需要分开去到多个区块链。
我们早就意识到了这一点,当时我们提出了特定于应用程序的侧链的概念。我们预见到,最终一些去中心化应用程序的流行度将足以达到Facebook规模的十分之一,而唯一能够运行它们的方式就是使用它们自己的专属链。
当然,如果你将这些需要上千tps的DApp放在它们自己的独立区块链上,它们将很容易受到我们上面在“为什么去中心性很重要”中讨论过的相同问题的影响。
但是,如果你把它们放在一个足够去中心化的区块链(比如以太坊)的侧链上,那么你就能获得两全其美的效果。
侧链能够提供更高的可扩展性而不用牺牲安全性
侧链可以使用针对需要非常高TPS或低延迟的DApp进行使用不同共识算法(如DPoS)的优化,同时在主链上存储任何需要高级别安全性的token或数据。
这样,即使侧链的去中心性不如主链,用户所需要的信任量也被最小化了,因为他们可以选择将任何有价值的东西移动到主链上以确保安全。 (如果你使用Plasma Cash保护第2层资产,则更是如此)。
通过将你的DApp放在一个去中心化主网的侧链上,你可以获得由一个更快速的区块链提供的更高可扩展性的所有好处,同时保有去中心化基础层提供的相同程度的信任和安全保证。
Spencer在他的文章中得出了与我们相同的结论:
前进的道路:高度去中心化的基础层,加上在更高层上提高的集中性(和效率)
事实上,这似乎与Vitalik Buterin自己设想的模型一样:
你可以在区块链上运行星际争霸。 这些事情是可能的。 高度的安全性和可扩展性使得所有这些其他各种东西都可以构建在上面。 以太坊是一个安全的基础层,没有太多的功能。
~Vitalik Buterin
以太坊为第2层解决方案提供了一个安全的基础层来在其上构建
现在我们知道:
- 扩展需要发生在第2层。
- 第1层最重要的性质是去中心性。
所以真正的问题是,如果不是以太坊,你会把你的第2层构建在什么基础层之上?
我们已经看到,很少链做去中心化做得像以太坊一样好。
根据ConsenSys最近的一份报告,“在全球六大洲有17,000个节点在运行以太坊区块链,使其成为现存最去中心化的区块链平台”。
而其他区块链可能提供的功能,比如更高的吞吐量、无gas的事务、低延迟的事务等等,可以直接在以太坊上作为第2层服务实现。
实际上,这些功能正是我们通过僵尸链所构建的 ——一个第2层、无gas、低延迟的DPoS以太坊侧链。
而这只是众多正在开发的第2层扩展性解决方案之一。
很难理解为什么开发人员想要替换以太坊,而不是直接在以太坊之上构建
忽略这样做的明显动机是可以让他们在ICO中筹集数亿美元……
“它就像以太坊……但是更好。”
这有点像重新发明轮子。
当然,你也许能够建立一个稍微更好一点的基础层,它仍然提供了足够的去中心性,并引入了一些额外的功能。
但是,你则需要说服所有的开发者跳槽使用一个未经测试的平台——同时,以太坊开发者可以带着任何好的想法,在以太坊之上的第2层链上实现它们。
这也是非常危险的。
如果第2层平台遭到黑客攻击或利用,用户的损失会最小化,因为大部分token和有价值的数据仍然安全地存储在第1层(以太坊)上。
但是,如果你构建了一个新的第1层区块链,存储用户付真钱买的token,那么你的代码不会被恶意利用的可能性很小——而在漏洞利用的情况下,你的用户可能有数十亿美元岌岌可危。
在编程圈里,有一条规则是“别搞你自己的加密”。
我将在这里预测,在我们看到第一次大规模的恶意区块链漏洞利用,其中数百万甚至数十亿美元的token价值蒸发掉之后,我们会开始听到区块链工程师中流传这样的说法:
别搞你自己的Layer 1(第1层)。
所以我们来到了最后一点……
以太坊的安全性已经通过了时间的考验
在撰写本文时,在流通的ETH中有610亿美元。
这对于想要试图黑/漏洞利用网络的人来说,是很大的经济激励。
过去3年里数千个黑客尝试找到以太坊的漏洞来利用但都失败了
直到今天,在以太坊主网推出近三年后,没有人能够在平台的安全性中找到漏洞。
注意:在开发者部署到以太坊的单个智能合约中有发现漏洞,但我说的是核心平台本身。
没有发现漏洞的时间越长(尽管有很多人在尝试),平台的安全可能性就越高,并且将来也不会被漏洞利用。
这与Nassim Taleb所谓的“林迪效应”类似:
“林迪效应“这个概念即一些技术或想法等非易腐事物的未来预期寿命与其当前年龄成正比,因此每增加一段生存期就意味着更长的剩余寿命。
基本上来说,当一个新的区块链平台出现时,开发者将不愿意使用它,因为它没有经受过时间的考验。
如果它是易漏洞利用的呢? 如果它不是真正去中心化的呢? 为什么我要把自己的全部时间投入到在其之上构建我的DApp而我却不确定它两年后是否还会存在?
一条链在没有遭受重大漏洞利用的情况下生存的时间越长,在开发者眼中就越值得信赖。
再一次,以太坊在这里有着巨大的领先优势。
对于今天推出的新区块链平台而言,它需要存活几年的时间才能使开发者将其视为值得信赖的。
但在同一时间,以太坊将继续在开发者采用率和辅助基础设施方面领先。 (更不用说真正落地的DApp和终端用户)。
由于以太坊在所有其他智能合约平台上都远远领先着,从安全角度来看,与年轻区块链相比,它似乎总是更好的选择。
特别是,正如我们之前提到的,新智能合约平台增加的任何可能会吸引开发者的新功能,都可以简单地构建在第2层上——并且仍然保有以太坊的安全承诺。
结论:以太坊并不是完美的——但目前来说,很难想象到它作为用于去中心化应用的第1层被取代。
JavaScript并不是一种完美的编程语言,并且长久以来它也遇到了一些非常严重的问题。 但是这并没有阻止它成为Web 2.0实际的编程语言。
我预测我们已经达到了临界点,在这里我们将看到以太坊在Web 3.0会发生同样的情况。
尽管存在一些缺陷和缺点,但它也有行业中一些最聪明的头脑致力于解决这些问题——并构建工具和基础设施,以使它们不再成为障碍。
因此,我们转了一圈重新回到了开发者的论点。 (去吧,你可以再看一次Steve Ballmer的视频,我不会告诉别人的。)
未来是有可能出现另一个项目,它比以太坊更具优势,并设法让所有以太坊开发者跳槽……
但我不会赌我的ERC20在这上面。
作者简介:
James Martin Duffy,Loom Network 联合创始人,是大型在线游戏「加密僵尸」的创建者及开发者。
Loom Network是一个为以太坊构建高度可扩展的DPoS侧链的平台,专注于大型游戏和社交应用。