是时候给写写EOS了,现在EOS主网已经上线,尽管我个人不是很喜欢EOS项目(不过也一直在关注EOS),但是不可否认EOS这个争议性很大的项目给区块链世界带来的变化。

写在前面

阅读本文前,如果了解过比特币及以太坊,可以更好的理解本文。欢迎订阅专栏:区块链技术
指引你从头开始学区块链技术。

本文出现EOS是指EOS.io公链项目,不是指以太坊上的EOS Token。

EOS 简介

EOS: Enterprise Operation System 中文意思为:商业级区块链操作系统。

尽管以太坊创造性引入智能合约概念,极大的简化了区块链应用的开发,但以太坊平台依然有一个很大的限制,就是交易确认时间及交易吞吐量比较小,从而严重影响了以太坊进行商业应用。

交易吞吐量有一个专门的词:TPS (transaction per second 每秒的交易量) 比特币的TPS 是大概7,并且最少几十分钟交易才能被确认,以太坊的TPS大概是20左右,交易的确认一般需要几分钟的时间。
不过比特币以太坊也在不断进化以提高TPS,比如比特币的闪电网络,以太坊的Sharding技术(分片)以及Plasma技术(分层)。

EOS 项目的目标是建立可以承载商业级智能合约与应用的区块链基础设施,成为区块链世界的“底层操作系统”。
EOS通过石墨烯技术解决延迟和数据吞吐量问题,TPS可达到数千,交易的确认时间也只有数秒。同时声称未来使用并行链的方式,最高可以达到数百万TPS。

EOS 设计了一套账户权限管理系统,EOS不再使用的地址作为账户,可以直接使用字符作为账户名,并设计了一套的账户权限体系。

此外,在 EOS 上转账交易及运行智能合约不需要消耗 EOS代币。而是EOS 系统当中,抵押代币获取对应的资源,来执行相应交易,在EOS运行程序完全免费的说是不准确的。

值的一提的是EOS项目其ICO也是基于以太坊ERC20 Token进行的,其ICO 时间长达355天,作为一个当时还未上线的项目,融资额达到40亿美元是前所未有。

充满争议的技术天才BM

EOS的主要开发者为丹尼尔·拉瑞莫(Daniel Larimer), 绰号BM(GitHub的昵称:ByteMaster), 它是EOS的项目方,BlockOne公司的CTO。
和V神一样,也是一个神奇的人物,网络上两人因理念不合有多次论战。BM有一句牛B 轰轰的话:我终生的使命,是致力于找到一些加密经济的解决方案,给所有人的财产、自由、平等带来保障。

BM成功创立过三个区块链项目:BitShares、Steem 以及EOS,是一个技术天才,也是一个多变的人。
2009年的BM也准备的数字货币一展身手,在其研究比特币之后,2010年BM提出了一些比特币的问题,并想要改进,结果比特币的创始人中本聪(Satoshi Nakamoto)怼会了他“If you don't believe me or don't get it, I don't have time to try to convince you, sorry.”(懂不懂随你,我可没时间理你)。
于是BM开始着手创建自己的区块链项目,这就是2013年发布的 BitShares 比特股,世界上第一个数字货币去中心化交易所。

BitShares在2014年上线时,是当时的明星项目,也由于bug太多、糟糕的体验以及BM在进行个别版本升级的时候都不提供向下兼容,用户逐渐流失,更要命的是,BM利用自己超过1/3的记账节点,在没有达成社区共识的情况下,强行分叉增发了BitShares发行总量。尽管BM在技术提供了改进,发布了石墨烯工具集,不过最终社区投票决定让BM离开了BitShares。

离开BitShares的BM,于2016年创立了区块链项目Steem,去中心化社交网站Steemit就是基于Steem创建,在Steemit的运营期间,BM和Steemit的CEO Ned有过多次口水战。
在2017年,BM离开了自己创建的Steem项目(也许除了BM自己,没有人能知道他离开Steem的真实原因),选择与布鲁默联合创办了BlockOne公司打造EOS项目。

石墨烯(Graphene)与 DPOS

和BitShares、Steem 一样,EOS底层使用的也是石墨烯技术,石墨烯是一个开源的区块链底层库,也出自BM之手,它采用的是 DPOS(Delegated Proof-of-Stake 股份授权证明机制 )的共识机制。
在比特币及以太坊网络中,任何人都可以参与记账,而DPOS为了提高出块速度TPS,限制了参与记账了人数,在DPOS中,记账者不在称为矿工,而是改称为见证人 Witness,现在EOS中,又有一个新词:Block Producer,简称BP,大家翻译为超级节点(本文中依旧会使用见证人这个词,超级节点更像是一个市场营销用词)。

在EOS中,见证人的个数是21个,BitShares中是101个,BitShares的出块时间打开是 1.5秒,在EOS中,出块时间提高到了0.5秒。

和Pow及Pos共识机制矿工可以自由选择参与挖矿不同,DPOS下节点需要参与见证人选举,只有赢得选举的节点才能负责出块,在EOS中,赢得选举21个节点见证人轮流出块。
另外还有100个备用见证人(候选节点),在21个见证人出现问题后做替补。EOS的发行总量是10亿, 见证人在完成打包交易区块后,可以领取到区块的奖励,区块的奖励来自对发行量的通胀增发,通胀率每年接近5%。

BM特色的去中心化

我个人理解的区块链,它最大的革命性就是他的中立性,其运行不应该受到任何人的干扰,在POW共识中,矿工、项目方(开发者)以及交易方他们是相互独立的存在。

在EOS中,BM本人拥有巨量的选票,他可以在一定程度上左右见证人的选举,同时BM还为EOS制定了宪法,要求所有的见证人必须遵照宪法。因此BM某种程度上可以左右EOS系统的运行。

本文是个人对EOS的理解,受我自己视野局限也许理解有偏差,欢迎大家批准指正,我的微信: xlbxiong。

EOS相关资料:

深入浅出区块链 - 系统学习区块链,打造最好的区块链技术博客。
我的知识星球为各位解答区块链技术问题,欢迎加入讨论。

什么是EOS(不一样的角度看柚子)的更多相关文章

  1. Android IOS WebRTC 音视频开发总结(四八)-- 从商业和技术的角度看视频行业的机会

    本文主要从不同角度介绍视频行业的机会,文章来自博客园RTC.Blacker,支持原创,转载必须说明出处,欢迎关注个人微信公众号blacker ----------------------------- ...

  2. 【阿里云产品公测】以开发者角度看ACE服务『ACE应用构建指南』

    作者:阿里云用户mr_wid ,z)NKt#   @I6A9do   如果感觉该评测对您有所帮助, 欢迎投票给本文: UO<claV   RsfTUb)<   投票标题:  28.[阿里云 ...

  3. [置顶] 从引爆点的角度看360随身wifi的发展

    从引爆点的角度看360随身wifi的发展 不到一个月的时间,随身wifi预定量就数百万.它的引爆点在哪里,为什么相同的产品这么多它却能火起来,通过对随身wifi的了解和我知识层面分析,主要是因为随身w ...

  4. 站在Java的角度看LinkedList

    站在Java的角度看,玩队列不就是玩对象引用对象嘛! public class LinkedList<E> implements List<E>, Deque<E> ...

  5. 从源码的角度看 React JS 中批量更新 State 的策略(下)

    这篇文章我们继续从源码的角度学习 React JS 中的批量更新 State 的策略,供我们继续深入学习研究 React 之用. 前置文章列表 深入理解 React JS 中的 setState 从源 ...

  6. 从线程模型的角度看Netty的高性能

    转载:Netty(二) 从线程模型的角度看 Netty 为什么是高性能的? 传统 IO 在 Netty 以及 NIO 出现之前,我们写 IO 应用其实用的都是用 java.io.* 下所提供的包. 比 ...

  7. INDEX--从数据存放的角度看索引2

    在上次<INDEX--从数据存放的角度看索引>中,我们说到"唯一非聚集索引"和“非唯一非聚集索引”在存储上有一个明显的差别:唯一非聚集索引的非叶子节点上不会包含RID的 ...

  8. 从JDK源码角度看Short

    概况 Java的Short类主要的作用就是对基本类型short进行封装,提供了一些处理short类型的方法,比如short到String类型的转换方法或String类型到short类型的转换方法,当然 ...

  9. 从JDK源码角度看Byte

    Java的Byte类主要的作用就是对基本类型byte进行封装,提供了一些处理byte类型的方法,比如byte到String类型的转换方法或String类型到byte类型的转换方法,当然也包含与其他类型 ...

随机推荐

  1. Qt Quick Dialogs

    一.如下图.. 二. 1.FileDialog //定义FileDialog{ id:fileDialog; title: "open a picture"; nameFilter ...

  2. Java.util.properties读取配置文件分析

    Java.util.properties API链接: https://docs.oracle.com/javase/8/docs/api/java/util/Properties.html Clas ...

  3. gimp的使用笔记

    gimp是德国的开源软件! 跟其他软件一样, 包括file, edit, view, 还有select, color , filter, 和 window. 窗口window就包括所有的dockabl ...

  4. Linux/shell: Concatenate multiple lines to one line

    $ cat file START Unix Linux START Solaris Aix SCO 1. Join the lines following the pattern START with ...

  5. 题解——loj6279 数列分块入门3 (分块)

    用set维护有序序列 或许sort也可以,但这题的前驱定义是严格小于 所以要去重 然后就是记得自己打的加法tag在query的时候一定要算上 话说这题数据有点fake啊忘了查询算上自己的标记了还有70 ...

  6. Even Odds (java)

    从1到n的奇数,从1到n之间的偶数,排列在一起,找到第k个数 Input 输入包含 n and k (1 ≤ k ≤ n ≤ 1012). Please, do not use the %lld sp ...

  7. 清除浏览器CSS样式

    /* YUI 3.18.1 (build f7e7bcb) Copyright 2014 Yahoo! Inc. All rights reserved. Licensed under the BSD ...

  8. Spring-JDBC依赖

    <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</a ...

  9. Linux——vi的使用

    记录一下vi的一些使用指令,蓝色部分是比较常用的,其中使用过的重新进行了描述,极少部分是未使用过的,还有一些未使用也未记录进来,后续再来补充修正: 参考资料:http://cn.linux.vbird ...

  10. WebStorm破解方法

    http://www.jianshu.com/p/85266fa16639 http://idea.lanyus.com/ webstorm 入门指南 破解方法 1. 下载的WebStorm http ...