如何跳出 Algorand 和 Dfinity 的技术「偏执」,弥补 VRF 共识机制缺陷?

TASchain 2019-01-09

原文标题:《基于 VRF 的下一代共识机制比较——TASchain、Algorand、Dfinity》
作者:吕晟珉,浙江大学应用数学系博士

在区块链从 POW 机制向 POS 机制进化之路上,不可避免地会碰到一个核心问题:舍弃 POW 这种强算力型的随机算法后,POS 应该采用何种低功耗随机算法可以保证矿工记账权益的公正公平性的同时,还能保障系统鲁棒性。从以太坊迟迟未能升级 Casper 看出,真随机数问题一直以来是 POS 的核心问题。

在此情况下,VRF 算法近年来得到越来越多人关注,它是一种低能耗,高效率的随机数算法,并提供了非对称密钥可验证机制。

VRF 全称 Verifiable Random Functions (可验证随机函数),尽管上世纪末该算法就已提出,但直到近段时间 Algorand、DFINITY 等公链项目的声名鹊起,人们才意识到:基于 VRF 的共识机制,或许才是「不可能三角」的正解。

提到 VRF,业内可能会第一时间想到两个明星公链项目:DFINITY 和 Algorand。在 POS 共识机制发展历程来看,DFINITY 和 Algorand 的确有着举足轻重的地位:Algorand 是由麻省理工(MIT)教授和图灵奖得主 Silvio Micali 创立的,首个将 VRF 算法引入区块链,通过 VRF 秘密抽签机制很好地解决 POS 机制下提案者和验证者随机选择问题;而 DFINITY 也有深厚的学术背景,创新地将门限签名技术引入区块链,验证性能更加高效。它们分别从前沿学术研究作为切入点,将适用的密码学算法引入区块链领域,从不同角度尝试去解决 POS 机制现有问题,同时两者也分别在今年下半年逆市拿到上亿的融资。

之前我们关注到业内一篇关于 VRF 的分析探讨:《3 大热门公链项目 Algorand、DFINITY 和 Thunder 共识体制的技术分析》。不可否认的是,Algorand、DFINITY 的确是 VRF 共识的先驱,两者从不同角度考虑并设计了 VRF 的使用方案。

不过根据论文解读和代码实践验证,前文所述的两者目前存在的问题也得到确认:

1、Algorand 难以达到宣称的高性能,去中心化也存在问题;

2、DFINITY 在安全性和性能上都存在较多疑点;

3、两者在真正 Dapp 落地方面都存在问题。

如果将 Algorand、DFINITY 所代表的 VRF 阵营优劣势一一列举,基本上可以得到目前现行 VRF 机制的不足之处及与之相对应的解决方案。

如何跳出 Algorand 和 Dfinity 的技术「偏执」,弥补 VRF 共识机制缺陷?图 1-1

  • 问题部分具体内容阐述详见文末备注

VRF 共识机制缺陷及 TASchain 解决方案

可以很明显从图 1-1 中看出,学术性 VRF 在节能上有着巨大的优势,但相应存在三个主要问题:网络通讯效率低、缺乏经济激励机制、去中心化程度低。对于这些存在的问题,TASchain 给出了现阶段来看的最优解。首先,在展开之前要说的是:

TASchain 是什么?

TASchain 是高可用、强安全、高效率的去中心化分布式应用平台。独创的基于 VRF+BLS 的共识算法 Chiron,在保证去中心化和高安全的同时,达到了高性能和低能耗。共识内核 TPS 达到 3000+,并可通过分片分层和分布并行技术扩展到数万甚至更高,足以满足商业化应用需求。针对商业落地场景,TASchain 推出即插即用的应用组件,降低开发成本的同时大幅提高易用性。

简单介绍完,让我们回到 VRF 的三项问题以及对应的 TASchain 的解决方案。

一、网络通讯效率低

VRF 共识机制需要提案组和验证组协同工作。区块在组内、组间节点之间的传播以及同步速度,在很大部分决定了系统的性能。在基于 VRF 分组模型的网络通讯上,Algorand 和 DFINITY 目前都没给出良好的方案。

要解决网络通讯效率低的问题,TASchain 目前的做法是:使用新型的 NAT 穿透技术大幅提高节点在线率;针对分组铸块模式,设计了双层 KAD 网络提高通讯效率;使用 RUDP 代替 TCP 作为通讯协议,通讯延时降低 35% 左右。

二、缺乏经济激励机制

回顾比特币的 POW,可以看到用结合技术的通证经济设计而不是单纯的安全技术保证了提案者无法作恶。在 POW 中,提案者得到提案权需要预先付出算力成本,若其提案区块有问题(交易双花),则该提案区块在全网其他节点验证必将失败,从而不但没有铸块收益,还付出了算力成本。

比特币的多年运行可以证明:良好的通证经济设计是保障系统安全非常好的手段。

TASchain 借鉴比特币的思想,结合密码学和工程技术设计了良好的奖惩机制,对合法参与铸块的矿工进行按劳奖励,对作恶者(交易双花,无利害关系,女巫攻击等等)能进行识别并进一步经济惩罚。这种分组模式下按劳分配的经济激励制度,很大程度上将解决现有 VRF 共识缺乏经济激励机制的弊端。

三、去中心化程度低

要讨论共识机制的去中心化,不能仅仅看参与铸块的必要条件,而是要深度分析系统对节点算力、带宽、存储等综合要求。这些要求越低,普罗大众越能真正参与到系统的共建中。

从这个角度来看,即使像 Algorand、DFINITY 也都存在较大的问题。这两个项目更多从学术角度思考,为了解决安全性问题把共识阶段的验证组规模设计得较大。但一到实际工程实现,就会发现验证组内的通讯量巨大,导致参与节点的网络带宽门槛变得很高,实际阻碍了普通用户参与到系统中。(具体详见图 1-2)

因此,现有 VRF 机制在去中心化要面对的问题,其实也跟比特币一样,尽管准入机制均为高度去中心化,但算力成为门槛后,普通用户无法参与比特币。

但如果可以设计良好的奖惩机制,能对明确作恶行为进行识别和惩罚,则就可以用结合技术的通证经济设计来保障系统安全,那么验证组规模就无需太大,如 100 人 / 组就可以完成。不但提高了去中心化程度,也提高了性能。达到了去中心化与高性能的平衡。

TASchain 正是采用这样的方式对 VRF 做迭代和升级。验证组规模的缩小,会使验证组内的通讯量,以及签名数据相应大幅减少,从而解决一个铸块高度验证节点众多(通讯量大,签名数据多)、存储浪费影响性能的问题。可能存在研究人员觉得 100 人 / 组的数字太过理想化,然而实际根据 TASchain 实验数据测算,目前已经可以达到「上行速率 400KB/S,下行速率 2MB/S」的目标。再根据前面的数据,可以得出以下对比:

如何跳出 Algorand 和 Dfinity 的技术「偏执」,弥补 VRF 共识机制缺陷?图 1-2

通过图表看出,其实普通家庭宽带就可以满足 TASchain 的节点带宽要求,从而很好解决了 VRF 系统去中心化程度不高的问题。

TASchain 如何解决 Algorand、DFINITY 的缺陷

众所周知,POS 机制分为提案 (proposal) 和验证 (agreement) 两个阶段。提案的安全性和验证的效率决定了 POS 能否真正成为下一代公链的共识。

从提案的安全性上考量,以 DFINITY 为代表存在的系统安全问题(DDOS 攻击、提案者与验证组联手作恶),TASchain 尝试通过「后验方式」解决。简单地说,是参与者使用自己的私钥自行计算 VRF,若满足提案条件则成为本轮提案者,打包交易完成提案区块后,将提案区块和凭证(VRF proof)一起对外广播,其他参与者通过凭证(VRF proof)计算才能确定其身份合法性。因此,在本环节任务结束之前,参与者的角色身份都是个秘密,这也极大程度上避免了被恶意者「腐化」或者 DDOS 攻击的风险。

另外想要彻底解决 DFINITY 系统中存在的提案者和验证组联手作恶的可能,TASchain 还进行了一系列的增强设计:提案者多点并行方式给出提案区块,在验证组内竞争签名达成共识。而针对最严重的 51% 攻击,目前在业内有提出「系统健康度概念」,即超级中心需要控制 95% 的节点,才能发起类似比特币的 51% 攻击。这些增强设计也都是 TASchain 业内首创的技术。

POS 机制中,因为提案耗时很短可以忽略,所以铸块时间(即系统的性能)主要取决于网络传播以及共识过程。Algorand 在验证阶段采用的 BA 算法,需要多步(期望值 13 步,即除了提案组,尚需 12 个验证组)才能完成验证,而 DFINITY 选择门限签名,仅需一轮无交互的验证签名便显得十分高效。从这点来说,DFINITY 的解法要比 Algorand 更优。

高效的同时仍有相当大的优化空间。TASchain 在共识阶段采用与 BLS 算法相似的门限签名算法时,通过采用不同的椭圆曲线,以及更安全高效的双线性对算子,可以在提案区块进行验证的同时达成共识。这意味着效率将极高——至少 3000TPS,同时可以保持签名数据量小、每轮产生唯一且不可预测的随机数等优点。

将上述 Algorand、DFINITY 的问题解决并优化解决方案,其实只需要一句话:通过 VRF 秘密抽签选择多名提案者并行提案,通过门限签名算法来达成验证组内共识。

如何跳出 Algorand 和 Dfinity 的技术「偏执」,弥补 VRF 共识机制缺陷?图 1-3

跳出 VRF

如果想要真正解决「不可能三角」,单单局限在 VRF 一点往往是不够的。比特币和以太坊,两者都有一个同样的安全问题,是什么?

全量账本缺失的潜在风险。

TPS 提升到 1000,对比比特币来说,意味着单位时间内的交易数增长 125 倍,相应的账本存储量将会大大增加。

对此,TASchain 设计了轻节点和重节点的分工机制,重节点存储全量账本,轻节点存储最小账本(全部账户余额和最近的若干区块)来减轻账本存储量。轻节点保存的最小账本,足够满足验证矿工对提案矿工的铸块进行一致性和准确性验证,同时分享部分的铸块收益。

不难估计,当新型共识机制将 TPS 提升到 1000 甚至更高后,矿工迫于存储条件,可能会采用最小账本模式来参与铸块。对区块链系统而言,全量账本的缺失,表面上会表现为账本同步和新节点加入会越来越难,深层次而言,区块链账本不可篡改,可追溯的基石就不存在了。

为了避免这种情况的发生,TASchain 设计了对重节点全量账本的核查——这一点是 Algorand,还是 DFINITY 都没有涉及到的(最小账本模式同样适用于两者)。TASchain 的共识机制,每次铸块通过随机数指定全量账本中的某些区块,重节点必须给出这些区块的存储证明,方能有权提案参与铸块。在保证系统有充足的全量账本节点后,其安全性将进一步提高。

总结

每一次巨大的技术进步离不开学界的创新,但是工业界的落地同样任重道远。站在巨人的肩膀上,在看的更远的同时,也需要走的更远。在「不可能三角」的最优解上,TASchain 将继续沿着正确的方向前进,推进技术变革,并不遗余力实现 Dapp 的落地与大范围运用。

备注:

【Algorand】

1、验证阶段采用的 BA 算法效率低下。实验数据在 12s 以上,预测公网环境会在 40s 左右,TPS 无法达到宣称的 1000。
2、数据存储浪费,影响性能。验证组规模过大,相应的凭证及签名数据量巨大。一个 10M 区块,估计凭证 / 签名数据可达 1M,可存储交易数据的空间变相减少。
3、 去中心化程度低。验证组规模过大,组内网络通讯量巨大,相应的节点网络带宽上行速率会要求 80Mbps,普通用户难以参与(注:中国普通家庭 100M 宽带,上行速率为 4Mbps)。
4、网络通讯效率低。系统采用 P2P 全网广播模式,传输性能不高。
5、无法构建经济激励机制。当达成拜占庭共识时,每个验证节点收到的签名数据可能是不一致的,即每个节点可能收到组内不同子集(数量超过 2/3 组员数)的签名。这种情况下,系统很难设计良好的奖惩机制。

【DFINITY】

1、在系统安全上,DFINITY 存在 DDOS 攻击风险。提案采用单点串型模式,且提案先验会导致拥有大量算力的攻击者可以 DDOS 攻击,造成系统无法产出提案块。
2、同时还存在提案者与验证者联手作恶风险。系统通过随机数先验选择提案者和验证组,容易被恶意者腐化,造成提案者和验证者联手,排挤其他提案者或者验证者,存在被人为控制的隐患。
3、去中心化程度低。验证组 400 人,通讯量 O(n2)。官方推荐节点网络带宽上行速率 50Mbps,普通用户难以参与。
4、网络通讯效率低。系统采用 P2P 全网广播模式,传输性能不高。
5、经济激励机制未设计。

举报

链闻 ChainNews 信息平台,诚邀读者共同监督,坚决杜绝各类代币发行、投资推荐及虚拟货币炒作信息。如您发现这篇文章含有敏感信息,请点击「举报」,我们会及时调查,并进行处理。

你可能感兴趣

    App

    链闻 App

    扫码下载

    公众号 小程序