目前市场上的主流去中心化存储平台包括 Arweave、Filecoin 和 Storj,提供了不依赖单一中心控制点的数据存储方式,与传统云存储服务形成对比。Arweave 专注于长期或永久存储,采用一次性支付模型;Filecoin 和 Storj 则建立基于区块链的存储市场,提供灵活的存储方案。
作者: outprog
审阅:0xmiddle
去中心化存储是一种数据存储方法,不依赖单一中央控制点。这种方式与传统的中心化存储(如传统的云存储服务,比如 Amazon S3 或 Google Cloud )形成对比,后者通常由单一的企业或组织进行管理。
目前市面上主流的去中心化存储有 Arweave、Filecoin、Storj。它们各自有独特的特点和设计理念:
这三个平台都使用了区块链技术,但它们的应用场景、技术实现和支付模型有所不同,各自适合于不同类型的存储需求:
对比之下,Arweave 独树一帜,其所强调的永久存储,更加注重数据的抗审查和持久性。Filecoin 和 Storj 都是用了存储市场,注重使用区块链技术重构存储市场。
Arweave 进行数据永久存储的理论基础类似“摩尔定律”。根据对 1980 年至今的数据存储成本统计结果,存储成本每年在以 20% 的速率下降。按照该统计规律,无穷多年之后数据存储的成本会收敛为一个常数。Arweave 永存则是以此为基础,计算了数据 200 年的存储成本。用户进行数据存储时将一次性支付这笔费用。
同时,Arweave 设计了一个非常优雅简洁的数据挖矿机制。我们可以把它命名为“有效数据挖矿“。
所谓“有效数据”是指过去已经存储在 Arweave 网络中的数据,用户为这些有效数据支付了 200 年的存储费用。网络中另一个角色群体——矿工,他们是用有效数据进行挖矿,并提供了有效数据的读取服务。与其他存储区块链不同之处在于,Arweave 不强制矿工存储数据,而是建立了激励规则鼓励每个矿工最大化的去存储“有效数据”。在 Arweave 网络里,矿工存储的“有效数据”越多,挖矿的“算力”就越大。
假设 Arweave 网络中有 100 TB 的有效数据,对于矿工而言不是必选存储所有 100 TB 的数据。也就是说,矿工仅存储 100 MB 的数据就可以挖矿,只是该矿工的算力非常的微小。如果矿工选择存储所有 100 TB 的数据,他所具备的算力将达到最大值。
在“有效数据挖矿”的机制中,Arweave 网络激励矿工尽可能的去存储最多的数据,但不强制他们去进行所有数据的存储。那么该激励模式,数据是否存在丢失的可能性?下面是一个关于数据丢失的模拟演算:
P(给定节点可访问给定区块)= 0.5
P(给定节点不可访问给定区块)= 0.5
P(任何节点都不可访问给定区块)= (1-0.5)^ 节点数
P(⾄少⼀个节点可访问给定区块)= 1- ( (1-0.5)^ 节点数 )
P(⾄少⼀个节点可访问任何区块)= 1- ( (1-0.5)^ 节点数 )^区块数
200个节点,20万个块,复制率0.5,单个区块不可访问的概率:6.223^10-61
其中第一行和第二行的 0.5 指的是单个节点存储了 50% 的数据。假设该区块网络有 20 万个区块,网络中有 200 个节点,每个节点都随机的存储了 10 万个区块(50% 的区块数据),可根据概率计算出单个区块不可访问的概率为 6.223^10-61。云服务提供的数据可靠性为 99.9999999%,即 10 的 7 次方。上面的 Arweave 演算则达到了惊人的 61 次方。
Filecoin 和 Storj 两者都是用区块链技术建立了一个数据存储市场。其中 Storj 主要改进是数据隐私性。本文主要讲解 Filecoin 的原理。
类似于传统的订单簿,用户使用 Filecoin 需要先到交易市场进行出价挂单,并注明数据存储的时间和备份数量,矿工会接收可以盈利的订单。为了保障整个交易市场的公平性,Filecoin 建立了复杂的经济模型,设置了罚没和小额分期支付等多种规则。其核心技术是复制证明和时空证明。
复制证明:矿工向用户证明数据已经被专用的物理设备进行了存储。矿工每次进行证明存储用户的数据时,网络将向该矿工支付费用。
时空证明:如果仅有复制证明,并不能保障你的数据一直被存储,矿工可以仅在提交证明时存储这部分数据。为此 Filecoin 补充了时空证明,目的就是让矿工持续的存储这些数据。
总结以上,Arweave 永存的依据和实现方案分别是:
Filecoin 和 Storj 是使用了区块技术创造的去中心化存储市场,他们的模式都类似于传统的交易市场的订单簿,由挂单人提供需求、矿工接受订单进行数据存储保障。Filecoin 的核心技术要点是:复制证明和时空证明。
将数据存储到 Arweave 有两种方式。第一种方式直接发送数据到 Arweave 节点,并支付 AR。第二种方式是使用 ANS-104(Bundled)数据绑定协议将数据批量打包到 Arweave。
用户只需要准备一个持有 AR 到钱包即可完成该动作。使用下列代码,将一个命名为 file.pdf 的存储到 Arweave:
let data = fs.readFileSync('path/to/file.pdf');
let transaction = await arweave.createTransaction({ data: data }, key);
transaction.addTag('Content-Type', 'application/pdf');
await arweave.transactions.sign(transaction, key);
let uploader = await arweave.transactions.getUploader(transaction);
while (!uploader.isComplete) {
await uploader.uploadChunk();
console.log(`${uploader.pctComplete}% complete, ${uploader.uploadedChunks}/${uploader.totalChunks}`);
}
更多文档参考:https://github.com/ArweaveTeam/arweave-js 。
Arweave 的区块的出块速率较低,通常为 2 分钟左右,并且一个区块只能处理 1000 笔交易,这极大的限制了 Arweave 存储的交易笔数,尽管一笔 Arweave 交易的存储量是无限的,用户可以将 100 MB 甚至 10 GB 的数据通过一笔交易直接存储到 Arweave。为了解决交易笔数的扩容问题,ANS-104 应运而生。
ANS-104 是一种多笔交易的绑定技术,可以一次性将数万笔不同的数据实体绑定到一笔普通 Arweave 交易中。可以类比 Ethereum 到 Layer2 Rollup 解决方案,区别是 ANS-104 并不会损失数据的安全性,绑定的数据也是 100% 的完整数据存储在 Arweave 上。
使用 ANS-104 存储数据代码示范如下:
const { genNodeAPI } = require('arseeding-js')
const run = async () => {
const instance = genNodeAPI('YOUR PRIVATE KEY')
const arseedUrl = 'https://arseed.web3infra.dev'
const data = Buffer.from('........')
const payCurrencyTag = 'ethereum-usdc-0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48' // everpay supported all token tag (chainType-symbol-id)
const options = {
tags: [{ name: 'Content-Type', value: 'image/png' }]
}
const res = await instance.sendAndPay(arseedUrl, data, payCurrencyTag, options)
console.log('res', res)
}
run()
该代码使用了 arseeding 轻节点作为数据绑定服务,arseeding 轻节点是完全开源的 Arweave 数据节点,支持所有 Arweave 原生节点接口并拓展了 ANS-104 接口。同时 arseeding 集成了跨链支付协议 everPay,因此除了使用 AR 支付存储费用之外,用户和开发者也可以使用 ETH、BNB、USDT 和 USDC 等各种资产进行数据永存。
更多文档参考:https://web3infra.dev/docs/Arseeding/guide/quickStart 。
目前 Arweave 上存储 1 GB 数据为 $7.5,最新的存储费用参考:https://ar-fees.arweave.dev/ 。
Arweave 拥有标准化的 GraphQL 服务接口,任何个人和机构都可以按照标准去实现 Arweave 索引。下面是两个典型好用的索引网关:
下载 Arweave 数据,仅需要知道数据的 ARID 或者 ItemID 即可,代码示例:
curl --location --request GET 'https://arseed.web3infra.dev/2bpKpp0dtfFZE82-P0lOmeI5x4m2ynatFzdjBmCWd4k'
很遗憾,Filecoin 没有提供给普通用户和开发者的存储工具,对于普通开发者而言,Filecoin 是一个不可用的状态。从零星的技术文档可以找到一些通过第三方服务商进行 Filecoin 存储的方案,但是仔细查看服务商的文档,大多数服务商也仅仅提供了 IPFS 存储,这些服务商不一定将数据存储到了 Filecoin。可能由于笔者水平有限,实在找不到一个较好的途径将数据存储到 Filecoin,同时也没有对应的接口可以直接从 Filecoin 获取数据。
Storj 的存储方式和 Web2 一样,开发者需要去官网注册并获取 API-KEY。Storj 的存储兼容 AWS S3 接口,这里就不再赘述。Storj 的存储费用很低,1 GB 存储 1 个月仅需 $0.004。不过折算为 200 年存储费用会比 Arweave 稍高,为 $9.6。
存储实操可以看出,Arweave 的交易处理模式和 Bitcoin/Ethereum 等区块链是一致的。Filecoin 并没有提供可用的 SDK 和接口,很遗憾所谓的存储龙头大哥竟然对于开发者是不可用状态,不禁令人唏嘘。Storj 的存储方式和 Web2 完全一致。
值得注意的是,Arweave 是原生的区块链存储,数据一旦发送到 Arweave 之后是不可删除和不可篡改。Filecoin 和 Storj 是租赁模式,项目方可以随时停止存储租赁服务,该模式下数据是不具备区块链特性的,数据特性和存储到中心化云服务是一致的。
为了更清晰的区分 Arweave 和 Filecoin 等数据存储的区别,我们可以把 Arweave 上的数据命名为“共识数据”,不论是 BTC 还是 Ethereum 上的数据,都属于共识数据,这些数据都具备不可篡改和可追溯的特性。Filecoin 存储租赁市场所存储的数据不能称为共识数据。
去中心化存储出现了两个完全的不同的业务线。其中以 Arweave 为代表的业务线以共识数据为核心,强调数据去中心化、抗审查、可追溯等特性。以 Filecoin 为代表的业务线是以去中心化市场为核心,强调分配存储资源和证明存储成功。类比 DeFi 的发展,早期的 IDEX 用区块链技术打造了订单簿市场,订单簿是非常传统的业务模型,旨在用挂掉吃单的模式解决票券兑换。DeFi 的爆发是 Uniswap AMM 交易模型带来的流动性挖矿技术,AMM 让订单完全自动化运营,实现了流动性的组合性,最终迎来了 DeFi Summer 大爆发。当前的去中心化存储赛道里,Filecoin 所代表的同样是区块链技术打造了订单簿市场,而 Arweave 则使用了类似 AMM 的统一模型对数据供需进行管理。Arweave 统一模型更便于数据定价和处理,使用 Arweave 可以更方便的完成普通数据向共识数据的转化,这种共识之上的数据或将迎来“数据组合性”大爆发。
同时,不得不提及 SCP 理论(基于存储的共识范式),其核心思想是只要数据存储具备共识,那么使用这些数据组成的应用程序也可以形成共识。SCP 强调链下计算,数据可以存到 BTC、Ethereum 等各条链上,通过聚合区块链上的数据形成唯一状态。既然这些状态在任何计算单元运行都会产生同样的结果,为什么我们还需要在链上对其进行运算?浪费如此多的计算资源?
目前火爆的 BRC20,比特币铭文都使用了链下计算的共识。BRC20 协议和 Arweave SCP 所强调的存储共识是一致的,都是通过区块链作为数据层提供不可变、可追溯的交易数据,状态的计算完全在链下进行。借助 Arweave 的存储能力,SCP 理论可以获得更强大的共识数据集。Arweave SCP 理论已经发展出一套工程上完备的应用方案——Permaweb,相当于比特币索引器的终极版本,Permaweb 不仅可以处理资产,更可以处理文本、图片甚至视频。想象不久的将来,超级强大的索引器可以进行流媒体播放,打造出完全去中心化的抖音。
目前 Permaweb 方案支持的应用类型宽泛,不论是网盘、内容共创、游戏都能很轻易的使用该架构进行开发。Permaweb 应用之间的数据可以相互组合。例如作家通过内容共创将创作的文字和版权上传 Arweave,在另一款游戏中开发者可以直接引用作家的内容,并让玩家向作者进行版权付费。
更多关于 Permaweb 的技术架构可以查看:https://mp.weixin.qq.com/s/Socez-H7gP8le9LwGsAXPQ 。
目前 DePIN 遇到最大困境是区块链性能,DePIN 设备将会走入千家万户,但是没有任何一条区块链能承载如此巨大的用户交互。大多数 DePIN 仍然采用了中心化的方式处理数据,这将让 DePIN 丧失去中心化的特性。共识数据可以为 DePIN 带来更强大的赋能,一旦 DePIN 数据永久化之后,这些数据也会获得组合性特征。例如一张绿色能源证,可以在区块链 PoW 运算时抵消能源消耗,可以在内容创作上成为一个标识,也可以在游戏中成为徽章。数据和价值将无处不在地流动。
共识数据也同样适用于 AI 人工智能领域。人类的知识和历史应当永存,共识数据可以保障 AI 无法污染和篡改人类的知识和历史。同样地,共识数据可以作为 AI 的最佳数据原料,让 AI 可以学习和处理各种有效信息。
很多关于 Arweave 的愿景可以查看《Arweave 的潜力是复兴亚历山大图书馆,而非 Filecoin 替代品》 https://foresightnews.pro/article/detail/4297 。
可以在 PermaDAO 公众号搜索 “SCP” 关键字,查看更多关于 SCP 的介绍和实践。
关于 PermaDAO:Website | Twitter | Telegram | Discord| Medium | Youtube
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!