作者:0xhhh , 0xCryptolee
审阅: Qi Zhou
组织: EthStorage Builders
区块链自诞生以来已经走过了14个年头,单片区块链的“不可能三角”问题阻碍了区块链应用的大规模采用。社区在单片链扩容的方向上进行了多次尝试,可结果却不尽如人意,最终模块化区块链的发展方向逐渐迈入正轨。以太坊在The Merge之后,将会加速实现Danksharding的DA层扩容方案。为Rollup专设的Data Blob数据,也会在固定时间以后被网络删除,如果数据不删除的话,将会导致以太坊的状态爆炸,单个节点要存储的数据将会大大增加,最终影响网络的去中心化,数据不能妥善的存储,则Data Available将不能保障,EthStorage 通过构建一个去中心化的存储网络补齐了这个短板。
本篇文章将从去中心化存储的流程开始,由浅入深,为读者逐步分析EthStorage的架构并剖析架构之下对于数据 CRUD 操作的细节,帮助理解 EthStorage 的技术潜力,并展望EthStorage生态下可能出现的潜在应用。
随着Web3的发展,越来越多属于Web3的数据被挖掘和产生,而这些数据往往被存储在web2的中心化的存储平台上,但是这往往会带来额外的问题,例如中心化服务器的崩溃导致数据丢失,数据审查等问题。
因此去中心化存储也孕育而生,跟中心化存储不同的是,提供数据存储服务的数据节点网络,是通过p2p网络进行网络通信和数据同步的,并且任何人都可以无许可( permissionless )的加入这个网络,成为网络中的一个数据节点 。
从用户端而言,任何用户都可以无许可地存储任何你想存储的数据,只要为数据支付相应的存储费用;最终存储的数据会以多个副本的形式保存在网络内,因此也基本上避免了数据丢失的可能性(容灾性好)。
需要读取数据的时候,用户的读取请求会由p2p网络进行转发,最终存储了该数据的数据节点会响应该读取请求。
EthStorage 是一个去中心化的存储方案,采用key-value的存储范式,与处于市场头部的去中心化存储解决项目 Arweave 和 Filecoin 采用的静态文件的存储范式不同。
得益于key-value的存储范式,EthStorage可以支持CRUD, 即创建新的存储数据,更新存储数据,读取存储数据和删除存储数据。 这在中心化存储领域是很容易实现的,但是在去中心化存储领域目前只有EthStorage 可以支持完整的CRUD,究其原因,是因为更新的操作跟区块链的不可篡改的特性有冲突;为实现更新数据这一功能,EthStorage 实现了一种充满智慧的存储方案:KV的存储范式结合定制的存储证明算法( EthStorage 的存储证明算法是Pow与Proof-of-Random-Access 的结合体)。
EthStorage 和其他的去中心化存储方案的对比: