Filecoin-入门基础概念

CN
4年前

官网:https://docs.filecoin.io/ https://filecoin.io/zh-cn/ 技术白皮书:https://filecoin.io/filecoin.pdf


IPFS是一个去中心化存储网络,Filecoin是IPFS存储的激励层,Filecoin作为生态激励来保证 IPFS 节点的运行。


FIL 是 Filecoin 项目基于 Filecoin 公链发行的 Token,全称是:Filecoin ,符号是:FIL。


Filecoin项目主要组成部分 1、去中心化存储网络DSN 2、复制证明PoRep 3、构建两个可验证市场,即存储市场和检索市场


测试网 官方文档 https://docs.lotu.sh/ Filecoin区块浏览器,查看链上消息和爆块消息等消息 区块浏览器 https://filscan.io/#/


Filecoin测试网是公开开放的,任何人只要有硬件有软件基础都可以参与。


关于硬件:测试网第一阶段的时候,官网移除了1GB扇区的测试,目前仅支持32GB扇区,为了加速零知识证明,需要额外配置GPU,最低是N卡1060,内存最低128G,如此高的配置无疑阻挡了众多的矿机参与,市场上大多数矿机都处于不能挖矿状态,用家用电脑的愿望也会落空,但是我们不排除官方最后的优化方案会降低需求。


Filecoin测试网目前在一个Filecoin实现方案lotus(https://github.com/filecoin-project/lotus/)上运行,网络本身与具体的实施方案无关。


您可以在GitHub上的各个实现中跟踪每个实现的进度:


go-filecoin(用Go编写)

  • lotus(用Go语言编写)

  • fuhon(用C ++编写)

  • forest(用Rust编写)


    说明:Filecoin协议尚未100%稳定和完成,因此测试网并非是稳定的网络。测试网的目的是让我们发现并且修复bug,测试网启动至今已经被多次攻击,比如内存溢出漏洞、空指针攻击等方式,官方也在根据线上的问题,快速修正问题。测试网网络已经多次被重置。


    Filecoin – Lotus存储证明了什么? 参考URL: https://www.lianyi.com/zixun/2201284 【协议学院】Filecoin 存储封印和证明初步解析 参考URL: https://www.jianshu.com/p/5a6febf1578b


    这种混合共识机制不浪费资源和能量,又解决实际应用问题,即共享存储空间,又与实体经济结合,是我们最能预见的第一个区块链+实体经济的项目。


    Filecoin协议将使用复制证明(Proof-of-Replication)和时空证明(Proof-of-Spacetime)来证明文件已经分配在记忆存储器里的它们自己的特定位置,并随着时间变化不断被存储。


    复制证明(PoRep)是一种新型的存储证明方案,它能够让存储矿工说服用户和其他矿工,数据已经被复制到了它的矿机上。这种方案能有效的阻止女巫攻击、外包攻击和生成攻击的存储作弊问题,以下是复制证明的简化步骤:


    在Filecoin协议中,存储供应商要让他们的客户相信,客户所付费的数据已经被他们存储,**存储供应商通过生成“复制证明”(PoRep)和“时空证明”(PoST)给区块链网络或者客户来验证存储的真实性。**而我们说的复制证明和时空证明就是来实现这一验证功能的基础算法。


    复制证明(PoRep),证明数据的一个单独的拷贝已经在一个特定的扇区内创建成功。复制证明由封印(Seal)操作完成,封印操作创建一份数据的拷贝,并产生相应的复制证明。 这是一种新型的存储证明方案,它能够让存储矿工说服用户和其他矿工,表明数据已经被复制到了它的矿机上。


    复制证明也是一种交互式协议。当证明人P:(a)承诺存储某数据D的n个不同的副本(独立物理副本),然后(b)通过响应协议来说服验证者V,表明P确实已经存储了每个副本,这是复制证明的简化步骤。


    复制证明必须能够防范以下三种常见的攻击方式:女巫攻击,外源攻击和生成攻击,他们的共同特点是攻击矿工实际存储的数据大小要比声称存储的数据小,这样攻击矿工就能获得本不该他获得的报酬。


    女巫攻击(Sybil Attack): 利用n个身份,承诺存储n份数据D,而实际上存储小于n份(比如1份),但是却提供了n份存储证明,攻击成功。

  • 外部数据源攻击(Outsourcing Attack): 当攻击者矿工收到检验者要求提供数据D的证明的时候,攻击者矿工从别的矿工那里生成证明,证明自己一直存储了数据D,而实际上没有存储,攻击成功。

  • 生成攻击(Generation Attack): 攻击者A可以使用某种方式生成数据D,当检验者验证的时候,攻击者A就可以重新生成数据D来完成存储证明,攻击成功。


    PoRep本质是一个加密时间长,解密时间短且证明与验证过程高效的算法, 这个过程在学术圈,被称为可验证时延加密(Verifiable Time-Delay Encoding Function)。


    Filecoin证明机制的角色和过程可以抽象成如下,挑战者、证明者、检验者。他们可以是矿工、用户或者任何网络内其他角色。涉及的定义包括如下:


    挑战(challenge):系统对矿工发起提问,可能是一个问题或者一系列问题,矿工正确的答复,则挑战成功,否则失败。

  • 证明者(prover):一般只矿工。向系统提供证明了完成系统发起的挑战。

  • 检验者(verifier):向矿工发起挑战(challenge)一方,来检测是否矿工完成了数据存储任务。

  • 数据(data):用户向矿工提交的需要存储或者矿工已经存储的数据。

  • 证明(proof):矿工完成挑战(challenge)时候的回答。


    验证者会按照一定的规则向矿工提起挑战,挑战是随机生成的,矿工不能提前获知。矿工作为证明者相应向检验者提交证明,证明的生成需要原始数据与随机挑战信息。证明生成后,证明者会交给验证者,并由验证者判定该证明是否有效,如果有效,则挑战成功。


    PoRep的目标是确保矿工确实在自己的存储设备上存有某个数据的备份,PoSt的目标则是让存储矿工持续证明自己在约定时间内存储了该份数据。


    “复制证明”挖矿分为Pre1、Pre2和commit 3个阶段。Pre1是对数据进行编码,Pre2是对编码后的结果计算哈希,commit则是对编码后的结果生成零知识证明,以备“时空证明”算法进行检验。


    其中,Pre1是单线程工作,运算的时间长,Pre2是双线程,也即CPU会被用满。这些特性对CPU提出了较高的要求,需要用AMD的芯片,且要有SHA扩展、可以加速。带有SHA扩展的CPU可将Pre1的运算过程提速3-4倍。


    Filecoin测试网12日凌晨上线,星际大陆带你回顾什么是时空证明 参考URL: https://baijiahao.baidu.com/s?id=1652695987787883881&wfr=spider&for=pc Filecoin挖矿:什么是时空证明? 参考URL: https://baijiahao.baidu.com/s?id=1657844007685602759&wfr=spider&for=pc


    PoST即Proof of Spacetime,时空证明,这一操作是为了证明存储节点在一定时间段内存储了相应文件,而PoST证明的生成涉及较大计算量,GPU的PoST计算速度要快于CPU,因此,引入GPU挖矿可以确保在规定时间内完成PoST证明。之所以要求矿工在一个区块周期内完成PoST计算则是为了增加攻击者的攻击成本,因为PoST的计算量较大。


    这也就是官方所说的“GPU只是对CPU的一种补充”的意思。开发团队成员Why曾解释过:“如果能找到别的方法来实现快速计算,就不需要GPU。”


    时空证明可以理解为持续的复制证明,即矿工必须不断的生成证明,并在一个提交周期内提交存储证明,如果存储服务商没有在提交周期内连续及时提交证明,会被系统扣除部分代币。


    官方还建议使用较低延迟的网络连接来按时提交PoSt。如果矿工多次未能按时提交PoSt,则可能导致赢得较少的区块奖励,并增加被削减的风险。


    总结: 通过(时空证明(Proofs-of-Spacetime)持续证明存储。


    零知识证明 - zkSNARK入门 参考URL: https://www.jianshu.com/p/828fef53cf13 Filecoin – Lotus存储证明了什么? 参考URL: https://www.lianyi.com/zixun/2201284


    零知识证明,zkSNARK,zero-knowledge Succint Non-interactive ARguments of Knowledge的简称


    零知识证明(Zero-Knowledge Proof)或零知识协议是一种基于概率的验证方法,包括两部分:宣称某一命题为真的证明者(prover)和确认该命题确实为真的验证者(verifier)。


    零知识证明指的是证明者能够在不向验证者提供任何有用的信息的情况下,使验证者相信某个论断是正确的,在密码学中非常有用。


    顾名思义,零知识证明就是既能充分证明自己是某种权益的合法拥有者,又不把有关的信息泄漏出去,即给外界的 “知识” 为“零”。


    “能够在不知道用户是谁,或者他们有多少钱的情况下判断‘一个用户是否有足够的钱发送给另一个用户’的问题,是零知识证明在区块链中的主要应用之一。”——Demiro Massessi


    例如,当前网站将用户密码的哈希值存储在其 web 服务器中。为了验证客户端是否真的知道密码,大多数网站目前使用的方法是对客户端输入的密码进行哈希值计算,并将其与存储的结果进行比较。


    零知识证明可以保护用户的帐号信息不被泄露。如果零知识证明可以实现,那么在客户的密码是未知的情况下,仍然可以在客户端登录进行身份验证。当服务器受到攻击时,用户的帐户仍然是安全的,因为客户的密码没有存储在 web 服务器中。


    零知识证明在区块链中的应用 比特币和以太坊网络都使用公共地址来代替验证者和证明者的真实身份,使得交易部分匿名; 只有发送和接收地址,以及交易数量是公众知道的。但是,通过区块链上提供的各种信息,如交互记录等,可以发现地址的真实身份,存在隐私暴露的隐患。


    用了零知识证明之后,发送方、接收方和第三方的细节信息可以保持匿名,同时保证交易有效。


    最早使用零知识证明技巧的区块链叫做 Zcash,实际的作法叫做 Zk-Snarks,这是许多零知识证明的做法之一,也是最有名的一个。


    Zk-Snarks 是 “零知识简洁无交互知识认证” 的简称,是一种在无需泄露数据本身情况下证明某些数据运算的一种零知识证明。


    Zk-Snarks 技术缩减了证明所需的时间和验证它们所需的计算量。它能够证明有效交易的条件已经满足,而不需要透露交易所涉及的地址或交易量的任何关键信息。


    Zcash 可以将交易纪录上的汇款者、收款者和金额都经过加密隐藏起来,因此矿工无从得知这些交易上的细节,但仍然可以验证交易。不过,目前多数使用者在 Zcash 上的交易,还是选择未经加密的作法,因为花费的成本比较高。


    Lotus/Filecoin项目由三部分组成: 1/ Lotus Blockchain部分 – 实现区块链相关逻辑(共识算法,P2P,区块管理,虚拟机等等)。注意的是,Lotus的区块链相关的数据存储在IPFS之上。go语言实现。 2/ RUST-FIL-PROOF部分 – 实现Sector的存储以及证明电路。也就是FPS(Filecoin Proving Subsystem)。Rust语言实现。 3/ Bellman部分 – 零知识证明(zk-SNARK)的证明系统,主要是基于BLS12_381椭圆曲线上,实现了Groth16的零知识证明系统。Lotus官方推荐采用Nvidia的2080ti显卡,也主要做这部分的性能加速。Rust语言实现。


    Filecoin的存储封印(Sealing)和证明(PoRep & PoSt)是用rust语言编写,而且是单独成篇的,也就是说可以单独拿出来玩。


    ilecoin复制游戏程序的源码可以到以下地址下载: https://github.com/filecoin-project/replication-game


    如果你不想下载源码,直接下载可执行代码的话,直接到这里: https://github.com/filecoin-project/rust-fil-proofs/releases


    参考URL: https://filecoin.io/zh-cn/faqs/


    Filecoin还使用了IPFS的许多性能。例如:


    Filecoin将IPLD用于区块链数据结构 Filecoin节点使用libp2p保证安全连接 节点之间的消息传递和Filecoin块传播使用libp2p发布订阅


    此外,Filecoin核心团队包括IPFS核心团队的成员。 IPFS和Filecoin之间的兼容将尽可能无缝对接。即使在Filecoin发布之后,我们仍然期望IPFS和Filecoin的开源社区们继续协作和提升两个项目的兼容性。


    首先,值得重复的是,Filecoin和IPFS相互补充,并且具有显着的交叉兼容性。 我们正努力地使自发的IPFS存储和付费Filecoin存储之间的转换更加简单。


    使用IPFS,您可以通过直接提供硬件或从第三方购买存储来负责您自己的存储节点。 在IPFS上,单独的节点可以存储他们认为重要的内容; 没有任何简单的方法来激励他人来保证储存你的数据在他们的系统里。Filecoin提供了缺少的激励机制。


    如果您希望维护自己的存储节点,或者和外部协作来合作存储数据,IPFS将可能会是您的首选方案。如果您希望支付具有竞争力的价格并在特定的冗余和可用性下为您管理信息存储,Filecoin可能是您的首选方案。



    免责声明:本文章仅代表作者个人观点,不代表本平台的立场和观点。本文章仅供信息分享,不构成对任何人的任何投资建议。用户与作者之间的任何争议,与本平台无关。如网页中刊载的文章或图片涉及侵权,请提供相关的权利证明和身份证明发送邮件到support@aicoin.com,本平台相关工作人员将会进行核查。

  • Bybit: $50注册体验金,$30000储值体验金
    广告
    分享至:
    APP下载

    X

    Telegram

    Facebook

    Reddit

    复制链接