IPFS和Filecoin:共生的“爱情”故事3 x( @" J6 w( K, x3 n
IPFS指南 . s+ v9 E* w" T5 m5 J
得得号" V) I1 Z2 P5 e( F) E4 B) l3 u
2018年10月26日阅读数:3.6k关注4 D# ]$ j) ^, [3 d
IPFS和Filecoin其实原本是没有关系,直到有一天他们走到一起,发现生活变得更加美好了,于是他们决定一起飞向未来!
$ z. B6 `! ~" n& c! {6 U
# ~" A7 v7 s$ v9 l4 e4 MIPFS:做我女朋友吧?& g& y+ `" ^& o8 o, h. e! S
5 T) n, w$ \5 l* ^0 e; j4 @
Filecoin:好!
' u& H- K6 S/ d; X2 B# Y5 D3 Q2 R7 d$ ]% y- B' B
……* o! U+ m6 x9 E' |
; }! U5 A8 A% E3 h$ f. e+ R
故事就这么开始了,很平淡,但却很真实。IPFS和Filecoin其实原本是没有关系的,直到有一天他们走到一起,发现生活变得更加美好了,于是他们决定一起飞向未来!
, T7 B$ T7 t) W! x9 u2 ~) h2 _, t/ t' ~7 _
为什么写这篇文章,其实因为好多人并不清楚,到底IPFS和Filecoin之间的关系是什么?为什么会有IPFS和Filecoin?本文来解答这个问题。
( s4 k# i5 p4 h2 Q2 u4 X
0 w( \0 A* L5 |现在他们成为了共生关系,离开一方另外一方发展就会变的困难。
0 _% Z$ v9 k6 I
# n& f/ ~6 `4 g5 V0 cIPFS是一个协议也是一个p2p网络,它类似现在的bt网络,只是拥有更强大的功能,使得IPFS可以拥有了取代http的能力,为我们建造更好的web。
3 i( [* a" ]) k! f' r# V$ p- m* w0 f
Filecoin是一个分布式存储网络,把云存储变为一个算法市场,代币和区块链在这里面起到很重要的作用。现在已经在运行的Storj、sia,玩客云等等都是这种类型的网络,如果没有IPFS,Filecoin就是跟这些项目没有太大区别。
" c1 u# @: o7 Q: F- L! [" n
% r5 t/ Z. A# x0 o把IPFS和Filecoin放在一起,事情变得奇妙起来:Filecoin是运行在IPFS上面的一个激励层。IPFS有巨大存储需求和节点需求,我们都知道p2p网络节点越多下载越快,如果没有激励机制,谁愿意贡献如此多的节点和存储呢,于是Filecoin来了。Filecoin可以为IPFS贡献很多很多节点,同时Filecoin带着一个巨大的分布式存储空间,同时解决了IPFS的存储问题。于是IPFS跟http对比拥有了更强的优势。
# n. N3 [6 V2 z* F7 B
0 I' P* _1 ~4 M' U! fFilecoin代币的作用:Filecoin协议的代币也叫Filecoin ( 说Filecoin的时候可能说的Filecoin网络, 也可能说的是 Filecoin代币 ) ,符号FIL,代币是沟通资源使用者(用户)和资源提供者(矿工)的中介桥梁,Filecoin协议拥有两个交易市场,数据检索和数据存储,双方在市场里面提交自己的需求,达成交易。Filecoin和IPFS相互促进,共创未来,真是一对好情侣!2 S" N' a* p2 Q, B1 S
l4 b+ {4 B5 e0 N3 Q5 o
IPFS协议+ }# c$ q! S/ z1 Q0 q1 f
IPFS协议对标的是http协议,http是一个传输协议, 解决的是网络传输问题。http协议我们很熟悉了,用了这么多年了,http协议是一个伟大发明,没有http协议就没有互联网,随着互联网的发展http协议逐渐暴露出来了很多问题,技术永远是在进步的
- g6 I- Q0 G C, {
& {% P; T2 G" Q2 T* YHTTP的不足之处:4 g, Q# e( `* F7 B9 O' D
. ^. }# |6 U! |( T2 Y m
效率低,使用成本高,带宽资源浪费严重
; e3 g9 ]2 L4 C) {7 [3 |数据丢失,页面平均生命周期只有100天2 S2 { ?: N4 C T% `) k
中心化的网络限制了很多发展机会+ T. u z' E5 W/ m, A
对主干网的严重依赖, 经常造成服务中断 $ ~ L* ?6 @/ H7 q' Q+ q/ ?
IPFS也是一个数据数据传输协议, 相比于http有如下优点:
; u3 q1 G6 h' {+ x* }' y! R# ]1 q$ A, Y0 ?! T6 b
P2P下载, 节省高达60%的带宽, 使用成本低廉
) m1 B4 g# p- g% E8 [, E& S永久web, 不在删除数据
0 m6 K% ~) O( h2 S0 E; L4 K分布式的网络, 给互联网带来生机
8 k& i6 Y. O) p% L. J p2 j不再依赖主干网, 降低因不可抗力造成的服务中断问题
: f" s. V/ p, {2 ]+ gIPFS是一个协议也是一个网络。实实在在的网络,已经运行了2年半了。就像btc网络一样,IPFS协议也没有发明什么,大多数工作是在前人已有的基础进行的,IPFS集成了如下已有的系统:
5 O3 [6 j, Q5 |( x P/ U& Z3 [
DHT(distributed hash tables):分布式哈希表
) z& ~/ _3 S* e- WGit:版本管理工具( `& E7 V: U: \' u! M
BitTorrent:数据交换协议; W9 x4 K3 C1 _5 ~3 y) F/ I
SFS(self-certified filesystems):自认证文件系统
7 G- d6 c- K7 N! z) NIPFS协议是如何设计的,都包含什么:
' X0 V: c4 f# R. I/ G6 V! s8 a) _; y* q& ?% o( u4 [ D% u
1 节点身份
6 Y) Y, V6 y1 v9 v# G) ` g7 e' l: w4 c$ a8 R
每一个IPFS节点都有一个独一无二的身份id,利用节点的公钥生成的加密哈希,节点的活动都需要使用这个id,就像是IPFS网络里面节点的身份证。' _) S3 @4 f$ r4 c- ]4 O- I# V
* m9 k+ z/ v, U. l# b9 U
2 网络% \! E0 Y8 g0 p+ s
% v0 O& @) y7 L
IPFS节点要和网络里面成百上千的其它节点通讯,现实中的网络结构如此复杂,IPFS使用 ICE NAT穿透技术来保障网络的连通性。
; e( H4 S& Q9 V( p8 O9 |5 `
- q, X6 z1 q9 k3 c4 p3 路由0 R5 v+ r" N7 J8 B; I
2 |# l0 y4 ] n& JIPFS网络的路由使用的是DHT,借鉴了S/Kademlia,使得一个节点可以快速的查找到其它节点。
! D+ P- b5 u0 h# B& w, S( V1 ~/ _2 ?! o+ ^
4 数据交换协议' d: C$ S4 `1 B5 }* X+ K; a2 B
/ U5 T f/ a) `5 _; J0 Z5 k/ n; GIPFS借鉴BitTorrent协议,使用了叫做BitSwap的数据交换协议,该协议使用两个列表,想要的数据块(want_list)和我有的数据块(have_list)与其它节点进行数据交换。" e% ^ `5 _: F
+ k8 r5 F6 q! F, |; `
5 对象存储
) f/ }' O5 A* |) J* @# ~1 ^2 d0 {$ W' S, i' F5 J
IPFS存储数据使用的是 Merkle DAG结构,这赋予了IPFS内容寻址,防篡改,去重功能。
$ H4 k2 n! _7 m: h: l i2 B k6 j7 i, u0 G/ @& g
6 版本控制系统7 R& X! s" t: r6 b8 L( V
( P- j9 D( \4 d6 x5 }, q) ?
IPFS在 Merkle DAG上面添加了Git版本控制功能,这使得IPFS文件拥有了时光机功能,可以轻松查看文件的变动历史,是不是很酷; N: ], w+ v( T$ ?* X
2 q. D$ R' q% d) |1 `
7 自认证命名系统) Z% X! d* K. S& E2 k
3 O* |3 k, U& i- D+ W( c t5 b
IPFS使用了SFS自认证系统给文件命名,同时提供了ipns解决传播问题,而且还兼容了现有的域名系统。
. y2 e& g' Q% C8 `" e, J5 O! G3 ]/ a2 J' ]
这就是我们的IPFS,一颗冉冉升起的新星 |