IPFS 原理与实践 (26):IPFS 底层基础 2.4.1

阅读数:37 2019 年 12 月 21 日 18:57

IPFS原理与实践(26):IPFS底层基础 2.4.1

(SFS 设计)

内容简介
这是一部从实现原理和工程实践两个维度深入讲解 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 协议栈的使用方法。

  1. 安全性

SFS 系统的安全性可以由两部分定义:文件系统本身的安全性和密钥管理的安全性。换句话说,安全性意味着攻击者未经许可不能读取或者修改文件系统;而对于用户的请求,文件系统一定会给用户返回正确的文件。

  • 文件系统本身的安全性:SFS 除非明确指明允许匿名访问,否则用户如果需要读取、修改、删除或者对文件进行任何篡改,都需要提供正确的密钥。客户端与服务器始终在加密的安全通道中进行通信,通道需要确保双方的身份,以及数据完整性和实时性(避免攻击者截获数据包,并将其重新发送,欺骗系统,这称为重放攻击)。
  • 密钥管理的安全性:仅仅依靠文件系统的安全保护并不能满足用户的各类需求,用户可以使用密钥管理来达到更高级别的安全性。用户可以使用预先设置的私钥,或使用多重加密,再或者使用由第三方公司提供的文件系统来访问经过认证的文件服务器。用户可以从中灵活、轻松地构建各种密钥管理机制。
  1. 可扩展性

因为 SFS 定位是全球范围共享的文件系统,所以 SFS 应该具有良好的可扩展性能。无论用户是希望以密码认证方式读取个人文件,还是浏览公共服务器上的内容,SFS 都应该能很好地兼容。

在 SFS 系统的设计中,任何在 Internet 网络内拥有域名或 IP 地址的服务器,都能部署为 SFS 服务器,并且过程十分简单,甚至无须请求注册权限。SFS 通过 3 个属性实现它的扩展:全网共享的命名空间,用于实现密钥管理的原语集, 以及模块化设计。

  • 全局命名空间:在任意一个客户端登录的 SFS 都具有相同的命名空间。虽然 SFS 中在每个客户端都会共享相同的文件,但是没有任何人能控制全局的命名空间;每个人都能添加新的服务器到这个命名空间里。
  • 密钥管理的原语集:SFS 还允许用户在文件名解析期间使用任意算法来查找和验证公钥。不同的用户可以采用不同的技术认证相同的服务器;SFS 允许他们安全地共享文件缓存。
  • 模块化设计:客户端和服务器在设计时就大量使用了模块化设计,程序之间大多使用设计好的接口进行通信。这样,更新迭代系统各个部分,或者添加新的功能特性会非常简单。

IPFS原理与实践(26):IPFS底层基础 2.4.1

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

评论

发布