IPFS和Filecoin:共生的“爱情”故事
8 z( S9 J, J6 A/ A* O* C3 zIPFS指南
1 w; a- c+ U+ |8 ^: n* j: x得得号
& D) ^4 d8 K. ^- G. K" w+ p2018年10月26日阅读数:3.6k关注
0 h9 A1 v: M- \1 vIPFS和Filecoin其实原本是没有关系,直到有一天他们走到一起,发现生活变得更加美好了,于是他们决定一起飞向未来!
4 z7 V# n, m, D. h5 k, b, e" y4 _2 L
8 H/ Y! p; {$ O$ L' g5 Q. vIPFS:做我女朋友吧?
9 g; \( S& a! J
& x/ b% l; X' h$ x+ mFilecoin:好!
# T- z" X5 d" Z2 B* x: g1 c% X9 @ n# V+ L
……; O1 W% E6 h, @1 W& \4 w9 x
; ?2 J/ @ n& N; L+ P故事就这么开始了,很平淡,但却很真实。IPFS和Filecoin其实原本是没有关系的,直到有一天他们走到一起,发现生活变得更加美好了,于是他们决定一起飞向未来!( O# t! l. t- L3 G
6 x1 F& p6 b1 F& S7 T% R: q为什么写这篇文章,其实因为好多人并不清楚,到底IPFS和Filecoin之间的关系是什么?为什么会有IPFS和Filecoin?本文来解答这个问题。) w5 |4 S _% q% I
- P2 _: ], H/ L( a, Z% p+ e: W
现在他们成为了共生关系,离开一方另外一方发展就会变的困难。
7 F' c- }9 W1 N# A! f% v$ Q/ i' C3 ]) |! i( i
IPFS是一个协议也是一个p2p网络,它类似现在的bt网络,只是拥有更强大的功能,使得IPFS可以拥有了取代http的能力,为我们建造更好的web。
5 r7 |) Q5 [0 a4 J: I
1 V& |0 A8 ^$ S6 I( t* q ~7 ?Filecoin是一个分布式存储网络,把云存储变为一个算法市场,代币和区块链在这里面起到很重要的作用。现在已经在运行的Storj、sia,玩客云等等都是这种类型的网络,如果没有IPFS,Filecoin就是跟这些项目没有太大区别。! A/ x- A8 L# C9 f: t& P
`4 m! R9 u" x/ Y' s把IPFS和Filecoin放在一起,事情变得奇妙起来:Filecoin是运行在IPFS上面的一个激励层。IPFS有巨大存储需求和节点需求,我们都知道p2p网络节点越多下载越快,如果没有激励机制,谁愿意贡献如此多的节点和存储呢,于是Filecoin来了。Filecoin可以为IPFS贡献很多很多节点,同时Filecoin带着一个巨大的分布式存储空间,同时解决了IPFS的存储问题。于是IPFS跟http对比拥有了更强的优势。
% j6 j, ]! n& N6 G+ r
8 m( W; F F% {4 L7 @( ?( UFilecoin代币的作用:Filecoin协议的代币也叫Filecoin ( 说Filecoin的时候可能说的Filecoin网络, 也可能说的是 Filecoin代币 ) ,符号FIL,代币是沟通资源使用者(用户)和资源提供者(矿工)的中介桥梁,Filecoin协议拥有两个交易市场,数据检索和数据存储,双方在市场里面提交自己的需求,达成交易。Filecoin和IPFS相互促进,共创未来,真是一对好情侣!5 Z* ]% F S2 ?3 e: C: J C
) _6 l8 k. F) e$ qIPFS协议7 ?' H+ Q. ]! h y7 b2 I
IPFS协议对标的是http协议,http是一个传输协议, 解决的是网络传输问题。http协议我们很熟悉了,用了这么多年了,http协议是一个伟大发明,没有http协议就没有互联网,随着互联网的发展http协议逐渐暴露出来了很多问题,技术永远是在进步的
8 C+ ?# i3 V; D' E0 }# N! F
8 m1 V) d4 Q* L, Y, rHTTP的不足之处:
3 c3 r0 @& b4 u7 e: P" M3 h8 k3 Y; v+ ?, a1 M5 U* \9 ~
效率低,使用成本高,带宽资源浪费严重
5 S3 B+ F2 \: k x6 q/ j数据丢失,页面平均生命周期只有100天
( C! y3 u# z, P中心化的网络限制了很多发展机会6 s; w: l5 Z' H0 F7 @
对主干网的严重依赖, 经常造成服务中断
6 n( g% w' T6 R5 IIPFS也是一个数据数据传输协议, 相比于http有如下优点:
8 L) x6 F, s. t. K: a* H, @$ K4 M0 Q: Z3 {
P2P下载, 节省高达60%的带宽, 使用成本低廉
" y" y3 N0 Z! A5 r3 N8 t0 A永久web, 不在删除数据
# z- a# d" d1 G3 y- q分布式的网络, 给互联网带来生机- X: G x" U: E; m. e: [ H
不再依赖主干网, 降低因不可抗力造成的服务中断问题
Y& V$ q* p4 z( W( H/ N7 o2 Z# KIPFS是一个协议也是一个网络。实实在在的网络,已经运行了2年半了。就像btc网络一样,IPFS协议也没有发明什么,大多数工作是在前人已有的基础进行的,IPFS集成了如下已有的系统:
' F, W3 ^5 l6 ~/ @6 v. k$ ~8 j& S; M9 j# _, S* g
DHT(distributed hash tables):分布式哈希表; l( r0 L- d5 Q. M
Git:版本管理工具
# X7 r% n, X* K7 w) lBitTorrent:数据交换协议' n; D* K, D3 N0 I
SFS(self-certified filesystems):自认证文件系统' S# \1 j3 T9 o
IPFS协议是如何设计的,都包含什么:
9 ]0 Y2 ?. t c' P2 w
) j3 R" T5 \0 H: n) b1 节点身份! P. _: I9 z2 y* J7 Q) d+ p
0 ]7 w! Y7 L! {7 q, @' A
每一个IPFS节点都有一个独一无二的身份id,利用节点的公钥生成的加密哈希,节点的活动都需要使用这个id,就像是IPFS网络里面节点的身份证。
9 z* m: x+ m, q$ \: W0 A B2 v
; i: K. _' w/ V2 T7 X9 ]- s- t8 M2 网络! ?: q$ B8 g9 ?9 Y, H9 k% E3 P$ \7 O
' _( N5 @5 D k2 t
IPFS节点要和网络里面成百上千的其它节点通讯,现实中的网络结构如此复杂,IPFS使用 ICE NAT穿透技术来保障网络的连通性。! v2 s$ q# }; C+ L9 a
2 U( [: H3 t$ N( t0 e0 d" \3 P: _3 路由
! s( n+ p, J! L4 U# P1 p( P/ |& A" S
IPFS网络的路由使用的是DHT,借鉴了S/Kademlia,使得一个节点可以快速的查找到其它节点。
8 i [, |4 e" V- `/ N2 S( w0 Q* _5 o8 [' c- ~1 b& \7 T
4 数据交换协议
- K7 A$ j+ Q* |8 `
7 T$ r# H% ?$ g B' D8 f0 zIPFS借鉴BitTorrent协议,使用了叫做BitSwap的数据交换协议,该协议使用两个列表,想要的数据块(want_list)和我有的数据块(have_list)与其它节点进行数据交换。
w+ w: B( l3 S) T H$ @. D4 Q, K: x5 k0 z, a; J* i0 D( ]4 w
5 对象存储
1 E; t5 D+ d- @! C
& X; d) u6 E. k8 F2 ^0 ?: w. ZIPFS存储数据使用的是 Merkle DAG结构,这赋予了IPFS内容寻址,防篡改,去重功能。
4 t1 U9 ]* \ O E2 P4 p0 ^
7 s9 w3 x7 V$ z) N# p2 a6 版本控制系统
9 P" N9 e7 T/ [% ~' V8 a- O. K2 ?& |8 ]6 H
IPFS在 Merkle DAG上面添加了Git版本控制功能,这使得IPFS文件拥有了时光机功能,可以轻松查看文件的变动历史,是不是很酷( t$ K- Y. I) A' L* t1 V6 |
) {$ x5 B+ x) l. N
7 自认证命名系统
% @8 B+ y1 G6 X: t) w' g; O8 d
& M$ f9 w& |6 E3 R& L9 x2 K IPFS使用了SFS自认证系统给文件命名,同时提供了ipns解决传播问题,而且还兼容了现有的域名系统。 " T- w. }% r2 G
9 L, [4 I9 P0 x) z Z" c% H7 V
这就是我们的IPFS,一颗冉冉升起的新星 |