昨天受邀参加的EOS引力区第一次线下活动,分享了一个技术相关的主题,气氛着实热烈。今天就把昨天分享的又值得写下来的内容分享一下。
首先是BM最近刚发的一条twitter中说到,EOS将共识改写成了Hybrid DPOS and BFT。那么以下是我对EOS共识方式的重新理解,和原来单纯DPOS相比加快了出块的间隔以及拥有了所谓的即时最终性。出块时间缩短到了500ms,着实在性能方面又增强了一步。不过也要用辩证的眼光看问题,也算是牺牲了三角CAP理论中的其他几个纬度达到的。
接着我介绍了前天刚发布的EOS3.0 Alpha的具体情况,看完Release Note基本可以概述为以下几条,这是一个供开发人员可以测试的版本,在不同方面做了升级和新增了新功能,但是还并未上线公共测试网,同时也指出block.one不会定一个发布日期,时机成熟就会发布,敬请期待。
然后胖哥罗列了EOS github中一系列关于治理、资源调度以及见证人相关的提案。都是比较好玩的。这些plan都用DAWN加数字命名,大家有兴趣可以去github自行查阅。
DAWN-399所讲述的是见证人的一些特权或者说是权益。BM提到作为见证人有4个权利:
冻结和解冻一个账号
为账号(智能合约)更新代码,具有30的延时生效期
允许创建名字前缀为 eosio.的账号(贵族马甲哈)
可以对调用wasm合约的api接口的全新进行账号白名单
在这个Dawn中, 他们还在讨论,见证人可以去隔离某一个恶意的智能合约或者是有漏洞的智能合约。还可以设置进入一种”安全模式”,该模式中停止新的智能合约或者代码被部署,减少发生漏洞情况下漏洞进一步扩散的危险。
DAWN-446将的是备用节点,BM认为除了21个主力见证节点以外其他得到票数的见证人也应该通过runner up pool的方式活动奖励,EOS每条增发的币会奖励划分为3个部分:1. 支付见证人每个出块的费用 2. runner up pool的形式给予备用见证人 3. 支付给提案计划的费用
这里说下runner up pool,它就像一个跑道,很多人在跑步比赛,根据获得票数不同,每一个节点跑步速度不一样,又快有慢,当跑完一圈的时候可以获得优先奖励的权限。
为什么要有备选节点?我猜测 1.可以保证在主力节点故障的时候,能够补充到节点中参与BFT投票和签名(可能不需要提供带宽存储计算资源)。2. 保证账本的稳定性,万一真的遭遇灾难,21个主力节点全挂,还有成百个备用节点上面有账本信息。
DAWN-400是一个类似于多签名的机制。可以通过一个人发起一笔交易,其他同伴进行审核后才发出转账或者指令的机制。从这里看出,这个机制在EOS应该会自带,而以太坊主要是通过Consensys的合约或者是其他第三方的智能合约来实现。
DAWN-370讲的是,如何提交一个工作议案。有点类似比特股的议案提交。也需要进行投票,也可以标名起始时间、结束时间、每天的工资数量。这里为了防止随意提交议案,提交议案是要支付一定的EOS的。而且议案总数不会超过100个,是防止太多需要选择导致投票者变得不活跃。
DAWN-292 讲的是EOS中资源的定量方式。对投票、带宽、存储的权重进行了算法解释。
初步可以看出对于投票权,并不是持仓多少就代表多少票,还和时间有关,应该有一个多少天的平均票数来衡量。
对于带宽呢,有点类似steem,有一个时间框,固定时间窗口平均分配带宽,如果前面用的多,剩余就少了,每隔一段时间呢又会恢复。不用的带宽是可以被动态重新分配的,而且自己用不掉的带宽可以代理给其他人。
对于存储则比较严格,一旦分配在释放之前是不能重新分配的。
DAWN-472是关于带宽限制和存储用量限制的提案,篇幅很长,大家可以自行查看,主要里面讲了EOS将资源分为了6中类型:
带宽
计算
数据库
存储
打印日志
事件日志
该提案对如何去设置这些rate的参数,分为硬共识(全体投票)和软共识(只需见证人投票)。也对不同类型的资源在数学上明确了如何进行计量。以及如何按照抵押分配资源。从而做到一些EOS的特性,比如如何像用户免费提供带宽和存储,如何让开发者为用户去支付费用。
接着我简单介绍了我们在搭建EOS节点中碰到的一些坑,以及演示了如何运行测试钱包,获取测试代币,连接测试公网。有兴趣的朋友可以线下沟通。
最后我提一下最近有些人吐槽说EOS将发锚定货币会让他变得像bts那样价格不会涨,发一段我圈子中的原话吧