之所以要做libp2p,是因为在做IPFS的时候,遇到了大量的异构设备,运行着不同的操作系统,网络环境非常复杂,比如在中国有各个NAT,还有某些场景下,可能用不了tcp链接,还有就是文件系统多样性,以及很可能需要协议变迁,比如比特币已经经历过很多次的协议变迁,每次都需要51%的节点支持。那么其实可以通过一种比较巧妙的方式来完成。
未来等IPv6出来以后,很可能是物联网、P2P应用、区块链的大爆发时期,尤其是物联网。所以协议实验室决定把他们遇到的问题全部抽象出来,做个libp2p的库,让其他开发者能够直接使用这个库,屏蔽掉所有问题,只关注业务逻辑即可。