区块链中最早的数据交换协议当属BitTorrent,这也是大多数区块链节点之间实现交流的基础协议,当然IPFS也必须需要能实现p2p的数据交换协议,IPFS在BitTorrent的基础上实现了自己BitSwap协议,该协议具体在IPFS节点之间如何运用呢?本文将详细介绍。
何为BitSwap协议?
BitSwap协议的定义是IPFS网络中数据块交换方式的基础协议,它是一个基于统一格式的消息对等协议,有别于request/response方式。简单点来说就是在IPFS节点中交换信息,其请求和响应的消息都使用同一类型的消息包。也就是在IPFS网络中所有的Peers(节点身份)都是对等节点,不存在BitTorrent中那样的Tracker服务器,所以通信方式更加简单。
不仅如此BitSwap协议清晰的定义了如何请求数据、如何发送数据、向谁发送数据等策略,并且每个节点都允许拥有自己的策略,将其作为数据交换的核心模块,BitSwap协议还使用一些预期设定好的激励机制来促进网络中数据的流动,通过一个点对点之间的传输记录交易账本来达到互惠的目的,让参与的节点有收益。
Bitswap 的工作原理?
大家都知道IPFS将文件分成称为块的块,并且由内容标识符(CID (打开新窗口))。当节点想要运行Bitswap协议想要获取文件,他们会向其他对等方发送“想要的列表”。“想要列表”是对等方想要接收的块的CID列表。每个节点都会记住它的对等方想要哪些块&