区块链网站|NFTS Filecoin(FIL) 技术秘密:Filecoin-Tips的模块化架构

技术秘密:Filecoin-Tips的模块化架构

广告位

技术揭秘丨Filecoin的区块架构-Tipsets

技术秘密-技巧Filecoin博客上个月发表了一篇关于Filecoin块架构-技巧的文章,解释了Filecoin的块架构。但是没有详细分析Filecoin为什么要采用Tips,为什么一定要采用Tips。为什么要增加块数,Tipsets是否能达到预期目的尚不清楚。本文尝试做一个简单的补充。

区块链要解决的一个问题:区块链的分叉和收敛来自比特币,这不言而喻。对区块链原理有所了解的人都知道,在一个去中心化的世界里,每个人的步调都很难保持一致,都要讲自己的话,但都要达成一致,这要靠共识。但即使有共识,因为每个矿工的设备不一样,网络情况不一样,规模不一样等等,往往会做出不同的决定。这些不同决策的一个结果是分歧。

这里说的分叉,并不是说一个硬币分成两个硬币,BTC产生BCH,而是基本上在每一个链条上都经常发生,Filecoin上个月发表的博客-Filecoin block architecture-Tipsets中也有描述。一条链要想稳定,就要快速解决分叉,分叉的解就变成了收敛,也就是说一条链可能会分支成几条链,但如果设计得好,矿工会很快做出选择,支持其中一条,抛弃其他的。比特币利用最长链原理解决分叉。然而,这种解决方案有一个问题。有的合法街区被废弃了,废弃的街区成了孤儿,孤儿得不到街区奖励。

同时,随着区块链技术的发展,出现了不同的解决分叉和收敛的技术。比如依靠多轮沟通进行选举,试图在一个区块时间内选出领导人,其中阿尔格兰德就是一个著名的例子。另一个方向是使用DAG(有向无环图)来尝试容纳所有合法块,比如IOTA。但是这两种方式有不同的问题,比如沟通的复杂度会增加,权益的计算也是一个问题。然而,使用DAG的链一直面临着快速收敛的问题。

Filecoin试图从这两个角度去思考,并提出了自己的解决方案,也就是tips。Tipstets是一个DAG,但它是一个简化的DAG,因为它要求Tipstets中的块必须处于相同的高度,并且父Tipstets必须相同。所以Filecoin可以看作是一个链(比DAG简单很多),一个由Tipstets组成的链。

POS:不能复制比特币的共识机制是POW(工作量证明),这也是最受诟病的地方,因为它消耗了太多的能量。选举过程的成本很高,网络越大,成本越高。但选举过程中的计算结果证明,领导人在法律之外基本无用。这也是提出POS(权益证书)的原因。理想的POS机机制应该是非常节能的,因为它足以证明你在一定时间内的权益。我们知道,Filecoin在每一轮领袖选举中都采用了POS机制。这里的s(权益)是指你在网络中存储和证明的数据量。这比传统的POS更进了一步,因为权益是由有价值的服务产生的。权益生成过程中的计算,本身就是有价值的。

POS可以用最长连接原理吗?答案是“没有”。POW就是看谁先健身,拼计算能力;POS靠的是在固定的时间区间内证明自己的权益,算快算慢没那么重要。理想情况下,如果发生分叉,分叉链的长度往往是相同的,不可能这样。但转念一想,用不了多久,所有高度相同的区块都会被纳入。反正都是有效的,不存在比特币分叉选择导致孤块的问题。你说得对,但是实施起来很难。

如何投票:目前还没有完美的方案。关键的问题是谁会在一个回合中送出拦网?因为为了公平和安全,最好是秘密选举,而且要对所有人保密。同时,最好实现起来非常简单,不需要来回沟通很多次。这个理想被称为SSLE(秘密单领导人选举):秘密单领导人选举。换句话说,在每一轮中,以非常秘密的方式,选出一个且只有一个领导人。这太难了。想想吧。在一个去中心化的世界里,甚至加入和退出网络都是非常自由的。如果你选择一个人,这个人刚刚离开。我该怎么办?

如果SSLE的理想不能实现,我该怎么办?Filecoin提出了预期共识(EC: EEXPECTED Consensus),谁会先有一个简化的、折中的、不完美的SSLE。换句话说,EC想要实现的是,从概率上来说,每一轮的期望只能产生一个领导者(blockmaker)。注意,这里说的是期望和概率,不成立。但是按照设计,概率是正确的,但是也可以通过一个方块的回合数只有36%多一点的概率来计算(1/e,这里不算,太数学化了)。空块回合数也是36%多一点,有点高。当然也有一些2挡,3挡甚至更多的回合。

如何保证Filecoin的POS机制每轮都能放出,有一个很大的优势就是挡位时间相对固定,对于区块链的消息处理很大,可以期待。不像POW机制,有快有慢,这是大运气。但是,虽然有固定的阻断时间是好的,但是如果某一轮或者连续几轮都是空的就不好了,而且两者之间的间隔是不可预测的。我该怎么办?

想想吧。至于前面提到的POS,如果一轮生产多个块,最好将所有这些块打包在一起,形成一个tipset。那么能不能一轮选举多个领导,有个集体领导,时髦一点,不怕某个领导缺席?让我们开始吧。一个简单的方法就是提高大家选举成功的概率,也就是提高预期共识。这种改进的预期共识要实现的是,每一轮都有望产生e级领导者。在当前的Testnet中,e=5。所以,也就是说,我们期望每轮产生五个领导者。

实际结果是这样的:

可惜上图并不完美。

Tipsets包含尽可能多的块吗?我们回想一下,当初你想用POS的Tipsets机制做什么?尝试包含合法的块。但是,如果我们看上图,很明显有些街区已经变成了孤立街区。如果上一张图不明显,我再拍一张:

注意:红圈里的孤立块主要是因为现在的设计,为了避免误解,所以用了马赛克。

在这张图片中,有几个矿工的区块,其中许多未能进入主链。看到红圈标记的部分。为什么会这样?有几个原因:

1)网络延迟,部分矿工块因网络原因耗时较长,错过下一轮矿工打包;但这远不是主要原因。

2)Filecoin封装块要求更高。一个最致命的要求是,一个时空证明必须在每一轮块时间内完成。这个计算量不小,用GPU完成需要几秒甚至十几二十秒。这占用了大量的块时间,使得:

——有权打包的矿工不能等太久。他必须迅速计算,否则他会错过机会。目前在Testnet2的设计中,等待时间只有6秒。

-虽然6秒不算短,但是如果你计算时空证明的速度不够快,你出块的时间可能就在自己后面了。

-还有一个问题,就是矿工在做时空证明的时候需要访问存储的数据,但是对于大矿工来说,存储可能会采用网络存储,这可能会成为一个瓶颈。同时,如果存储出现故障,效率也会大打折扣。

在当前的测试网络中,我们看到每轮的平均块数在2到3之间,是预期的5的一半。

如何改善?如果是主网上线后块打包的概率,如果还是这样,肯定不行。怎么办,一定要想办法让每轮的挡格量尽可能达到预期。事实上,当e=5时,这个块量的理论期望值低于5(这里计算起来太数学了),但至少高于4是正常的。

以下是一些可供参考的想法,Filecoin团队正在权衡。我们希望在最终规范中看到更好的版本:

-进一步提高邮政效率,缩短邮政时间,可以给矿工更多时间等待更多区块打包;(我一直在做,但是比较难)

-不限于ePoSt可以在一个块时间内完成,会对安全性造成一定的危害,但需要考虑是否可以容忍或者进一步提高封印的难度和时间。(存在安全问题,但正在考虑中)

-延长轮挡时间;Filecoin团队最初设计的阻塞时间是30秒,后来希望改成15秒以提高效率;但采用ePoSt后,很难缩短阻塞时间,测试网络改为45秒。(进一步延长阻断时间阻力很大)

-矿工改善硬件配置,缩短岗位时间。如果以上几点不被采纳或推广,这是唯一的出路。

如有想法,请积极参与讨论,提出建议。Filecoin要形成一个生态,一个成熟的去中心化存储市场,需要大家的共同努力。

[IPFS部队区]

价值观:建立价值和分享荣耀

总部位于上海,聚集了众多基于分布式网络存储的技术大咖和爱好者,深耕基于IPFS的商业生态建设和社区发展。

[强制开放日]

它在周二举行,聚集了大量的技术大咖和IPFS爱好者。通过持续输出全面、精细、优质的IPFS咨询和技术支持,将生态中的粉丝变成IPFS的支持者和参与者,共同构建IPFS生态的健康发展。

(1)内容来自内容开放平台“DedeNo”。外链的,且稿件内容仅代表作者观点,不代表外链官方立场。2、凡“获奖”文章,内容的原创性和真实性由投稿人负责,若稿件因抄袭、造假等行为造成的法律后果,由投稿人自行承担。3.德豪的平台发布文章。如有侵权、违规等不当言论,请读者监督。一旦确认,平台会立即下线。如对文章内容有任何疑问,请发送至邮箱:chengyiniu@chaindd.com)

广告位
本文来自网络,不代表区块链网站|NFTS立场,转载请注明出处:https://www.qklwz.com/jzb/fil/41544.html
上一篇
下一篇

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

返回顶部