IPFS和Filecoin:共生的“爱情”故事
" T6 ^3 ?/ R5 M1 w) F# dIPFS指南
4 j4 i* {# r" r" g& F$ S得得号: s3 i2 M3 t5 }8 k" {% P6 d
2018年10月26日阅读数:3.6k关注
/ U- O& B5 k) t; bIPFS和Filecoin其实原本是没有关系,直到有一天他们走到一起,发现生活变得更加美好了,于是他们决定一起飞向未来!4 U; `# O; J6 w$ X; E$ E# |
/ Y0 N( g( u0 r- ?8 g3 j4 o( I2 jIPFS:做我女朋友吧?
5 H* y& @6 x+ b0 q7 P# X5 X$ u/ Y9 H0 H/ P+ H' z2 s
Filecoin:好!
2 M9 {: ]" r* c# D b4 y7 U
' c5 \5 l. P1 _. d0 l ……9 h2 V! L/ w- L" p! Z* Z. m$ W
5 q" \9 \' j( V) P& C
故事就这么开始了,很平淡,但却很真实。IPFS和Filecoin其实原本是没有关系的,直到有一天他们走到一起,发现生活变得更加美好了,于是他们决定一起飞向未来!
R; n4 V4 J7 t" P5 [5 a0 L W
5 ^3 y" |4 t# r0 p: x8 I7 c' q为什么写这篇文章,其实因为好多人并不清楚,到底IPFS和Filecoin之间的关系是什么?为什么会有IPFS和Filecoin?本文来解答这个问题。
; d- @2 G, w4 e2 ~6 r2 H. b1 w
3 e+ K( K# d4 N/ X0 M现在他们成为了共生关系,离开一方另外一方发展就会变的困难。/ h& W* H0 c: _9 x, t% g9 @, F
. e& K( W9 ~: O
IPFS是一个协议也是一个p2p网络,它类似现在的bt网络,只是拥有更强大的功能,使得IPFS可以拥有了取代http的能力,为我们建造更好的web。
1 i( V' K9 M. X5 J" n7 q( H* V* J: [
Filecoin是一个分布式存储网络,把云存储变为一个算法市场,代币和区块链在这里面起到很重要的作用。现在已经在运行的Storj、sia,玩客云等等都是这种类型的网络,如果没有IPFS,Filecoin就是跟这些项目没有太大区别。
/ i/ Z1 G& o% s! Y; b
& Z9 ~7 N# y( f2 |) | ^5 T( n把IPFS和Filecoin放在一起,事情变得奇妙起来:Filecoin是运行在IPFS上面的一个激励层。IPFS有巨大存储需求和节点需求,我们都知道p2p网络节点越多下载越快,如果没有激励机制,谁愿意贡献如此多的节点和存储呢,于是Filecoin来了。Filecoin可以为IPFS贡献很多很多节点,同时Filecoin带着一个巨大的分布式存储空间,同时解决了IPFS的存储问题。于是IPFS跟http对比拥有了更强的优势。, {8 x4 ?( O. e! o1 T0 Z
+ w N+ H( P+ E$ {, `0 gFilecoin代币的作用:Filecoin协议的代币也叫Filecoin ( 说Filecoin的时候可能说的Filecoin网络, 也可能说的是 Filecoin代币 ) ,符号FIL,代币是沟通资源使用者(用户)和资源提供者(矿工)的中介桥梁,Filecoin协议拥有两个交易市场,数据检索和数据存储,双方在市场里面提交自己的需求,达成交易。Filecoin和IPFS相互促进,共创未来,真是一对好情侣!8 e# @) ]" ?& o% G
, |3 j: ] _* e- X7 R
IPFS协议2 b( J. B4 E8 E
IPFS协议对标的是http协议,http是一个传输协议, 解决的是网络传输问题。http协议我们很熟悉了,用了这么多年了,http协议是一个伟大发明,没有http协议就没有互联网,随着互联网的发展http协议逐渐暴露出来了很多问题,技术永远是在进步的
3 W' s1 B/ o) T1 t0 c
2 w& f; N5 f3 W% I0 \' eHTTP的不足之处:, S# y3 o. J: ~3 i! h9 v
* g9 h" Y+ V3 I$ I9 B" N效率低,使用成本高,带宽资源浪费严重
1 k) i, e' E2 L数据丢失,页面平均生命周期只有100天% p0 Z7 w; l7 M4 R0 V
中心化的网络限制了很多发展机会6 S% B! V8 I. p% I. B# N
对主干网的严重依赖, 经常造成服务中断 & |( r& s( P( u8 s. t }
IPFS也是一个数据数据传输协议, 相比于http有如下优点:- H& H: X! e4 r
A& E1 R: Y/ L9 g9 L7 S+ H' Y& nP2P下载, 节省高达60%的带宽, 使用成本低廉8 E) N0 o( k! b2 c) X
永久web, 不在删除数据1 c) {& S/ @, |. K- \9 ^: }
分布式的网络, 给互联网带来生机8 i& t( B$ Z0 O6 n' J& K. _
不再依赖主干网, 降低因不可抗力造成的服务中断问题
; ?6 h! V1 f! |% s0 h# ^) OIPFS是一个协议也是一个网络。实实在在的网络,已经运行了2年半了。就像btc网络一样,IPFS协议也没有发明什么,大多数工作是在前人已有的基础进行的,IPFS集成了如下已有的系统:/ b _; N% J. T$ w% g1 G
$ X* U8 V: i& N2 V/ L0 E# ~! FDHT(distributed hash tables):分布式哈希表
+ d" M, E# r' |8 Y' L( aGit:版本管理工具
; W, w/ ~/ h8 W! EBitTorrent:数据交换协议( Z ` B) h- x P7 f% B
SFS(self-certified filesystems):自认证文件系统6 `+ s! e9 q$ Y& v* Z3 {
IPFS协议是如何设计的,都包含什么: J. o$ y: j. v% ~2 h- t- Y
f# [7 c H3 l Z
1 节点身份7 @" M0 x, s3 ] o( e4 a
& V# T+ V$ G8 w) m) E1 f6 c* @- \1 x
每一个IPFS节点都有一个独一无二的身份id,利用节点的公钥生成的加密哈希,节点的活动都需要使用这个id,就像是IPFS网络里面节点的身份证。
4 g) u5 ?/ m: v4 U, G& o) I
. j5 A4 G% \# M$ f" U3 C! B/ C2 网络
: i% m7 D# F' q! \. y* J
! Q3 q( s5 _0 z1 tIPFS节点要和网络里面成百上千的其它节点通讯,现实中的网络结构如此复杂,IPFS使用 ICE NAT穿透技术来保障网络的连通性。
8 G" ^$ f$ C. w- k) R) a# ?
; i" Q" g1 l, y3 路由
" h e5 d6 o) Z& O
, n8 n. ~1 J3 UIPFS网络的路由使用的是DHT,借鉴了S/Kademlia,使得一个节点可以快速的查找到其它节点。, m! |( O+ o8 u7 _
8 U: ?5 v1 V) r4 数据交换协议
+ v- W7 W% ?% X2 `; C' [
- ]6 C+ r) g e2 _ |) H/ b- BIPFS借鉴BitTorrent协议,使用了叫做BitSwap的数据交换协议,该协议使用两个列表,想要的数据块(want_list)和我有的数据块(have_list)与其它节点进行数据交换。
- k2 o: |3 v7 e, @( p- O/ V+ c9 E" O
, S) R7 }' K1 q7 B7 y5 对象存储' q0 _" W2 v; p% _/ B# x
! H1 g% l" P% T4 I. nIPFS存储数据使用的是 Merkle DAG结构,这赋予了IPFS内容寻址,防篡改,去重功能。( s9 M6 y) H& l2 S
! _* s- S$ S+ J& n
6 版本控制系统
2 A2 ]- `6 N% i( g
) w1 X% G. H9 x. i; I0 v IPFS在 Merkle DAG上面添加了Git版本控制功能,这使得IPFS文件拥有了时光机功能,可以轻松查看文件的变动历史,是不是很酷
6 |0 @; h3 v5 ?1 V$ j c, |$ g% ]( d: z& j! d% Y$ U& Y) ]9 k9 O
7 自认证命名系统
2 L; _' z, S8 u* L) k3 h$ {& {
: H. l- w& \: K d9 I2 N IPFS使用了SFS自认证系统给文件命名,同时提供了ipns解决传播问题,而且还兼容了现有的域名系统。 1 H0 b8 q2 ?* @) I0 T
7 t; r. `7 a: U0 [这就是我们的IPFS,一颗冉冉升起的新星 |