eos是什么?
原文 https://www.jianshu.com/p/06443248f4d8
简介
用一句话来定义eos,即:区块链操作系统,支持在它之上构建dapp,支持智能合约、帐户、身份验证、数据库、异步通信和跨越数百个 CPU 内核或集群的应用程序调度。简单来说,eos是类似于windows、linux、安卓、ios这样的底层操作系统,为区块链的去中心化应用(dapp)提供更加方便、安全的开发运行环境。
eos的诞生背景
众所周知,区块链技术发展到现在,已经步入了区块链3.0时代。
1.0时代开始于2009年,以比特币(btc)为代表的数字货币横空出世,其去中心化、不可篡改的特性,给急需“信用”背书的金融市场带来了新的生机。然而,单一的数字货币功能,并不能满足金融机构复杂的交易场景。全球复杂的政治经济格局,也让数字货币的应用落地举步维艰。
1.0时代的困局,也为区块链2.0时代带来了新的机遇与挑战。2014年,以以太坊(eth)为标志的、主打智能合约的区块链2.0公链如雨后春笋般出现。智能合约,顾名思义,就是将我们普通的纸质合约功能,以代码的形式实现和执行,并发布到区块链上。有了智能合约功能,我们可以很方便的为一些交易场景定制特定的合约,满足一定的条件时,合约会自动执行;区块链不可篡改、去中心化的特质,让我们完全不用担心违约的问题出现。
既然2.0时代已经完美的解决了金融市场的定制化解决方案的需求,那要3.0时代干嘛?原因很简单:性能问题。因为要兼顾去中心化的特性,区块链的系统设计使得每秒确认的交易数非常有限。btc每秒只能确认7笔交易,eth每秒也只能确认20~30笔交易。对于金融结算场景,比如天猫双十一的消费场景,需要每秒百万的交易确认数,1.0和2.0区块链系统是远远达不到需求的。
所以,eos就顺理成章的诞生了。这个主打百万tps的区块链操作系统,作为区块链3.0时代的杰出代表,致力于让区块链系统真正的落地商业化。截止目前,eos的第一阶段的开发已经结束,主网顺利上线。按照社区之前的测试结果,eos单线程的性能达到每秒1000笔交易,比目前市面上的区块链系统提升了几十倍。多线程的开发会在下半年持续进行,能不能达到承诺的性能,让我们拭目以待。
eos的特性
共识机制
稍微接触过区块链,应该都对共识机制有个大致的了解。区块链系统,是一个分布式的网络,让分散在不同国家、不同网络环境、不同主机的人,能对一个结果的产生达成一致认可,共识机制功不可没。
btc用的共识机制是pow算法,简单的说,我们会把交易广播到网络上,btc网络出一道题,所有运行btc网络的计算机,都在不停地做运算,谁先给出答案,谁就能产生一个区块,区块中打包了交易,一个一个区块首尾相连,就形成了唯一一条区块链。eth也用的是pow算法,大同小异。这个算法的优点暂时不说了,缺点也很明显,计算资源的严重浪费、每秒能确认的交易数很少等等。
而eos的共识机制是dpos算法,简单的说,就是区块链版人民代表大会制度。规则如下:eos打包交易和出块的节点总共只有21个,将他们称之为超级节点,这里的超级节点可以是1台计算机,也可以是多台计算机组成的集群,集群模式目前还在开发中。有一堆节点都想竞选超级节点,每个持有eos的人,都可以投票选自己心仪的节点。一个eos可以投30个节点、每个节点只能投1票。eos的共识机制,牺牲了部分去中心化的特点,换来了性能的大幅度提升。
eos共识机制详细的参数:
- 选举21个超级节点作为生产者,49个节点作为备选,每个生产者按顺序轮流打包区块。
- 打包126个块(21个生产者,每人6个块)算一轮,每轮选举一次超级节点。生产者打包的顺序,由15/21个生产者投票产生。平均出块速度0.5s。一个交易从广播到99%确认大约需要花0.25s,大约1s后可确认不可更改。
- BFT算法:允许生产者给区块签名,同一时间同一高度一个生产者不能给两个区块签名,一旦一个区块被15个以上的生产者签名,即被认为是不可逆的
治理机制
宪法:为了避免超级节点作恶,以及其他用户作恶的行为,eos创建了一个点对点的服务条款协议或者绑定用户到一个合约,简称“宪法”。 宪法的内容定义了仅仅依靠代码无法在用户间履行的义务,同时通过建立管辖权和可选的法律来解决相互间的争端。“宪法”是采用李嘉图合约编写上链的,每个用户发交易都需要认可“宪法”内容并使用私钥签名确认。宪法的设计原则可参考block.one的副总裁thomas发布的宪法设计原则,“宪法”内容比较多,可以搜索thomas的发言记录查看。
ECAF:为了更大程度的履行“宪法”,防止作恶行为。eos社区建立了ecaf仲裁机构,作用是选举仲裁员,处理链上的交易纠纷、恶意盗币、违宪等行为。ecaf目前权力很大,社区对这个仲裁方式也很有争议,未来可能会使用智能合约取代ecaf的人为治理方式。
分红机制
讲分红机制之前,先明确eos上的几个角色:
- 超级节点:21个,由所有持有eos的人选举产生,负责打包eos区块
- 备选节点:49个,由所有持有eos的人选举产生,作为备用节点,一旦超级节点不可用,随时替换21个节点作为区块打包者
- 查询节点:不参与打包区块,只同步eos区块,作为交易查询使用
分红机制的详细阐述:
- 超级节点打包区块获得EOS,EOS每年增发5%,1%归超级节点和备选节点所有,4%归基金会所有。1%的收益,其中25%分给超级节点,75%按照每个节点获得的投票数进行分配。4%收入基金会的收益,可能会用于资助dapp的孵化,也可能被销毁,目前还在讨论中。
资源分配机制
- 超级节点对外发布他们的可用的带宽(net) 、计算能力 (cpu)、内存 (ram)。
- 其中,对于cpu和net资源,持有者可以通过抵押EOS获得,比如抵押发行量1%的EOS,即可使用1%的net和cpu资源。抵押cpu和net的EOS可以赎回,cpu和net如果用尽了,会在一天后恢复,关于具体的资源使用情况,比较复杂,我会单写一篇文章详细阐述。
- 对于ram资源,则需要通过使用EOS买卖获取,每次买卖都要收取1%的手续费。ram是不可恢复资源,用完了需要重新购买。
eos的应用前景
区块链行业,截止目前为止,最被人诟病的就是没有一个商用的解决方案,被古典互联网从业者认为是割韭菜的利器。eos的出现,就是试图打造一个通用化、高性能的公链,彻底解决区块链的商用落地问题。
笔者因为工作关系,接触了不少区块链项目,总结了一下目前区块链可能的商用场景,如下:
- 跨境结算。目前的金融系统,由于不同银行之间没有相互打通系统,跨境结算一笔交易,大概需要几天的时间。基于区块链打造的金融系统,能够保证交易的共识与不可篡改,可以为不同金融机构提供通用的结算解决方案。目前,致力于解决此场景的区块链项目有:xrp、stellar、fabric超级账本、zipper等。
- 资产上链。在这个信任缺失的社会,要证明你是你,都需要去派出所开证明。一旦涉及房产、资产纠纷,就需要法律流程介入、打官司,耗费非常多的财力物力。区块链技术的信用机制、智能合约机制,能保证链上资产的归属公开透明、交易公开透明,大大减少资产纠纷。目前,致力于解决资产上链的项目有:btm等。
- 社交网络。目前的互联网社交产品,社交平台的话语权非常大,内容的发布、审核、删减都是平台说了算。大部分收入也归平台所有,对优质内容的贡献者,激励也非常有限。针对这些问题,区块链采用token经济激励,持有token的人可以投票支持优质内容、发布优质内容的作者也可以获得token奖励。由于区块链去中心化的特质,任何内容上链了都不可篡改,可以避免平台作恶、以及因为政府政策导致内容被屏蔽。目前,致力于解决社交问题的项目有:everipedia、steemit、币乎、ono等
- 预言机。区块链的不可篡改的特性,能够极大的保证交易数据的真实性,为预测提供了强大的数据基础。区块链的智能合约功能,能通过代码实现自动化的交易,为预测场景的智能结算提供了重要保证。主要应用场景,比如对赌合约、基于预测的自动化交易、保险投顾等。目前基于此场景的项目有:oraclechain、FInsur等。
- 自治系统。总有理想主义者希望建立一个类似于蜂群、蚁群一样的自治化社会,没有中央集权,大家通过群体意志决策,这样的社会能保证最大程度的公平性,避免寡头作恶,剥削民众。目前,有很多区块链项目在尝试去中心化系统,例如:eosdac,fcoin、bitfinex等也在尝试开发去中心化交易所。
eos由于其优良的性能,单线程交易成交可达到1000tps/s,采用侧链未来可以达到百万tps,以上的场景,都能在eos上得到实现。未来,我们可以期待基于eos的dapp百花齐放。
eos常用网站
因为篇幅有限,我只能介绍这么多关于eos的信息。更多的信息,推荐几个网站,大家可以自取,毕竟知识的增长是一个主动学习的过程。
- eos github:eosio
- eos技术文档:EOSIO Developer Portal
- 最早的eos论坛,有不少关于eos治理、开发、选举的内容,block.one的核心成员经常会发布新观点:eos go
- 公众号,国内eos节点收集的社区信息:EOS引力区、HelloEOS社区、IMEOS
- 区块浏览器:myeoskit、eoseco、eosmonitor