EthStorge如何帮助DAPP实现真正的去信任化

摘要:

  • 一个去中心化应用由多个部分构成,但目前只有最核心的后端逻辑运行在以太坊上,其他部分比如前端代码还部署在以太坊之外, 同时还包含很多没有上链的数据,所以大多数 DAPP 无法完整继承以太坊的安全性,远未达到理想化的状态。

  • 导致上述问题的原因主要有两个:一是以太坊没有为开发者提供相应的前端标准和工具,二是链上存储数据的成本太高。

  • 为了提供去中心化的前端标准,EthStorage 团队提出了 web3:// 访问协议, 为开发者提供一整套通过智能合约来部署和访问前端代码,甚至是类文件系统的标准和工具,目前已成为以太坊的正式标准。

  • 为了降低以太坊链上数据的存储成本,EthStorage 团队开发了二层存储协议 EthStorage, 利用 PoRA (Proof of Random Access) 和零知识证明,在继承以太坊一层安全性的同时,极大降低存储开销。

致谢:感谢来自极客 Web3 的 Faust,ChainFeeds 的 Zhixiong Pan、LXDAO 的 Bruce、EthStorage 的 Qi Zhou, Lun Deng 对本文的反馈。

去中心化 DAPP 的背景和问题

以太坊的愿景是成为世界计算机,希望在其上构建的应用程序都继承它的安全性。开发者只需一次部署,该应用就会永远在以太坊上运行,没有实体可以对其进行审查或恶意操纵。

但现在的去中心化应用 DAPP 是否达到了上述目标?为了更清晰的回答这个问题, 我们需要将一个 DAPP 应用解构,看它都包括哪些部分,进而分析各个部分的去信任化程度, 来得出最终结论。

一般情况下,一个去中心化 DAPP 会包含前端界面、后端服务器、数据库。用户访问前端界面时,会通过浏览器和域名服务来加载前端内容。其中:

  • 前端和域名服务: 大多没有通过智能合约来部署和访问,区块链提供的特性如避免单点故障、代码不可篡改、抗审查、社区治理等都没有在前端这部分体现出来。

  • 后端服务器 :部分由智能合约实现,有些计算密集型的任务无法完全上链。

  • 数据库: 部分由智能合约实现,由于链上存储费用非常高,数据量较大的情况下 DAPP 还是采用链下的存储方案。

通过上面的分析,可以看到 现在的去中心化 DAPP 只有部分组件通过智能合约获得了以太坊的保护 ,以太坊体系还远未实现当初的「去中心化的世界计算机」愿景。

2023 年末 Vitalik 回顾以太坊的发展,写了一篇反响较大的文章「Make Ethereum Cypherpunk Again」,讨论了以太坊社区该如何回归密码朋克的理念。他在文中总结了以太坊甚至是更大范围的 Web3 社区应该坚守的价值观,提到非常重要的一点:

去中心化应用应尽量减少对任何单一主体的依赖,即便 DAPP 的核心开发者永久消失,应用程序也可以继续运转。

由此可见 Vitalik 对于去中心化应用该如何构建也有类似的期待。接下来我们 将详细分析去中心化 DAPP 中每个组件面临的问题 ,探讨如何对其进行改进。

前端和域名服务

在去中心化应用的几个组成部分中,前端和域名服务的中心化程度最为严重。 目前绝大部分 dApp 的前端都使用中心化服务器,项目方可以随时修改前端代码,不需要经过社区治理,也不受到时间锁限制,这部分的安全性与部署在以太坊上的智能合约相去甚远。

黑客可以入侵服务器修改前端代码,而 dApp 用户会因为使用该恶意前端而损失资产。这个问题在上个 DeFi Summer 中反复出现 ,我们不禁要问:为什么前端不能和后端一样部署在以太坊上,让修改行为通过社区治理和时间锁才生效呢?

另外请设想一下, 假如 Uniswap 的开发团队有一天不再给他们的前端服务器以及域名服务付费,那么 Uniswap 的用户和 LP 将如何使用 Uniswap

绝大部分用户并不懂得如何绕过前端和智能合约交互,虽然 Uniswap 有尝试将其前端上传到 IPFS,但是 IPFS 和以太坊是不同的网络,在可靠性和去信任程度上完全不同。值得一提的是, IPFS 的内容访问速度很慢,现在绝大多数用户还是在和 Uniswap 部署在中心化服务器上的前端进行交互

此外,因为 Uniswap 前端的运营主体是 Uniswap Labs,他们为了迎合监管,增加了对 Token 列表的审查, 这与他们在以太坊上部署的智能合约进成了反差,因为谁都无法随意对智能合约进行修改。所以,在前端被审查的 Token 还是可以在合约层面被交互到的,由此可见代码上链对抗审查的重要性。

后端服务器

因为 EVM 可以提供图灵完备的执行环境,所以大部分后端逻辑都可以在以太坊链上执行,我们可以说智能合约类的应用可以完全继承以太坊的安全。只是因为成本原因,一些 计算密集型的任务无法直接在链上进行

针对这个问题,现在探索比较多的是使用 ZK 或者 OP 的方式, 将计算移交到链下完成,以太坊链上只对计算结果进行最终确认,以此在计算层面上进行扩容 。有些 AI 相关的项目将这类方法推向了极致,希望将 AI 大模型这种超级计算密集型的任务与区块链挂钩,值得我们去密切关注。

数据库

对于数据库,EVM 原本就支持键值对 /KV 型存储 (Key Value Store),可以覆盖非常多的使用场景,但核心的问题是:链上存储的成本太高。

贵到什么地步呢? 在 Gas Price 为 10Gwei 的情况,链上存储 1GB 的数据需要 6200 多枚 ETH,超过 2000 万美元! 显然存储成本成为了数据库去中心化的核心问题。

我们可能会想,能否使用和上述计算扩容类似的方法,对存储进行扩容, 也就是链下存储,链上验证存储效果 。后面我们会对这个思路详细展开。

分析了上述谈及的 DAPP 组成部分后,我们发现,只有让 DAPP 的每个部分都足够安全和去信任,其作为一个去信任的整体,才能真正成为一个去中心化的 DAPP。而以太坊作为 dApp 的运行与托管平台,需要给开发者提供相应的解决方案,才能孕育出符合以太坊愿景的应用生态。

DAPP 的去信任解决方案

围绕着 如何让 DAPP 完全基于以太坊来部署和访问,EthStorage 团队提出了两套解决方案:

  • web3:// 访问协议: 解决如何使用智能合约来部署和访问前端代码,甚至是类文件系统的问题。

  • EthStorage 二层存储协议: 在继承以太坊安全性的同时,极大降低了存储开销。

web3:// 访问协议

web3:// 可以被理解为去中心化版本的 http://,与 http 的 URL 中通过指定服务器 IP 地址或者域名来访问中心化的资源类似,web3 的 URL 需要指定一个智能合约地址或者 ENS 域名,来访问存储在其上的资源。

我们可以将一个网站的前端全部部署到一个智能合约中,并通过 web3:// 来访问!可以对比一下两者的区别:

目前 web3:// 已经成为了以太坊的正式标准(ERC-4804) ,如果希望详细了解 web3:// 访问协议的内容,可以访问其官网。为了更好的在智能合约中做文件管理,我们提出了 ERC-5018,它在智能合约中模拟了一套文件系统的接口,这样就可以通过 ethfs-cli,将打包好的前端代码文件夹上传到一个智能合约中,并通过 web3:// 来访问这个网站。

大家如果感兴趣,可以按照 教程 完成一个简单的去中心化应用部署和访问。

有了 web3:// 访问协议,我们才能真正让 dApp 前端也具有了「Code is law」的属性 。对于开发者来说,一旦部署,这个前端将永久执行下去。试想如果 Uniswap labs 也将其前端部署到了以太坊,那么即使团队想在前端层面对用户进行审查和限制,也无法阻止人们使用其部署在以太坊上的前端了。

当然在解决了可行性的问题后,我们还意识到链上存储大量数据的成本会非常高,从而使开发者在链上部署前端的时候面临困扰。我们进一步开发了 EthStorage 二层存储协议,在继承以太坊安全性的同时,极大降低存储开销。

EthStorage 二层存储协议

EthStorage 协议由部署在以太坊上的智能合约和 Layer2 网络中的存储节点组成,其中, 智能合约提供了键值存储, 而二层的存储节点负责存放数据本身

用户通过 EIP-4844 的 BLOB 将待存储的数据上传到以太坊上,EthStorage 智能合约只会记录 BLOB 内数据的哈希,从而有效的降低存储成本。

同时, 二层的存储节点会下载对应的 BLOB 数据到本地磁盘,使用 PoRA (Proof of Random Access) 和 ZK,将存储证明提交至以太坊上的合约做验证, 该合约需要通过之前记录的 Blob 哈希来确认存储节点上传的 ZK 证明能否对上号,以此确认二层网络中的存储节点真的存放了这些数据。

具体流程如下:

对于开发者来说,其上传数据和获取数据的接口非常简单:

应用开发者可以直接通过 EthStorage 提供的合约接口,对大块数据进行读写,写入成本约等于直接在链上存储数据的千分之一。 因此,EthStorage 不仅支持链上部署前端,对更广泛的键值存储数据库操作也提供了成本更低的解决方案。

目前,EthStorage 已获得了以太坊官方的 Grants,并且已经在 Sepolia 部署了公开测试网,欢迎大家加入。

总结与展望

大多数 DAPP 的重要组件如前端和数据库未部署在以太坊,无法继承以太坊的安全,导致应用作为一个整体无法做到永久执行,抗审查,可治理。

EthStorage 对此提出了两个方案解决这个问题:web3:// 访问协议解决使用智能合约来部署和访问前端的问题;EthStorage 二层存储协议解决存储成本过高的问题。

为了实现以太坊最初的愿景,我们认为它将演进为一个去中心化的 Web 服务器,生态中的去中心化应用会将其所有组件都部署于以太坊,不管是后端代码、前端还是数据,一旦部署,代码可以永久运行,数据可以永久访问,成为一个真正的 Unstoppable Dapp。

EthStorage 公开测试网正在进行第二次激励活动,感兴趣的社区小伙伴可以按照 Guide 完成自己的第一个 Unstoppable Dapp 部署和访问!

  • Related Posts

    一场事先张扬的死亡:Jeffy假死背后的金钱和人性

    Jessy,比特链视界 币圈Meme又出新叙事:死亡赛道。 …

    被币安下架却暴涨 羊驼币庄家的极限操盘

    Jessy,比特链视界 按照常理,一个代币被交易所下架,是一…

    发表回复

    您的邮箱地址不会被公开。 必填项已用 * 标注

    You Missed

    从 Meme 币到 CSGO 皮肤:投机永不眠

    • jakiro
    • 15 5 月, 2025
    • 0 views
    从 Meme 币到 CSGO 皮肤:投机永不眠

    这一次以太坊散户战胜机构

    • jakiro
    • 15 5 月, 2025
    • 2 views
    这一次以太坊散户战胜机构

    Bankless:重建以太坊的产品与货币循环机制

    • jakiro
    • 15 5 月, 2025
    • 2 views
    Bankless:重建以太坊的产品与货币循环机制

    巴菲特的 9 条重要投资经验

    • jakiro
    • 15 5 月, 2025
    • 1 views
    巴菲特的 9 条重要投资经验

    华尔街日报:巴菲特为何退休?下任接班人是谁?

    • jakiro
    • 15 5 月, 2025
    • 4 views
    华尔街日报:巴菲特为何退休?下任接班人是谁?

    Fartcoin的屁声响彻华尔街

    • jakiro
    • 14 5 月, 2025
    • 5 views
    Fartcoin的屁声响彻华尔街
    Home
    News
    School
    Search