IPFS和Filecoin:共生的“爱情”故事* `' f9 b' e! N. B2 c6 e" E
IPFS指南 + b/ B* k9 E8 B. q+ N
得得号
& A+ c4 S2 Q0 S& f4 P; C2018年10月26日阅读数:3.6k关注+ ~5 m1 B3 H u$ E
IPFS和Filecoin其实原本是没有关系,直到有一天他们走到一起,发现生活变得更加美好了,于是他们决定一起飞向未来!) v j2 \6 \ u
" p' d/ n; S5 |2 i; K
IPFS:做我女朋友吧?$ C6 Q Q) e* {0 L; H! s) A3 L
" y2 @0 S, B7 c O9 s7 U4 ?* `
Filecoin:好!6 |( W: ] h8 v4 _" b
( S/ f- H( ?1 ?
……
) g$ Z7 ^. Z9 ]) l7 X% a5 P; M$ k% @+ R6 X
故事就这么开始了,很平淡,但却很真实。IPFS和Filecoin其实原本是没有关系的,直到有一天他们走到一起,发现生活变得更加美好了,于是他们决定一起飞向未来!; o- f& j' p8 X6 n. N& I r
, _$ N0 K2 j* E& u1 y L
为什么写这篇文章,其实因为好多人并不清楚,到底IPFS和Filecoin之间的关系是什么?为什么会有IPFS和Filecoin?本文来解答这个问题。
( C% z0 W! j E/ |) ~ Z% c) k9 K
% x8 j3 P9 K- M- @& q4 S: Y现在他们成为了共生关系,离开一方另外一方发展就会变的困难。) d4 T0 D. B* F
+ n- R6 F! b% e5 e$ N, {2 RIPFS是一个协议也是一个p2p网络,它类似现在的bt网络,只是拥有更强大的功能,使得IPFS可以拥有了取代http的能力,为我们建造更好的web。% B9 d" l) `9 k7 b0 P
3 j& v8 A7 m0 [9 b7 s9 i/ `9 uFilecoin是一个分布式存储网络,把云存储变为一个算法市场,代币和区块链在这里面起到很重要的作用。现在已经在运行的Storj、sia,玩客云等等都是这种类型的网络,如果没有IPFS,Filecoin就是跟这些项目没有太大区别。
* |- o; j9 b5 n2 W6 \. D& Y. |* c6 q, \0 L% @
把IPFS和Filecoin放在一起,事情变得奇妙起来:Filecoin是运行在IPFS上面的一个激励层。IPFS有巨大存储需求和节点需求,我们都知道p2p网络节点越多下载越快,如果没有激励机制,谁愿意贡献如此多的节点和存储呢,于是Filecoin来了。Filecoin可以为IPFS贡献很多很多节点,同时Filecoin带着一个巨大的分布式存储空间,同时解决了IPFS的存储问题。于是IPFS跟http对比拥有了更强的优势。 R# H% F3 v" `$ z! t* D
; d5 a5 K" b E) y* s- t; [Filecoin代币的作用:Filecoin协议的代币也叫Filecoin ( 说Filecoin的时候可能说的Filecoin网络, 也可能说的是 Filecoin代币 ) ,符号FIL,代币是沟通资源使用者(用户)和资源提供者(矿工)的中介桥梁,Filecoin协议拥有两个交易市场,数据检索和数据存储,双方在市场里面提交自己的需求,达成交易。Filecoin和IPFS相互促进,共创未来,真是一对好情侣!
3 v$ L9 x0 Y- F6 h9 ]: A- |% X: B- z8 d2 U. _- r6 R5 H9 u0 y! C
IPFS协议( q; H- m6 V. Y
IPFS协议对标的是http协议,http是一个传输协议, 解决的是网络传输问题。http协议我们很熟悉了,用了这么多年了,http协议是一个伟大发明,没有http协议就没有互联网,随着互联网的发展http协议逐渐暴露出来了很多问题,技术永远是在进步的% {9 b0 u. z' ]* ^
- u* l* n. |& t# w* s5 uHTTP的不足之处:
3 p9 V* h* e, Z, J/ H. D# p) U$ x2 q: d; v, [1 k
效率低,使用成本高,带宽资源浪费严重
6 s: k: F1 b& n2 [ O5 N: k数据丢失,页面平均生命周期只有100天
8 I3 A; w4 U. `5 T+ Z1 y中心化的网络限制了很多发展机会
+ q* X/ [3 z5 a$ K% B对主干网的严重依赖, 经常造成服务中断 5 o" U1 d7 {* @, I2 j/ N
IPFS也是一个数据数据传输协议, 相比于http有如下优点:
) v: M3 A6 B5 J0 V% K2 m9 d5 o3 U0 x
P2P下载, 节省高达60%的带宽, 使用成本低廉! k& T6 P3 K* S/ r" n
永久web, 不在删除数据0 f+ I: G6 M( j" Z* K9 U; H* j. W
分布式的网络, 给互联网带来生机9 i' S; ~; u7 v
不再依赖主干网, 降低因不可抗力造成的服务中断问题& f A1 G( {: {
IPFS是一个协议也是一个网络。实实在在的网络,已经运行了2年半了。就像btc网络一样,IPFS协议也没有发明什么,大多数工作是在前人已有的基础进行的,IPFS集成了如下已有的系统:
7 j3 ^9 r* k9 t8 q" o6 {0 ^/ o& q* c" U9 e, ^ k
DHT(distributed hash tables):分布式哈希表3 D6 l9 U4 v. W3 d
Git:版本管理工具
* n5 r% d: `; y* @0 G5 ]! SBitTorrent:数据交换协议
; D# c) W! E: j5 t- GSFS(self-certified filesystems):自认证文件系统. T4 Z8 N# S3 n& n3 {1 m7 F
IPFS协议是如何设计的,都包含什么:# j- x, E. p u! D }/ t1 u7 W. m
6 {* R* y1 l' o/ |2 \* B
1 节点身份0 `; J6 `* E |% i; u* `/ z: s
$ M7 R( q0 g& j7 \% Z" h ]0 e
每一个IPFS节点都有一个独一无二的身份id,利用节点的公钥生成的加密哈希,节点的活动都需要使用这个id,就像是IPFS网络里面节点的身份证。
6 q8 ~0 o. F- @6 O8 L: X2 j- E1 `) C7 \ j
2 网络
6 W& g( ]' M5 o
+ l( m9 B$ b% v6 T( {IPFS节点要和网络里面成百上千的其它节点通讯,现实中的网络结构如此复杂,IPFS使用 ICE NAT穿透技术来保障网络的连通性。; R: ?3 S( ?( o/ S% x- ]: O6 ~
, ?6 p! l2 R, [9 K' y8 V! _
3 路由. i5 F# J( b e( t8 d" s9 H0 `
; g$ x) a4 A1 ^( q F6 b* @
IPFS网络的路由使用的是DHT,借鉴了S/Kademlia,使得一个节点可以快速的查找到其它节点。
; a! N$ y# b% |; S* X* A5 W' O
9 @7 y! B9 K% `8 a9 I0 F6 y L0 M4 数据交换协议
3 ]% l e) P$ G! v8 f
2 N O: s' c: X6 z1 H0 ]: |! GIPFS借鉴BitTorrent协议,使用了叫做BitSwap的数据交换协议,该协议使用两个列表,想要的数据块(want_list)和我有的数据块(have_list)与其它节点进行数据交换。* s0 g5 M. f8 R6 ~! Y
! S, i, {9 }" c9 _/ r" f
5 对象存储
# G. `( h0 G: W4 q: R' x
4 q. k. |! L G9 aIPFS存储数据使用的是 Merkle DAG结构,这赋予了IPFS内容寻址,防篡改,去重功能。
7 k7 ]# q8 C8 j( ?! l
( |, |* S/ M; P+ T& x9 u8 f" @5 Q5 D6 版本控制系统2 I {' l) v. g* l
) u: _& [; u( a7 q+ Z8 g
IPFS在 Merkle DAG上面添加了Git版本控制功能,这使得IPFS文件拥有了时光机功能,可以轻松查看文件的变动历史,是不是很酷
) ]6 Y+ O% a ^8 ~# G2 X2 M( b% W2 ^3 X+ ~$ E# r5 O. }
7 自认证命名系统$ Q# Z3 Y( m9 o, C z
8 O+ T: D1 A5 c: V1 q- s/ a
IPFS使用了SFS自认证系统给文件命名,同时提供了ipns解决传播问题,而且还兼容了现有的域名系统。
; R( l9 Q' P& a2 d& W
# S8 V, x& i, h5 r3 F; ^这就是我们的IPFS,一颗冉冉升起的新星 |