了解Filecoin和IPFS的人对“协议实验室”一定不会陌生,如果你去过他们官网,可以看到这样的介绍:协议实验室的使命是推动计算领域的突破,构筑下一代互联网,最终目标是推动人类向前发展。
互联网是当前人类最重要的技术之一,想要改进它,答案就是Web3。Filecoin与IPFS构建了Web3底层存储框架,但协议实验室所做的不仅限于此,在建设Web3中,他们还提出了包括IPLD、libp2p、Multiformats、drand等项目,以便更好的发展Web3。
下面,让我们具体了解一下它们,以及这些项目在Filecoin中都起到了什么作用。在今天这篇文章中,我们先来了解IPLD。
IPLD全称为InterPlanetary Linked Data,即星际键连资料。首先我们要先理解什么是“键连资料”,这个概念由万维网创始人蒂姆·伯纳斯-李提出,是最初的Web3(区别于我们目前常说的web3),也就是语义网概念之一。
在过去的互联网语境中,它是通过可链接URI方式来发布、分享、连接Web中各类资源的方法。它利用Web在不同数据源之间创建语义关联,比如在生命科学中,它可以通过这样的语义关联发现新药物;在新闻媒体行业,可以将过往的新闻内容创建联结,以便进行更精准的搜索等。
而在现在的Web3环境中,它又意味着什么呢?
你可以将开源软件的信息与虚拟货币的交易键连,这样就可以利用区块链记录更改记录、提交时间和信息等;你也可以将以太坊智能合约与IPFS键连,这样对智能合约的每次修改和执行都能存储在IPFS上。可以参考这篇文章中的用例。只是不通过URI来链接,而是通过哈希值来寻址,因此它可以适用于所有以哈希值为寻址手段的协议。
Filecoin与IPFS将IPLD用于区块链数据结构,它位于二者系统之下,主要用来定义数据, 给数据建模,通过它,可以方便地访问来自不同领域的数据。
它可以完成使加密哈希在分布式系统中的数据变得有互操作性,建立通过内容可寻址web的数据模型,可以处理在链上存储数据、创建哈希链接(即内容标识符,简称CID)等繁重工作。
在最初的设计中,IPLD就被设计为能实现最大实用性的工具,支持多种编程语言,代表数据编码的多样性。它的目标是实现可普遍寻址和可链接的去中心化数据结构,这样的结构可以反过来支持更去中心化的应用程序。它具有如下几个比较显著的特点:
1 规范化数据模型:一个自包含的描述性模型,唯一地标识任何基于哈希的数据结构,并确保相同的逻辑对象总是映射到相同的位序列。
2 协议独立:IPLD将独立的系统组合在一起,使与现有协议的集成变得简单。
3 可升级:有了多格式(multiformat)支持,IPLD很容易升级,并将随着您喜欢的协议而增长。
4 跨格式的互操作:以各种可序列化的格式表示IPLD对象,如JSON、CBOR、YAML、XML等,使IPLD在任何框架中都易于使用。
5 向后兼容:非侵入性解析器使IPLD易于集成到现有工作中。
6 所有协议的名称空间:IPLD允许您通过一个公共名称空间,通过协议无缝地跨协议探索数据,结合基于哈希的数据结构。
关于IPLD能说的有许多,这里可以先了解它对Filecoin的支持。在Filecoin中,主要引入了IPLD的内容寻址本身的概念、DAG-CBOR等编解码器、Content Addressable aRchives (CAR)文件格式以及 GraphSync等协议。
其中,Filecoin系统数据结构都使用 DAG-CBOR(一种IPLD编解码器)存储,用于存储、检索和遍历哈希链接的数据DAG(Directed Acyclic Graph,有向无环图,一种图论数据结构)。CBOR是一种二进制存储系统, Filecoin使用CBOR,可以显著提高效率,此外,CBOR可以处理比JSON(一种轻量级资料交换格式)更多数据类型。
Filecoin中另一个与IPLD相关联的是CAR(Content Addressable aRchives,内容可寻址档案)格式,它可以将内容可寻址对象以IPLD 块数据的形式存储为字节序列,扩展名一般为.car。这个格式的用途主要是通过序列化IPLD DAG,生成Filecoin分片——这是Filecoin中文件的主要表示形式,然后该.car文件经过进一步的转换以生成分片CID。
GraphSync是一种请求/响应协议,可在不同对等方之间同步部分图(即经过身份验证的DAG),使用选择器来标识要在不同对等点之间同步的图的特定子集。Filecoin使用 GraphSync来同步区块链的各个部分。
IPLD只是数据结构在Web3领域的更新迭代,在这之前,Web2在这一方面有许多解决方案,也与IPLD在数据结构处理的方式上有许多相似之处,但IPLD开创了去中心化存储的领域,在过去的基础上增加了可扩展性和灵活性,为开发人员提供了一种能推动
声明:此文出于传递更多信息之目的,并不意味着赞同其观点或证实其描述。本网站所提供的信息,只供参考之用。