当前位置:首页 > 币圈生态 > 正文

从前端向数据库转移: EthStorge在 DAPP中的应用

一个分散式的应用程序是由许多组件组成的,但是现在,它的后端和核心逻辑都是在以太币上进行的,而前端和前端的代码都是在以太币以外进行开发的,而且还有大量的数据没有上链,因此,大部分的 DAPP并不能完全继承以太币的安全机制,离理想的情况还有很大的差距。

之所以会出现这种情况,一方面是因为以太币缺乏相关的前端开发标准和技术支持,另一方面则是因为以太币的数据存储成本过高。

为了给前端提供一个分布式的规范, EthStorage小组推出了Web3://Access Protocol,给开发人员提供了一套完整的规范和工具,让他们可以在使用智能合同的情况下,对前端进行配置和调用,哪怕是一个类似于文件系统之类的东西,这也是 EthStorage的官方规范。

为了降低以太坊链上的数据存储成本, EthStorage项目组研发出了 EthStorage这一基于 PoRA (随机访问 Protocol)的二级存储协议,该协议采用了零知识验证技术,在保留了以太坊链的一级安全特性的前提下,大大减少了存储费用。

从前端向数据库转移: EthStorge在 DAPP中的应用 从前端向数据库转移: EthStorge在 DAPP中的应用 币圈生态

感谢:极客Web3的 Faust、 ChainFeeds的潘季京、 LXDAO的布鲁斯、 EthStorage的周奇、 Lun Deng为这篇文章提供了宝贵意见。

分散式 DAPP技术的发展背景及存在的主要问题

以太币的目标是做一台“世界超级计算机”,在上面开发的所有应用都将继承以太币的安全特性。开发人员只要一次安装,这个程序就会一直在以太币上工作,不会被任何机构检查或者恶意操控。

但是, DAPP这种分散式的应用真的能实现这些目的吗?要想得到一个比较明确的答案,就必须对 DAPP程序进行分解,看看每个程序都包含什么,然后再对每个程序的失信度进行比较,最后才能得到一个比较明确的答案。

通常,分散的 DAPP包括前端接口、后端服务器和数据库。当用户存取该前端接口时,该前端内容经由该浏览器及该域名服务被载入。在这些人当中:

前端和域服务:大部分并未采用智能合同的方式进行配置和接入,而区块链所具备的避免单点失效、不可篡改代码、抗审查和社区治理等功能,也未在这一领域得到充分的实现。

后端伺服器:由于一些运算负荷大的工作不能完整的上线,所以部份采用智慧型契约来完成。

数据库系统:部分通过智能合同的方式来完成,因为在链条上储存的成本很高,所以 DAPP在数据比较多的时候仍然使用链条下面的储存方式。

从以上的分析可知,目前的分散式 DAPP系统仅有一部分的功能部件能够利用智能合同得到以太币的保障,而以太币系统距离最初的“分散式全球电脑”的目标还有很长的路要走。

在2023年年底, Vitalik发表了一篇名为“重新启动 EthereumCypherpunk”的文章,对 EthereumCypherpunk的发展进行了一番反思,探讨了 EthereumCypherpunk社区如何重新回到加密朋克的概念。在这篇文章里,他概括了以太币乃至整个Web3社区需要坚持的几个原则,并提到了非常关键的一点:

分散的应用程序应最小化对一个人的依赖,这样即使 DAPP的主要开发人员永远不在了,它也能运行下去。

由此可见, Vitalik也同样希望看到分布式应用程序该怎样建立。在此基础上,对分布式 DAPP的各个组成部分所存在的问题进行了详细的分析,并探讨了解决这些问题的方法。

从前端向数据库转移: EthStorge在 DAPP中的应用 从前端向数据库转移: EthStorge在 DAPP中的应用 币圈生态

前端和 Domain Service

在分布式应用程序的若干组件中,前端和网域服务是最集中的。目前大多数 dApp的前端,都是采用中央服务器的形式,项目方想做什么就做什么,无需管理,也没有时间锁,与以太币上的智能合同相比,这方面的安全性差得很远。

黑客能够侵入服务器并更改前端程式码, dApp的使用者将会由于使用了这种不受欢迎的前端程式码而失去财产。在上次的 DeFi大会上,我们又遇到了同样的疑问:为何前端不能像后端那样部署在以太币上,并且只有在经过了社群管理和时间锁定之后,更改才会起作用?

还有,想象一下,如果有朝一日 Uniswap的开发者不需要支付前端服务器和域名服务的费用, Uniswap的使用者和客户会怎么做呢?

绝大多数人都不知道该怎么绕开前端,也不知道该怎么和智能合同互动, Uniswap倒是想把它的前端放到 IPFS上去,但 IPFS和以太币毕竟是两个网络,可信度和脱信度都不一样。注意, IPFS提供了缓慢的内容存取,并且目前大多数使用者仍然与 Uniswap的前端互动,而 Uniswap的前端配置于中央伺服器上。

而且 Uniswap的前端是由 Uniswap实验室负责操作,所以对于 Token清单的审核会更加严格,这也是 Uniswap实验室的一大特色,也是 Uniswap的一大特色,与之形成鲜明对比的是, Uniswap将智能合同放在了以太币上,没有人可以随便更改。因此,前端受到审核的 Token仍然能够在合同级别上进行交互,从这一点就能看出,在代码层面上的链条对于抵抗审核的重要意义。

后台伺服器。

由于 EVM能够提供完整的图灵执行环境,因此大多数的后端逻辑都能够在以太坊链上完成,因此,对于像是合同这样的智能应用,其安全性也能够得到很好的继承。仅仅由于成本的缘故,某些计算密集型任务不能在链路上被直接执行。

为了解决这一问题,目前研究得较为广泛的方法是采用 ZK或 OP方法,通过将运算转移到链路下方来执行,而仅在以太网上对运算结果进行最后验证,来实现运算级的扩展。一些人工智能项目已经将这些技术运用到了极限,试图将人工智能的大型模型和区块链联系起来,这些都是需要大量的计算机才能完成的工作,我们应该对此保持警惕。

资料库|资料库

在数据库方面, EVM本来就提供了key-Value对/KV类型的存储(key-Value Store,密钥- Value Store),该类型的存储能够适用于许多不同的应用场合,但是存在一个关键的问题,即在链路上进行存储的开销过大。

有多贵?在天然气价格为10 Gwei这种情况下,在链条上储存1 GB数据就需要6200 ETH以上,即2000多万美金!显然,存储费用是分布式数据库的关键。

我们可以考虑,是否可以利用与上文所描述的用于增加计算容量的方式相似的方式来增加存储器容量,即,向下存储并且向上检验所述存储器的有效性。我们将在稍后的文章中更详细地阐述这种思想。

分析上面讨论的 DAPP的部件之后,已经认识到, DAPP的各个部件如果被充分地确保是安全的且可信赖的,则它将实际上是可信赖的整个 DAPP,而不是集中式 DAPP。而作为 dApp的运营和承载平台,以太币也必须为开发者提供一个合适的平台,让 dApp能够按照以太币的理念,形成一个完整的软件体系。

分布式应用程序设计中的一种去信任方法

而对于 DAPP的部署和接入, EthStorage小组给出了两个方案:

Web3://Access Protocol:描述了怎样利用一个聪明的合同对前端代码进行部署和存取,即使是一个类似的文件系统也是如此。

EthStorage的二级存储协议,在很大程度上减少了存储成本的同时,继承了以太币的安全性。

Web3://Access Protocol

Web3://是 http://的分散型形式,与 http://的 URL相同, http://的 URL只需提供服务器的 IP地址或域名即可存取集中式的资源,而web3://的 URL只需提供智能合同地址或 ENS域名即可存取其中所储存的资源。

我们可以把一个 Web站点的所有前端都配置成一个智能合同,然后用web3的 http://进行访问!这其中的不同之处如下:

从前端向数据库转移: EthStorge在 DAPP中的应用 从前端向数据库转移: EthStorge在 DAPP中的应用 币圈生态

目前,web3://(ERC-4804)已经是以太币的官方规范,具体的web3://接入协议,请参见官方网站。为了使智能合同中的文档管理更加方便,我们设计了ERC-5018,该ERC-5018仿真了智能合同中的一组文档系统的界面,从而使前端的封装后的文档能够通过ethfs-cli上传到智能合同中,并且能够在web3://.

如果你有兴趣的话,你可以跟着这个指南来实现一个简易的分布式应用程序部署和存取。

通过Web3://Access Protocol,我们可以使 dApp的前端也拥有“代码即法律”的特性。对于开发人员而言,此前端在被部署后将被永远地运行。假设 Uniswap labs把它的前端也放到了以太网上,那就算 Uniswap labs想要在前端上做一些审核和约束,也挡不住那些人在以太网上用 Uniswap的前端。

当然,在考虑到其可行性之后,我们也认识到在链条上储存庞大的数据会很昂贵,这使得开发人员在链条上进行前端部署时遇到麻烦。在此基础上,我们提出了基于 EthStorage的二级存储协议 EthStorage,该协议在保留了 Ethernet的安全特性的前提下,大大的减少了存储开销;

以太网存储二级存储协议

EthStorage协议是一种基于 Ethernet的存储技术,它包括一个配置在 Ethernet上的智能合同和一个Layer2网络上的存储节点,在 Ethernet上的智能合同实现密钥和价值的存储,在Layer2网络上的存储节点则实现数据的存储。

用户在EIP-4844的 BLOB中将要储存的资料上载到 Ethernet, EthStorage Smart Protocol仅对 BLOB中的资料进行哈希(hash)记录,因此可有效减少储存费用。

同时二层网络的存贮节点也会将相应的区块数据下载到自己的磁盘上,并利用随机存取协议 PoRA和 ZK将存贮凭证递交给 Ethereund的一个契约进行认证,这个契约会要求存贮节点根据先前的区块哈希来确定存贮节点上载的 ZK凭证是否正确,从而确定存贮节点确实是存贮了相关的信息。

具体操作步骤为:

对开发人员而言,它用于上载和接收数据的界面很简单:

应用程序开发人员可直接从 EthStorage的合同界面读取和写入大容量数据,其写入费用相当于在链条上直接存储的1/1000。因此, EthStorage不但支持在线部署的前端,而且还能以较少的费用实现对大量键-值存储和数据库的操作。

目前 EthStorage已经拿到了正式的以太币授权,并在赛博利亚开通了公测网络,欢迎您的参与。


相关文章:

  • 数字货币是什么时候开始的(数字货币app官网下载)2024-05-16 18:35:05
  • 在数字货币中1u是什么单位(数字货币桥是什么意思)2024-05-16 18:35:05
  • 央行的数字货币和比特币的区别(央行数字货币与比特币的异同)2024-05-16 18:35:05
  • 数字货币地址前面sc是什么意思(scc数字货币)2024-05-16 18:35:05
  • 数字货币投入最大的是什么(数字货币最大的受益者)2024-05-16 18:35:05
  • 数字货币最新的进展情况是什么样的(数字货币2021)2024-05-16 18:35:05
  • 央行要发数字化货币比特币(央行要发数字化货币比特币吗)2024-05-16 18:35:05
  • 十大主流数字货币排名(十大主流数字货币实时排行)2024-05-16 18:35:05
  • 文章已关闭评论!