干货|EOS和它引领的POS新时代

image

你所关心的EOS、POS、Cosmos、Cardano、Filecoin、Casper本文均有涉及。包括:共识算法介绍,POW、POS、POR ;POS共识详解;EOS选举相关逻辑和参数介绍。

1

岳利鹏自我介绍

大家好,今天晚上主要给大家介绍一下POS相关的事情。很高兴大家能参与到这个分享当中来。

我先简单自我介绍一下。我叫岳利鹏,之前的是从事期货之类的金融科技相关的东西,然后2016年全职参与到区块链工作中来,当时看中的是智能合约的这个概念,到杭州参与谢晗剑的秘猿科技,从事联盟链相关的开发工作。

当时参与的是中钞区块链研究院数字票据联盟链相关的项目。之后我就离开了联盟链的领域,全职参与公有链这个行业。

当时做的一个社区叫因特链社区,域名是chainx.org,可能有些人上过。一开始是主要关注cosmos和polkdot的这两个项目。

后来公有链这个领域爆发了项目越来越多,我们的研究就扩散到了一些其他的公有链上去。就包括EOS、Cardano、Filecoin、Dfinity之类。

再往后的话就是今年年初,我和比原的核心开发者光华启动了一个新的项目——链池(chainpool.io),是一个为将来优质的公有链项目提供矿池服务的平台。

2

共识算法介绍

上一个时代的区块链的是POW的区块链,下一代的话就是会慢慢的转向POS。之前其实早就有POS链出来了,包括比特股之类的,但那些共识并没有得到用户大规模参与,所以不是太算POS。

但现在这个时代,就最近,大家也比较活跃参与的:EOS节点选举这个事情。大家就对POS比较关注起来了,同时六月份会有几条大的公链出来,他们都是选用的POS算法。

为什么比较看好POS领域呢,因为目前区块链其实还属于很基础的打地基的阶段。很多爱西欧都在说自己要做什么链或者做什么应用,其实现在一个基础的底层链还不存在。所以上层应用是很远的一件事情,而链的维持是要需要一个共识的存在,共识来保证链的安全,才能把它打造成一个没有中心化机构控制,可以承载大量价值以及应用的的平台。

POW算法

POW以极其简单的方式来达到了一个在去中心化系统里进行记账权争夺的一个功能。一个账本可以有很多的正确的副本,但是哪一个副本才是被大家共识就需要进行记账权的争夺。

比如说,我有一个很难的计算题,谁算得出来谁就有权去记这个账。那他为什么要去费很大劲计算这个难题?因为它会有个激励,每出一个块会有一个奖励,比如奖励记账人几十个币,激励他们参与到这个系统当中来,是一个既竞争又合作的系统。

但POW发展了这么多年,从比特币的最简单的sha256,到以太坊或者Zcash的POW。说是改的越来越去中心化,但本质上的问题还是没有被解决,因为它的性能比较低,为什么低?

他要在一个没有人组织的情况下达到记账权的争夺,就是说谁来记这个帐是随机出来的,大家去看谁的运气好,一个是你有算力,另一个你要有运气。所以它会有一个比较长的周期。

比如说比特币的十分钟,以太坊最快的话就到十五秒,这个过程中全球某一个人会随机出来一个数字,它正好能够满足那个难题,然后这个区块他要留有一定的时间进行全球性的广播,所以一个时间点,不能有很多的区块出来。这样的话他就留了很大一部分的时间去大规模的去计算那个随机数,只有很少的时间才会去计算真正的交易以及去打包区块。你会发现同步一条链其实是很快的,但是那个链本身的出块速度却是很慢的。

POS算法

POS这个算法呢,它说这个随机性不要大家去抢了,这个链通过全民投票的方式投出几个大的验证人或者说叫矿池,指定你们几个人去出块那就没有特别大的争抢的空间了。大家按照某种顺序,或者说某种随机性就可以去直接出块,就不存在争抢的空间,那大部分的时间都可以去用于打包交易。

POS之所以说有更高的性能,意思是POS更大比例的时间可以去进行区块打包而不是进行无意义的计算。同时POS可以达到更高的去中心化程度。

POW不管你怎么去设计那个算法。他计算算法的机器都是由某一个大型的厂家去生产的,不可能每个人都去生产这个机器,POW本质上完全就是一个中心化的东西。

同时POS可以达到更高的安全性,这个怎么理解呢:一个链他的安全性是多少,是在于一个矿工参与到这个链他的奖励和惩罚的比例。

比如说比特币:每个区块或者说每天产出的块的市值是多少,那对应这个市值的是后面付出的矿机的折旧成本以及电费。

对矿工来讲,他要么是损失这一部分的出块奖励。POW矿工的奖励就是获得这一部分的出块奖励,他的损失是他的电费。所以对于POW链的话它的攻击成本就有在于这一天出块的价值,所以一个大户他可以去贿赂矿工,可以去用高于今天出块价值的资金,让这些矿工进行百分之五十一的攻击,可以去把一条区块链分叉,抹掉一部分的交易,而且POW本身他是直接按照最长链的这个标准去选择最优的链的。

但于对于POS来讲,它仍然是会有一个奖励,这个奖励是来源于通胀,但他的惩罚会高的多。你要参与这个共识,你需要把你的币抵押进来,如果你进行分叉-短程或者长程的分叉攻击的话,系统对你的惩罚是非常严厉的,类似于是直接烧掉了你的矿机,而不是说仅仅浪费了一天的电这么简单。你所需要抵押的币可能是非常高的,你的年化收益可能才只有一点点,但是如果你做恶的话,你的本金就会被直接没收。

POS还有一个更好的好处的是他可以直接联合自身的用户。POW矿工以及持币用户其实是两类的群体,这两类群体的利益其实不一致的。比特币是被比特大陆系的矿工控制的,比特币的持币者并不能决定这条链上的参数,比如说扩容或者闪电网络之类的。

POR算法

除了POW,POS的话,还有一些新的共识出来,比如说Filecoin的POR,Proof of resource-资源共识。这个资源共识不是玩客币之类的中心化的共识,而是在一个去中心化的系统里进行。叫存储功率共识。

存储功率共识的意思是,我作为网络的参与者,我可以提供多大的存储空间并且提供给你存多长时间,同时提供多少次的读取服务,这三个参数加在一起会形成一个存储功率,大家拼的是谁的存储功率更强,才能决定这个链的出块,所以Filecoin其实是与POW相似的,他提供的是一种服务性质上的竞争。

3

POS共识详解

今年第三季度是POS落地的爆发期。

比较有名的就是EOS,是6月2号落地。Comos最近的声明是五月底,Filecoin的落地日期不确定,Casper一直这么多年具体日期也不确定。Cardano的ADA那条链的话声明的也是第三季度。

POS算法迟迟不能落地的原因有很多。就简单来理解的话,POS共识是我付出了一点什么东西,然后我相应的获得了同样程度的安全性的保证。比如说我付出了电费以及矿机这类的资源是不可再生的,而POS链完全不需要消耗这类能源。他直接在自己一个普通的机器上可以任意的签名出块,没有一个不可再生的东西作为保证的话。这个链的分叉会非常多。

这个学术上的一个算法叫Nothing at stake-短程攻击。比如说,对于某一高度上的块,轮到我出块的,我到底是出哪一个块,我可以出一个块也可以出十个块,同时下一个人面对的是同一高度上十个块,因为上一个人出十个块相当于完全没有成本。

跟数字签名的成本相关,POW出块的成本是他要去计算那个难度,它只有到了那个难度才可以出一个块,他的成本是很高的。这个就叫做短程攻击,一个出块人我可以让这个链产生很多的叉,同时让后面的出块人更加迷茫,他应该在哪个块上,或者说哪个叉上进行后续的挖矿。

还有个问题叫长程攻击,就是说,如果一个POS矿池联盟掌握了这个系统大部分的币,那他可以在某一个时间点,把他的这些币全部卖掉落袋为安。但在一个月之前,他的币仍然是占百分之五十一的,同时那他就可以从那个时间点重新挖一条链出来,而且他是可以在一分钟之内直接造出一个月这么长链的区块,这样他的币又回来了,他就可以重新再卖一次。

这就引出了POS里面的一些逻辑,叫做代币锁定期,就是如果我参与一个POS链的出块的话,我需要抵押自己的币。只要你这个币抵押进去的话,你是很长时间不能再提出来了,否则的话你就可以来回移动你的币量到不同的账户里,然后仍然可以对这个链进行一些大规模的分叉。

正常的代币锁定期的话,一般的是要求在六个月,Cosmos和Casper都是这么一个概念。为什么六个月呢,这里引入到一个检查点的概念,因为长程攻击本质上是无法预防的,所以引入一个半中心化的解决方案叫检查点的概念。

大家共识出来某一个高度,就大家定死一个星期之前的那个块,我们直接指定在那个点上就不可再分叉了,我们会直接把那个区块哈希硬编码进源代码里面去,这个东西就叫做检查点

如果新用户再下载源码的话,他就不会再被引导到错误的链上去。正常情况下,为了给用户留下足够的下载客户端的时间,一般检查点就会设置在几个月之前。

4

EOS选举相关逻辑

上面是POS一些基本概念,然后具体到今年6月1号或者6月2号EOS那条链怎么起。

首先呢,他不存在一个抢的概念,那这个链前期启动的时候是由中心化机构启动的。什么意思,就是由社区有威望的社区领导机构。他们去前期预先去选择50个甚至100个验证节点由他们来进行报名以及进行KYC,然后前期会进行一个随机。

比如说EOS这条链,他是设定了自己有21个验证的人,那他会随机出来22个人,由其中的一个人进行创世区块的书写,其他的二十一个人进行前期的出块,这21个人启动起来以后它不是为了支持这条链进行进行转账交易,这个时间点的链是不能转账的,只能进行选举类的交易和选举类的操作。

然后用户现在就开始选举这些个人,比如你有一万个币。你需要抵押自己的1000币,然后把会生成1000票,这1000票你可以去投票给声明想当验证的人的节点。

EOS目前的是你可以最多挑30个节点去投。所以他这个方案叫做一票30投。最终会形成一个前21名得票的21个节点。 他们会在一个月的之后选举出来,然后正式的移交给直接选举出来的21人进行整个链的出块,这个时候区块链就可以进行转账了,同时EOS还会在这期间进行宪法的选举。

EOS链上会汇集成一两套宪法。这个宪法包含这个链不同的逻辑,需要用户进行选择。整个一套流程过后这个链才是真正的起来。然后用户才可以进行普通的转帐交易以和交易合约部署。

EOS选举分两种,一种是直选,就是普通用户直接去选举节点。

另外一类,EOS有一个代理选举的概念,因为21个节点普通用户是没有办法对他进行深刻的了解,但是你平常接触到的一些KOL,你是比较信任它的。你可以把你的票交给那些你信任的人,再由他们去进行21个节点的选举以及调查。

第21个人出来以后呢,EOS是轮流出块的。其他的共识算法会有一些随机性的逻辑在里头。这个是采用多方安全计算的数据算法,就是每一块谁出是完全不确定的事,每一个块一定的。

EOS这种轮流算法的话,它既有好处有坏处,好处就是它比较简单,网络延迟就比较低,坏处的话就是她比较确定更倾向于中心化以及在某一轮已经非常清楚的知道哪个块就是你出了,在这个情况下之下的话就会有些作弊空间。

至于POS的奖励的话,有个通胀的概念,这个通胀的概念还不是说比特币之类的每个区块给你发多少币,比特币它有个上限。但是POS的之类链它是没有上限的。他一般是没有上限的。

比如说EOS现在的自己定的这个通胀率是百分之五,这百分之五包含了好多个部分。并不是直接发给节点的。前期会进行一个选举,就是让21个节点去提出一个百分比。这个百分比乘上百分之五,比如说这些人选出来的百分比是百分之二十,那就是百分之一,才是交给节点的奖励,另外百分之四,是进入一个就是应用以及应应用的激励池。

这1%的出块奖励还分两部分,一半是平分给21个验证人,另外一半是分给后续100个后部验证人。所以EOS目前的这个通胀率是比较低的。对于参与投票的用户,他的奖励也比较低,吸引力也比较低,但同时EOS这条链他少了惩罚的逻辑,所以用户的选择是比较中性的。然后他选择代币锁定期也比较短,是三天的锁定期。

这两天大家一直在讨论这个贿选的概念。就是说出块奖励应不应该分给验证人,应不应该分给用户。这个的话官方的考虑就是用户其实偏向自私选择的,他只管自己获得的利益有多少,不管整体的网络的健壮性以及健康性。官方怕出现卡特尔联盟,然后出现几个大节点控制一条链的情况,所以他们说EOS这条链不分红。

用户参与EOS这条链的选举的话,其实完全是一种友情参与。节点本身的可能才会采取一些间接的方式进行分红,就比如说我这个节点,我收到这百分之一的通胀。我会把它们组成一个基金。一方面覆盖我这个成本另外一方面去投我能接触到的一些应用,这些应用发了币的话,我可以再分给用户。

其实有些人一直在混淆叫DPOS以及POS概念,其实所有的POS都会有这个D,都会是个代理,不会是用户直接参与节点投票,就是这个市场一定会产生收敛。

收敛到几大专业节点专业出块。就包括POW本身他并没有规定这个链上的出块节点有多少,但是最终会形成比如说前几大矿池控制这条链75%的算力。他都会产生这么一个选举的概念,POW矿池也有选举,矿工会选择一个矿池,他自己不直接去出块,因为他自己出不来那块,只有大家抱团才能够进行稳定出块。

如果节点把奖励给用户一部分叫“贿选”的话,那POW矿池都是在贿选。所以其实不存在这个“贿选”的概念。

只不过EOS它是一种比较倾向于人治的系统,而不是倾向于代码之类的系统。他中间严重依赖于21节点的KYC。希望他们能够就是无缝的合作来达到这个链稳定高效的出块,所以没有惩罚的概念,只有一点弱奖励的概念。

如果这个链的某一些验证人有一些错误的举措或者恶意的举措的话,这个链上有个概念叫仲裁:某一个人可以去提起一个仲裁说另一个验证人作恶了,那要扣他多少钱或者直接把他踢掉都是可以灵活决定的。

EOS共识,大家都是比较倾向于把它认为成一种比较中心化的共识,或者说并不是那么学术严谨的经济学上的共识。更加倾向于是一种人治的共识。

六月份要出来另外一个项目的话就要Cosmos。Cosmos他们的在激励的这块的话做到就会更加详细点,Cosmos是有明确的奖励及惩罚机制,以及分红机制的,Cosmos给自己定的年化通胀率是百分之七到百分之二十,是100节点。

而且他的目标抵押,比例是百分之六十七,就是他希望三分之二的人全部把自己的币抵押到这个系统当中来。抵押的越多,它这个系统的安全性也就越高,同时他有明确的惩罚机制。包括在同一高度进行双签以及多长时间不出话。同时解锁日期为六个月。Cosmos没有中介人代理的角色,全部都是直投。

不同项目有各自不同的关注点。EOS简化了共识,能够达到更高的性能以及更简单的机制,可以完全发挥它WASM虚拟机的威力,这个虚拟机的目前是一个比较好的解决方案,用户可以直接在上面用C++去开发程序。同时可以直接去调用C++成熟的那些库。Cosmos本身没有虚拟机,它上面的hub本身就是一个多资产交易的一条链。

其他的共识就包括Cardano的共识,他们设计的比较复杂,因为它是冲着多链去设计的。它也没有明确的验证人的上限,而且是有分红的,但分红会越来越低。

Filecoin的矿池,众筹了百分之十,剩下百分之九十都是要靠挖出来的,所以他大量的币是需要去分发的。这中间也会有一个矿池的角色,矿池会把存储的任务进行切分,同时把出块的奖励给普通的硬盘和带宽贡献者去分发。

对于EOS,现在节点选举这件事情,现在大家社区里比较热,国际上有几大节点,国内的话也有一些节点,我们链池也是参与了这件事情。

链池最大的不一样的地方链池是一个多链矿池,我们不仅是为了给EOS提供服务。我们还会给就刚才说的一些POS的链和POW的链提供服务,所以我们会做一个PC版的页面,这个页面上会统计大家在各个链上的投票以及收益情况,会是一个类似于交易所体验的一个网站。

单纯参与某一条链的共识要想获得收益的话,可以直接在钱包里进行参与,但是你想有一个比较各个链收益率的工具的话,就需要一个多链的矿池给大家提供这个服务。矿池类的服务呢,在目前这个阶段我们觉得是比较刚需的一个服务。

区块链目前本身还在打这个地基。链本身是第一层基础设施,第二层之上就是矿池类的基础设施。只有把这个共识做好,链才能是一个安全的环境,大家才可以安心的在上面托管自己的资产以及做价值类的应用。

今天大概就分享这么多,谢谢大家。

本文内容来源于:EOS原力

作者:岳利鹏(口述)

以下是我们的社区介绍,欢迎各种合作、交流、学习:)

image

阅读更多

没有更多推荐了,返回首页