mt logoMyToken
总市值:
0%
恐慌指数:
0%
币种:--
交易所 --
ETH Gas:--
EN
USD
APP
Ap Store QR Code

Scan Download

专业名词太多看不懂?1475创始人杨明千字深入浅出谈Filecoin技术本质

收藏
分享

Filecoin

火星财经APP(微信:hxcj24h)一线报道 ,Filecoin主网上线在即,预计今晚11点左右将在区块148888处启动。火星财经联合火星云矿发起火星视频直播,直击Filecoin主网上线,深度解读Filecoin主网上线对产业带来的影响,分析FIL后市走势、投资价值,分享挖矿经验。

在今天的直播中,1475创始人杨明发表题为「浅析Filecoin技术本质」个人演讲,重点剖析PoRep(复制证明)、PoST(时空证明)以及Expected Consensus(预期共识)的技术特点。

1475为Filecoin矿机技术服务商,2018年开始着手研究 Filecoin底层。至 Filecoin 2019年12月上线第一阶段测试网后,该 服务商以 “1475”作为编号参与挖矿、帮官方找BUG并提供修复方案,并在这一阶段算力和出块维持在第一名。今年二测上线后,1475挖出第一个非官方节点出的区块,并在算力和爆块率排名方面位于前列。

以下为直播演讲全文(未经本人确认):

大家好,我是1475创始人杨明,感谢火星区块链邀请。今天不谈市场,不聊币价,我想和以偏生活化的方式讲解大家经常听到的一些Filecoin技术名词,帮助大家更好理解Filecoin如何构建去中心化存储网络。

一、PoRep(复制证明)

首先,我们来谈谈PoRep(复制证明)。如果要进行分布式存储,面临的首要问题是如何准确证明旷工存储了指定数据,这不仅是必须解决的问题,也是最难解决的问题。我举个例子,如果A宣称钱包丢失(内存1475元),B捡到丢失钱包,那如何验证该钱包属于前者?一般情况下,B会要求A说明钱包中的资金数量。

在Filecoin领域,如何实现?主要利用一些原始数据要存储的真实需求,将其标准化为10个亿的数据源,每个亿是32个字节,也就是大约32GB封装数据,随后进行加密。加密数据的话会进行8叉树的一个构造,然后形成一条对于原始数据加密字号的一个路径,我们称为Vanilla Proof。这一路径其实就是刚刚提到的钱包里到底有多少钱,如果对方回复钱包中的资金是1475元,那么这就是一个很重要的反馈。

不过,在Filecoin领域这一过程只是证明矿工存储数据,并不能证明矿工“一直在存储”。要知道,在真实世界中的存储有时间线,是一个时间阶段。比如,我要存储从2020年7月1日至2021年7月1号的数据,我需要存储一年时间。

二、PoST(时空证明)

那怎么证明矿工一年中一直在存储数据呢?这需要用到全新算法PoST「时空证明」。通过PoST,可以证明一直存储数据,中途没有删除数据。

我也举一个生活中的案例。大家应该都在朋友圈看到会过有人晒健身打卡,告诉大家他每天都在健身。打卡怎么实现?在Filecoin方面,怎么证明矿工在持续存储数据,中途没有删除数据,没有作弊?从算法层面,解决该问题的方式是有两个PoST,一个是winningPoSt,另一个是windowPoSt。

在算法层面,Filecoin的解决方式是每30分钟执行一次windowPoSt,一天执行48次,其核心类似于上述健身打卡。也就是说,你30分钟打一次卡,如果没有打卡(没有存储数据),挖矿成本就会非常高。

不过,有些矿工会进行生成攻击。简单来说,生成攻击是指矿工没有存储数据(或删除数据),当网络发起挑战的时候,临时生成数据来满足验证需求。这时,需要用到算法SDR,其俗称分装。

事实上,封装时间非常长。虽然我们也进行过算法优化,但最短分装时间也需要1个多小时,甚至2~3个小时才能够完成一个次要的分装。我们前面提到,windowPoSt只提供30分钟,因此算法本质上是一种有时间限制的证明,这降低矿工作弊的可能性。矿工不可能在30分钟内生成一个完整的数据,你不可能通过网络传输来解决问题。通过这种方式,Filecoin解决外包攻击和生成攻击。

通常,系统会进行一次随机挑战,这其实类似于抽检。通过抽检,系统验证矿工是否在存储数据,如果没有存储数据,矿工是得不到区块奖励的。

总之,复制证明是解决矿工确实在分装和存储数据;POSt是解决矿工要在一定时间阶段内分装和保存数据。我希望通过解释这两类算法,帮助大家理解Filecoin底层技术的本质。

三、Expected Consensus(预期共识)

最后,我想谈谈EC(预期共识)。 EC解决什么问题?保证一致性的问题,保证我的链和其他几万、几千个矿工的链是一样的,并且要保证大家的链上账本是一致的,这就需要一套机制来保证。第一,大家在Tipset整个链上要有一套同步机制;第二,同步在Tipset上的选择;第三,message进入账本要按照一定的次序进入,保证大家的账本是一模一样的。这三方面是Filecoin需要解决的问题。

举个例子,在比特币网络,谁先通过链上的随机数据,7个字节80KB的哈希碰撞,就能算出网络难度以内的值。只要该数值小于网络中的目标值,矿工就拥有打包权,大家达成共识。那Filecoin是怎么做的呢?

首先,Filecoin使用「最终链法则」来保证链上账本统一。每个区块都有一个重量加权,每个人的链都有一个全网的重量值。如果两个人的链上数据不同,听谁的链呢?靠最重量的值来判断,比如一个是10003,另一个是1004,听后者。

随后,在达成共识基础上,还要保证message和账本保持一致,这其中涉及很多message类型的处理和有序性问题。整体来说, EC是解决不确定性因素的一个比较好的方法。

当然,它确实不如白皮书上写的SSLE那么完美,还差一些火候。比如,每个Tipset固定出多少块,一定出块,没有空块,这些问题其实从某种意义上都没有解决,但不妨碍它成为区块链史上具有里程碑意义的共识机制。

时间有限,我今天的分享到这里就结束了,希望对大家有一定帮助,谢谢大家!

免责声明:本文版权归原作者所有,不代表MyToken(www.mytokencap.com)观点和立场;如有关于内容、版权等问题,请与我们联系。