免责声明:本文旨在传递更多市场信息,不构成任何投资建议。文章仅代表作者观点,不代表火星财经官方立场。
小编:记得关注哦
来源:PolkaWorld
在 2021 Polkadot Decoded 的圆桌讨论 “解析平行链:谁做了平行链?平行链是什么?为什么要有平行链?”中,研究员 Jeff、代码实现者 Rob 和主持人 Joe 一起讨论了一些对于平行链发展很重要的问题。PolkaWorld 在本文中总结了该圆桌主要内容。
Jeff:Jeff Burdges,W3F 密码学研究员,做了很多平行链开发方面的研究
Rob:Robert Habermeier,波卡联合创始人/Parity 核心开发者,带领实现团队让平行链能够在实际中运行起来
Joe:Joe Petrowski,W3F 技术集成负责人,本场圆桌主持人
Joe:大约一年半以前,Jeff 带领着一个团队发表了一篇关于可用性和有效性的论文。在实现时,这个方案已经改变了很多。Jeff,你可以简单谈一谈这篇论文的想法是如何产生的吗?
Jeff:我们从以太坊生态那里获得了一些想法,比如使用纠删码的想法。但是围绕这些想法的一些具体的东西,比如如何优化分片,都没有正式确定下来。
在 2019 年末,我们决定要把这些想法正式化,提出更精确的方法。一般来说,我们设计复杂协议的方式是,我会写下所有可能的设计选项,然后用排除法。
在 2020 年初,我写下了这个设计,并且和大家讨论,我们注意到了一些问题,我想出了一个叫 “Two-phase inclusion” 的技巧。也就是说在真正开始之前,平行链中继链必须知道一个区块,验证人必须说这个区块是有效的。
之后我们开始做纠删码,然后开始做真正的检查它的工作。这样做的好处之一是,因为有人在这个过程中投入了很多切身利益,从而会限制其可以尝试的次数。从而做到如果你要攻击它,那么你也会毁掉你自己。它不是加密学安全性,而是分布式系统安全性,但是是合理的。
Joe:对于不熟悉分片的人来说刚刚说的可能有点抽象。其实就是,我们有一千个验证人,当你想要包含这些平行链区块中的一个时,你其实需要把数据块发给所有验证人,涉及到费用、复杂性、网络、存储等,让所有人都得处理这个消息,所以你想要真正确保这些消息是有效消息,而且是有理由的。
Jeff:是的。纠删码其实挺老了,有不同类型的纠删码。不过一般来说当如果你用密码学的话,一般是使用一些基于拉格朗日插值法或者里德-所罗门码之类的。原因是它的阈值很陡峭,所以我们可以从任何三分之一的碎片,来恢复全貌。
那我们怎么做呢?我们有平行链区块,叫做候选区块,我们有 3f+1 个验证人。那么我们把这些东西纠删码为 3f+1 个碎片,你只要有了任何的 f+1 个碎片,就可以重构原始区块。也就是说只要比 1/3 多一点点的碎片,你就可以重构原始区块。
这是一种很古老的数学方法,实际上是让我们的速度更快。根据我们目前的验证人数量,我们必须找到一些比较新的论文,来进行优化。这就是我们今年做的事 —— 去大大优化纠删码。我们让它的运行速度快了 400 倍,渐进地看其实更快。从 O(N2) 算法到了 O(log n) 算法。这让计算变得没有那么的有负担。之后我们可能还会做得更好。这是我们最近的一个突破,当然了如果我们能在更早就解决的话就好了哈哈哈。
Joe:把这些研究变成代码,其实也是很大的挑战。我们去年年中上线了 Rococo 测试网,Rob 可以谈谈这个协议的实现早期遇到的一些挑战吗?
Rob:我记得第一次跟平行链相关的代码提交是在 2018 年下半年,2019 年中有了我们所说的 V0 协议的初稿,在最初的几年中,我们更多地投入在 BABE、GRANDPA 共识上,也就是出块和区块确认方面,那时候其实还没有真的深入研究平行链的东西,因为平行链的部分更复杂,需要更多的开发时间。
从 2019 年中后期到 2020 年初左右,事情有了很大的进展,就像刚刚 Jeff 提到的,研究团队开始真正把协议确定下来了,像是可用性确保了平行链区块仍然存在,以便其他人可以检查它们,来进行额外的检查,从而确保安全性。
下一篇:没有了
Copyright © 2018 《分析测试技术与仪器》杂志社 版权所有