IPFS和Filecoin:共生的“爱情”故事
3 C: q) d0 V6 r: ]& uIPFS指南 % O% D" i4 v S+ c# a$ @$ o( o2 R
得得号
( p' A- K2 Y Q; k6 z V2018年10月26日阅读数:3.6k关注
4 |' f+ l6 i) v, @! W3 uIPFS和Filecoin其实原本是没有关系,直到有一天他们走到一起,发现生活变得更加美好了,于是他们决定一起飞向未来!6 _% T V: C; O5 V5 @
0 g( } E1 [ s7 z/ y: PIPFS:做我女朋友吧?, n6 B9 z3 F. |# {8 L
+ H( m# `# `2 G& n
Filecoin:好!( P4 e) [% j$ n1 l5 E$ ?
0 b4 |% f" r8 X p7 J R' ]- N' M
……
. z6 C# c8 j J" W. b2 H! |' s/ {
1 f* F( J" I K# W5 T故事就这么开始了,很平淡,但却很真实。IPFS和Filecoin其实原本是没有关系的,直到有一天他们走到一起,发现生活变得更加美好了,于是他们决定一起飞向未来!
5 Q* y) K6 d5 G/ I( m! {
$ n* `3 Y% [& Z7 ?为什么写这篇文章,其实因为好多人并不清楚,到底IPFS和Filecoin之间的关系是什么?为什么会有IPFS和Filecoin?本文来解答这个问题。
* j Z* N4 g3 `' r# n4 [6 T
3 q7 t5 r3 v$ c' X现在他们成为了共生关系,离开一方另外一方发展就会变的困难。$ h+ f" z, Z. V/ O5 C2 e! y# _
5 p J/ C2 x4 l6 T8 R
IPFS是一个协议也是一个p2p网络,它类似现在的bt网络,只是拥有更强大的功能,使得IPFS可以拥有了取代http的能力,为我们建造更好的web。. M9 U+ R5 O) r2 O( k: Q
. K; R" ~! u. \ P8 \
Filecoin是一个分布式存储网络,把云存储变为一个算法市场,代币和区块链在这里面起到很重要的作用。现在已经在运行的Storj、sia,玩客云等等都是这种类型的网络,如果没有IPFS,Filecoin就是跟这些项目没有太大区别。
* e0 S9 k2 e, @7 \( V) y0 q9 t& g* ]* ?4 O# r
把IPFS和Filecoin放在一起,事情变得奇妙起来:Filecoin是运行在IPFS上面的一个激励层。IPFS有巨大存储需求和节点需求,我们都知道p2p网络节点越多下载越快,如果没有激励机制,谁愿意贡献如此多的节点和存储呢,于是Filecoin来了。Filecoin可以为IPFS贡献很多很多节点,同时Filecoin带着一个巨大的分布式存储空间,同时解决了IPFS的存储问题。于是IPFS跟http对比拥有了更强的优势。& [1 A# T' h% ]' ` |- V, W
# C [* }" S d& @ G0 _
Filecoin代币的作用:Filecoin协议的代币也叫Filecoin ( 说Filecoin的时候可能说的Filecoin网络, 也可能说的是 Filecoin代币 ) ,符号FIL,代币是沟通资源使用者(用户)和资源提供者(矿工)的中介桥梁,Filecoin协议拥有两个交易市场,数据检索和数据存储,双方在市场里面提交自己的需求,达成交易。Filecoin和IPFS相互促进,共创未来,真是一对好情侣!
; u- ~. R. w& B+ N- t0 u
0 \9 p0 o# r4 n/ d1 p" {3 A8 f* eIPFS协议# n" t# C: [* o4 T
IPFS协议对标的是http协议,http是一个传输协议, 解决的是网络传输问题。http协议我们很熟悉了,用了这么多年了,http协议是一个伟大发明,没有http协议就没有互联网,随着互联网的发展http协议逐渐暴露出来了很多问题,技术永远是在进步的
+ q1 D# a5 }1 s
D4 h* @% K2 J9 Z% J: R0 x& OHTTP的不足之处:
& ]7 E* K% T: k; p. V" r ~5 W: A2 W
1 D! y( H; m0 P9 m4 Q; U7 L& {效率低,使用成本高,带宽资源浪费严重! T( m8 _' Z% g, k
数据丢失,页面平均生命周期只有100天
! B* X# U% B5 V( v. F: _5 M中心化的网络限制了很多发展机会& `& Q E5 }' _3 Q: K5 I- i
对主干网的严重依赖, 经常造成服务中断
5 @$ H9 E" q) r! yIPFS也是一个数据数据传输协议, 相比于http有如下优点:% M3 v' Q7 R" F& o9 D
! ^* \* N( {/ S @3 ~
P2P下载, 节省高达60%的带宽, 使用成本低廉
- o- g" r8 a: m& x永久web, 不在删除数据2 O- f, ?) s% G% I$ Y' }3 M
分布式的网络, 给互联网带来生机
( y) Q4 d0 T7 s/ U d& e: S不再依赖主干网, 降低因不可抗力造成的服务中断问题, Z) ^6 b/ o4 D; W+ Y
IPFS是一个协议也是一个网络。实实在在的网络,已经运行了2年半了。就像btc网络一样,IPFS协议也没有发明什么,大多数工作是在前人已有的基础进行的,IPFS集成了如下已有的系统:% ? I+ ~# E# m, W% c: d
$ C* P) ~% Q: Y; v' D3 e
DHT(distributed hash tables):分布式哈希表+ m, I/ {) S" N2 n
Git:版本管理工具
: s- x% c. P, |9 PBitTorrent:数据交换协议- V5 S& H6 o! I; s( d9 `( N
SFS(self-certified filesystems):自认证文件系统
4 T& O- f+ a0 X$ b- LIPFS协议是如何设计的,都包含什么:
0 u( o4 V) e; W; L' j; H2 H ^* q5 O/ U; W& g4 U6 z/ Z/ [
1 节点身份6 W8 _$ d2 d7 v* Q* B
6 K1 O8 | p) o/ j& M每一个IPFS节点都有一个独一无二的身份id,利用节点的公钥生成的加密哈希,节点的活动都需要使用这个id,就像是IPFS网络里面节点的身份证。7 U1 |. O* `+ e8 q. [
- V& S6 l4 C9 U7 G
2 网络) O) L8 w. f& e4 y) l
/ S- Y% R0 J" b4 U& N7 s) A9 P" r
IPFS节点要和网络里面成百上千的其它节点通讯,现实中的网络结构如此复杂,IPFS使用 ICE NAT穿透技术来保障网络的连通性。, O! h& n& w0 h, w# G2 ]4 Y( j" U
* @9 ]/ J# B' c/ l, a, {1 e
3 路由' B( {: w0 }, e
; K- v2 u* e) N; m7 e, Y; `& p; N
IPFS网络的路由使用的是DHT,借鉴了S/Kademlia,使得一个节点可以快速的查找到其它节点。
- @+ E) R( x* q
3 G7 r$ H; [; O/ x4 数据交换协议- l; r9 r6 p e5 s/ ?6 Q
. f9 x8 |* i( V5 E1 l# U( {IPFS借鉴BitTorrent协议,使用了叫做BitSwap的数据交换协议,该协议使用两个列表,想要的数据块(want_list)和我有的数据块(have_list)与其它节点进行数据交换。" n9 ?. z( k- A0 ?# ^
. J" }- v' h- f, K, T* t0 K5 对象存储
" V; p8 O. p- r- k3 C" }8 }# l- o# K' I, y
IPFS存储数据使用的是 Merkle DAG结构,这赋予了IPFS内容寻址,防篡改,去重功能。
: e5 q; x9 ]& [: _8 d' X/ a/ ]/ }6 Z, p1 N& k9 }& U
6 版本控制系统4 k3 W' l W# H5 {5 x
0 m5 S5 s/ {* [! S6 T t
IPFS在 Merkle DAG上面添加了Git版本控制功能,这使得IPFS文件拥有了时光机功能,可以轻松查看文件的变动历史,是不是很酷- N$ y) ~7 ]8 H n3 ^
% z& _7 l A _
7 自认证命名系统/ q j! h( X7 d+ ^
. P, j1 V/ O. n, W5 L4 O
IPFS使用了SFS自认证系统给文件命名,同时提供了ipns解决传播问题,而且还兼容了现有的域名系统。
5 V4 ? H. z& H% C* P. r2 A+ a9 p) ~% m8 h# |! X# z
这就是我们的IPFS,一颗冉冉升起的新星 |