开发者言 | 什么是IOST - 公链开发的设计构思
在万众期待的六月末,我们发布了IOST第一版测试网Everest 0.5。在验证了POB共识机制的基础上,不负众望的在实际环境中达到了峰值8000TPS,是ETH的400倍、EOS的8倍。
我们深知测试网Everest 0.5的成就离不开社区对IOST的支持,感恩技术更新成功的同时,也更加希望把IOST开发团队背后的点滴智慧分享给更多人。
每月一次深度对话开发团队核心的工程师们,谈谈入行初心,技术难点,开发理念,和关于工程师你并不知道的那些事儿;每月一次深入浅出的专题分享,实时更新关于IOST的前沿技术理论,让技术在服务于你的同时,也把背后的智慧与关怀传递下去。
IOST是一个用于分布式应用的区块链平台。长期以来,中心化平台一直占据着主导地位,以至于人们已经忘记了还有一种建立互联网服务的更好的方式。 IOST是开发社区自有网络的有效方式,可以为第三方开发人员、创作者和企业提供实现价值的平台。IOST的解决方案实际上是要解决可扩展性的三角冲突,而不是用牺牲censorship resistance的做法回避解决问题。IOST区块链在尝试各种扩容性方案的同时,始终维护其censorship resistance、公开参与和免受恶意攻击的特性。IOST比EOS更去中心化,比ETH更具可扩展性。
IOST具有以下5个特征:
Censorship Resistance
算法选举委员会
经济激励平等分配
可信度证明(POB)
通过协议层(Protocol-level)和第二层协议(Layer-2)的扩展方案提高扩容性
1.Censorship Resistance
IOST重视去中心化,尤其重视在扩容的同时保持应有的censorship resistance。IOST区块链在尝试各种扩容性方案的同时,始终维护其censorship resistance、公开参与和免受恶意攻击的特性, 不管可扩展性如何强大。IOST链上的每个节点都会有平等的机会被选入委员会参与验证交易和生产区块。IOST不会牺牲其censorship resistance的能力。
很多人说区块链最后成功落地并得到广泛应用,这些网络就必须具备能够和类似Visa网络竞争的吞吐量。没有人会愿意用交互需要花费几天、几小时、哪怕需要几秒的应用。这是一种非常片面的观点。这种论断在某种程度上是正确的,区块链需要有具备和中心化服务比拟的性能,但是却没有强调性能的提升不能建立在牺牲去中心化的前提之上。
大多数人没有认识到区块链提供的根本价值-Censorship Resistance。如果区块链没有censorship resistance的特性,而是像EOS等依靠一批固定的节点生产区块,那么我们又只是回到了传统的中心化数据库,并且还不具备如Amazon Web Services 和Microsoft Azure Cloud所能提供的效率。
Censorship Resistance为何重要?
比特币区块链censorship resistance的特性意味着任何人都可以拥有比特币的价值,且没有被恶意者如机构或管理者等剥夺的风险。Censorship resistance的价值不仅体现在货币资产。IOST区块链的设计正体现了这一点。IOST有一个动态的、基于声誉的委员会,而不是静态的节点,用于验证交易和生成区块。区块链中的每个节点都享有公平的机会被选入委员会。IOST允许开发者创建censorship resistance的应用和智能合约。如果你与其他用户进入一个智能合约,知道智能合约的规则和任何记录不会被篡改而牺牲你的利益非常重要。你的身份信息,如:社保账号、信用情况等信息被智能合约存储和处理的时候,可以确定没有恶意人员篡改你的信息是非常重要的。
一些DPOS支持者称以DPOS为基础的区块链是censorship resistance的。然而,EOS主网上线后竟然已经开始审查。“EOS核心仲裁论坛”(ECAF)是一个新成立的中心化组织,它命令链上所有的区块链生产者冻结网络上的27个账号。此举之后,他们说:“发布此命令的逻辑和原因将以后公布。” 此命令是由一个叫Sam Sapoznik的人下达的,命令下达后没有任何超级节点提出疑问。如果没有censorship resistance的特性,使用区块链是毫无意义的,因为去中心化就不存在了,区块链上的任何东西都可以被侵占。
到现在,EOS区块链条款里增加了一些新的内容。新增条款里未包含任何去中心化的决策流程。这就给EOS核心仲裁论坛(ECAF)无限的量裁权,制定一些具有约束力的决定。EOS审查已经潜藏在条款中。这种很熟悉的中心化管理,已经与数字货币创建时的最初目的背道而驰。
2.算法选举委员会
IOST区块链用算法挑选验证委员会,根据他们对社区的贡献和所持代币,而不是像大多数基于DPOS机制的区块链一样采用链上投票的系统。
链上投票选取委员会是有严重缺陷的。这种机制试图复制代议民主的条件,但是引用Vitalik的话,代议民主的1人1票体系已经被1币1票的体系代替。
这样的系统无疑会最终会演变为富豪统治。拥有更多资本的人投票击败没有他们富裕的节点,这样那些拥有较少选举权的节点会变得越来越无动于衷,因为他们的投票对选举结果影响微小,甚至不产生任何影响。从区块链发展历史来看,采用人工投票机制进行管理的区块链,参与人数<15%,如DAO carbonvote,EIP186 carbonvote,DAO提案投票,2014年的Bitshares DPOS投票等。而在IOST的系统中,区块生产者(BPs)委员会根据贡献和余额进行算法分配,每个节点都有相同的责任和权利。
同时,“公地悲剧”也可能会发生在区块链投票上。
由于每个投票人影响投票结果的几率甚小,所以他们投票的动机要比理想情况少上几千倍。这意味着很可能会发生以下情况:每个人把它们的代币放在交易所,而交易所代表他们投票,这些用户不会真正关心交易所用它们的钱怎么投票。这种情况会导致投票中心化趋势。
另一个问题就是,投票者逐渐接受区块生产者BPs(即DPOS中的超级节点)的贿赂,BPs通过购买投票获得他们的年度奖励。BPs之间相互勾结,以决定他们和投票人之间的分赃比例。
因为超级节点购买投票的激励存在,一旦被选上,所有的超级节点都想继续掌权。所以,存在一种维护既定秩序的激励就意味着被选出的超级节点会结成联盟互相为彼此投票。像Lisk, 就采用了和EOS相似的投票系统,而这导致了区块链被两个非常强大的黑手党似的联盟: Elite和GDT垄断。另一方面,IOST由动态委员会的模型来验证和生产区块,这样可以防止形成联盟。如果一个节点刚刚生成了一个区块,则该节点需要“冷却”一段时间才能再次参与。
一旦类似的联盟形成,区块链平台的去中心化性质将不复存在。这些联盟甚至可以通过多种方式对在EOS上运行的业务进行压榨。参与者不得不遵守这些利益集团的规矩,或者交钱,不然他们的交易就可能受到审查。更糟糕的是,这些审查是在桌面下进行的。这些超级节点可以通过改变网络逻辑,使某些业务运行起来更加困难。最后,该网络里可以做什么不可以做什么的决定权会掌握在这些超级节点手上。
通过一种间接、隐藏的方式审查,任何可能的大众反击都被最小化了。毕竟,超级节点们唯一需要做的就是对为什么修改协议作出一个合理解释。只要理由足够合理,他们就基本能摆脱不知情的大众,我们甚至将不会知道他们是否在运作任何敲诈活动。
3.经济奖励平等分配
在权益证明(POS)中,拥有更多的币,持有时间更久就有更大的机会来打包下一个区块,尽管和工作量证明(POW)相比已经节约了算力,但是越有钱的节点会比其他节点越快获得财富。
IOST区块链的可信度证明(POB)系统不仅奖励有一定账户余额的节点,还会考虑节点对社区做过多少贡献。社区贡献目前包括节点验证的交易和参与的交易数量,以后还会根据IOST测试网络的结果增加相应的节点的算力贡献和资源贡献。
这就意味着这些积极促进IOST网络建设为其作出贡献的群体能够得到奖励,意味着正确的人群将得到奖励。IOST网络中,节点的贡献将用一种叫Servi的单位来衡量。一个用户的可信度分数由其Servi余额和代币余额两个数值共同决定。可信度分数越高,就越可能被选入委员会。
可信度证明(POB)共识机制有一个独一无二的设计就是Servi会自我销毁。这意味着节点验证并并生产了一个区块后,系统会将节点的Servi余额自动清零。所以所有的节点会按照可信度分数由高或低的顺序来轮流验证区块,而可信度高的节点会因为Servi的销毁而不停地更换这就保证了平等的区块奖励分配。
可信度证明(POB)共识机制的优势在于能够实现经济激励的更平等分配,每个为社区贡献的用户都有同等的机会获得IOST。更重要的是,新加入网络的成员可以和加入网络很久的老成员拥有同等的获得经济奖励的机会。
可信度证明(POB)共识机制的意义在于,它给了所有人平等的机会。IOST致力于赋予普通人群更合理的经济激励,打造一个为所有人群提供机会的区块链。节点没有什么不同,每个人都可以通过贡献成为超级节点。整个IOST系统旨在为所有参与者提供平等和公平的机会。
4.可信度证明(POB)的安全设计
可信度证明(POB)共识机制延展了传统的POS, 也就是节点需要积聚大量的代币才能有资格参与创建新的区块链并且根据某个数值的比例来决定生产区块的机率。在POS中,这个数值是某个节点积聚或者被赋予的代币总量,而在可信度证明(POB)中,这个分数包含更多的变量。应用网络聚类和页面排名的数学计算思想,可信度分数主要由以下要素决定:
1.验证交易量
该节点在过去30天验证了多少交易,越近的交易权重越大;
2.净交易量
在过去30天完成了多少交易,越近的交易权重越大;
3.代币保证金
为建立新区块而绑定的代币保证金;
4.集群节点
在网络中心节点的账户要比网络边缘节点的账户的权重略大。
可信度分数解决了POS的两个主要缺陷
其一是节点只是简单积聚尽可能多的虚拟货币,并从区块生产中赢取奖励:这样会使平台内的财富集中且阻碍了IOST的流通。而在POB共识机制中则意味着一味积累财富而不帮助生产和传播交易会导致更低的可信度分数,帮助IOST流通才能够增加可信度。
其二是nothing-at-stake问题: 因为区块创立不需要耗费资源,当有分叉产生时,节点可以在两个分叉上自由创立新区块,这样将极大或者无限的延长某个分叉。可信度证明(POB)能够利用保证金担保的“绑定保证金”防范此类情况发生。像上面所说,每个节点的可信度分数包括用户抵押的代币。为了能够解锁这些绑定的代币保证金,用户必须先启动解锁保证金流程,然后等待一段较长的时间区间,即所谓的‘解除绑定期’。这也让所有用户提前了解验证委员会将如何变化。如果没有这个“解除绑定期”,节点会容易遭受来自原来的验证委员会的攻击,而事实上这个验证委员会可能已经不存在了。
5.扩容性
如我们已经讨论的,区块链要最终被主流大众接受并实现它的革命性价值,扩容性是必不可少的。但是区块链扩容性的实现不能牺牲censorship resistance,要不然区块链就会退化成中心化数据库。
IOST的解决方案实际上是要解决可扩展性的三角冲突,而不是用牺牲censorship resistance的做法回避解决问题。
我们通过协议层(Protocol-level)和 第二层(Layer-2)扩展方案提高可扩展性,包括:状态通道、分片和侧链。
我们认为协议层(Protocol-level)和第二层协议(Layer-2)是提高区块链性扩容性的两个主要途径。协议层包括建立设计更优的底层区块链协议,像我们看到现有简单区块链设计中已经具备的特性,它能够维护大部分区块链预期的去中心化和安全的特性。它只需要一小部分比例的节点看见和处理每个交易,并允许更多的交易能够同时平行被处理。第二层协议(Layer2)包括创建链下协议,将大多数交易发送到链下,只偶尔与链上层进行交互,以便从Layer-2系统中进入和退出,这也适用于防御对系统进行攻击的情况。我们认为这两种策略是相互补充的,我们支持采用多管齐下的策略提高IOST的扩容性,即让这两种策略相互接洽,并优势互补。
官网:iost.io
新浪微博可搜索:IOST社区
https://weibo.com/u/6502023048
在Twitter上关注IOST,及时了解最新动态:
twitter.com/iostoken
在Telegram加入讨论:
t.me/officialios
您可以前往GitHub了解更多:
https://github.com/iost-official
在Medium进行互动可搜索:
medium.com/@IOStoken