通过区块纺以及共识机制的设计, 矿工们会自发地去下载稀有的数据, 这就会保证数据的平均存储个数保持统一. 下图第一行展现了传统区块链的各个节点. 各个节点需要下载所有的数据, 这浪费了很多资源. 第二行表示了矿工自发下载稀有数据之前的情况, 稀有数据有可能被矿工所遗漏, 导致了数据可能的丢失, 并且部分数据的过多存储. 而第三行则是 Arweave 现在的情况, 表示了矿工在自发下载稀有数据后达成的平衡情况. 每份数据都有相同数量的拷贝, 在最大化数据存储安全性的情况下, 避免了资源的浪费. 除此之外, Arweave 的矿工在 SPoRA 的共识下, 可以更加专注于提升硬盘设备. 同时在 后续的版本 中, Arweave 会继续降低 CPU 的配置要求, 专注于让 Arweave 的数据存储和读写体验更加好. 4. 网络与应用架构Arweave 的 DApp 并非直接运行在 Arweave 区块链上. Arweave 只是一个类似硬盘或数据库的区块链. 在 Arweave 区块链网络层的上层, 还有一层 permaweb (永久网络). permaweb 层中运行着 Arweave 的去中心化应用. 以太坊中的 DApp 智能合约则全是运行在以太坊的 EVM 中的, 是直接运行在以太坊网络中的. Arweave 的区块链结构以及存储的定位, 与图灵机的纸带非常相似. 开发者可以用代码自行管理应用状态, 运用 Arweave 来记录这些状态到链上.Arweave 这样的架构给开发者提供了极高的自由度. 就和 Web2.0 时代一样, 一个应用程序的后端使用 PHP 还是 Java 都无所谓, 任何的开发者在熟悉 Arweave 的 HTTP API 以后 (对开发者来说学习成本几乎为0) 都可以将 Arweave 作为区块链数据库, 以 基于存储的共识范式 来开发出自己的去中心化应用. 基于存储的共识范式 (SCP) 是一种智能合约设计思路, 给 Arweave 带来了无限的生态潜力. 但这样的开发灵活度带来的问题是, 由于 DApp 不是运行在 Arweave 上的, Arweave 没法直接规定 DApp 的合约与代币标准. 我们将在后面一节中具体探讨 Arweave 智能合约的内容. DApp = 前端页面 = 智能合约
|