区块链最早的数据交换协议是BitTorrent,当然,这也是大多数区块链节点之间交流的基本协议IPFS也必须能够实现p2p数据交换协议,IPFS在BitTorrent实现自己的基础BitSwap协议,具体协议IPFS如何在节点之间使用?
何为BitSwap协议?
BitSwap协议的定义是IPFS网络中数据块交换的基本协议是基于统一格式的信息对等协议,不同于request/response方法。简单来说就是。IPFS在节点中交换信息,使用相同类型的信息包进行请求和响应。也就是说IPFS网络中的一切Peers(节点身份)都是对等节点,不存在BitTorrent中那样的Tracker服务器,所以通信方式更简单。
不仅如此BitSwap协议明确定义了如何要求数据、如何发送数据、向谁发送数据等策略,每个节点都允许有自己的策略作为数据交换的核心模块,BitSwap该协议还利用一些预期的激励机制来促进网络中数据的流动,通过点对点之间的传输记录交易账本来实现互利的目的,从而使参与的节点受益。
Bitswap 工作原理?
大家都知道IPFS将文件分成块,并通过内容标识符(CID (打开新窗)。当节点想要运行时。Bitswap如果协议想获取文件,他们将向其他对等方发送想要的列表。想要列表是对方想要接收的块CID列表。每个节点都会记住对方想要什么块,每次节点收到一个块,它都会检查对方是否想要它并发送给它们。简单的一点是找出每个节点的需求,然后是节点的文件。
为了找出哪些对等点有构成文件的块,Bitswap节点首先向连接的所有对等点发送对根 CID 需求。如果节点没有块,节点将查询分布式哈希表(DHT)问谁有根块。会话中添加了任何与根块响应的对等点。Bitswap只向对方发送请求,以免淹没网络。简单地说,它是一个搜索功能,你可以看作是内容搜索地址,也就是说,如果文件没有存储到多个节点,则只有存储文件的初存储文件的节点,节点是块存储。
这就是Bitswap协议的主要功能有几个重要的战略体系:
BitSwap信用体系:上面说的BitSwap该协议将获得激励奖励,以便节点愿意共享或交换数据。其信用系统可以用八个词来概括:借款和还款,然后借款并不难。定义是,发送给其他节点的数据可以增加信用值,并从其他节点接收数据以降低信用值。直率地说,它是为了分享它,而不仅仅是为了接受它。如果一个节点只接收数据而不共享数据,信用值将非常低,并被其他节点忽略。
BitSwap策略:根据信用体系,BitSwap可以采取不同的策略来实现,每一种策略(您可以详细访问官方网站)都会对系统的整体性能产生不同的影响。但其目的是:节点数据交换的整体性能和效率最高,防止白食现象;不仅可以下载数据而不上传数据;有效防止一些攻击(如女巫攻击);建立信任节点的宽松机制节点等。
BitSwap账单:BitSwap节点将记录与其他节点通信的账单(数据收发),以保持节点间数据交换的历史,防止篡改。当两个节点之间建立连接时,BitSwap账单信息将相互交换。如果账单不匹配,则清除并重新记账。恶意节点可能故意丢失账单,以清除其债务。其他交互节点将记录这些。如果总是发生,节点将被拒绝。
总体来说Bitswap该协议强调节点之间的交换,并制定了一些信用或规则,让每个节点共享文件和数据,而不仅仅是接受文件。如果有这样的节点存储,它最终将被系统孤立。BitTorrent协议在IPFS 用于网络Bitswap 协议获取数据块的最大特点之一是要求的数据块是跨文件的,任何类型的数据块,只要哈希值相同,都可以自己使用,一个Peer Swarm对应的是整个IPFS因此,所有的数据块都可以用来实现真正的跨文件数据交换,这也是Bitswap协议的特点。
热点:区块链 数据