IPFS 原理与实践 (6):认识 IPFS 1.2.1

阅读数:4 2019 年 12 月 21 日 18:43

IPFS原理与实践(6):认识IPFS 1.2.1

(区块链基础)

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

那么区块链又是什么呢?在最早期,区块链仅仅被认为是比特币的底层技术之一,是一种不可篡改的链式数据结构。经过几年的发展,区块链被越来越多的人熟知,它也从单纯的数据结构变成分布式账本的一系列技术的总称。它整合了加密、共识机制、点对点网络等技术。近些年,区块链的非账本类应用开始逐渐兴起,大家开始将区块链描述为分布式的数据库,认为它是价值传递网络,它逐渐被赋予了更多的内涵。

从技术方面来讲,区块链是一种分布式数据库,旨在维护各个互相不信任的节点中数据库的一致性,并且不可篡改。信用和记录会被保存到区块链上,每一个新的区块中存有上一个区块的数字指纹、该区块的信用和记录,以及生成新区块的时间戳。这样一来,区块链会持续增长,并且很难被篡改,一旦修改区块链上任意一个区块的信息,那么后续区块的数字指纹也就全部失效了。

链式数据结构使得区块链历史很难被篡改,而在各个互不信任的节点之间保持数据的一致性,则需要共识机制完成。共识机制是网络预先设定的规则,以此判断每一笔记录及每一个区块的真实性,只有那些判断为真的区块会被记录到区块链中;相反,不能通过共识机制的新区块会被网络抛弃,区块里记录的信息也就不再被网络认可。目前常见的共识机制包括 PoW(工作量证明)、PoS(权益证明)、PBFT(实用拜占庭容错)等。

比特币、以太币、比特币现金及大部分加密数字货币使用的是 PoW 工作量证明。维护比特币账本的节点被称为矿工,矿工每次在记录一个新区块的时候,会得到一定的比特币作为奖励。因此,矿工们会为自己的利益尽可能多地去争夺新的区块记账权力,并获得全网的认可。工作量证明要求新的区块哈希值必须拥有一定数量的前导 0。矿工们把交易信息不断地与一个新的随机数进行哈希运算,计算得到区块的哈希值。一旦这个哈希值拥有要求数目的前导 0,这个区块就是合法的,矿工会把它向全网广播确认。而其他的矿工收到这一新的区块,会检查这一区块的合法性,如果合法,新的区块会写入该矿工自己的账本中。这一结构如图 1-3 所示。

IPFS原理与实践(6):认识IPFS 1.2.1

图 1-3 比特币的区块结构

与要求证明人执行一定量的计算工作不同,PoS 权益证明要求证明人提供一定数量加密货币的所有权即可。权益证明机制的运作方式是,当创造一个新区块时,矿工需要创建一个“币权”交易,交易会按照预先设定的比例把一些币发送给矿工。权益证明机制根据每个节点拥有代币的比例和时间,依据算法等比例降低节点的挖矿难度。这种共识机制可以加快共识,也因矿工不再继续竞争算力,网络能耗会大大降低。但也有专家指出,PoS 权益证明牺牲部分网络去中心化的程度。

目前,PoW 和 PoS 是加密数字货币的主流算法,其他几个常见的共识机制有 DPoS 和 PBFT,限于篇幅,这里不再进一步展开了。

IPFS原理与实践(6):认识IPFS 1.2.1

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

评论

发布