eth vs eos(以太坊和柚子)

in #cn5 years ago

上次以太坊账户被黑,我就一直思考原因,这个metamask上的账号我几乎不用,唯一用过的几次,一次是我自己开发智能合约用的测试网络,还有就是用它在一些以太坊的DAPP上玩,比如上次提到的以太坊的Defi产品,难道是后者有什么bug,导致我的账号被黑?对于以太坊的生态圈,出现这种问题几乎 是没有办法的,君不见,著名的DAO事件,就导致以太坊硬分叉成现在的以太坊和以太坊经典。这就使我想起来以太坊的竞争对手柚子(EOS),我一年前曾经给一位考虑以太坊和柚子做项目的朋友写过两者的比较,这里重温一下。

在比特币发布之后不久,有远见的人们便开始意识到,比特币背后所蕴含的技术远远比把BTC简单认作为一种新型电子货币的基础拥有更多的潜力。事实上,在比特币发展的短短几年之内,很多新的去中心化应用已经被基于比特币的同类公有区块链技术所构建。这些去中心化的应用包括加密信息应用 (Bitmessage),去中心化交易所 (Bitshares), 去信任化赌博/博彩 (Peerplays),云计算 (Golem),当然还有社交媒体(Steem/Steemit)。对于在新区块链经济中的这些创新者和应用开发者们来说,摆在他们面前的挑战是,从头开始实际构建一个新的区块链应用是存在难度的。再加上传统的工作证明POW和权益证明POS共识机制对于网络和应用的安全性要求取决于拥强大的哈希算力。所以对于大部分公司们来说,这些挑战使得进入行业的壁垒变得非常高。

为解决这个问题,智能合约平台的设想被应运而生,迄今为止这方面做的最成功的便是以太坊网络。可以将以太坊当做是一个为开发和运行去中心化应用(DAPPs)的全球化计算机。借助这个平台,用户可以确信那些去中心化应用DAPPs将准确的按编程运行而不会受第三方的影响。当前,以太坊网络的市值约为184亿美元,这证明了市场对智能合约平台的需求。

在2018年,Dan Larimer(Bitshares,Graphene和Steem / Steemit的创始人)以及Block.one团队宣布开发EOS,这是一个共识区块链操作系统,为应用开发者提供数据库、帐户权限、执行调度、身份认证和互联网应用通讯功能。EOS能为开发人员提供他们所需的工具,因此他们可以专注于应用程序中的特定业务逻辑,而不必担心加密实现和与分布式计算机(例如区块链)的通讯。此外,EOS的并行化设计使得通过通过区块链扩展来实现潜在的每秒数百万次交易处理成为可能。2018年6月,EOS主网上线,很多DAPP平台在上面运行良好。

这里我们将描述EOS与以太坊平台之间的技术能力和局限性、以及设计理念上的一些差异。

以太坊(ETHEREUM)柚子(EOS)
设计理念以太坊网络几乎可以被描述为应用不可知论者,即它被特别设计为一种对所有潜在应用都表现中立性的平台。这样正如github上以太坊的设计原理文档中所述的:以太坊“没有特性”,拒绝内置“甚至是极为常见的高级用例作为协议的内在部分”。这种基本原理减少了应用程序的臃肿,但依然要求许多不同的应用程序来进行代码重用。而如果平台本身能够提供更多的常用功能,那么必然能够实现应用程序开发人员的效率提升。EOS意识到许多不同的应用程序需要各种相同类型的功能,并寻求提供这些实现方法,例如许多应用程序所需的加密和应用/区块链通讯工具。基于这样的理念,EOS将广泛引入如下特性:基于角色的权限管理、用于界面开发的WEB工具包、自描述接口、自描述数据库体系、还有一个声明式许可方案。EOS提供这些功能对于简化用户账户生成和管理以及安全问题(类似声明权限和账户恢复)将特别有效。
共识机制和治理目前实行工作量证明(POW)。背后呈现一个问题是难以处理那些破坏性的应用程序。比如,之前DAO遭遇了致命的bug、黑客攻击和事故。以太坊上破坏性的应用程序要么导致投资者面临潜在的实质性损失,要么面临导致混乱的硬分叉。EOS采用的是委托权益算法(DPOS)机制,包含一个冻结和处理破坏性或冻结类应用程序的机制。举例来说,假如DAO在EOS上发生了,它可以被冻结、处理或更新而不会干扰其他应用程序。此外,EOS的DPOS共识机制使得在硬分叉时没有伴生出多重竞争链的潜在可能性。Steem网络经历的18次成功的硬分叉已经证明了这一点,它同样也是运行在石墨烯上。此外,EOS将包含一个有法律约束力的宪法,确立共同管辖权用于解决用户争端,它还包括一个基于股权权重投票产生的自洽自足的社区。
性能目前,以太坊网络受限于CPU单线程性能 ,早期测试网络已达到每秒实现25次交易(在某种优化条件下),通过优化可能会提高到50或100 TPS (每秒交易量)。然而,在真实的应用程序负载下,以太坊网络当前的交易可能会被限制到10 TPS或者更低。EOS依赖已经在压力测试中展现出每秒1万至10万笔交易处理能力的石墨烯技术。其次EOS将使用并行化来扩展网络,或将达到每秒数百万次的交易处理能力。如果这些基准得以实现,EOS将能够支持数千个商业规模的DAPPs。目前EOS上证明的TPS大约是1000。
交易费用对以太坊来说,交易中每次的计算、存储操作、带宽使用都需要GAS费用。而且这些必需的费用是波动的,能够设置成非常高的价格,因为矿工总是优先选择处理高手续费的交易。实际上以太坊采用的是一种租赁模式。EOS采用所有权模式,这种模式下持有EOS代币会给予用户分享相应比例的网络带宽,存储和处理能力。这意味着如果有人拥有1%的EOS代币,无论网络其余部分的负载如何,他将始终可以访问1%的网络带宽。这样小型初创企业和开发者们可以购买相对较小的网络份额以获得稳定可靠的、可以预期的网络带宽和运算能力。再其需要扩展他们的应用程序的时候只要简单的购买更多的EOS代币即可。此外,由于网络是零交易费用,除了首次购买EOS代币之外,没有其他的网络开发成本。当然如果愿意,也可以出售这些代币以便收回初始的投资。
拒绝服务攻击(DOS )以太坊网络已经被证实容易受到这种DOS攻击,众所周知,在以太坊网络中矿工总是优先选择高手续费的交易打包进区块链中。由于网络中的带宽和算力是有限的,可以预见如果网络中充斥高手续费虚假垃圾交易,这将有效阻挡了很多低手续费的合法交易。而EOS对此应当是免疫的,EOS代币的所有者给予用户按比例的网络带宽、存储空间、和运算能力。因此恶意攻击者只能消耗根据其EOS代币占比拥有的相应比例的网络资源。DOS攻击或许可能在某个特定的应用程序中可用,这取决于应用的设计,但是这些攻击永远不会扰乱中断整个网络。即使许多恶意代理人试图给几个大型的网络应用制造垃圾阻塞,也能保证网络上小规模初创投资项目的带宽可靠性和计算能力。
开发社区以太坊主网在2015年上线,历时很长,所以各种智能合约的开发平台和开发工具成熟度很高,以太坊上目前主要的开发语言是solidity,一种类似javascript的语言,还有类似truffle这种稳定可靠的的开发框架。EOS上线得比较晚,2018年6月底主网上线运行,所以开发社区相比较不够成熟,但是Block.one(开发EOS的公司)和社区正在努力改善开发社区和平台,他们在coinbase上推出了EOS智能合约的开发教程和奖励措施。EOS主要开发语言是C++,但是人们也 可以选择其它开发语言,然后编译成web assembly的字节码。
未来发展为了解决它的性能问题,以太坊将从2019年开始逐步升级到ETH 2.0的信标链(Beacon),届时,它将推出分片机制,POS/POW混合机制,十月开始将接受ETH 代币的抵押,要成为未来POS的矿工,必须至少抵押32ETH,代币从旧的以太坊链到新的区块链的转移将是不可逆的,就是旧的ETH转移到新的链上后,将无法转回。EOS将在2019年9月23日,把主网升级到1.8,这不但为了提升网络性能,也为了未来一个重大产品voice ---一种将颠覆twitter, facebook的社交产品能够很好地在EOS上运行。EOS将支持扩展比特币网络,使得目前的闪电网络变得不再需要。它甚至要支持IPFS这种去中心化的网络存储功能。未来可期。

结论

柚子的性能方面是超越以太坊的,但是其DPOS机制被很多业内人士所诟病,认为去中心化程度和抗审查能力不够,而且目前开发平台和技术支持没有以太坊那么完善。以太坊如果升级成功,那么它的性能将不是大问题,但是它升级时间历经数年,这段时间给了柚子后发制人的时机。 尽管如此,以太坊发展至今,其社区和开发框架的成熟度大大高于柚子,就目前而言,很多人还是选择先在以太坊上开发新产品,然后逐步移植到柚子上。