惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

小众软件
小众软件
A
About on SuperTechFans
博客园 - Franky
Engineering at Meta
Engineering at Meta
Recent Announcements
Recent Announcements
云风的 BLOG
云风的 BLOG
B
Blog
Microsoft Security Blog
Microsoft Security Blog
L
LangChain Blog
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
U
Unit 42
Martin Fowler
Martin Fowler
Y
Y Combinator Blog
Stack Overflow Blog
Stack Overflow Blog
博客园 - 叶小钗
Vercel News
Vercel News
Apple Machine Learning Research
Apple Machine Learning Research
The Cloudflare Blog
Last Week in AI
Last Week in AI
腾讯CDC
Microsoft Azure Blog
Microsoft Azure Blog
爱范儿
爱范儿
V
V2EX
G
Google Developers Blog

博客园 - 陈峰

yamux多路复用的使用例子 golang struct golang channel golang context - 陈峰 - 博客园 发布spring cloud + vue项目 以太坊上发行ERC20代币 [转]大白话讲解Promise(一) 比特币测试网络搭建 非对称加密, 助记词, PIN, WIF 搭建EOS未完 - 陈峰 - 博客园 解决 Unknown action buyram in contract eosio 错误 [转]EOS智能合约 & 私链激活 & 基本操作 web3js 进行转账 [转]How to Send Ethereum with Web3.js and Node 【转】干货 | 【虚拟货币钱包】从 BIP32、BIP39、BIP44 到 Ethereum HD Wallet 钱包,卡 [转]vux使用教程 [转]CentOS7利用systemctl添加自定义系统服务 [转]重定向输出
[转]https://www.jianshu.com/p/06443248f4d8
陈峰 · 2018-11-24 · via 博客园 - 陈峰

eos是什么?

简介

用一句话来定义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

- 区块浏览器:myeoskiteosecoeosmonitor