IPFS和Filecoin:共生的“爱情”故事8 |2 e! r) K7 R
IPFS指南
e d" {' R3 V+ E, V* h/ _& ^2 ?得得号8 H! w- p. l; S' _
2018年10月26日阅读数:3.6k关注- |* u M$ B) f
IPFS和Filecoin其实原本是没有关系,直到有一天他们走到一起,发现生活变得更加美好了,于是他们决定一起飞向未来!
) l, Z0 U, l) H2 B4 N
/ @* m) S+ v6 ~4 R: h& i' t5 {7 SIPFS:做我女朋友吧?
+ R" n- ? E7 P7 M0 n5 v' f2 k2 N' g+ x' O
Filecoin:好!
: N: R0 C- O8 d: s& s
: ?* e' W1 B1 Z3 H& j ……, t9 p$ \* C. V" W4 s6 A$ k
8 O! P" `3 Q- ]% @故事就这么开始了,很平淡,但却很真实。IPFS和Filecoin其实原本是没有关系的,直到有一天他们走到一起,发现生活变得更加美好了,于是他们决定一起飞向未来!( V) K7 X+ q# w+ r& h5 _
7 t% B( N5 L$ ]2 `+ {, |3 Z为什么写这篇文章,其实因为好多人并不清楚,到底IPFS和Filecoin之间的关系是什么?为什么会有IPFS和Filecoin?本文来解答这个问题。
% d/ ?( p& r4 n7 o8 e: S- d/ i4 b% L/ k+ M7 Z
现在他们成为了共生关系,离开一方另外一方发展就会变的困难。0 k' |% P5 v. r
! F/ d2 Z" F: M" U. ?) Y% d/ u5 wIPFS是一个协议也是一个p2p网络,它类似现在的bt网络,只是拥有更强大的功能,使得IPFS可以拥有了取代http的能力,为我们建造更好的web。
: y, Z+ J5 y9 d. a8 N
1 x- n) c1 q; S1 [2 _" i- tFilecoin是一个分布式存储网络,把云存储变为一个算法市场,代币和区块链在这里面起到很重要的作用。现在已经在运行的Storj、sia,玩客云等等都是这种类型的网络,如果没有IPFS,Filecoin就是跟这些项目没有太大区别。
7 D) L& S4 E# [% c% I3 V( {8 G! a( C
把IPFS和Filecoin放在一起,事情变得奇妙起来:Filecoin是运行在IPFS上面的一个激励层。IPFS有巨大存储需求和节点需求,我们都知道p2p网络节点越多下载越快,如果没有激励机制,谁愿意贡献如此多的节点和存储呢,于是Filecoin来了。Filecoin可以为IPFS贡献很多很多节点,同时Filecoin带着一个巨大的分布式存储空间,同时解决了IPFS的存储问题。于是IPFS跟http对比拥有了更强的优势。% i( `0 M/ j# ~! R! y0 q
( D& p7 z0 Z3 {Filecoin代币的作用:Filecoin协议的代币也叫Filecoin ( 说Filecoin的时候可能说的Filecoin网络, 也可能说的是 Filecoin代币 ) ,符号FIL,代币是沟通资源使用者(用户)和资源提供者(矿工)的中介桥梁,Filecoin协议拥有两个交易市场,数据检索和数据存储,双方在市场里面提交自己的需求,达成交易。Filecoin和IPFS相互促进,共创未来,真是一对好情侣!
; v' S' [3 ^, V" a' M; A2 |! \$ h. j
IPFS协议
5 \3 h( D( h# E2 O# J& iIPFS协议对标的是http协议,http是一个传输协议, 解决的是网络传输问题。http协议我们很熟悉了,用了这么多年了,http协议是一个伟大发明,没有http协议就没有互联网,随着互联网的发展http协议逐渐暴露出来了很多问题,技术永远是在进步的( u! Z* H: u- ^- G/ r
4 s& @& Q5 l+ _: V
HTTP的不足之处:
9 T1 {( W5 n* T+ q C: p: v- ]. d% W; p
效率低,使用成本高,带宽资源浪费严重! U# a, X% n) Q# u
数据丢失,页面平均生命周期只有100天
: @' x) K7 Z! w1 c8 l中心化的网络限制了很多发展机会
6 Z0 _ m- D2 X1 v: R7 F. R对主干网的严重依赖, 经常造成服务中断
: C) T7 i3 f. C2 lIPFS也是一个数据数据传输协议, 相比于http有如下优点:7 M5 U+ c% c8 L& O
5 c$ v K, {0 z* i0 Q+ u, K0 ?( X. \
P2P下载, 节省高达60%的带宽, 使用成本低廉
! j" Z5 ~6 U2 A% |! b永久web, 不在删除数据% H& B, M/ N2 R/ W6 J
分布式的网络, 给互联网带来生机
) Y* k7 M4 ^2 s5 ? |不再依赖主干网, 降低因不可抗力造成的服务中断问题9 c8 ^3 n5 w# l
IPFS是一个协议也是一个网络。实实在在的网络,已经运行了2年半了。就像btc网络一样,IPFS协议也没有发明什么,大多数工作是在前人已有的基础进行的,IPFS集成了如下已有的系统:
% [& |7 [& }" p# `1 [; j D- u" ]$ K# \
DHT(distributed hash tables):分布式哈希表$ C; Y( }, j4 l5 O5 \6 a, I& {
Git:版本管理工具0 r; q, z+ I& k3 S: P5 _" @2 c
BitTorrent:数据交换协议
* j% `: G( H2 c4 d8 }* SSFS(self-certified filesystems):自认证文件系统2 m. Z( v* E# Q) b- V% D, X
IPFS协议是如何设计的,都包含什么:, ^4 m0 K3 w6 I5 [
! ` I7 i, A2 W' W1 h1 节点身份. S- u L# g, j* M
$ {% h) k$ I* S2 F2 k' |$ y3 O" E
每一个IPFS节点都有一个独一无二的身份id,利用节点的公钥生成的加密哈希,节点的活动都需要使用这个id,就像是IPFS网络里面节点的身份证。
$ Z0 n" I5 }$ M3 f# J6 P' P' V# |7 c% [+ w+ Z' ]
2 网络
: H, P0 o B( ^1 a& Y9 ?
+ _6 J2 Z0 |9 G$ T8 H: V& ^IPFS节点要和网络里面成百上千的其它节点通讯,现实中的网络结构如此复杂,IPFS使用 ICE NAT穿透技术来保障网络的连通性。, Z. M4 @% R& c" B9 N! \
- f1 f) h" H' h( X9 x8 ?3 路由
! F- d" B2 z$ b$ U: F0 V& `" S6 Z/ X
IPFS网络的路由使用的是DHT,借鉴了S/Kademlia,使得一个节点可以快速的查找到其它节点。5 Q: A% l% Y! G* {! i
5 J# O4 K) j, p2 |$ V/ m3 N
4 数据交换协议
# n( F5 u! | _' T5 i( T$ k8 x
. J/ J/ _$ e% G+ Q* _% P" |& Z; RIPFS借鉴BitTorrent协议,使用了叫做BitSwap的数据交换协议,该协议使用两个列表,想要的数据块(want_list)和我有的数据块(have_list)与其它节点进行数据交换。
% Z4 n R# P3 v2 v0 b1 Y- n% \* {1 ^7 A! l& c/ D
5 对象存储
' S H7 D" ]) B2 C) n1 b3 i2 n$ e X
IPFS存储数据使用的是 Merkle DAG结构,这赋予了IPFS内容寻址,防篡改,去重功能。
( i2 `* T) c* i
/ C0 K% `1 K) b6 Q6 版本控制系统' v% m3 o3 B& R& _. G
. O6 i. z6 f# ]# \# z& k% l IPFS在 Merkle DAG上面添加了Git版本控制功能,这使得IPFS文件拥有了时光机功能,可以轻松查看文件的变动历史,是不是很酷
9 |( ]( a8 [3 C4 }# i
/ h9 O6 Z8 J6 y7 自认证命名系统
6 G; i2 o5 z! Z5 D# ?+ ^3 n- c. e/ p: x5 t$ H( Z( K
IPFS使用了SFS自认证系统给文件命名,同时提供了ipns解决传播问题,而且还兼容了现有的域名系统。
0 o z; u* F" o/ g; w! t" A7 }" s
这就是我们的IPFS,一颗冉冉升起的新星 |