Web3将不会建立在现行智能合约公链上
注:这是社交公链DeSo发表的文章,其认为未来诸如社交在内的WEB3.0的应用不应该建立在现有的通用性智能合约公链上,需要定制化的区块链来,让Web3充分发挥。
许多人认为,ETH、ADA、Avalanche和Solana等通用区块链将为互联网上的一切提供动力,包括金融应用、社交应用,甚至亚马逊一类的市场。但一个严重的问题却被广泛忽视了:链上存储。
虽然今天的通用区块链在像DeFi这样的轻存储应用程序上运行良好,但它们无法扩展以处理像社交应用程序和市场这样的重存储应用程序。想象一下,在这个世界里,每一个“赞”或每关注一个去中心化的应用程序,都要支付1美元以上的存储费用。不幸的是,目前市场上所有通用区块链的存储都存在限制。
数字不会说谎。下表说明了仅存储1gb链上状态的成本在整个区块链内是如何变化的。重要的是,随着通用区块链变得越来越受欢迎,存储会越来越稀缺,这些成本预计也只会增加。我们稍后将会把DeSo作为特例进行讨论。
即使使用以存储为中心的区块链桥梁,如Arweave或Filecoin,这些链上存储的高成本也阻碍了绝大多数web 2.0应用程序用在今天的通用区块链上。按照目前的价格,即使在通用链上存储一个连接Arweave或Filecoin的链接也需要0.1-1美元,这是非常昂贵的。随着这些区块链变得越来越受欢迎,成本可能会进一步上升,因为它们的设计初衷不是为了扩展规模存储。
此外,尽管许多区块链公司声称其每秒能够处理数千个事务,也就是TPS,但该指标没有考虑到当前应用程序的存储属性。50000个DeFi事务可能产生零字节的新状态数据,这与50000个社交事务可能产生需要存储、索引和查询的几十兆字节有很大区别。今天,就连最先进的区块链都完全不能处理后一种类型的事务,而这种限制阻碍了开发一些有趣的Web3应用程序。
多年来,我们一直在研究如何战胜这一挑战。我们相信所有存储密集型的Web3应用程序,如社交应用程序和市场,都需要开发新类型的区块链。这是因为,正如我们将要讨论的,这些应用程序是无限状态应用程序,而不是有限状态应用程序。
从有限状态到无限状态
如今,市场上所有的通用区块链都是为了支持我们所说的有限状态应用而构建的。在这些应用程序中,您必须为每个用户保留的数据量或状态是有限的。例如,为了构建一个金融应用程序,您验证交易真正需要知道的是每个用户的帐户余额。用户可以在彼此之间转移资金数百万次,但最终你只需要存储几个数字来指示每个用户的最终余额。换句话说,你必须保持的状态是用户数量的函数,而不是交易数量的函数。
也许令人惊讶的是,几乎所有的去中心化金融,也就是DeFi,都是由有限状态应用程序组成的。只要你能存储少量的账户余额,你就可以开始为人们构建任意复杂的工具来交易、借贷等等……你永远不需要储存超过长期期末余额的东西。
这是因为用户在DeFi应用程序中执行的交易是状态中立的交易,这意味着他们只是修改现有余额,而不是向状态追加新数据。问题是,随着区块链试图破坏金融领域以外的应用程序,他们开始需要处理一类完全不同的应用程序:无限状态应用程序。
现在,如果我们想放眼金融以外的领域呢?无限状态应用程序是指需要存储的数据量随着每个用户执行的操作数量而无限增长的应用程序。例如,拿一个典型的社交应用举例。用户可以创建一个配置文件,添加状态,发帖,添加状态,跟踪人,添加状态,喜欢的东西,添加状态,等等...不同的是,在社交应用中,所有的交易都是状态增强的,而不是状态中立的,就像DeFi一样。
有了社交应用程序,你需要能够存储无限量的数据,而不仅仅是在你的状态下保留一些账户余额。更糟糕的是,这种状态需要被网络上的其他用户频繁查询,要求它具有高可用性。不幸的是,我们今天使用的许多应用程序都是这样的,包括大多数社交应用程序和市场。此外,正如我们将要讨论的,目前市场上现有的通用区块链都不具备处理这些类型应用的能力。
通用链不可避免的拥塞
今天市场上所有的通用区块链,包括ETH、ADA、Avalanche、Solana和其他公司,都没有能力处理无限状态的应用,比如社交应用和交易平台。这是因为扩展无限状态应用程序,即使是对少数用户,也需要针对当前应用程序的存储和索引需求而定制的解决方案。记住:每秒50000个状态中立事务与每秒50000个状态增强事务是不一样的。
例如,市场上大多数最新的通用区块链通过将所有帐户状态存储在内存中来保持高TPS。这不仅适用于像DeFi这样的无限状态应用,如果你想成为最快的DeFi区块链,这也是最佳选择。然而,一旦有人试图在你的链上构建无限状态应用程序,你就不得不为每个用户存储一个数字,从而不得不存储潜在的兆字节或更多,这意味着这些内容突然就不再适合内存了。此外,如果区块链是通用的,它不能智能地决定什么账户状态需要在内存中,什么不需要,它当然不能索引数据,使其可以实时查询。
最终结果是,今天所有的通用区块链不得不实施存储限制,以保持其可行性。这会导致存储费用飙升,使得在其上构建无限状态应用程序变得可能性十分微弱,而且随着这些链变得越来越受欢迎,情况只会越来越糟。
没有人试图在通用区块链上构建无限状态应用程序,因为不可能以足够低的成本做到这一点。但是有很多有趣的应用程序处于无限状态。事实上,绝大多数Web 2应用程序都处于无限状态(FB、Insta、Amazon等)。那么,如果您甚至不能在当今有限的状态链上构建大多数Web 2应用程序,那么Web3该如何实现呢?而且,只需一个人在通用的区块链上构建一个无限状态的应用程序,然后存储就会变得拥挤。打个比方,假设你和另外三个室友共用一个宿舍——如果其中一个房间很乱,那么你的房间就会变得杂乱不堪。同样,构建一个全面的社交应用程序或市场,即使是在一个较新的通用区块链上,也会立即达到这些区块链固有的存储限制,导致所有无限状态应用程序相对较快地变得几乎不能工作。这个公共场所的悲剧已经在以太币上演,它也开始在Solana出现。
使用DeSo扩展无限状态应用
为了处理无限状态应用固有的存储和索引需求,我们认为,区块链将需要为手头的应用做些定制。这是因为,如果不能对将要存储的数据类型(模式)进行假设,存储、索引和查询数据的成本就会急剧上升,从而使构建在链上的应用程序缺乏竞争力。
举一个非常具体的例子,去中心化的的社交区块链,又名DeSo。DeSo从头到尾都是定制的,以支持社交应用程序,这意味着它存储的所有数据和索引都遵循一个已知的模式。
文件的存储和索引方式不同于帖子,帖子的存储和索引方式不同于关注,等等...这种级别的定制不仅使其存储成本比Avalanche或Solana便宜1万倍,而且还允许所有DeSo节点提供所有相关数据的即时查询。诸如确定谁喜欢某篇文章或确定谁关注某个帖子之类的查询,这实际上是即时的,如果数据以非结构化方式存储,这将非常高贵。这也使得开发人员在DeSo上构建应用程序变得更加容易,这也是已经有超过100个应用程序在其上构建的部分原因,包括Diamond、PolyGram、Cloutfeed、Pulse、Supernovas等等。
下面的简单表格说明了存储1g链上状态的成本如何在不同的区块链中变化。还需要注意的是,随着时间的推移,通用区块链的存储租金预计会随着存储变得稀缺而增加。相比之下,DeSo的成本预计是固定的,甚至可能会下降,因为它是用来处理无限状态用例的:
有趣的是,尽管DeSo区块链的设计初衷是支持社交应用程序,但需要注意的是,只要模式定义良好,它还可以扩展为支持任何无限状态应用程序。关键在于,每种新类型的应用程序都在裸金属级别得到支持,并以优化该应用程序的存储和索引需求的方式进行定制。这意味着,随着时间的推移,随着围绕DeSo区块链形成的网络效应,它可以扩展到支持交易平台数据结构乃至更多方面,使它有可能颠覆所有Web 2.0,而不仅仅是社交媒体巨头。
关注存储的区块链说明
值得一提的是,也有区块链专门专注于存储,如Filecoin或Arweave。有人建议,这些区块链可以与通用区块链结合使用,以缓解他们面临的存储问题。然而,实际上,通用区块链的存储成本非常高,以今天的价格计算,即使为每条内容存储一个到Filecoin或Arweave的简单链接也要花费0.1-1美元。使用这些桥构建大多数无限状态应用程序的成本高得令人望而却步,而且随着这些链变得越来越受欢迎,成本只会增加。此外,存储在Filecoin或Arweave中的数据不会被适当地索引,因此需要创建一个完整的单独的索引层来大规模支持每个应用程序。索引层需要有自己的激励结构,因为大规模运行的成本越来越高。
如上所述,Arweave可用于存储不需要索引的数据,也称为blob存储,如果用户有意愿的话,DeSo区块链允许将图像和视频存储在Arweave上。然后,德索区块链存储了一个到Arweave的链接,而不是将图像存储在链上或集中的服务中。值得注意的是,因为在DeSo上存储链接的成本实际上是免费的(0.0000184美元),所以DeSo可以以今天的通用区块链无法做到的方式集成这些系统。
结论
我们认为,大多数加密领域低估了以可扩展的方式存储和索引数据的难度。长久以来,整个领域都被限制在有限的状态应用程序中,而没有考虑到广泛的无限状态应用程序,如社交应用程序和交易平台,它们实际上构成了Web 2.0应用程序的大部分。鉴于现有通用链固有的存储和索引限制,我们认为需要定制区块链来支持新的用例,从而让Web3充分发挥。
Scan QR code with WeChat