作者:孤矢 EOS原力创始人
编辑:唐晗
在DPOS里,投票率越高网络越安全,攻击网络的投入产出比越低。投票分红可以激励更多用户投票参与社区治理,提高投票率,,降低攻击网络的投入产出比。产期观察结果显示,分红与投票率正相关,原力主网由于分红给投票用户,因此投票率一直在90%,而EMLG由于用户没有分红,投票率在40%左右。
2.对抗链的通货膨胀。
DPOS是代币先被分发后再启动的主网,因此激励节点靠的是每年的通胀率,原力主网用户投票可以获取分红,因此每年的通胀率不论有多高都同比例返给了投票用户,实质上惩罚的是那些不投票参与社区治理的用户。
EOSEMLG每年5%的通胀全部给了超级节点,用户被通胀5%获得的好处是免手续费,但90%的用户一年的手续费都不会超过自己代币总量的5%,所以EOS如果没有分红会导致用户的资产迅速贬值。
一票三十投需要被改正。
一票三十投带来的垄断是对EOS社区最大的伤害,比如华语社区的EOS佳能,EOS引力区,HelloEOS早期给社区做出了非常大的贡献,某些中心化交易所未经授权就动用用户的代币去参与投票,在一票三十投的逻辑下作恶能力被放大,导致那些给社区做出过巨大贡献的节点反而受制于人不能随便发声。道理很很简单,他要依赖交易所的投票才能成为超级节点,如果跟交易所意见不一致的话,很有可能没有参与社区治理的机会了。
原力在投票分红的设计上一开始也走了很多弯路,好在一票一投发挥了作用。
第一个问题:一开始我们采用了另一种极端,100%开放了超级节点分红给投票用户分红的权限,导致节点之间竞争变成了分红的竞争,一开始社区不知道如何行使自己的权利,只关心哪个节点的投票分红收益高。
第二个问题:23个节点平分了出块奖励,因此投票数第一的节点虽然做了更多的贡献,但是他的收益和投票用户的收益反而更少。
第三个问题:我们错误的低估了备选节点的作用,我们一开始认为如果更专业的超级节点都能在DDOS攻击后下线,备选节点可能也会被攻击下线,因此不需要给备选节点分红。这样导致一旦一个节点掉出超级节点序列,他的投票就立马全部被撤销,超级节点就失去了来自备选节点的竞争压力, 导致在一段时间内超级节点的排名非常稳定,一些备选节点也随后退出了社区。
这三个问题集中在一起,本来应该用于激励的分红就变成了贿选。犯了这么多愚蠢的错误后,一票一投和投票分红本身发挥了作用,经过一系列的讨论和投票,最终一个议案凝聚了社区智慧的结晶,一次性解决了上诉三个问题,将分红调整回来变成应有的激励作用,这个提案包括了给备选节点分红,分红按照投票数占总票数的权重计算,分红的30%一次性发放到超级节点的账户,70%由节点自由选择多少分给社区用户,多少分给自己。
好处是节点有了固定百分比的收益,而且是根据获得的票数占总票数比例获得分红,获得投票票数越多,获得的收益越高。而对于投票用户来说,既能投票给自己支持的节点,又不用太担心节点排名掉出超级节点序列影响自己的收益。对于备选节点来说,不用担心排名靠后导致用户撤票,可以安心的给社区做贡献。但是又会争取成为超级节点出块记账,因为超级节点比备选节点多15%的记账奖励。
具体的提案得到了大于2/3超级节点投票通过,升级到主网并沿用至今:
(1) 所有得票数超过当前全网投票总数0.5%的节点为收益节点,收益节点中分为超级节点和候选节点,前23位为超级节点,其余为候选节点。
(2) 所有收益节点都能获得一定的收益,所有收益按照投票权重分配: (每票投票权重=收益节点投票总数/全网总投票数)
1. 每次出块时会为收益节点分配收益。 2. 每个收益节点按照其获得的投票数占当前全网投票总数的比例为权重获得收益。 3. 每个节点的收益的70%会进入其分红池,节点可以自由调节给投票者的分红比例。 4. 对于超级节点,收益的15%作为基本工资进入其账户,收益的15%作为出块奖励进入其账户。 5. 对于候选节点,收益的15%作为基本工资进入其账户,收益的15%进入原力基金会账户。 6. 所有单笔收益中舍去小于0.0001 EOSC的部分,特别的,若单笔收益总额小于0.0001 EOSC,则不发放。
每次计算出块奖励时,若此部分之和大于0.0001 EOSC,则划入原力基金会账户。
备注:对于投票人,投票给收益节点可获得投票分红;若投给非收益节点,则无法获得分红。
网络拥堵
抵押免手续费带来了大量的“羊毛党“刷单,给链带来了大量的垃圾交易,导致节点成本急剧上升的同时网络变得极度拥堵。
用户操作门槛过高
抵押的那几步操作阻挡了99%的小白用户,严重影响了EOSIO的普及。
在EOSForce中,每一个执行的交易都需要EOSForce网络中的节点去运行,节点运行交易得到结果是需要由实际的物理机器去计算, 这类计算所需的资源被归为三类:CPU,NET和RAM,其中CPU以节点执行交易所用的时间来结算,NET是以交易消息大小来结算, 而RAM,意思是内存,是以交易产生的数据的大小来结算,这些数据需要节点存贮在节点的内存中,以供其他合约读写。因为节点的物理机器的计算能力和存储能力都是有限的,所以整个EOSForce网络中用户能使用的资源也是有限的, 为了使得所有用户都能使用到资源来进行交易,防止某些用户无度的滥用计算资源而导致其他用户无法交易, 需要建立一系列资源的分配规则,这就是EOSForce的资源模型。
a.CPU和NET直接走手续费
在EOSForce中,我们需要用户为其所触发的每一个action支付手续费,这一方式类似与以太坊。 每一笔手续费会为其action提供一个CPU和NET的资源使用上限, 对于系统原生的action如转账、创建用户、更新权限等action,则是采用固定手续费和限制的方式,便于用户使用, 对于用户定义的action,其中的换算比例是由BP通过多签来设置的,在默认情况下,每支付0.01 EOSC,该action会被赋予 200 us cpu使用限制和 500 byte net使用限制,为了便于用户使用,开发者需要为自己提交的合约中action设置手续费额度,这样用户则不需自行设置手续费额度,同时也激励开发者优化合约资源使用效率,为用户提供更好的体验。
b.每个账户8kb RAM免租额度,投票分红可以用来租用RAM
与CPU和NET不同,RAM采用租赁方式,以账户为单位根据其所缴纳租金来设置账户可以使用的RAM的上限,这里租金按照时间收取,为了方便用户操作,现阶段我们为每个账户设置了8kb的免租金额度,这样对于绝大多数普通用户是不需要关心RAM的,通常,开发者需要为其DAPP所使用的RAM支付租金,包括了合约占据的RAM和执行中产生的RAM数据。
目前我们实现了通过投票分红来支付租金的功能,在EOSForce中用户投票可以获得分红,这形成了一个Token流,而RAM租金也是按照时间和租赁的多少来计费,通过分红支付租金,一方面方便用户操作,不需用户经常补交租金和缴纳押金,另一方面可以提高投票率,促进链生态健康发展。
EOS上的超级DAPP EOSBet团队曾经在社区里提出了3种解决方案,第一种方案就是推荐使用eosforce、telos。
即使是解决上述问题,提供了更好的底层基础设施,区块链应用的开发者遇到的问题依然是空前的:
首先开发者还是需要搞清楚要解决什么问题,解决不了问题是没有生存空间的,这也是为什么菠菜DAPP生命周期如此之短并且对EOS币价没带来什么好处的原因,应用场景靠坐在办公室里意淫很难做出来,开发者还是需要多了解自己要解决的问题以前是怎么解决的,是不是非要用到区块链技术。
其次要足够熟悉公有链、区块链技术,换句话说要足够熟悉区块链这个强大的工具。单单写一个智能合约跑不出比特币这样的伟大应用来。开发者对公有链的理解程度不够,导致了没有办法最大化发挥区块链的作用。
再者,很多人把去中心化当成了目的。但是我们的目的不是去中心化,去中心化只是我们的手段,通过或多或少的去中心化来保障我们要解决的公平问题、安全问题、降低成本的问题,去中心化是一个手段而非目的。
同样需要提升的便是开发者对于经济模型的理解程度。大家去看比特币的整个经济模型的设计真的是伟大而精妙,做了非常宏大的设计,但是今天很多开发者只使用了token分红这一个功能。
我们今天在做区块链应用时,有一个误区就是循着互联网早期崛起的逻辑去做事,可能会觉得区块链的发展是和互联网一样从文字开始到图片到视频,或者从黄赌毒开始。但是,忽略了一个问题,那些是中心化互联网擅长解决的问题,而不是区块链擅长解决的问题。互联网早期的时候互联网还没能证明自己带来的效率比传统商业高出多少,如果阿里巴巴一上来就直接挑战新零售肯定以卵击石。
同样,区块链去挑战互联网利益联盟优势的社交,电商之前,最起码要在自己擅长的领域证明区块链带来的安全、降低信任成本等优势。
目前整个区块链领域并没有出现很好的并行处理方案,公有链的平均性能取决于配置最差的节点的一台出块服务器性能。受限于硅的物理特性,在未来的很长一段时间(5-10年)内,单台服务器的计算能力无法继续像过去十几年一样继续快速提升。而目前的互联网计算更多是通过中心化服务器数量的拓展来解决性能限制的问题。
对于区块链来说,如果仅仅把多个应用的计算和服务堆积在单台服务器上的话,很难在可接受的成本下解决性能问题。
对于EOSIO来说,性能瓶颈有三个,CPU,NET和RAM,即使未来CPU可以通过并行获得数十倍的提升,但是RAM依然长期会受到单台服务器的限制。最近的以太坊和EOSIO的公有链实践都表明了短期内想依靠一条公有链同时解决高性能,高并发,同时要保证去中心化是几乎不可能的。
虽然我们可以预见十年以后,得益于人类科技的继续突破,链本身算法的优化,单链的瓶颈会得到解决,但在最近5-10年之内,我们很难看到这方面的突破。未来归未来,处于区块链应用爆发前夜的我们必须提出一个有效的解决方案。
基于5-10年内的技术演进判断,一个业务场景是需要单独的公有链来承载,甚至不排除一个业务场景需要多链架构解决。我们原力的多链跨链协议就是基于此开发的。
拿ENU社区来说,ENU网络启动是为了实现UBI,一个去中心化的组织推动全民基本收入,单独启动公有链网络可以将资源成本降到最低,同时可以灵活的利用公有链的各种特性。而我们持续迭代的DPOS协议则会对ENU网络有非常好的底层支持,使得整个社区可以把重心放在UBI的应用开发和普及上。
基于这样的判断,我们计划在2019年Q1为开发者提供一键启动公有链的服务,基于原力的多链跨链协议,我们不仅可以满足开发者多种共识的需求,也可以满足差链上数据结构差异化和和功能多样化的需求。
最新的原力多链协议版本里支持了两种新的资源模型,一种是EOSIO的抵押租赁资源模型,一种是免费资源模型。开发者在基于原力的多链协议启动公有链的时候,可以三选一,原力的手续费,EMLG的抵押租赁,还有类似于联盟链的免费资源模型。我们公有链社区里很多人看不起联盟链,但是联盟链却是对区块链技术拥抱最快,产生实际应用最快的一个领域。
以太坊使得发行代币变成了一种普惠的权利,而原力将使得启动多样化共识的公有链变得更加简单,同时使得多链之间的互操作更加便利。
原力开发团队的愿景是在实践中探索更开放的加密经济基础设施,我们通过持续开发基于EOSForce.io的多链跨链协议,推动区块链在各个行业的应用。
这就意味着,不论是POW还是DPOS,或者是DPOS里的多种资源模型需求,我们都需要去探索和开发。因此我们做出了一些列的举措:
启动了EOS平行主网EOS原力并且承担网络升级迭代的责任公开场合支持“竞争对手”ENU。智能合约教程里同时支持了EOS EMLG。支持BCH开发点对点电子现金系统。提供一键启动公有链服务。
声明:本内容为作者独立观点,不代表 CoinVoice 立场,且不构成投资建议,请谨慎对待,如需报道或加入交流群,请联系微信:VOICE-V。
简介:专注服务区块链和金融科技.新科技创造新商业
评论0条