EOS项目评估(上)
区块链1.0是共识技术、加密算法和数字签名结合而产生,解决去中心化的信任问题,代表为比特币系统;区块链2.0是区块链1.0+智能合约,将货币应用推广到商业活动中,代表为以太坊系统;区块链3.0是区块链2.0+低延时高并发等媲美中心化应用的商业表现,推动区块链更快地融入实际生活中,代表为EOS系统。
继上一篇《ETH项目评估》对于优秀项目打样,本篇就给予厚望的新秀EOS进行探讨,限于篇幅和阅读舒适性的考虑,将分为上中下三篇来陈述,其中上篇主要就EOS白皮书部分核心内容进行理解,来理清楚“EOS是什么”,“它又是如何平衡去中心化的内核以及中心化的表现?”
商业化应用基本门槛是低延时/高并发/可扩展。低延时参考TPS(Transaction per Second/每秒交易峰值),BTC=7(确认时长1小时)、ETH=20-30(BCH/BCC 与ETH接近)、QTUM可以做到60、Visa卡10,000,2017天猫双11以265,000刷新世界纪录,而EOS在2017.9单机测试有10,000(联机扩展会更优),作为DApp表现已经非常接近Visa的处理水准。比特币系统设计初衷是在不信任的环境中利用PoW的共识机制输出信任的结果,只要结果准确时间长一些没有关系,这在去中心化上迈出了第一步,而且7 TPS+1小时的确认(6个块生成时间)在跨国货币流通中,对于现行的外币汇兑时间T+2/3已经是一种突破;以太坊系统是商业活动中的信任+自动可执行的智能合约,共识机制是PoW+PoS,合约执行暂时不会像现金支付或者交易所这样高TPS;而EOS系统利用DPOS(Delegated Proof of Stake/委托股权证明)是以持股人为中心的相对信任环境中快速地输出结果,在相对去中心化和低延时高并发中间做平衡。“低延时”一般伴随“高并发”来加持,而后者需要“分权”,即本来一个人做的事情需要分给多个人来做,且有监督机制,所以EOS为此设计一套账户权限体系和相关系统,配合“高并发”。
DPOS
DPOS(Delegated Proof of Stake/委托股权证明)构建一套信任系统,通过无摩擦实时投票产生一组总数一定的授信方(受托人),这些受托人拥有产出区块并添加到区块链上的权利。每一轮有21个受托方(EOS是21,bitshare 是101)轮流产生区块(顺序随机),并以私钥签署命令。区块中的交易不可更改。如果如果受托方没有按照规定产生区块,将会被随后发生的投票踢出。
受托人的进出机制
受托人进入机制:根据币天(持有1000个币,持有1天,则为1000*1币天)来投票,一轮投票结束,币天归零并重新计算,理论上这样的投票机制还是倾向于持有币较多的大户,不过大户与平台利益是绑定的,也就无可厚非。受托人也可以通过降低区块产出收益,分给持有者,来增加自己的选票。受托人退出机制:应该而实际没有产生区块,在24小时内都没有产生新区块,则会被投票踢出;当被发现不诚信行为时,则会被投票踢出。受托人制度代表一种信任,而信任的基础来自于公平自由的投票。
DPOS与低延时
BTC的确认时长在1小时(10分钟一个区块,6个区块),ETH确认时长在分钟级(14-25秒一个区块,6各区块),EOS的确认在秒级别(3秒一个区块,最长15个确认=45s)。在正常情况下,EOS可以在1.5秒内可以99%的概率来确认交易,是因为区块打包者是值得信任的受托人,在两个块内被确认,就已经值得被相信了。而这个低延时的基础来自于DPOS创造的公平信任的机制。
DPOS为什么不随机选择受托人?
普通人大部分时间不在线;攻击者(持币数量较少/利益不相关)可能会控制网络、控制区块生成。这样选择的受托人就不值得信任,失去了DPOS本身存在的价值。
DPOS与并发
交易费用和验证成本的比值决定了并发的数量,如果交易费用=验证成本,则并发数量=1;BTC的验证成本是PoW的打包矿工的电费+机器损耗+利润,而且PoW的哈希算力成本是在不断提升的;DPOS是被投票选出,成本极低且不会随着时间增长而显著提高,通过持币/股的利益绑定带来的信任降低了验证成本,从而让高并发成为可能。
并发计算公式账户体系与权限管理
EOS可申请人类可识别的账户名(例如@lining,需为注册而购买存储空间),且账号秘钥参考steem设置owner(拥有)/active(活跃)/posting(发帖)三层权限,其中posting只可用于日常被限定活动、active可以拥有除更改外的所有执行权限(类似于windows的一般管理员)、owner拥有所有权限包括更改(类似于winodws的超级管理员)。账号层级<=>权限映射/管理,比如社交群组的所有消息发送与“朋友”账户映射,就可以统计我的哪些“朋友”用他们自己的私钥来进行社交互动。对每个事件都可记录权限使用,如果本层权限未找到,可以向上记录,比如没有posting的账户,就将该事件挂在active账户下面。
账户体系与高并发
高并发与信息正确是一把双刃剑,EOS是部分并行部分串行。区块内新生成的信息进入循环队列,从队列分配到各个线程Thread,线程中有一串交易信息顺序传送给被通知账户等待返回信息,与此同时线程之间需要校验同一个账户交易信息不能出现在两个线程中,否则会出现双重支付的问题。一个区块时间3秒,需要将交易的来去信息都打包在内,才可保证有效。如果一个账户存在多个交易,就可以通过账户的权限管理/分身同时回复确认,提升响应速度。
EOS区块生成流程图账户权限与强制性延时/盗窃密钥恢复
权限的复杂性带来监管的需求,对于常规交易可以设定强制性延时/反悔期限,如果发现该交易是超出计划之外,账户漏洞或人为原因,可以申请在限定时间内的撤销,而且限定时间也可以自定义。如果owner私钥丢失/黑客攻破,可以用约定秘钥/使用过的秘钥和指定联系人一起重新生成主私钥,而指定联系人不能单独生成。
总结
从白皮书上看,EOS的DPOS共识机制和账户体系更接近于现实应用场景,相比于完全去中心化的PoW工作量证明(比特币),在实现高并发低延时和基于股权的信任机制上进行折衷;steem和bitshare的1-3年稳定运行对于DPOS是一个有力的证明,基于这样的框架下继续发现其商业价值。