?IPFS有八层子协议栈,从低往高分别为身份、网络、路由、交换、对象、文件、命名、应用,每个协议栈各司其职,又互相搭配。 身份层和路由层 对等节点身份信息的生成以及路由规则是通过Kademlia协议生成制定,KAD协议实质是构建了一个分布式松散Hash表(distributed hash table),简称DHT,每个加入这个DHT网络的人都要生成自己的身份信息,然后才能通过这个身份信息去负责存储这个网络里的资源信息和其他成员的联系信息。 网络层 lib2p可以支持任意传输层协议。ICE NAT traversal框架整合STUN、TURN和其他类型的NAT协议,该框架可以让客户端利用各种NAT方式打通网络,从而完成NAT通信,这对于IPFS的p2p网络非常重要。 交换层 类似迅雷、电驴这样的BT工具,IPFS团队把BitTorrent进行了创新,叫作Bitswap,它增加了信用和帐单体系来激励节点去分享,用户在发送给其他节点数据可以增加信用值,从其他节点接受数据降低信用值。如果用户只去接收数据而不分享数据,信用分会越来越低而被其他节点忽略掉。 对象层和文件层 对象层共同管理IPFS上80%的数据结构。大部分数据对象都是以Merkle DAG的结构存在,这为内容寻址和数据去重提供了便利。 文件层是一个新的数据结构,和DAG并列,采用Git一样的数据结构来支持版本快照。 命名层 具有自我验证的特性(当其他用户获取该对象时,使用指纹公钥进行验签,即验证所用的公钥是否与NodeId匹配,这验证了用户发布对象的真实性,同时也获取到了可变状态),并且加入了IPNS这个巧妙的设计来使得加密后的DAG对象名可定义,增强可阅读性。 应用层 IPFS核心价值就在于上面运行的应用程序,可以利用它类似CDN的功能,在成本很低的带宽下,去获得想要的数据,从而提升整个应用程序的效率。 本文来源:金锄矿业 —- 编译者/作者:金锄矿业 玩币族申明:玩币族作为开放的资讯翻译/分享平台,所提供的所有资讯仅代表作者个人观点,与玩币族平台立场无关,且不构成任何投资理财建议。文章版权归原作者所有。 |
IPFS的技术架构
2020-04-03 金锄矿业 来源:火星财经
LOADING...
相关阅读:
- Chainlink借助新的赠款计划实现智能合约采用2020-08-05
- 区块链巨头火币集团计划向DeFi投资数百万美元2020-08-05
- Chromia为期权交易孵化DeFi项目“Hedget去中心化协议”2020-08-04
- Filecoin价格高度丨以太坊与Filecoin八大区别2020-08-04
- 「币聊Filecoin」集万千瞩目一身的Filecoin,能否顺利C位出道?2020-08-04