IPFS和Filecoin:共生的“爱情”故事
! ^, W q3 ?7 i( jIPFS指南 4 k. w$ _ S- w6 [' w$ b9 }* R9 n( T6 ~9 o
得得号1 d% S2 C! y9 c: c/ V+ ~. t
2018年10月26日阅读数:3.6k关注$ |0 p/ R+ `: d/ M+ R5 I# ^4 M1 _
IPFS和Filecoin其实原本是没有关系,直到有一天他们走到一起,发现生活变得更加美好了,于是他们决定一起飞向未来!! u% v5 w; D* g4 r6 w) V
( _# E. ?/ a" _" O' l# j% Z& \IPFS:做我女朋友吧?
' Z3 u y( E' ^& v( [7 K- M6 d. p
5 w; q3 V2 R2 l7 B* _Filecoin:好!. R) |% t8 J: N; W9 C; s
% F! C' E6 T- {2 f ……: b% W8 x2 B, l$ u4 t- j# C
7 V. H- j0 m$ V' K故事就这么开始了,很平淡,但却很真实。IPFS和Filecoin其实原本是没有关系的,直到有一天他们走到一起,发现生活变得更加美好了,于是他们决定一起飞向未来!, N$ I( P u& Z2 K
5 ^9 Z( X B% Q6 H
为什么写这篇文章,其实因为好多人并不清楚,到底IPFS和Filecoin之间的关系是什么?为什么会有IPFS和Filecoin?本文来解答这个问题。
7 ~) r6 [ |$ Y" j: s! n; k7 C( h( \
现在他们成为了共生关系,离开一方另外一方发展就会变的困难。
. @: _: [+ n. n- ~( A# Y
) E' J5 W7 T; Y" q" T; W1 @. qIPFS是一个协议也是一个p2p网络,它类似现在的bt网络,只是拥有更强大的功能,使得IPFS可以拥有了取代http的能力,为我们建造更好的web。
! @# u+ w: W! C2 F" O( t4 O+ M2 r) W1 y" |1 B
Filecoin是一个分布式存储网络,把云存储变为一个算法市场,代币和区块链在这里面起到很重要的作用。现在已经在运行的Storj、sia,玩客云等等都是这种类型的网络,如果没有IPFS,Filecoin就是跟这些项目没有太大区别。; x$ r! C, S2 o/ m
; S0 h \9 E- x o3 s2 p& y4 j
把IPFS和Filecoin放在一起,事情变得奇妙起来:Filecoin是运行在IPFS上面的一个激励层。IPFS有巨大存储需求和节点需求,我们都知道p2p网络节点越多下载越快,如果没有激励机制,谁愿意贡献如此多的节点和存储呢,于是Filecoin来了。Filecoin可以为IPFS贡献很多很多节点,同时Filecoin带着一个巨大的分布式存储空间,同时解决了IPFS的存储问题。于是IPFS跟http对比拥有了更强的优势。- s3 x( @/ i) Q( i* d: ` Z
" l1 C a0 l' ?2 R" v5 I9 tFilecoin代币的作用:Filecoin协议的代币也叫Filecoin ( 说Filecoin的时候可能说的Filecoin网络, 也可能说的是 Filecoin代币 ) ,符号FIL,代币是沟通资源使用者(用户)和资源提供者(矿工)的中介桥梁,Filecoin协议拥有两个交易市场,数据检索和数据存储,双方在市场里面提交自己的需求,达成交易。Filecoin和IPFS相互促进,共创未来,真是一对好情侣!9 h$ s+ E7 g% E% ^4 D) b
1 i0 \. C% P$ K, x# q2 o
IPFS协议
0 H5 r8 `+ @* \IPFS协议对标的是http协议,http是一个传输协议, 解决的是网络传输问题。http协议我们很熟悉了,用了这么多年了,http协议是一个伟大发明,没有http协议就没有互联网,随着互联网的发展http协议逐渐暴露出来了很多问题,技术永远是在进步的
! R) Q5 l; }0 z2 y4 M1 l/ b% N' z) e8 Z* c; A2 v' m' p
HTTP的不足之处:- x! m* m. v: D* \* l
& R }) l% o* x+ G, \$ {
效率低,使用成本高,带宽资源浪费严重
4 D0 a, H" q/ \& n1 t数据丢失,页面平均生命周期只有100天
$ o: r: K' F0 |6 A/ B8 m# b中心化的网络限制了很多发展机会3 z# S! c2 O6 [0 M* W* Y' J
对主干网的严重依赖, 经常造成服务中断
) m3 I5 o9 i* t6 x1 p4 r9 uIPFS也是一个数据数据传输协议, 相比于http有如下优点:6 j" ~7 D3 d* a! P3 t# U
( Q! L" L" Q! L( |, C. D3 N$ Q K
P2P下载, 节省高达60%的带宽, 使用成本低廉
0 A0 @# L# A0 n) @永久web, 不在删除数据
: c! M8 U4 Q$ c分布式的网络, 给互联网带来生机
s. ~: D4 w3 [: O% `9 \不再依赖主干网, 降低因不可抗力造成的服务中断问题
9 z% Y$ m8 W1 g! tIPFS是一个协议也是一个网络。实实在在的网络,已经运行了2年半了。就像btc网络一样,IPFS协议也没有发明什么,大多数工作是在前人已有的基础进行的,IPFS集成了如下已有的系统:& p5 }/ }1 g$ u% g$ | a8 }
; f0 e3 ~! @0 c- ~
DHT(distributed hash tables):分布式哈希表6 m* T/ u( n' m0 X
Git:版本管理工具
6 x3 C+ Y. c* V( Y8 Y# f8 M& xBitTorrent:数据交换协议
' m9 U; V# E# y; E4 Y9 R' cSFS(self-certified filesystems):自认证文件系统" C8 \0 @5 [) s$ L- \
IPFS协议是如何设计的,都包含什么:
5 B0 Q* L. U9 D4 {& z" `+ _6 y; ~$ Z! N* }% }' p& n
1 节点身份( m* t B9 y# {8 s( g) \; z6 J
X' l6 q$ n4 j* m% e5 P* x' d
每一个IPFS节点都有一个独一无二的身份id,利用节点的公钥生成的加密哈希,节点的活动都需要使用这个id,就像是IPFS网络里面节点的身份证。
# U V# h# o9 V: T
' m' L- x; i+ W. B$ ^5 ^) d3 E2 网络
1 O* b/ p, |) t: E. N; X$ F& f+ f7 A) i' h8 {- L1 a6 ]
IPFS节点要和网络里面成百上千的其它节点通讯,现实中的网络结构如此复杂,IPFS使用 ICE NAT穿透技术来保障网络的连通性。4 y- J9 u* o7 W1 i
1 G4 Q6 K6 b; d4 e- d, H0 j! T3 路由! f+ L& x0 O% o* h% v
( x' B7 d1 r5 L P' _: g5 J4 SIPFS网络的路由使用的是DHT,借鉴了S/Kademlia,使得一个节点可以快速的查找到其它节点。
% ^) \& |. ^: y4 f( \8 `
& n+ ^5 |% A; |4 数据交换协议' e ]) {- `6 h0 G- a
1 J0 d( g: a0 }; JIPFS借鉴BitTorrent协议,使用了叫做BitSwap的数据交换协议,该协议使用两个列表,想要的数据块(want_list)和我有的数据块(have_list)与其它节点进行数据交换。) ?% ^' o( K- R: H
, W% i8 |. C; ~& c2 v' f
5 对象存储4 Q: A) c! [3 R5 O8 B; e
: y8 j' e1 i* aIPFS存储数据使用的是 Merkle DAG结构,这赋予了IPFS内容寻址,防篡改,去重功能。
+ Q0 K2 S* k" S: o. Z" n) N% X" r1 O
7 V1 Y9 K+ J# k* v" u6 版本控制系统
+ s$ \# K% ?0 d% u6 d$ L* U, K3 x9 S$ Q( ?
IPFS在 Merkle DAG上面添加了Git版本控制功能,这使得IPFS文件拥有了时光机功能,可以轻松查看文件的变动历史,是不是很酷
8 ?+ p' n: t3 n3 A
. b+ H ` b# B6 j) ~5 w7 自认证命名系统
$ L+ [; |$ A, i# S/ p1 C% J0 T6 c9 ^ |% k& [
IPFS使用了SFS自认证系统给文件命名,同时提供了ipns解决传播问题,而且还兼容了现有的域名系统。 / s* j. g4 U' `) W7 s
3 d) i* e& N Q0 |) {* f. o# x
这就是我们的IPFS,一颗冉冉升起的新星 |