【翻译】简单解读Filecoin白皮书

Simplifying the Filecoin Whitepaper

简单解读Filecoin白皮书

By:Robert Greenfield IV

翻译:冰青

Here we’ll quickly breakdown what filecoin is and the system’s consensus protocol, potential vulnerabilities, and projected future state — all straight from the whitepaper in a way we can understand!

本文将简明条理的为大家解读Filecoin是什么,以及Filecoin的共识协议,潜在问题和未来的可能性。所有的内容都直接来自于Filecoin白皮书,并尽可能以大家都能理解的方式来解读。

You can have access to my annotated version of the white paper here — with notes included!

你可以进入这个链接,里面有filecoin的白皮书以及本文作者的注释。

What is Filecoin?

Filecoin是什么?

 

Filecoin is a decentralized storage network that turns cloud storage into an algorithmic market. The market runs on a blockchain with a native protocol token (also called “Filecoin”), which miners earn by providing storage to clients. Essentially, filecoin is the airbnb of data storage — a peer to peer based exchange that accepts asks and bids to settle decentralized data storage transactions on blockchain.

FIlecoin是一个去中心化的储存网络,其令云储存成为一个基于算法的市场。这个市场运行在区块链上并具有原生的通证“Filecoin”,矿工们通过向客户提供储存来挣取通证。实际上,Filecoin颇似数据储存上的爱彼迎——一种点对点的,基于区块链的,通过撮合买卖方需求来解决去中心化数据储存交易的市场。

Filecoin works as an incentive layer on top of IPFS, which can provide storage infrastructure for any data. It is especially useful for decentralizing data, building and running distributed applications, and implementing smart contracts.

Filecoin是IPFS的顶端激励层,作为承载数据储存的基础,擅长于为去中心化数据提供储存服务,并为搭建、运行分布式应用以及架构智能合约提供相应平台

Filecoin System Basics

Filecoin系统基础

 

There are 3 types of entities in the Filecoin system:

在Filecoin系统中有三种个体:

·Client — Pay to store data and to retrieve data in the DSN, via Put and Get requests

·用户——为在分布式储存网络中发布数据储存和数据检索要求以及上传、取回文件的行为支付资金(一般是Filecoin)。

·Miner — Storage Miners provide data storage to the network. Storage Miners participate in Filecoin by offering their disk space and serving Put requests. To become Storage Miners, users must pledge their storage by depositing collateral proportional to it.

·(储存)矿工——在网络中提供数据储存服务,储存矿工通过提供闲置的储存空间与接受用户的储存要求来参与到Filecoin的挖矿过程。成为Filecoin矿工必须提供储存空间并抵押和储存空间大小相对应的Filecoin。

·Retrieval Miner — Retrieval Miners provide data retrieval to the Network. Retrieval Miners participate in Filecoin by serving data that users request via Get. Unlike Storage Miners, they are not required to pledge, commit to store data, or provide proofs of storage.

·检索矿工——检索矿工在网络中提供数据的检索与取回服务,检索矿工通过接受用户的检索请求和取回文件请求来参与到Filecoin的挖矿过程。不同于储存矿工,他们不需要提供储存空间和抵押Filecoin,也不需要接受数据的储存并提供储存证明。

Clients pay a network of miners for data storage and retrieval; miners offer disk space and bandwidth in exchange of payments. Miners receive their payments only if the network can audit that their service was correctly provided.

用户在网络中为数据的储存和检索向矿工支付费用;作为交换,矿工通过提供储存空间和带宽来获得报酬。矿工只有在他们提供的服务通过网络的审查后才能获得报酬。

Filecoin Consensus Protocol

Filecoin共识协议

Filecoin1

可信市场协议

匹配订单:

1、交易双方将“购买(空间)”订单和“出售(空间)”订单加入到公共账本中。

2、当两种订单匹配成功后,参与交易双方创建“成交”订单,成交订单将承诺交易双方进行交换(数据和通证),同时该订单将向全网广播并加入到公共账本中。

达成交易:

3、网络将通过要求服务提供者对其服务或数据传输生成正确的加密证明(时空证明与复制证明等)来确保数据交换或者服务的安全。

4、当交易完成后,网络将发送用户的付款并将订单从公共账本中移除。

 

·The Filecoin protocol is a Decentralized Storage Network construction built on a blockchain and with a native token. DSNs aggregte storage ordered by multiple independent storage providers and self-coordinate to provide data storage and data retrieval to clients.

·Filecoin是基于区块链构建的一个去中心化的储存网络,并附有原生的通证。分布式储存网络收集由不同个体提交的数据交易请求,同时撮合交易以向用户提供数据储存与检索服务。

·Filecoin is a protocol token whose blockchain uses a novel proof, called Proof-of-Spacetime, where blocks are created by miners that are storing data.

·Filecoin是该区块链的原生通证,此链以一种新颖的共识方式“时空证明”,令矿工在储存数据时挖掘区块。

·Provides a data storage and retrieval service via a network of independent storage providers that does not rely on a single coordinator, where: (1) clients pay to store and retrieve data, (2) Storage Miners earn tokens by offering storage (3) Retrieval Miners earn tokens by serving data.

·数据服务提供者(检索与下载)在网络中独立承担数据储存与检索服务,不依赖于任何组织或其他个体。其中:(1)用户为储存和检索数据支付费用;(2)储存矿工通过提供数据储存服务赚取通证;(3)检索矿工通过提供数据检索服务赚取通证。

·Uses Proof-of-Replication (PoRep), a novel Proof-of-Storage which allows a server (i.e. the prover P) to convince a user (i.e. the verifier V) that some data D has been replicated to its own uniquely dedicated physical storage, and Proof-of-Spacetime, where a verifier can check if a prover is storing her/his outsourced data for a range of time.

·通过复制证明,一种新颖的储存证明,令数据服务提供者说服用户相信数据已经被复制到了服务提供者独一无二物理储存设备上,而时空证明令用户可以检查服务提供者是否在一段时间内持续储存好某个数据。

·Filecoin mining power (amount of data stored per miner) is proportional to active storage

·Filecoin挖矿的能源消耗(每个矿工储存的数据量)与网络中的活跃数据(交换、检索、储存、下载的数据)成正比。

Filecoin Usability

Filecoin的用户可操作性

 

·Clients can select replication parameters to protect against different threat models.

·用户可以选择复制文件(即存储到矿工手里的文件)的相关参数,以保护文件免受可能的攻击风险。

·Clients can eventually retrieve data from miners

·用户可以从矿工处检索、取回完整的数据。

Potential Vulnerabilities

潜在攻击性

 

·Sybil Attacks: Malicious miners could pretend to store (and get paid for) more copies than the ones physically stored by creating multiple Sybil identities, but storing the data only once.

·女巫攻击恶意矿工可以假装从一份已储存的数据中,再复制多个备份并储存(且获得相应的额外报酬)并提供储存证明,但实际上其只储存了一份数据。

·Outsourcing Attacks: Malicious miners could commit to store more data than the amount they can physically store, relying on quickly fetching data from other storage providers.

·外包攻击:恶意矿工可以通过储存超额数据,高于其实际所能储存的数据量,来获得额外收益。为此恶意矿工通常需要从其他储存矿工处取用数据以生成储存证明。

·Generation Attacks: Malicious miners could claim to be storing a large amount of data which they are instead a ciently generating on-demand using a small program. If the program is smaller than the purportedly stored data, this inflates the malicious miner’s likelihood of winning a block reward in Filecoin, which is proportional to the miner’s storage currently in use.

·替代攻击:恶意矿工可以声称其储存了大量的数据,但数据并非原有数据,而是由其他程序生成的替代数据。如果程序和生成的数据小于原本应当储存的数据,那么恶意矿工赢得Filecoin区块奖励的可能性会增大,这个可能性与矿工最近储存的数据量成正比。

·Deals are time-boxed and become invalid — but malicious clients could DDOs specified miners and hold their storage up for (ts — now) periods of time indefinitely…

·(接受)交易具有时限,超过时限将视为失效。恶意矿工可以DDOS攻击指定的矿工以令其交易接受时间无限延长(即无法正常接受交易),以此来获得该矿工本应接受的订单。

·Given that clients will essentially need to strategize as to how many pieces they’re bidding to be assigned to m number of sectors AND that those pieces need to be encrypted — there seems a need for something to help manage bids and data encryption before transacting on such a network

·用户发起储存需求后,需要对储存文件应当分片为多少份制定相应计划并为每一部分指定编号,同时这些分片都需要单独加密——因此网络对交易发起和信息传输前的数据协助加密是有必要的(而Filecoin似乎没有做到这一点)

·Level of encryption and sharding of data is somewhat undescribed — seems like clients can opt to store their data in one place by just bidding for one piece (instead of breaking up their data into multiple pieces)

·白皮书对加密等级和数据分片的某些方面表达不清——客户端似乎可以选择在一个地方只储存一个分片(而不是把数据分片再复制多份储存)。

 

Leftover Inquiries

一些小疑问

 

·Is there any guarantee of zero storage faults given a certain amount of requested replicas?

·Filecoin通过设定一定数量的文件(分片)备份,能否避免零储存错误?

·Is the collateral necessary to become a storage miner the filecoin token as well? If so, how is it initially obtained given token sale limitations? Will investors that have filecoin naturally select to transact on the network?

·通过抵押Filecoin来成为储存矿工是否合理?如果是的话,在早期通证分发不全时,如何保证矿工能获得通证?拥有Filecoin的投资人会愿意自发的选择在Filecoin网络上传输通证么?

·How is the piece (data storage request) transacted, are there size limits to how big a piece can be? Isn’t it dangerous to put one piece on a sector (data storage miner space) at all — even if it’s encrypted?

·文件分片(储存请求发送时)是如何传输的?对于每个分片的大小有限制么?如果将一个分片只存储在储存矿工硬盘的一个扇区里,即使分片被加密,分片是否真的足够安全(有扇区损坏的风险)?

·When sectors are sealed (closed due to inadequate leftover space on the storage drive), where is the replica stored?

·当硬盘的扇区被锁定(由于磁盘剩余空间不足导致扇区关闭不予读写)时,分片的复制会被储存在哪?

·Are network assignments of pieces to sectors random?

·网络是随机分配分片储存到磁盘扇区中么?

·Are clients storing the hash of their data in another database, given that they might have billions of pieces given the size of each piece and assignment?

·考虑到用户上传文件的大小与分片数量可能数以亿计,用户是否可以选择将其(上传文件)的哈希值储存在其他的数据库中?

·What type of computational resource does being a Retrieval Miner entail?

·检索矿工使用哪种方式检索资源?

·Where is the off-chain orderbook held and can this be altered?

·离线账本(即储存在本地的文件目录与交易数据)储存在何处?可以更改(并被在线公共账本承认)么?

 

Potential Future State and Application Stack

Filecoin的未来

 

·Off chain settlements could incorporate the fee-less structure/support of IOTA tangle at scale

·(Filecoin作为)链下方案,可以具有减少交易手续费和提高IOTA缠结可扩展性两大功能。

·Potential to create smart contract based APIs that work within the specified Filecoin put framework (querying encrypted data even)

·具有基于Filecoin框架的API构建智能合约的潜力(甚至可以调用查询已加密数据)。

·Potential of Filecoin blockchain being the decentralized off chain storage of other blockchains like bitcoin

·Filecoin区块链具有作为其他链上项目(比如比特币)拓展链下储存的潜力。

·Could even call smart contracts in storage and execute on another blockchain like ethereum to avoid gas fees…

·未来甚至可以从储存的文件中直接调用智能合约并在其他区块链项目(如以太坊)上运行以避免(链上合约运行的)手续费。

参考文献:

Simplifying the Filecoin Whitepaper.  Robert Greenfield IV.  Medium

【原创】什么是IPFS(练手用)

引言:

号称可以替代HTTP协议的IPFS技术究竟几何?本文尽量以简单通俗的语言进行描述(练手用)

一、IPFS定义

IPFS全称InterPlanetary File System(星际文件系统),是由Protocol Lab(协议实验室)开发的一项基于P2P网络的,旨在解决传统HTTP协议导致的网络集中化与数据不稳定问题的新型网络协议。

想要知道IPFS的优势,首先我们要了解HTTP协议存在哪些劣势:

二、HTTP的短处

NeXTCube PC

距离世界上第一台HTTP协议的服务器NeXT开机运行已有数十年,如今这台服务器静静躺在博物馆中,主机上的一张纸条格外醒目——不要关机!诚如纸条所言,HTTP协议中的服务器不能”关机“,关机即意味着其他电脑无法访问此服务器上的数据,也意味着未保存数据的丢失,表现在用户端上,即是大家常见的”404Not Found“。简单来说,HTTP协议存在着一下3问题:

 1. HTTP高度中心化,使用成本高。想要通过HTTP协议下载文件,用户必须向中心化的服务器发送请求。简单的例子便是,用户在成都点开某视频网站观看视频,由于网站只有一个服务器,同一时间观看人数过多,导致视频观看卡顿,哪怕网站服务器就在家门口。如果想解决卡顿,传统的方法是花钱架设更多更好的服务器,这无疑是巨大的成本。

2. HTTP中的文件经常被删除。不论是出于审查需要,还是出于储存成本,基于HTTP协议构建的服务器几乎无法永久储存文件,十年前的网页,多数已经无法打开,即使打开其中的图片也无法加载,其原因便是网站服务器出于经济压力或者行政压力删除文件。

3. 基于HTTP的互联网高度依赖根服务器。现在全球共有13台IPv4根服务器,9个在美国,2个在欧洲,1个在日本,根服务器管理着全球互联网的域名与地址。一方面,根服务器可以通过限制访问与拒绝服务令某些网页或某些用户无法使用互联网;另一方面,根服务器被攻击也意味着互联网的剧烈波动,甚至导致全球互联网无法正常工作。根服务器实际上代表着以”自由“为代表的互联网走向了”集中“。

上述3个问题令HTTP协议及构建在协议之上的互联网存在巨大的隐患,虽然出于经济与政治的平衡,整个互联网仍然安然无恙的运行中,但一旦平衡被打破,互联网也将脆弱不堪,如伊朗曾因攻击导致全国断网,令国内动荡的加剧。以一种新型的协议改进或取代HTTP刻不容缓。在这种背景下,IPFS诞生了。

想要知道IPFS的优势,首先要明白IPFS是如何工作的。

三、IPFS的工作原理与优势IPFS分片

IPFS储存原理示意图,新文件与已有文件只有Hash7的结果不同,故新文件只储存Hash7部分

1、每一份储存在IPFS上的文件都将被分片,如果分片中的文件与网络中已有文件的哈希值相同,那么该部分将不再上传;分片的文件将以数个备份储存在整个IPFS网络中,防止单一分片因网络原因无法下载。最终,用户下载的文件也是通过下载各个分片完成下载。.

2、IPFS为每一份储存在其网络上的文件和分片赋予一个独立的、不重复的哈希值(哈希值的含义将在以后的文章详细讲述),通过此哈希值,在整个网络内寻找此文件,不同于HTTP是基于网络域名来寻找文件,这种方式避免了服务器关闭导致的文件下载失败情况。

3、 储存的文件若发生更改,每一次变更的历史纪录都将保存以便回溯;同时储存的哈希值可以通过域名系统IPNS映射为域名方便查询。

4、如需下载文件,首先找到这个文件所属的哈希表,根据表上的各个分片哈希进行下载,最后组合即可完成。

通过上述4个方式,IPFS完成了文件的储存、查询、下载,可以同传统HTTP协议一般进行服务器的假设与运行,而基于IPFS的互联网,将能通过以下途径解决传统HTTP的缺点:

IPFS的优势

 1、下载速度快,不依赖于主干服务器与中心化网络。由于下载文件是基于分片的哈希值同时下载多个分片,故下载速度同P2P下载(如迅雷)一般迅速;而基于文件寻址也令下载不经过某个中心服务器,可以从物理距离与网络距离最近的节点下载,大大减少延迟。

2、储存空间价廉丰富。一方面,IPFS网络利用Filecoin激励层促使矿工们租赁自己的硬盘与带宽,利用人性的逐利行为,促使矿工不断发掘更低成本的挖矿方式;另一方面,通过文件分片的哈希值剔除冗余文件,相比传统云储存项目,大大优化了网络的储存能力。以上两点共同降低了用户使用与储存成本。

3、安全。当中心化的网络节点受到大量访问请求时极易宕机(即ddos攻击),而提高抗DDOS攻击能力需要花费大量的成本。在IPFS网络中,由于所有节点都是平等的,资源储存在多个节点中,即使数个节点宕机其余节点仍能负担起整个网络的需求。

 4、隐私而开放。隐私上,IPFS基于P2P网络构建,数据交流不经过中心化机构监管,文件储存以哈希和用户私钥加密,有效避免了文件因监管或利益因素而被第三方删除。而开放的分布式网络,文件的交换记录可以被查询,IPFS的复制证明甚至可以知道上传的文件是否被他人所复制,同时激励层Filecoin也使用户上传的文件可以用以交换,促进资源流动。

IPFS网络,不同于其他已有的云储存项目亚马逊云、storj、maidsafe等,IPFS是一个底层架构,同IPNS(域名系统),IPLD(寻址系统),Filecoin(激励层),以及libp2p与Multiformats等,共同构建了一幅对等是网络的蓝图。基于此蓝图,我们可以构建个人的隐私云盘而不用担心封禁;制作不会404的网页;用作虚拟机的根文件系统;构建加密通讯平台……IPFS能做到这些,是因为传统计算机的系统由三个方面组成:“输出”、“处理”、“储存”,而IPFS从储存角度入手,改变现有的中心化储存格局,提升整体效率。

四、IPFS的未来担忧

然而,我们从辩证法中会学到,所有的事物不会是一成不变的美好,IPFS同理。我们会经常接触到IPFS优良的一面,但我们也要了解到IPFS的局限性,以及它未来的不可控性。

1、来自中心化机构的压力。IPFS系统杜绝了中心化结构的审查与监管,将权力下放到各个节点,这样的情景在近代有类似的情形——不论是法国大革命还是十月革命,本质都是将上层权力下放,解放底层人民的生产力。然而,改革的阻力也是非常巨大的,没人愿意放弃自己手里的蛋糕,因此IPFS在发展过程中一定会遭遇中心化机构施加的压力,甚至会有直接的对抗。另外,我们无法肯定IPFS所处的时代是欧文新和谐公社的空想社会主义阶段,还是列宁十月革命阶段,只能让时间来证明一切。

2、节点质量的参差不齐。所有P2P网络都需要面对一个问题:如何在节点作恶或失效情况下维持运转,即我们常说的拜占庭将军问题。中心化机构中因中心有绝对权力可以进行调度以解决此问题,而IPFS网络中为了缓解此问题提出了时空证明、复制证明,并以节点失信即罚没押金行为进行处罚。然而网络早期不乏有节点使用家用硬盘而非企业硬盘进行储存,极易导致数据丢失,一方面影响网络稳定性,一方面降低用户使用体验。并且经济惩罚在面对某些力量(如自然、行政)时不一定具备优势。如何平衡节点与用户间的天平,IPFS还有一段路要走。

3、网络中心化问题。同比特币的发展一般,效率与公平始终是此消彼长之势。矿工们为了挖矿的效率,最终一定会自发联合形成联盟甚至合并为几个节点;用户与开发者为了网络稳定性与隐私性,更希望网络维持一定的去中心化程度。这一论点同样适用于IPFS网络,比特币尚有core开发者与比特大陆矿霸以及数个小矿工联盟和开发者联盟及用户的竞争,IPFS网络能否发展出类似比特币的群雄割据局面,甚或优于比特币形成更公平的去中心化结构,我们无从得知。储存文件的中心化会重蹈HTTP的覆辙,我们只能希望IPFS作为HTTP的颠覆者,不会成为第二个HTTP。

五、总结

IPFS协议令网络的自由与独立精神再次辉耀,在可见的未来,IPFS与HTTP共存并非空想,至于前者能否取代后者,我们无法定夺。但我相信IPFS的潜力,去中心化已成世界的趋势,未来已经来临,只是尚未流行。

参考文献:

  • IPFS——它能取代HTTP协议? 苏江同学 简书 https://www.jianshu.com/p/ddccae89a49a
  • 什么是IPFS? 飞向未来 微信公众号:IPFS指南(ipfs_guide)
  • 什么是IPFS?为什么说它将取代HTTP?张灏楠 微信公众号:IPFSFAN(ipfsfan)
  • IPFS – Content Addressed, Versioned, P2P File System (DRAFT 3),  Juan Benet, https://github.com/ipfs/papers/raw/master/ipfs-cap2pfs/ipfs-p2p-file-system.pdf