IPFS 原理与实践 (21):IPFS 底层基础 2.2.1

阅读数:7 2019 年 12 月 21 日 18:51

IPFS原理与实践(21):IPFS底层基础 2.2.1

(BitTorrent 术语含义)

内容简介
这是一部从实现原理和工程实践两个维度深入讲解 IPFS 和 Filecoin 的著作。作者是中文社区内非常有影响力的三位 IPFS/Filecoin 布道者,本书得到了 IPFS&FileCoin 创始人以及 IPFS 官方(协议实验室)的高度认可和强烈推荐。
为 * 大化满足读者需求,书中不仅介绍 IPFS 技术细节、区块链相关知识、Filecoin 项目技术细节,还加入了大量作者们在开发中的经验和技巧。为了适配当下及未来较长时间内读者的实际使用环境,书中所有案例都是基于生态链中较新的软件开发工具和前沿的软件开发技术编写的。
本书分为三大部分:
第一部分 基础篇(第 1 章)
全面介绍了 IPFS 的源起,概念、优势和应用领域,旨在帮助读者了解 IPFS 相关基础背景知识,从宏观层面认识 IPFS 技术所具有的创新性。
第二部分 原理篇(第 2~5 章)
旨在帮助读者深入理解 IPFS 和 Filecoin 的运行原理与工作机制。首先深入分析了分布式哈希表、块交换协议、版本控制、自验证文件系统 Merkle DAG 和 Merkle Tree 等底层基础知识,然后对 IPFS 协议栈中包含的 7 层子协议了进行了剖析,接着解析了 Multi-Format、libp2p、IPLD 三大 IPFS 核心模块,最后用了一整章的篇幅详细剖析了 Filecoin 项目。
第三部分 实战篇(第 6~8 章)
以工程化的方式,从基础至进阶,介绍了 IPFS 技术的实际使用,包括安装、配置、交互、入网、API、内容发布、数据保存、私网搭建等内容,之后通过两个不同风格的实际项目案例向读者展示了基于不同语言所实现的 IPFS 协议栈的使用方法。

以下是 BitTorrent 中涉及的术语。

  • torrent:它是服务器接收的元数据文件(通常结尾是.Torrent)。这个文件记录了下载数据的信息(但不包括文件自身),例如文件名、文件大小、文件的哈希值,以及 Tracker 的 URL 地址。
  • tracker:是指互联网上负责协调 BitTorrent 客户端行动的服务器。当你打开一个 torrent 时,你的机器连接 tracker,并且请求一个可以接触的 peers 列表。在传输过程中,客户端将会定期向 tracker 提交自己的状态。tracker 的作用仅是帮助 peers 相互达成连接,而不参与文件本身的传输。
  • peer:peer 是互联网上的另一台可以连接并传输数据的计算机。通常情况下,peer 没有完整的文件。peer 之间相互下载、上传。
  • seed:有一个特定 torrent 完整拷贝的计算机称为 seed。文件初次发布时,需要一个 seed 进行初次共享。
  • swarm:连接一个 torrent 的所有设备群组。
  • Chocking:Chocking 阻塞是一种临时的拒绝上传策略,虽然上传停止了,但是下载仍然继续。BitTorrent 网络下载需要每个 peer 相互上传,对于不合作的 peer,会采取临时的阻断策略。
  • Pareto 效率:帕累托效率(Pareto efficiency)是指资源分配已经到了物尽其用的阶段,对任意一个个体进一步提升效率只会导致其他个体效率下降。此时说明系统已经达到最优状态了。
  • 针锋相对(Tit-fot-Tat):又叫一报还一报,是博弈论中一个最简单的策略。以合作开局,此后就采取以其人之道还治其人之身的策略。它强调的是永远不先背叛对方,除非自己被背叛。在 BitTorrent 中表现为,Peer 给自己贡献多少下载速度,那么也就贡献多少上传速度给他。

IPFS原理与实践(21):IPFS底层基础 2.2.1

购书地址 https://item.jd.com/12665074.html?dist=jd

评论

发布