大数跨境

2018年的EOS——为应用而生

2018年的EOS——为应用而生 数组智控产业发展科技院
2022-04-18
1
导读:在2018年,EOS曾被认为是区块链3.0的主要竞争者。它是由Block.one公司开发的一个新的区块链软件


在2018年,EOS曾被认为是区块链3.0的主要竞争者。


它是由Block.one公司开发的一个新的区块链软件系统,其目标是将一切去中心化(decentralizeeverything)。


从2017年年中开始,经过一年的代币众筹后,EOS于2018年6月15通过由数十个区块生产者(block producer,BP,又称超级节点)组成的社区上线了主网,EOS主网这条主要的区块链开始正式运转。


EOS这个基础公链可说是为应用而生的,其发展虽不如预期,但其系统设计是一类典型的区块链设计。


EOS vs.以太坊


了解EOS的方式之一是拿它与以太坊、比特币进行比较。


从开发目标上来讲,比特币、以太坊、EOS是渐进的,重心分别是货币、合约、应用。


以太坊、EOS均是借鉴与延续了之前的思路重新开发,以太坊是比特币的改进,EOS是以太坊的改进。


这里先用比喻的方式来对比比特币、以太坊、EOS。



比特币的设计思路类似于黄金。


在数字世界中,按工作量证明共识机制,挖矿节点进行计算竞争,获得比特币形式的挖矿奖励。


挖矿节点也可以获得交易费收益,在比特币网络中的资产价值高,但交易并不频繁,交易费收益目前在矿工收益中的占比并不高。


以太坊的设计思路类似于高速公路。


在这条收费高速公路上,车辆行驶需要付费。


它早期募集资金,建设这一高速公路,所以早期投资者享有高速公路的主要权益。


之后,一起建设与维护高速公路的节点计算机也可以获得挖矿奖励与交易费收益。


在以太坊网络中,由于各类项目已经基于它生成了大量的通证,且交易量相对较多,因此节点计算机获得的交易费收益占比高于比特币。


EOS的设计思路则类似于房地产开发。


Block.one公司将土地预售给开发商,它用获得的资金进行整个区域的基础性开发,此后每年再以类似填海造田的方式增加5%的土地出来。


EOS的繁荣主要取决于,已经竞购得到大量土地的开发商是不是能够开发和经营好自己的地块。


另外EOS网络要依靠超级节点来各自建设、共同运营,这些节点共同获得每年1%新增发的EOS作为回报。


当然,用以上类比方式讨论只是为了便于理解。


EOS实际的情况是:Block.one公司募集资金开发了一个名为EOSIO的开源软件。


EOS社区用这个软件来运行EOS主网,从逻辑上来讲,这个主网并非由Block.one公司运行,而是由社区运行。


另外,其他人也用EOSIO这个开源软件建立替代网。


为什么EOS有超级节点竞选


EOS所采用的共识机制是DPoS,即一些节点在获得足够多的投票支持后,成为见证人(witness)节点或EOS中所说的区块生产者,负责区块链的区块生成。


对于比特币系统,任何人都可以接入网络,用算力竞争记账权利,生成区块,而对于EOS,只有超级节点才有资格生产区块。


这是因为两者所采用的共识机制不同:


比特币和以太坊采用的是PoW共识机制,而EOS采用的是DPoS共识机制。


围绕PoW与DPoS的比较,讨论主要集中在能源消耗、效率、安全等方面,但我们也可以从去中心网络形成的角度来看,为什么DPoS是一种可行的选择。


基于区块链的思路开发的软件系统有以下三个关键要求:


·性能。它的去中心网络的整体性能能否支撑大量应用?


·网络。它的共识机制、经济激励和社区运营能否吸引足够多的节点加入,形成一个安全、可靠的去中心网络?


·功能。无论目标是通用类、功能类还是行业类,它是否提供了应用开发所需要的必备功能?


一个基础公链成败的关键正是由性能、网络与功能三点决定的。



EOS已经在性能和功能上做了很多努力,而DPoS共识机制与超级节点竞选是EOS在“网络”这个角上所做的努力。


对比特币网络和以太坊网络来说,在较长的周期内,它们以挖矿经济激励的方式,逐渐地吸引了足够多的节点加入。


对于一些基础公链区块链项目,由于各种原因,它们的主要节点是由基金会或关联方运行的。其中较为典型的是小蚁(NEO),它拥有较大的交易吞吐量(TPS),但官方节点只有不到10个。


在2017年12月的报告中,NEO理事会提到了其网络的去中心化计划,并解释道:



“我们希望至少有3个节点由外部的实体运行……去中心化的初期阶段:


2个节点将由City of Zion运行,


1个节点将由社区运行,并由社区资助(独立于基金会),


2个节点将由以盈利为目的的区块链公司运行,


2个节点将由NEO理事会运行。


EOS则用超级节点竞选的方式来刺激形成一个活跃的去中心网络,并且超级节点竞选是与其共识机制DPoS高度匹配的。


按现在的设计,获得投票的21个活跃生产者和179个候补生产者一起生产EOS这条区块链的区块,即运行这个区块链网络。


这些区块生产者是动态的,时刻根据投票动态调整。


从2018年年初到6月15日EOS主网上线,围绕超级节点的竞争已经显示,这个机制相对成功地调动了众多参与者竞争,促成了EOS去中心网络的形成。


EOS的体系架构:与比特币、以太坊的对比




在最基础的层次——数据层和网络层上,EOS与比特币、以太坊并没有多大的区别。


EOS的共识机制采用了与之前较为不同的DPoS共识机制。


由于采用DPoS共识机制,EOS网络的激励层就可以看成不再单独存在(图中也未表示出来)。


EOS网络每年新增发5%的EOS币,其中1%按一定的规则分配给区块生产者,另外4%进入社区的提案系统(worker proposal system)资金池待分配。


EOS智能合约和以太坊略有差异,但基本上采取了相似的设计。


EOS的应用也与以太坊相似。因此,对于合约层和应用层,两者是相似的。


EOS体系设计的创新在于工具层和生态层。


为了让EOS适用于应用开发,EOS团队为它设计了账户、持续化数据库等工具与接口。


因此,这里延续唐煜等所做的分类,认为在合约层和应用层之间存在一个工具层,这使得在EOS区块链上开发应用更为便利。


EOS的另一个特殊设计在于,它将自己的EOS主网和EOSIO软件分开,鼓励开发者采用EOSIO软件建立行业专用、领域专用的区块链网络,并在其上建立自己的一系列应用。


因此在其体系架构的最上层出现了一个生态层,这一层是采用EOSIO软件的各种区块链,比如专为游戏、物流、金融、社交、能源、医疗开发的链。


——————————————————————————————


「冷知识」关于EOS的主要开发者BM


EOS的主要开发者是区块链的传奇人物丹尼尔·拉里默(Daniel Larimer),他的网名为ByteMaster,在网上他也被称为BM。


BM开发了三个主要的区块链项目,EOS是第三个



BM开发的第一个主要区块链项目是比特股(Bitshares X,BTS),这个项目创建了一个去中心化的银行和交易所,使用区块链账本来创造可互换的数字资产,这些资产可以市场化,锚定美元、黄金、汽油等任何东西的价值。


这个区块链的共识机制正是所谓的DPoS共识机制。


DPoS是BM于2013年12月8日提出的,在同年7月他已经利用这一共识机制开发了比特股。


比特股的DPoS共识机制被抽象成了石墨烯(Graphene)框架,在业界被广泛使用,技术文档参见:http://docs.bitshares.org/。


BM开发的第二个主要区块链项目是内容区块链Steem及其博客平台Steemit。在加密数字货币发展的初期,这个博客平台激励了很多关于数字货币、区块链的内容写作。


Steem区块链所采用的共识机制也是DPoS。


BM曾经与中本聪在邮件组进行交流,并提出要改变比特币的PoW共识机制,以让交易进行得更快。


中本聪在回应了去中心化的重要性后,给BM的回应成为比特币与区块链世界的名言:如果你没理解或者不相信,我也没空去说服你,抱歉。(“If you don’t believe me or don’t get it,I don’t have time to try to convinceyou,sorry.”)在中文世界,这几句话也被戏称为区块链世界的信条:“爱信信,不信滚。


”BM曾透露,自己的理想是“找到一个能够保障人们生活、自由和财产安全的自由市场方案”(to find free market solutions to secure life,liberty,and property forall.)。


2021年1月初,BM宣布辞去Block.one公司CTO一职,离开EOS区块链项目。


这对于EOS和他个人都是重大打击,因为这是他在比特股、Steem后又一次在项目发展不顺的情况下抛弃原有的项目抽身离去。


———————————————————————————————


「冷知识」一张图理解EOS


从比特币到以太坊,再到EOS,它们背后的组织渐趋复杂。


比特币处在完全自运行的状态。


以太坊是由以太坊基金会来开发软件和运行该区块链网络。


出于各种原因,EOS显得更为复杂。初看,它至少包括以下三个部分:


第一,EOSIO软件。


这个开源软件是由Block.one公司开发的。


当然严格来说,这是一个社区开发的开源软件,任何人都可以参与开发、提交代码。


第二,EOS通证。


EOS通证由Block.one公司在以太坊上按ERC20通证标准发售。


按发售条款,发售获得的ETH资金归属Block.one公司所有。


历时一年的发售于2018年6月2日结束,之后,EOS通证被映射到上线的EOS主网上,它现在是EOS主网的原生代币。


第三,EOS主网。


通过竞选,一批区块生产者被选出来,它们启动EOS主网。


EOS主网于2018年6月初由EOS社区上线。


但可以合理地推测,在EOS社区中,Block.one公司有着非常大的影响力。


在主网之外还出现了一些采用EOSIO的区块链,它们可被视为EOS替代网。


EOSIO是一个开源软件,Block.one公司也支持各方使用这个开源软件来架设自己的区块链网络。


到此我们可以看到,EOS的组成部分与多数基础公链项目相似,包括三个部分(一条链、一个通证、一个开源软件):EOS主网、EOS通证、EOSIO开源软件。


EOS主网也是由分布式账本和去中心网络组成的。


与其他基础公链的一个较大不同是,它鼓励更多的人在EOS主网之外使用和运行EOSIO开源软件。


EOS的主网包括三层:最核心层是由区块生产者组成的EOSIO核心网,中间层是EOSIO接入网,外层是EOSIO用户。



EOSIO开源软件包括一系列软件,其中主要有以下三个:



·nodeos,EOS的核心程序,它是EOS节点的后台程序。


·cleos,管理EOS区块链和钱包的命令程序。


·keosd,管理EOS钱包的程序。


EOS主网的账户包括两种:外部账户(由私钥控制)和合约账户(含有合约代码)。


与账户相关的概念是钱包与权限,钱包是保存私钥的客户端,而权限包括两个基础权限类别(owner与active),应用可自定义各种权限。


EOS的智能合约


EOS的智能合约是关联在各个合约账户上的。


在EOSIO系统中,“合约”沿用了区块链的专业术语,但其含义更接近于Linux操作系统的后台应用,比如节点在启动时会包括四个缺省合约,如eosio.bios、eosio.token等。


一个账户通过转账等动作触发另一个合约账户中的合约运行之后,这个合约可以通过软件代码调用其他的合约。


EOS智能合约现在是用C++语言编写的,文件格式分别为*.hpp/.cpp,编译后变为WebAssembly格式文件WASM(.wast)与应用头文件(*.abi)。


一句题外话,按目前披露的技术规划,以太坊2.0的下一代虚拟机采用的也是WebAssembly(WASM),名为eWASM(Ethereum flavored WebAssembly)。


特别设计之一:用户免费


(1)用户不用直接向区块链付费,而由应用来处理。


在以太坊区块链网络中,你要将以太币或其他基于ERC20标准的通证转移给别人,作为交易的发起人,你需要自己设定一个交易燃料费(Gas),给区块链网络直接付费,从而让以太坊网络能处理这一交易。


EOS的设计逻辑是基于这样的假设:“没有任何网站要求访问者为维护服务器而支付小额费用。


因此,去中心化应用程序不应该强迫它的用户为使用区块链而向区块链支付直接费用。”


为了应用便于用户使用,它的建议方案是,应用自行解决费用,最终用户使用区块链网络是免费的。


(2)将交易成本与通证价值区分开来。


在以太坊区块链网络中,我们支付交易费用的是以太币,随着以太币价格的涨跌,交易成本就随着这个通证价格来波动。


EOS的设计逻辑是:“将交易成本与通证价值区分开。”


EOS区块链网络的做法是:一个应用拥有的带宽、计算、状态等资源,与其持有的通证数量有关,但由于不需要消耗通证,因此在一定程度上可视为与该通证的价值或价格无关。


如果我们作为应用开发者,并不持有足够多的通证,则EOS区块链网络还提供一种租用机制,这个机制是“将资源能力授权出去”(delegating capacity):通证的持有人可能不需要立即消耗可用带宽的全部或部分资源,他们可以选择将未消耗的带宽委托或租赁给他人。


特别设计之二:账户与权限体系


一个EOS账户系统可以发送动作(action)给另一个账户,而每个账户都可以设定一个处理器(handler),来自动处理发送给自己的动作。



动作和处理器的结合,就是EOS的智能合约。



每个账户都有自己的内部数据库(private database),这个账户内部的内部数据库只有自己的动作处理器可以访问。


EOS系统还提供了一个标准的基于角色的权限系统(role based permissionmanagement),这使得所有基于EOS开发的应用都可以采用这个账户体系与权限系统,而不必自己重新开发。


在BM之前开发的Steem区块链中,基于角色的权限系统就被引入了区块链中,他在Steem中硬编码了三种用户权限:owner、active、posting。


EOS对此进一步改进,对这个基于角色的权限系统进行了通用化,“允许每个账户持有者定义自己的权限层次结构以及动作的分组”,这样做就给了应用开发者更多的自由度。


在EOS账户权限系统中有两个缺省的权限组:最高级别的缺省权限组是owner,另外一个缺省权限组是active,它可以做出除更改所有者之外的所有事。


其他的权限组都可以由active派生出来,这些权限组用户可以自行定义。


比如,我开发一个博客应用,我就可以自己定义一个publish权限组出来



特别设计之三:存储系统



EOS是一个目标远大的技术系统,但当前的发展并不如预期,这可能正是因为它过于仰赖中心化的人(如主要创始人丹尼尔·拉里默)与机构(Block.one公司)。


在区块链的设计中,有一个知名的“不可能三角”,它指出,一个区块链项目无法同时满足以下三个条件,最多只能同时满足其中两个条件:


·可扩展性(scalability)。

·去中心化(decentralization)。

·安全(security)。


对比一下比特币和EOS:比特币系统看重的是去中心化和安全,而牺牲了可扩展性;EOS则选择牺牲了去中心化,而去追求可扩展性与安全。


在EOS主网上线几年后再回头看,这可能不是一个好选择。有中心化倾向的区块链可能难以获得广泛的采纳,因为其他人会想,我为何要加入别人的“王国”呢?


更糟的是,当位于中心的机构缺乏进取心时,整个生态的发展就会停滞不前。


【声明】内容源于网络
0
0
数组智控产业发展科技院
以AI技术为底层能力,聚焦智慧园区、城市公共安全、数智警务、健康医疗、能源电力、科研实验及平安校园等领域,提供从感知到决策的全流程软硬件一体化的国产装备智能体产品解决方案。
内容 986
粉丝 0
数组智控产业发展科技院 以AI技术为底层能力,聚焦智慧园区、城市公共安全、数智警务、健康医疗、能源电力、科研实验及平安校园等领域,提供从感知到决策的全流程软硬件一体化的国产装备智能体产品解决方案。
总阅读2.8k
粉丝0
内容986