链客,专为开发者而生,有问必答!
此文章来自区块链技术社区,未经允许拒绝转载。
嘉宾介绍
哈胜,现任梦起文化传播有限公司技术总监,西北地区区块链技术发起第一人;一直在致力于将区块链技术推广,现为EOS引力区西北区节点竞选人。
EOS基本介绍
EOS是Block.One公司正在研发的一个区块链底层公链系统,目的是解决现有的区块链应用性能低、安全性差、开发难度高以及过度依赖手续费的问题,实现分布式应用的性能扩展。EOS提供帐户,身份验证,数据库,异步通信以及在数以万计的CPU或群集上的程序调度。该技术的最终形式是一个区块链体系架构,该区块链每秒可以支持数百万个交易,同时普通用户无需支付使用费用。
目前的底层公链离真正的大规模商业应用还有很大的差距,主要表现在区块网络转账速度慢、费用高、系统并发处理能力差,稳定性差、数据存储和安全缺陷等。这是目前底层公链需要解决的问题,这些问题解决不了,商业化应用只是一句空话。EOS如果要成为一个真正能支持大量商业级应用的公链,势必要解决这些问题。
EOS的优势和创新
大幅提升底层公链的交易速度
采用了DPOS (股份授权证明)共识算法机制的EOS相对传统公链在速度方面优势明显。正处在开发阶段的 EOS如果能够顺利实现,很可能成为第一个可以处理商业级运算的去中心化底层公链。采用DPOS算法机制的石墨烯技术,在有限制的测试条件下已经实现了每秒上万次的交易量。后续,EOS将使用并发技术来继续扩展其网络性能,有望实现每秒数百万次的交易处理能力。届时,EOS将解决底层公链的速率和拓展性问题,将可同时支持数干个商业级的分布式应用程序 (DAPP) 在其平台上运行。
提升底层公链的可拓展性,避免硬分叉
作为一个去中心化的操作系统,当出现分歧时能否达成共识,在避免硬分叉的前提下保持迭代,将成为一个至关重要的问题。
在区块链中,底层的代码相当于现实中的法律。代码中存在bug是无法避免的,如果一个区块链的底层平台出现bug时没有办法修复将是一件十分可怕的 事情,会失去用户的信任。之前的BTC和ETH都曾出现过分叉问题,BTC因为速率扩容以及网络拥堵,社区无法达成共识,至今已经出现了多种分叉币。而ETH则主要因为DAO黑客事件,造成社区内激烈争论,最终分叉为ETH和ETC两条链。
而EOS从整体的架构设计上解决了这个问题。EOS的约束性合约相当于“宪法”给整个平台下了明确的定义:在公链的运行中,当系统出错的时候,能够根据可读性意图来区分这个错误是否确实是bug,并且来判断社区的修复是否正确。有了这套机制,如果未来有新技术出现,也可以很容易地增加到EOS系统 中,有利于系统的升级和迭代。
例如,当EOS中出现了类似之前DAO的黑客事件时,系统中的21个节点将迅速采取行动,冻结黑客账户,然后通过投票采取最有效的处理方式,不会像之前的ETH因无法共识而出现硬分叉的情况。
从这方面来看,EOS在稳定性和可拓展性上相对已有的底层公链系统是非常有优势的。
用户免费使用网络资源
EOS则采用所有权模式,如果你拥有相应比例的代币,就有权免费使用相应比例的网络资源,对你而言,交易将是零成本的。
安全性高,避免DOS攻击
DOS攻击在众多网络攻击技术中是—种常见并且具有很大危害性的攻击方式。它通过各种手段消耗系统资源和堵塞网络带宽,使正常网络服务陷千瘫痪状态。在近几年的实践中以太坊网络已经被证明非常容易受到DOS攻击的影响。
EOS的代币则相当于网络资源的所有权,用户只能使用相应比例的网络资源。因此,DOS攻击者只能使用到其EOS代币相应比例的带宽资源,形成了天然的制度屏障,使DOS攻击仅可能出现在某一个应用程序上,但这些攻击永远不会破坏整个网络运行,因此EOS从设计上提升了整个基础链的安全性。
提升公链系统的兼容性
为了实现更好的兼容性,EOS中设计了跨链交互和虚拟机独立架构机制。例如,在EOS系统中设置了以太虚拟机 ( EVM )。它能够支持现有的以太坊合约。也就是说,现有的以太坊平台上的应用,只需要稍加配置,未来就能够在EOS上面运行。
对于开发者来说,目前在其他公链上开发DAPP并不容易,需要自己写很多基础模块才能实现。而EOS的设计目标是成为区块链的底层操作系统,已经为开发者提供了各类底层开发模块。简单来说,各类基础功能EOS都已经帮你设计好了,你只需要知道怎么使用这些基础工具就可以完成自己的开发了。这样也就大大降低了开发者门槛,再加上EOS平台并发处理速度快,没有手续费的特点,将会吸引更多的普通开发者,有助于EOS平台上涌现大量的商业级应用,快速形成平台生态系统。
通过以上分析,我们不难得出结论,从架构设计的角度EOS非常有潜力成为能够支撑大盘商业级应用的超级底层公链。
但EOS还只是一个开发中的项目,在主网没有上线的情况下,列举这些技术解决方案及实现方式,只是出于概念上的论证,至于这种可能性能否最终实现,我们并不确定,作为投资者,想分析清楚一个项目的投资价值,我们还需要从可行性,进展情况等各方面进行多维度的考量。
EOSIO Dawn 3.0简介
BM在Medium宣布EOSIO Dawn (EOS黎明)3.0正式发布,做为EOSI O主网正式发布之前的一个里程碑式的版本,Dawn 3.0版本是第一个功能完整的预发布。
Dawn 3. 0在这三个方面有巨大的提升:可扩展性;安全性;智能合约开发,并极大地改善了开发者的体验。
可扩展性
可扩展性意味着通过扩展来不断满足市场需求。BM说:“我们的团队在每一步都将未来扩展需求纳入设计中。也就是说,Dawn 3.0只实现了一小部分潜在的优化,可以让EOSIO进行扩展。我们设计了EOSIO,以便将来的实现可以利用并行计算来加速吞吐量,不需要通过硬分叉就 能继续升级。”
安全特性
安全对于任何计算系统都至关重要,BM说:“我们设计EOSIO是市场上最安全的区块链。安全是一个多维问题,必须考虑到黑客攻击,硬件故障,硬件丢失和密码丢失的风险。硬件钱包擅长防范黑客入侵,但如果失败,可能会将您锁定在帐户外。此外,硬件钱包的纸张备份可能会丢失或被盗。”
简易合约开发
对于EOSIO,BM说:“我们的许多目标之一就是让合约的开发尽一切可能轻松。如果开发人员知道如何编写一个C++类的方法,那么他们应该能够编写一个尽可能不复杂的智能合约。”
“我们很高兴已经简化我们的 “hello world” 合约到几行简单的代码。我们的 工具链已经自动化生成合约ABI的过程,并且调用用户action到定义于你类目的方法。”
EOS和ETH、ADA的对比
EOS VS ETH的优缺点
在区块链领域,除了BTC这老大外,还有两璀璨的明星,那就是ETH和EOS,如果说BTC是区块链1.0的代表的话,那ETH和EOS就代表着区块链2.0、3.0;一直有种说法:BTC让人们见证了什么是虚拟货币、共识机制、公有的分布式账本, ET H让人们见证了什么是智能合约,即在这个共同的分布式账本上进行复杂交易的能力,而EOS则要将区块链推向我们的生活,使区块链应用能够大规模商业化。
通俗一点说,ETH是开源平台数字货币和区块链的智能合约平台,它为开发者提供在区块链上搭建和发布应用的平台,可以把以太坊当作是一个用于开发和运行去中心化应用。
EOS则是一个面积接近无限大的地基,这个地基牢固、精致、设计优美,并且在地基之上还提供了各种“积木”,开发商 ( Dapp应用团队)可以用这些“积木”轻易地搭出自己设计稿上的商业大厦、电影院、办公楼或者小木屋,而用户想进入这些房地产项目消费,也不需要先买门票,反而可以尽清领略各种景观。
设计理念
假如说ETH是简单开发的荒野,EOS则是功能齐全的大都会。ETH被设计为一个对于所有潜在的应用中立的平台。以太坊在github上的设计原理文档中如此说道:以太坊“没有特性”,拒绝在协议中加入即使是常用的高级别的用例。这使得应用没那么擁肿,但是它依然要求不同的应用重用代码。但是如果平台本身提供了那些常用的功能,将能提高应用开发者的效率。
与ETH不同,EOS意识到不同的应用都需要一些相同的功能,EOS就提供了这些功能,比如基于角色的许可功能,用于开发界面的一套web工具,自描述接口,自描述数据库,声明式许可scheme。
共识机制与治理
以太坊目前使用的的POW共识机制,运行在以太坊上的坏掉的应用导致投资人遭遇重大损失,慌乱的硬分叉。每次硬分叉都可能大量出现竞争链,更重要的,为了修复一个坏掉的应用而慌乱地进行硬分叉都会打乱整个以太坊网络。
EOS包含一套冻结并修复坏掉的应用的机制。坏掉的应用会被冻结,修复,然后更新,而不会干扰到其他的EOS应用。基于DPOS共识机制的EOS,即使硬分叉也不会大量产生竞争链而且,EOS将包含一个合法绑定宪法,用于解决争端,它同样包含一个基于股权权重投票产生的社区。
扩展性-速度
以太坊网络受限于CPU的单线程性能。早期的测试网络达到每秒25次交易(还是在优化了的情况下),经过优化,可以增加到50次或100次交易/秒。然而,在实际应用中,以太坊网络的交易差不多是10次交易/秒,甚至更少。
EOS将依赖于石墨烯技术,在压力测试中,石墨烯技术已能达到每秒3000笔交易。第二,EOS将使用并行技术来拓展网络,处理能力将到达每秒百万笔交易。如果这些都能实现,EOS将能支持上千个商业级Dapps。
安全性:DOS攻击
以太坊网络已经被证明了非常容易受DOS攻击,在以太坊网络中,矿工倾向于优先处理那些高费用的交易。由于带宽和算力是有限的,可以预见出如果网络中被塞入大量高费用的交易,这将会把低费用的合法交易踢掉。这就会诱使有钱的玩家用高费用的交易堵塞网络,以保证他们的交易能被执行。
EOS不易受DOS攻击,EOS代币的持有者会在网络带宽,存储和算力方面给予用户一定比例的股权,恶意攻击者只会消耗掉他们的EOS代币赋予他们的那部分网络。某个应用或许会遭到DOS攻击,但是这些攻击不会干扰整个网络。
GAS燃烧费用VS股权拥有制
以太坊中,交易,存储,操作,带宽使用的每次计算都需要gas费用,而且矿工倾向于选择那些高费用的交易来处理,这种经济模式会出现一种情况:富有的玩家可以向网络中发送大量高费用的交易从而导致网络瘫痪。
EOS使用所有权模式,持有EOS代币将在网络带宽,存储,处理能力方面给予用于一定的份额。这意味着如果某人拥有1%的EOS代币,那么他就永远只能获得1%的网络带宽,而不论网络剩余部分的负载情况。
EOS与ADA的优劣
ADA简介
卡尔达诺(Cardano)是一个正在开发中的新一代区块链智能合约平台,ADA是卡尔达诺平台的数字代币。
Cardano的哲学是在学习和继承现有基础公链优点的基础上,进行概念和技术的创新,希望能最终解决上述三方面问题,成为更便捷、更高速、更智能的新一代底层基础公链,也就是大家常说的区块链3.0。
Cardano不仅是加密货币,也是一个完全开源的区块链平台。其中心思想是要构建一个分层次的区块链生态系统。有些人甚至认为如果后续能够进展顺利,Cardano 有望成为一个史诗级项目。
从底层基础公链的竞争角度来看,ADA显然是一个非常有实力的竞争者,国际化的团队做事扎实,透明度高,无论规模还是技术能力,都可以被称为区块链领域的豪华团队,完全有条件成为未来的顶级基础公链。
ADA的整体目标宏大,如果项目顺利完成,价值和意义都非常巨大,同时,项目的复杂度高,也必然带来很大的开发难度,对此,投资者也应适当审视。ADA是和EOS属于同一量级的项目,它们都有机会成为未来最好的基础公链,但相比于EOS,ADA在市场热度和认知度上都还有明显的差距。
目标宏大、复杂、难度大、周期长
Cardano目标宏大,可以简单理解为改进版比特币+下一代以太坊。从软件工程的角度看,项目是非常复杂的,需要很扎实的开发推进和很长的开发周期。在一日千里高速变化的区块链领域,这种高难度长周期的项目定位本身也是一种风险,需要各方面的有力支撑才能顺利完成。
共识机制有待实践的检验
共识算法是一个基础公链的价值观,Cardano的Ouroboros算法是自己独创的,目前并没有开发完成,整体的理念也还存在一些争论,这从BM与霍斯金森关于算法的互怼也可以看出一些端倪。EOS的DPOS算法,已经在两个项目中有过应用,但近期的投票机制依然引起了轩然大波和整个生态的争论。可见,一个共识算法的成熟和完善,重要而且漫长,对Cardano的共识算法我们仍需要拭目以待。
中心化倾向能否成为主流共识?
对EOS的21个超级节点是否是中心化的争议仿佛一直没有停止过,在Cardano的设计中包含了接受监管,合规审查等思想,貌似是与区块链的去中心化思路相背离的,整个市场对于这种思路的接纳程度也是一个有趣的话题。
偏重技术,对营销的重视程度低
清高、严谨、注重声誉,我一直觉得ADA是区块链领域的异类,尤其与那90%只想着快速圈钱的项目方相比实在反差太大。有人形容ADA团队“不在乎钱,而更在乎是不是在人类知识的边界上又突破了一步”,一个开发团队拥有这样的格局和气度,小姐姐由衷的欣赏和敬佩。但毕竟投资市场是浮躁的,很大一部分投机者不管你项目好不好,只要项目方能拉盘,币价明天能涨就是好项目。即使你是踏实做事的清流,币价不涨也会被骂。因此,ADA这类埋头做事的项目能否取得更大的共识,做好市值管理,其实与投资者的心态和整个市场的理性程度有很大关联。
需要面对EOS和以太坊等强大对手的竞争
说到竞争,我们不得不提BM的EOS。在团队能力、项目定位、甚至共识算法方面,ADA与EOS都属于同一量级的,可能会成为较长一个阶段的直接竞争者。但目前EOS是遥遥领先的,已经实现了广泛共识。EOS 4月6日新发布了EOSIO DAWN 3.0版本,主网也即将在6月上线,似乎在落地进度上也领先了一步。这些无形中都是对ADA的巨大挑战,ADA需要在营销、落地、取得广泛共识等几个维度上尽力追赶。
EOS的生态建设方法
EOS生态的目标
在所有具有共识的人中,公平发放、公平使用Token。权益的公平性是维系EOS生态健康的第一要务,这个目标具体体现在了众筹、公链后的节点投票、通货膨胀等一系列运转细节的设计。
保证EOS生态具有和其他生态相比更先进的生产力。任何人和群体都有特质和局限性,曾经先进的公司变得落后,曾经天才的人物变衰老,都是可预期的客观事实。共识在凝聚和分裂中不断转化,社区需要有足够的包容性容纳不同价值观并为其提供充分的发展空间。在这个问题上,BM选择了多链自由竞争的路,具体如下:
自由竞争:Block.one不发起、不指定、不倾向任何公链,任何基于EOS.io的公链必须是由与Block.one无关的成员完成。由市场决定有哪一条或哪几条公链存活。
DAPP用链方式:Dapp可以自由选择和其他Dapp共享一条EOS公链、可以自己独占一条,甚至一个DAPP独占多条公链。
修改EOS.io:任何人都可以以任何方式删除、修改、补充EOS.io软件。就MIT协议来说,这是一个相对宽松的开源协议,任何人都有权使用,修改,复制,再分发(再分发版本无论是否开源都可以),销售这个软件。
在多链自由竞争的格局下,Eos.io同时具有的跨链功能。从而EOS社区真正成为一个求同存异,既有竞争又有合作的链网结构,任何人的新想法都可以在这个生态中得以实现。
运转
Token的发放
POW在项目运行早期可以实现发放公平,但在形成矿池后会因算力集中造成对普通人的不公平。POS在项目后期公平,但在初期受众面小的时候,考虑到公众对项目有认知周期,如何尽量降低由于信息扩散、信息不对称造成的早期权益集中是POS最重要的问题。EOS的Token发放通过以下几个设计完善的解决了这个问题:
除团队预留以外,不设任何预售和私募,绝大多数Token全部公平向公众发行。超长发放周期,让更多人有机会接触到项目,甚至有机会在几个牛熊转换中充分思考项目的价值,及其与自己价值观的匹配度,十分重要。1、为众筹前对项目感兴趣产生的需求提供供给。2、更精准发现EOS Tokens的价格。
不操纵币价。众筹期内,Block.one不可以交易或转账。在公链上线后,每年Block.one可与新的创始人将不可交易EOS token置换为可交易EOS token(不多于1000万)。整个众筹期内,Block.one会请第三方独立审计保证以下事项:Block.one不会用任何方式购买EOS,不会给Block.one的股东分红,不会进行任何股权回购行为。
DPOS和节点运行
如前文所讲,EOS.io是一个高度自治的软件。节点是维系EOS生态运转的最重要角色。在设计节点角色时,系统遵从了如下的原则:
高速轮转,自由进出:节点是在持续投票过程中不间断产生的。“任何人”只要在某一轮获得足够的投票,都可以参与到当个周期的区块生产中去。每一轮63秒(0.5秒21个节点每个节点出6个块)都可以有新的节点选出来,旧的节点被踢出去。
Token Holder对于节点具有最终的决定权。一切经TokenHolder通过的决定,节点必须无条件执行、不执行的节点将被自动踢出生产节点序列。
节点在获得15/21票后可对一些异常账户、代码进行暂停。控制节点收益的比例。
通货膨胀的用意
EOS本身的软件功能在增强、EOS所代表的计算资源在扩张,相应的工作投入需要给予激励回报。上述是提升整个EOS 社区成员福祉的行为,而并非针对个别Token Holder的行为,因此应以面向整个社区收取铸币税的形式来完成。换言之经济体的规模在增大,需要一定量的通货增加维持EOS的购买力平稳。
每年增发不超过5%的Eos Token,Token Holder投票决定具体数字。这部分Token 有三个用途:第一部分是节点奖励,完全用于扩大EOS生态计算能力,第二部分是Worker Proposal,第三部分是销毁掉。重点在第二部分,Token holder 可以投票发出申请(包括Community Benefit、Arbitration Fund、System Improvement三类),然后有开发者接单并提出报价。完工后开发者从Worker Proposal 账户中取得报酬。
宪法及宪法的升级
生态中还有一部分是不能完全通过算法促成的共识。将以英文版书写的宪法Hash后,作为交易的一部分嵌入每笔交易中,作为交易双方对共识的完全认可。
宪法升级有一个Token Holder和BP配合操作的流程,简单来说投票选节点,节点来执行,节点执行结果维持同一个状态一段时间后,新宪法生效。不按照Token holder决定做的BP会被踢出。如果节点在未经token hodler授权时 ,其他所有非生产的全节点会拒绝这个改变。
Q&A
Q:老师,对于现在区块链这么火热,同时也产生了很多区块链+内容的产品,但是大多人都是薅羊毛(通过文章获取代币)的,而这样的产品出发点是什么呢?是不是有点不符合区块链本质(去中心化的分布式记账系统)呢?
A:你说的这个问题确实有的,尤其是今年被称为区块链元年,很多人趁着大家不懂和不了解,做了很多假项目,你说的那种通过文章获取代币的就是明显的,他们很不符合区块链技术本质。是一种伪去中心。
Q:老师,你认为eos相关的空投项目对整个eos生态的发展会有怎么样的影响?
A:EOS空投项目,对于整个生态和社区的壮大发展是有好处,但同时也要防止那些空投骗局。最近EOS发售的糖果eosDAC就很受大欢迎。
osDAC,由一个名叫“BlockMaker”的公司建立,希望这个社区有组织有纪律,有很好基础设施、能良好的发展下去,继而汇集大家的力量,来促进 EOS 的发展。 这个 eosDAC 会为大家准备好开发工具,将会和其他社区一同促使 EOS 成为一个真正的,方便大家使用的公链。 拥有多少 Token 也一定程度上代表着你在这个社区的话语权。
总的来说 eosDAC 致力于打造一个民主,有序、自治、去中心化的 EOS 社区,以此促进 EOS 生态的发展。
关于 EOS 技术方面的文章已经很多了,这里不做过多阐述,大体意思就是定位区块链 3.0,建立一个比以太坊牛逼很多的 DAPP 开发平台,TPS 达到百万级,来适应更多的实际应用,据称目前的在测试节点上已能跑到 1300 的样子。
对于公链这样的开源项目,除了技术外,生态建设格外重要,而生态是需要整个社区共同推进的 ,EOS 作为一项明星项目自带光环,还未上线,已吸引了全球数个团队的参与,形成了多个 EOS 社区,eosDAC 就是其中之一(更加紧密的社区),而 21 个节点同样是繁荣 EOS 生态的重要力量,可以提供更多的开发工具,吸引更多的 DAPP 开发人员,从而推动 EOS 不断向前,搞出杀手级应用也不无可能。
良好的空投项目发展可以很好的补充主链的反展。同时促进主链社区的推动。