区块链来自比特币,但凡对区块链的原理有些了解的朋友,就知道在一个去中心化的世界里,每个人的步调是难以一致的,各说各话,但又必须达成一致,这就要依靠共识。但即使有了共识,由于每个矿工的设备不同,网络状况不同,规模不同等等原因,往往也会作出不同的决定,这些决定的不同,导致的一个结果就是分叉。
一条链要稳定,就必须快速解决分叉。也就是说一条链可能分叉成几条链,但是如果设计得好,矿工会很快作出选择,支持其中的一条而抛弃其他。
比特币采用最长链原则解决分叉。但是这种解决方案有一个问题,有一些合法的区块被抛弃了,被抛弃的成为孤块,孤块得不到区块奖励。而同时,随着区块链技术的发展,出现了不同的解决分叉和收敛的技术,比如说,依靠多轮通信来进行选举,尝试在一个区块时间内选出领导者进行出块。另外一个方向,是采用DAG来尝试容纳所有合法的区块。
但这两种方式分别有不同的问题,采用多轮通信进行选举,通信的复杂度会提高,权益的计算也是一个问题;而采用DAG的方式的链一直面临一个快速收敛的难题。
Filecoin尝试从这两个角度来进行思考,提出了自己的解决方案,那就是Tipsets。Tipsets是一个DAG,但是是一个简化了的DAG,因为它要求在一个Tipsets中的区块必须在同一个高度,而且父Tipset也必须相同,因此,Filecoin又可以看成是一个链,一个Tipsets组成的链。
跟比特币等其他区块链相比,Tipset可以减少空块的概率,保证网络的稳定性。
那么,Filecoin的Tipset是什么?
实际上Tipset这个词是Filecoin独有的,它和Filecoin的共识机制有关。
追溯到2015年,一篇名为“SecureHigh-RateTransactionProcessinginBitcoin”(Sompolinsky,Zohar)“的论文问世,抛出了一个新观点:在区块链系统中不再把区块链想象为链式结构,而是把它想象成有向无环图结构。
依这种观点,在区块链系统中,最长链就不再是评判区块链是否有效的标志,最”重“的链才是评判区块链是否有效的标志。这里所谓的”重“是按GHOST算法计算出的标准。通俗地说就是包含最多区块的链才是有效的区块链。
Filecoin的共识机制便由此而来,它的共识机制要看两个标准:一个是选择包含区块最多,另一个是包含存储算力最多。
我们重点看第一个标准:包含区块最多。这个标准就需要用到GHOST算法。这个算法激励矿工在挖矿时选择在包含区块最多的那条链上挖矿。Filecoin将GHOST算法做了一定的改进生成了一个新的算法,这就是”Tipset”。
这使得Filecoin的共识机制是一种基于选举的机制,即我们说的预期共识。在这种机制中,在每一轮挖矿周期里多个矿工都可以拥有区块打包权,也就是多个矿工都可以产生有效区块。
Tipset所包含的有效区块数取决于出块权数值e的设置,比如Testnet中设置e=5,那么每一轮的预期出块数就是5。
当然,预期代表的是概率,实际情况中往往是不固定的,但是总体平均数值趋于5。
在一轮周期中,产生的多个区块可以形成一个树状结构,这就被称为一个“tipset“。这就是Filecoin所独有的机制,也是它不同于其他机制的地方。
不用扫一扫,不用摇一摇,联系客服请搜索ipfskefu,朋友圈尽知FIL
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。