IPFS和Filecoin:共生的“爱情”故事# G( Y7 {- b0 K1 a" A7 M
IPFS指南
: U* J5 O1 E# O- J8 h1 e# d得得号
1 W1 o4 E0 x* q: _# U8 U2018年10月26日阅读数:3.6k关注
! e% m6 `9 m" d1 q1 mIPFS和Filecoin其实原本是没有关系,直到有一天他们走到一起,发现生活变得更加美好了,于是他们决定一起飞向未来!
( n. \( H) s7 f% U
+ }, V; t0 D+ j, x; }IPFS:做我女朋友吧?
9 l( ^# H; K" W7 R3 j
% o$ @- l t$ t7 D# d6 G& YFilecoin:好!
. w3 _/ ~/ D8 \1 [
. }9 Q, Q, e# b# P- f ……3 T9 p5 i# a. ?3 R& u6 H7 W: J: Z0 ~
6 u) P: v' n3 J2 }' g5 Y9 V
故事就这么开始了,很平淡,但却很真实。IPFS和Filecoin其实原本是没有关系的,直到有一天他们走到一起,发现生活变得更加美好了,于是他们决定一起飞向未来!
& j* w. ? `, H, L! M; ]. {: u
' X7 \" h8 R! U) B2 H/ A为什么写这篇文章,其实因为好多人并不清楚,到底IPFS和Filecoin之间的关系是什么?为什么会有IPFS和Filecoin?本文来解答这个问题。
" l; W( |5 r3 T5 R8 n1 W7 F2 H' Y( B
: s+ {- Y& m8 d/ h现在他们成为了共生关系,离开一方另外一方发展就会变的困难。/ t7 k/ i ^* C6 b# j/ p) M1 k: J; n
' v& x; z9 p/ R Z+ A" zIPFS是一个协议也是一个p2p网络,它类似现在的bt网络,只是拥有更强大的功能,使得IPFS可以拥有了取代http的能力,为我们建造更好的web。
2 ~% k$ a# \# l# Z% Z
& c" Z; {! m/ h+ h; A/ {/ e( vFilecoin是一个分布式存储网络,把云存储变为一个算法市场,代币和区块链在这里面起到很重要的作用。现在已经在运行的Storj、sia,玩客云等等都是这种类型的网络,如果没有IPFS,Filecoin就是跟这些项目没有太大区别。* u1 ^1 N" ~- T# U6 K1 c
& f, L: C2 h/ Y* U, w9 Z3 F$ a把IPFS和Filecoin放在一起,事情变得奇妙起来:Filecoin是运行在IPFS上面的一个激励层。IPFS有巨大存储需求和节点需求,我们都知道p2p网络节点越多下载越快,如果没有激励机制,谁愿意贡献如此多的节点和存储呢,于是Filecoin来了。Filecoin可以为IPFS贡献很多很多节点,同时Filecoin带着一个巨大的分布式存储空间,同时解决了IPFS的存储问题。于是IPFS跟http对比拥有了更强的优势。
; C! ?9 Y' E+ | r0 p
7 G" l0 G; p0 q7 eFilecoin代币的作用:Filecoin协议的代币也叫Filecoin ( 说Filecoin的时候可能说的Filecoin网络, 也可能说的是 Filecoin代币 ) ,符号FIL,代币是沟通资源使用者(用户)和资源提供者(矿工)的中介桥梁,Filecoin协议拥有两个交易市场,数据检索和数据存储,双方在市场里面提交自己的需求,达成交易。Filecoin和IPFS相互促进,共创未来,真是一对好情侣!' u" G2 _5 k6 m% R7 r
4 c0 h" ~/ B0 v! F9 E- m
IPFS协议
, b9 U, O- i2 A! }' pIPFS协议对标的是http协议,http是一个传输协议, 解决的是网络传输问题。http协议我们很熟悉了,用了这么多年了,http协议是一个伟大发明,没有http协议就没有互联网,随着互联网的发展http协议逐渐暴露出来了很多问题,技术永远是在进步的5 L+ {$ l+ z( k4 e& t; `$ w
$ s4 p" n1 j9 [HTTP的不足之处:1 }# o4 r) m4 B. {) {
5 P, V" L5 V* E3 [0 ?" \- i7 y
效率低,使用成本高,带宽资源浪费严重
1 c$ c. N g8 {+ x- ?数据丢失,页面平均生命周期只有100天+ B! y3 a' K# V
中心化的网络限制了很多发展机会2 P# S( x9 A- ~* V: D
对主干网的严重依赖, 经常造成服务中断
; U0 a. E @/ y& c- g( r {$ @IPFS也是一个数据数据传输协议, 相比于http有如下优点:
. Y$ Y4 d0 @* r/ j6 l
, P8 U7 H# R# X/ Y) @" Y+ MP2P下载, 节省高达60%的带宽, 使用成本低廉
6 M( k' Q2 E0 E0 r; H3 J永久web, 不在删除数据
: j1 B( A; Q. ^. d# m( S/ K3 U* F; W分布式的网络, 给互联网带来生机) ~" Q3 X# m' u, S2 \, Y
不再依赖主干网, 降低因不可抗力造成的服务中断问题
4 F, t, w* R$ r. D) U( b; S9 H1 {0 vIPFS是一个协议也是一个网络。实实在在的网络,已经运行了2年半了。就像btc网络一样,IPFS协议也没有发明什么,大多数工作是在前人已有的基础进行的,IPFS集成了如下已有的系统:
# g9 |' o0 }- c2 v, l( ^& B+ b" ]6 k( u
DHT(distributed hash tables):分布式哈希表4 P& d$ ?& n- L
Git:版本管理工具
7 h/ @/ F6 X. ZBitTorrent:数据交换协议
( `; X5 m" ^2 s1 Z" ?3 T% Z0 ?" nSFS(self-certified filesystems):自认证文件系统
3 b1 @3 }. P9 h5 IIPFS协议是如何设计的,都包含什么:
7 t5 X* O/ f# \) i
8 ?5 ~7 {% x- p/ V P1 节点身份* e) s, e. S9 T7 H2 L* }
+ H. \9 f7 z# ^$ n, \ E每一个IPFS节点都有一个独一无二的身份id,利用节点的公钥生成的加密哈希,节点的活动都需要使用这个id,就像是IPFS网络里面节点的身份证。7 F% H7 a- _- E: n
- V) Q+ p) ?7 V, Q7 \& a' N3 Z7 s2 网络0 ?! B- _% @: e9 a
% }2 k( f& V; s( s# O X" v% @IPFS节点要和网络里面成百上千的其它节点通讯,现实中的网络结构如此复杂,IPFS使用 ICE NAT穿透技术来保障网络的连通性。% ^$ O4 x T, N% p* Y- `
* r- k; y! s9 L' R J3 路由* G; K6 Z! v( D+ ~9 Q
# a' ^/ _& b4 Y" X$ {0 _3 @3 [IPFS网络的路由使用的是DHT,借鉴了S/Kademlia,使得一个节点可以快速的查找到其它节点。
( F7 {0 J! K7 ^, q3 q( t: W$ f
4 数据交换协议
9 D0 R& _8 m% ~& h) D8 ^7 I- y1 o3 `1 S- y# X3 e W8 H
IPFS借鉴BitTorrent协议,使用了叫做BitSwap的数据交换协议,该协议使用两个列表,想要的数据块(want_list)和我有的数据块(have_list)与其它节点进行数据交换。
* @' i' e; F( r0 y" c Y2 K4 r. Z# g- j" c4 s. d9 p
5 对象存储* w( l! n7 h- R& Y
( l; z& X; e% n2 u& I6 m* CIPFS存储数据使用的是 Merkle DAG结构,这赋予了IPFS内容寻址,防篡改,去重功能。) r8 `/ e9 b2 z; R
; e% i' N, H0 N6 _" f" _
6 版本控制系统7 \4 o. U4 }3 b1 }
& I, i4 Q7 a9 R+ } \- F IPFS在 Merkle DAG上面添加了Git版本控制功能,这使得IPFS文件拥有了时光机功能,可以轻松查看文件的变动历史,是不是很酷2 y8 s6 b8 N" t# ] \% a
) \; C4 G4 s, {: x w# f7 自认证命名系统" B% e. N" j/ Z/ q- U/ P: w, i
. M1 W' {8 W# j; N: x" C IPFS使用了SFS自认证系统给文件命名,同时提供了ipns解决传播问题,而且还兼容了现有的域名系统。 5 i$ Z+ h" _3 O/ |4 a2 s
/ ?* y. e# R% z. r% U# R
这就是我们的IPFS,一颗冉冉升起的新星 |