IPFS和Filecoin:共生的“爱情”故事
$ D; i8 `1 E9 j* V3 K! ?2 EIPFS指南
4 D8 W& J: c5 D& w- Z& ~. u6 m得得号
4 P0 m7 E# O: a U g* t2018年10月26日阅读数:3.6k关注7 t$ F2 \: x }. ^
IPFS和Filecoin其实原本是没有关系,直到有一天他们走到一起,发现生活变得更加美好了,于是他们决定一起飞向未来!
: E9 \7 R) x- |0 s9 F& {
# [& ~7 ]( H2 _IPFS:做我女朋友吧?
# r- R9 D5 r$ g0 D
# [+ ]6 `7 e8 [8 e: l% @Filecoin:好!
3 f' c5 R* [% C% ?# r/ v( w9 ^
0 s( P2 U$ ]. w/ L0 _ ……
3 V s' P) k" ^6 F% A2 m; N: D
) O; O( c6 a- @/ e5 P- e$ s故事就这么开始了,很平淡,但却很真实。IPFS和Filecoin其实原本是没有关系的,直到有一天他们走到一起,发现生活变得更加美好了,于是他们决定一起飞向未来!
* B8 `6 r5 x3 B0 S, v
7 _0 k" w6 W, Y4 z( s! r为什么写这篇文章,其实因为好多人并不清楚,到底IPFS和Filecoin之间的关系是什么?为什么会有IPFS和Filecoin?本文来解答这个问题。. x7 o0 g! l5 t o' Y4 `$ S
' o& @* e2 ^6 c( o
现在他们成为了共生关系,离开一方另外一方发展就会变的困难。
! I& E1 ?6 X/ C3 o1 J' P9 G
g& D3 L; F% ^# K0 P$ xIPFS是一个协议也是一个p2p网络,它类似现在的bt网络,只是拥有更强大的功能,使得IPFS可以拥有了取代http的能力,为我们建造更好的web。
; ~# L/ L2 v( U3 {0 }+ \# s
2 U- x$ G9 S, x4 b* mFilecoin是一个分布式存储网络,把云存储变为一个算法市场,代币和区块链在这里面起到很重要的作用。现在已经在运行的Storj、sia,玩客云等等都是这种类型的网络,如果没有IPFS,Filecoin就是跟这些项目没有太大区别。3 t2 n& l+ i4 {- U P+ u
( t5 ?# X5 w# p/ e$ Y把IPFS和Filecoin放在一起,事情变得奇妙起来:Filecoin是运行在IPFS上面的一个激励层。IPFS有巨大存储需求和节点需求,我们都知道p2p网络节点越多下载越快,如果没有激励机制,谁愿意贡献如此多的节点和存储呢,于是Filecoin来了。Filecoin可以为IPFS贡献很多很多节点,同时Filecoin带着一个巨大的分布式存储空间,同时解决了IPFS的存储问题。于是IPFS跟http对比拥有了更强的优势。& e; K: N3 S, p, f4 W
+ x( k9 a+ a. BFilecoin代币的作用:Filecoin协议的代币也叫Filecoin ( 说Filecoin的时候可能说的Filecoin网络, 也可能说的是 Filecoin代币 ) ,符号FIL,代币是沟通资源使用者(用户)和资源提供者(矿工)的中介桥梁,Filecoin协议拥有两个交易市场,数据检索和数据存储,双方在市场里面提交自己的需求,达成交易。Filecoin和IPFS相互促进,共创未来,真是一对好情侣!$ Z O) x% E* f9 B# Q6 D2 p
$ W( O/ { R, N* v7 tIPFS协议* [8 A E: @2 W' z
IPFS协议对标的是http协议,http是一个传输协议, 解决的是网络传输问题。http协议我们很熟悉了,用了这么多年了,http协议是一个伟大发明,没有http协议就没有互联网,随着互联网的发展http协议逐渐暴露出来了很多问题,技术永远是在进步的
! M$ H9 v7 R# j' M
* d8 ]- h2 B6 f/ pHTTP的不足之处:
& x2 W6 C( r" L5 |( |& [6 L0 Y. _
% C/ K, _$ z& H# ~, N+ o1 d( ~效率低,使用成本高,带宽资源浪费严重
% Y+ n7 Q5 u9 [数据丢失,页面平均生命周期只有100天* l/ r+ F! V0 m$ ]& U: }, {1 [+ R
中心化的网络限制了很多发展机会
7 V2 e, y" I% j+ ]对主干网的严重依赖, 经常造成服务中断
5 ^4 B' l) |/ ?/ |$ R3 X& I/ |IPFS也是一个数据数据传输协议, 相比于http有如下优点:
2 Y- M* m6 Y7 s, n# j2 `1 H8 z+ d. q2 ?5 b7 }' h. ]
P2P下载, 节省高达60%的带宽, 使用成本低廉
- y+ i( x1 l. V8 Z永久web, 不在删除数据
% t, |, ~9 V9 E( s分布式的网络, 给互联网带来生机: v0 G, c- d1 M# u
不再依赖主干网, 降低因不可抗力造成的服务中断问题4 v0 n% d" a9 W5 A' f
IPFS是一个协议也是一个网络。实实在在的网络,已经运行了2年半了。就像btc网络一样,IPFS协议也没有发明什么,大多数工作是在前人已有的基础进行的,IPFS集成了如下已有的系统:& A& p4 g6 D9 W7 V1 Q1 [ z2 y
1 Q6 ?: D' b* o) \& Y$ z" TDHT(distributed hash tables):分布式哈希表
, a/ l4 x" e* L% Q8 tGit:版本管理工具* }0 ~: A/ M, U. t$ F! M$ n5 C
BitTorrent:数据交换协议
- Y( {0 | u5 f2 V0 J) B. k: ISFS(self-certified filesystems):自认证文件系统0 x" D4 Q+ y$ A2 `( ^
IPFS协议是如何设计的,都包含什么:) F6 q- m# S; t
: G* F6 i, G* H
1 节点身份
( |! u9 Z- n- ^; u0 s& c J- s+ l+ `& V6 I
每一个IPFS节点都有一个独一无二的身份id,利用节点的公钥生成的加密哈希,节点的活动都需要使用这个id,就像是IPFS网络里面节点的身份证。
- v7 v" V4 d1 O4 ^4 Y* E. o: D. e+ z
2 网络: c5 S! Z) Q \. C
" @8 e9 d2 L5 t9 `; C
IPFS节点要和网络里面成百上千的其它节点通讯,现实中的网络结构如此复杂,IPFS使用 ICE NAT穿透技术来保障网络的连通性。
! a) ?5 \$ A7 \- G3 k$ g* z6 T9 M" e" R% _' b4 s2 b# }- a1 n% J
3 路由
9 X( ], C o- Z) U% Q4 _) C: ^! n: b0 g. w( d7 \
IPFS网络的路由使用的是DHT,借鉴了S/Kademlia,使得一个节点可以快速的查找到其它节点。7 h6 a* c( M& l6 J
3 h2 S& m7 l% D, \ }
4 数据交换协议
; \2 p, Z7 U; b0 S! ]# H, G' X+ [( u
# h! r/ |' p$ E) u' KIPFS借鉴BitTorrent协议,使用了叫做BitSwap的数据交换协议,该协议使用两个列表,想要的数据块(want_list)和我有的数据块(have_list)与其它节点进行数据交换。
2 w v+ c9 m/ e; |& t- \' K9 o
, w- C! f+ F/ e3 t/ z) ?' k5 `9 p5 对象存储' O6 ?6 l% s& v5 m1 k0 K
1 q3 }7 W6 k# @9 q% y2 y6 d
IPFS存储数据使用的是 Merkle DAG结构,这赋予了IPFS内容寻址,防篡改,去重功能。
# t U2 h! E' d2 N1 Q% K7 a: N% v1 h
; P% P; k( P, Y6 版本控制系统5 W' N$ O- M0 t# h# k: B' ] M
- _. O+ w3 a+ E/ l* u! m+ F4 A4 J" v$ Z
IPFS在 Merkle DAG上面添加了Git版本控制功能,这使得IPFS文件拥有了时光机功能,可以轻松查看文件的变动历史,是不是很酷
! m) E* v' m! b% g, e4 x" m6 ?& a6 S/ ?; D- C/ x& R5 P+ p# P( o$ Y! \
7 自认证命名系统
$ w* Z' n9 e( w& R& s; @# `+ s) h# A$ {" h% Q5 A
IPFS使用了SFS自认证系统给文件命名,同时提供了ipns解决传播问题,而且还兼容了现有的域名系统。 " g( e) p9 s9 j4 q7 R& ~! r$ R* E
4 J6 d6 x/ B+ c( j: D! R这就是我们的IPFS,一颗冉冉升起的新星 |