EOS简单理解

作者: CodingCattwo | 来源:发表于2018-09-23 09:28 被阅读6次

未经本人同意,禁止转载

EOS是什么

  • EOS (Enterprise Operation System),企业操作系统,是为企业级分布式应用设计的一款区块链操作系统。相比于目前区块链平台性能低、开发难度大以及手续费高等问题,EOS 拥有高性能处理能力、易于开发以及用户免费等优势,极大的满足企业级的应用需求

软件架构

  • EOS 优秀基因的背后是其底层的石墨烯软件架构所决定的。
  • 石墨烯区块链不是一整个应用程序。它是由一系列库和可执行程序组成,并且用于提供可部署分布式应用程序的节点。
  • 石墨烯的关键技术之一就是高度模块化,将内部节点间的分布式通信能力封装成插件(plugins),由上层的应用程序(DAPP)动态加载调用,使得应用开发者无需关注区块链底层细节,极大降低了开发难度,同时更具可扩展性。石墨烯架构采用 DPoS (Delegated proof of stake)共识算法,使得处理性能可以媲美传统的中心化架构。


    image

EOS 代码整体架构

  • EOS 借鉴了图 1 的石墨烯架构思想,后面又进行了重新开发,主要包括应用层、插件层、库函数层和智能合约层。
  • programs (应用层)
  1. cloes:客户端命令行交互模块,用于解析用户命令,根据具体命令请求调用相应的接口,例如查看区块信息、操作钱包等等。
  2. nodeos:服务器端,也就是区块生产节点,用于接受客户端的远端请求,并打包区块,主要包含四个插件,chain_plugin、http_plugin、net_plugin、producer_plugin。
  3. keosd:钱包管理模块,主要包括三个插件,wallet_plugin、wallet_api_plugin、http_plugin。


    image
  • plugins (插件层):支持动态加载相关组件,实现了应用层的业务逻辑和区块链底层实现的解耦,同时为应用开发者提供友好的 API 接口
  • libraries (库函数层):为应用层和插件层提供基础能力,实现了区块链的底层关键技术,例如,交易处理,生产区块,加密功能,文件 IO 操作,网络通信能力等等;
  • constracts (智能合约层):主要包含一些智能合约的示例代码。

EOS百万级处理速度原因

  • 从EOS官网的最新版白皮书中可知,EOS采用的是BFT-DPoS共识机制,从理论上来说能够支持上百万笔/秒的速度。
  1. 该机制需要每个EOS平台通证的持有者通过投票选举出21个超级节点,由该21个超级节点轮流出块。
  2. 为了提升EOS的性能,Daniel Larimer在将出块速度缩短到0.5秒/块的同时,将原先的随机出块顺序改为了由见证人商议后确定的出块顺序。网络连接延迟较低的见证人之间可以相邻出块,并且每个见证人连续生产6个区块,使得6个区块能够有足够的时间传递给下一个见证人。
  3. 并且区块的确认和生产是独立的,每个区块生产后立即进行全网广播,区块生产者一边等待0.5秒生产下一个区块,同时会接收其他见证人对上一个区块的确认结果。新区看的生产和旧区块确认的接收同时进行。大部分情况下,交易会在1秒内确认(为不可逆)。

相关文章

网友评论

    本文标题:EOS简单理解

    本文链接:https://www.haomeiwen.com/subject/lfpfoftx.html