EOS(Enterprise Operation System),企业操作系统,是为企业级分布式应用设计的一款区块链操作系统。相比于目前区块链平台性能低、开发难度大以及手续费高等问题,EOS拥有高性能处理能力、易于开发以及用户免费等优势,极大的满足企业级的应用需求,被誉为继比特币、以太坊之后区块链3.0技术。EOS 提供帐户,身份验证,数据库,异步通信以及在数以万计的CPU或群集上的程序调度。该技术的最终形式是一个区块链体系架构,该区块链每秒可以支持数百万个交易,同时普通用户无需支付使用费用。
EOS是一条区块链的公链,是未来区块链的基础设施。用电脑系统对比,EOS就相当于操作系统(底层架构)+硬件系统(提供算力存储带宽),只要你在这个链上有帐户,用户就可以直接在上面开发和运行自己的软件DAPP(区块链上的去中心化APP)。简单来说的话,就是一个去中心化的系统。它提供了数据库、计算、通信等接口,它的数据库接口可以使用任何部署了连接eos主网的节点的电脑存储来存储你的数据,它也可以调度节点的cpu等一系列资源。
1、大幅提升底层公链的交易速度
以太坊以及目前大部分的区块链应用最让人诟病的一点就是“慢”和“拥堵”,特别是在交易量堆积的时候,大家还记得SNT众筹的时候吗,直接就把以太坊的网络堵得瘫痪了。
传统金融行业中的VISA和支付宝在实际应用中,都已经能够支持每秒数万笔的交易。而目前比特币实际应用中仅能支持大约每秒7次的转账,以太坊也仅能支持每秒数十次转账。如何在安全的前提下实现高速处理是区块链底层公链突破的重点。
采用了DPOS(股份授权证明)共识算法机制的EOS相对传统公链在速度方面优势明显。采用DPOS算法机制的石墨烯技术,在有限制的测试条件下已经实现了每秒上万次的交易量。后续,EOS将使用并发技术来继续扩展其网络性能,有望实现每秒数百万次的交易处理能力。届时,EOS将解决底层公链的速率和拓展性问题,将可同时支持数千个商业级的分布式应用程序(DAPP)在其平台上运行。其创始人Daniel Larime之前的两个项目BTS和STEEM都用事实所获,证明石墨烯底层工具处理高频数据的能力。
石墨烯是区块链工具组,由比特股团队cryptonomex开发,采用C++编写,丹尼尔·拉里默(Dan Larimer)是 Cryptonomex 的创始人。并发能力比较强,基于石墨烯底层的BTS和STEEM却可以达到1.5S的平均确认速度和有限条件下实测3300TPS的数据吞吐量,EOS通过并行链的方式,最高可以达到数百万TPS,并且并行本地链甚至可以达到毫秒级的确认速度。
2、提升底层公链的稳定性,避免硬分叉
作为一个去中心化的操作系统,当出现分歧时能否达成共识,在避免硬分叉的前提下保持迭代,将成为一个至关重要的问题。
而EOS从整体的架构设计上解决了这个问题。EOS的约束性合约相当于“宪法”给整个平台下了明确的定义:在公链的运行中,当系统出错的时候,能够根据可读性意图来区分这个错误是否确实是bug,并且来判断社区的修复是否正确。有了这套机制,如果未来有新技术出现,也可以很容易地增加到EOS系统中,有利于系统的升级和迭代。
例如,当EOS中出现了类似之前 DAO的黑客事件时,系统中的21个节点将迅速采取行动,冻结黑客账户,然后通过投票采取最有效的处理方式,不会像之前的ETH因无法共识而出现硬分叉的情况。对于在EOS上运营的商家,其DAPP是建立在不会硬分叉的基础链上的。商家可以完全根据自己的发展需要更新自己的DAPP,而不会担心其辛辛苦苦建立的商业帝国的基础会发生分裂。这是商家选择基础公链的前提。当然,这个硬分叉不是说不会,而是最终必然是所有人运行的都是新的共识,另一条链会被完全舍弃。同样基于石墨烯架构的Steem网络经历了18次成功的硬分叉已经证明了这一点。
从这方面来看,EOS在稳定性和可拓展性上相对已有的底层公链系统是非常有优势的。
3.用户免费使用网络资源
拿以太坊来说,交易中每次的计算、存储操作、带宽使用都需要GAS费用。而且,这些必需的费用是波动的,能够被使用者设置成非常高的价格,因为矿工总是优先处理给出高手续费的交易,造成的结果是,ETH上随着新项目越来越多,网络使用成本也在不断的提升。
相比之下,EOS则采用所有权模式,如果你拥有相应比例的代币,就有权免费使用相应比例的网络资源,对你而言,交易将是零成本的。
对于商家,这意味着在EOS上运行DAPP是免费的。商家只需要通过购买EOS享有带宽、算力和存储空间。但购买代币应看作资产投资,不能算作费用,因为随时可以卖出。因此,商家经营成本极大降低。
对于消费者,这意味着无需经历繁琐的电子货币购买流程,就可用直接使用区块链上的应用程序。也就是说,用户使用区块链技术将没有任何门槛。用户可以零成本的使用先进的区块链系统,享受区块链技术带来的各项先进服务。这可以让更多的人使用,迅速积累庞大的用户规模。
无论是对商家,还是对消费者,EOS系统的免费模式让系统能以极低成本迅速推广普及。
4.安全性高,避免DOS攻击
DOS攻击在众多网络攻击技术中是一种常见并且具有很大危害性的攻击方式。它通过各种手段消耗系统资源和堵塞网络带宽,使正常网络服务陷于瘫痪状态。在近几年的实践中以太坊网络已经被证明非常容易受到DOS攻击的影响。
EOS的代币则相当于网络资源的所有权,用户只能使用相应比例的网络资源。因此,DOS攻击者只能使用到其EOS代币相应比例的带宽资源,形成了天然的制度屏障,使DOS攻击仅可能出现在某一个应用程序上,但这些攻击永远不会破坏整个网络运行,因此EOS从设计上提升了整个基础链的安全性。对于具体某个DAPP的攻击,EOS包含一个冻结和处理破坏性或冻结类应用程序的机制。举例来说,假如DAO攻击在EOS上发生了,它可以被冻结、处理或更新而不会干扰其他应用程序。
5.提升公链系统的兼容性
为了实现更好的兼容性,EOS中设计了跨链交互和虚拟机独立架构机制。例如,在EOS系统中设置了以太虚拟机(EVM),它能够支持现有的以太坊合约。也就是说,现有的以太坊平台上的应用,只需要稍加配置,未来就能够在EOS上面运行。
对于开发者来说,目前在其他公链上开发DAPP并不容易,需要自己写很多基础模块才能实现。而EOS的设计目标是成为区块链的底层操作系统,已经为开发者提供了各类底层开发模块。简单来说,各类基础功能EOS都已经帮你设计好了,你只需要知道怎么使用这些基础工具就可以完成自己的开发了。这样也就大大降低了开发者门槛,再加上EOS平台并发处理速度快,没有手续费的特点,将会吸引更多的普通开发者,有助于EOS平台上涌现大量的商业级应用,快速形成平台生态系统。并且,EOS同时支持多种编程语言。能够进行角色的权限管理、界面的开发的WEB工具包、自描述接口、自描述数据库体系等许多现成的模块。既稳定又安全。
在EOS公链内部,构建在EOS的分布式应用程序,不光用户可以相互导流,而且这些分布式应用程序还可以给彼此提供区块链相关服务。这是在之前底层区块链平台上不可能实现的。
在EOS公链外,EOS具备跨链消息传递机制,允许EOS上的应用程序与其他区块链上运行的应用程序进行交互和操作。
也就是说EOS在内部可以深度自由沟通,外部也可以和其他公链传递信息。
6.具有自我修复能力
在区块链中,底层的代码相当于现实中的法律。但是,代码中存在的bug却是无法避免的。如果一个区块链的底层平台和智能合约在遭遇bug的时候没有办法修复是一个十分可怕的事情,会失去用户的信任。而以太坊即使已经成功的普及了链上智能合约的技术并且建立了包含各种应用和ERC-20代码的强大生态,但是还未能满足商业需求,其原因是其技术机制。
而EOS的“宪法”约束性合约给EOS下了一个定义:仅依靠代码无法完全执行用户的义务。还定义了源代码协议的人类可读性意图。用通俗话来讲,当系统出错的时候,区块链的生产者能够根据可读性意图来区分这个错误时候确实是bug,并且来判断社区的修复是否正确。
而且EOS上面的DAPP是相互独立的个体,互不影响。加入其中一个DAO被攻击,他的处理可能是被冻结,而对于整个网络的攻击,EOS是免疫的,其原因是EOS代币的持有者给用户相应比例的网络带宽,有着天然的屏障,而攻击者消耗的只是其网络资源,而非核心的网络体系。
注:EOS.IO,是由block.one开发的可构建公链的软件源代码。
EOS platform,采用了EOS.IO软件构建的公链平台。
Dapp,这里指的是未来在EOS公链平台上基于EOS.IO软件开发部署的去中心化应用
eosd:提供数据存储,只是eosd是基于状态的区块链数据存储方式,以及通过transaction执行智能合约进行状态的修改。
Query Services + GraphQL:EOS应该会把比如用户账号管理、转账等封装成微服务;GraphQL在React框架里使用已经比较简便。
名词解释:GraphQL 是一个由Facebook提出的 应用层查询语言. 使用 GraphQL, 你可以基于图模式定义你的后端. 然后客户端就可以请求所需要的数据集。
Client(React.js):因为EOS架构中将GraphQL默认集成,那么前端使用React.js将是最优的框架选择,所以有意给EOS开发应用的开发者可以关注React多一些了。
IPFS File Storage:从架构图上看包含了文件的存储,和服务器端程序的存储;并没有明确是用filecoin的链,还是基于IPFS协议有block producer提供存储;文中说是免费的,所以应该是基于IPFS自建;说是免费的,但同时和代币持有量有关,这点文中还没有讲清楚。EOS.IO存储是一种分散的文件系统,旨在为世界各地的互联网用户提供永久存储和托管任何浏览器可访问的法律文件的能力。 与现行方案不同,EOS.IO存储没有存储或带宽费用。 基于IPFS,EOS.IO存储是由块生产者为持有EOS代币的人提供的服务。块生产者将在IPFS网络上复制并托管代币持有者的文件。
Account,账户
Authority,权力
Block,缩写Blk,每个区块可包含0个或多个交易,以及一个对前置区块的加密连接。不可逆。
DAC,分权自治集体,或者是分权自治公司。
DAO,分权自治组织
Deferred Transaction,缩写defTx,延期交易。该交易是有智能合约所创建,会在未来的某个时间被执行。这个交易也能够创建另一个在其之后的交易。因此,延期交易可以创建无限循环的顺序交易。用户授权一个延期交易必须指定到执行的时刻拥有足够的带宽,存储来执行预期交易。
DLTs,分布式账本技术。一种分布式账本(也被称作共享式账本),它是一个基于复制、共享以及同步数字化资产的跨站点、跨国家、跨机构的共识。
DPoS,授权权益证明。此外,也可以代表民主即权益证明。DPoS是共识算法的一种,即区块生产者能够针对交易或区块的真实性,可验证,不可逆等特性达成共识的一种方法。
Key pair,缩写keys,一个密钥对,包括公钥和其对应的私钥。
larimer,一种EOS的计量单位,等于0.0001 EOS。(性质如同以太坊中的Wei)
Master Password,用于解锁,或解密一个钱包文件的密码。
Action,一个对区块链的改变动作。可以是一个或这多个动作组成一个交易。
Non-Producing Node,非生产节点,也可以被理解为普通节点。这是一个完整的区块链节点,但它智能观察和验证区块,以及只能维护自己本地区块链的拷贝。一个普通节点可以在一个“备用池”中,通过投票流程称为生产节点(具备出块权的超级节点)一个超级节点,也会被投票出局,成为一个普通节点。但是值得注意的是,大多数普通节点并不在“备用池”中。
Oracle,在区块链和智能合约的上下文中,它是一个代理,被智能合约使用用来找到和验证实际发生的并提交这个信息到区块链上。
peer-to-peer,p2p,对等计算或网络是一个分布式应用程序架构,在对等环境下,它被分去为任务或者是工作量。对等节点是拥有等价权限,在应用程序中的参与机会均等。他们组成了点对点的网络节点。
Permission,加权的,安全机制,通过评估它的签名权力来确定一个信息是否被正确授权。
Private Key,用来签名交易的私钥。
Public Key,缩写pub key,公钥,会在交易间被传输。
Scope,作用域,智能合约的作用域,智能合约智能写入他们同一个作用域的自己的其他合约,而只能够读取其他作用域的合约。
Smart Contract, 智能合约,一个计算机协议,旨在促进、验证或执行谈判。
Standby Pool,100个全节点的集合,渴望被选中为21个超级节点之一,他们实际上已经拥有了超级节点的能力,无论何时链需要替换一个超级节点时,就会从备用池中选择。
Transaction,缩写Tx,Txn。它有事务的含义,一般我们称作交易。它是一个完整的原子的区块链的变化,一个或多个消息的组合,在EOS中通常是由一个智能合约来执行。
Wallet,钱包,会生成一个加密钱包文件或是通过客户端来管理,例如cleos。它管理了私钥以及用一个安全的方式去促进交易的签名。钱包可以被锁定或解锁。
Block Producer, 缩写bp。21个超级节点之一,是目前正在出块轮次的那个超级节点。