如果我们能将复杂性转移到基础设施层,制作 DApp 应该会更加简单。
撰文:w1nt3r.eth
编译:深潮 TechFlow
也许区块链会永存,但去中心化应用程序 (dApps) 的寿命却很短。
2024 年的万圣节,我尝试打开 2021 年使用过的 dApps,结果令人惊恐:域名过期、部署暂停、页面无法找到、服务不可用。
等等,这些应用程序不应该是去中心化的吗?它们本应是不依赖中心化实体的,像啤酒一样免费,像言论一样自由且抗审查的应用程序。它们是让 Web3 成为新互联网的应用程序。
但是这些应用程序几乎都已消失了,我两年前使用的大多数都不复存在。它们的「幽灵」可能还留在区块链的某个地方,只要你能找到正确的合约地址并猜出正确的调用数据。
为什么会发生这种情况?问题出在哪里?我们能做些什么来改变这种现状?
让我们翻阅一下我们从史前时代(2016 年)找到的古老文献。
「dApp」是「去中心化应用程序」的缩写。这个概念是,你可以使用开放技术(如 HTML/CSS/JS)制作一个 Web 应用,并将其托管在去中心化和无许可的基础设施上(如 IPFS)。dApp 通过你的钱包与区块链进行交互。你可以获取最新数据并发送交易,而无需依赖中心化公司。
这使得 dApps 几乎是不可阻挡的。免费、无许可、去中心化。这是那些真正朋克精神追求的梦想。
然而,大多数人并不在意去中心化和无许可的特性。他们更关心应用程序是否实用(以及数字是否能上涨)。
Web3 的开发者很快意识到,他们正与在 Web2 领域中设计精美、速度快且吸引人的 Web2 应用竞争用户的注意力,而去中心化在这个战场上并没有给他们带来太多优势。
那些深入了解技术的人明白区块链是一个真正的范式转变。但区块链上的一切都是「开源」的,可以被复制,因此它变成了一种商品。没有竞争壁垒。任何人都可以在任何地方部署 Uniswap 合约。事实上,任何人都可以创建自己的 L2!
真正的区别在于品牌、分发渠道、网络效应和用户体验。在数以亿计的 Uniswap 部署中,用户会选择他们信任的(品牌)、容易访问的(分发)、大家都在使用的(网络效应)以及界面友好的(用户体验)。
虽然我最后才提到用户体验,但这并不是最不重要的。糟糕的用户体验会带来负面影响。每个电子商务商店的老板都知道,每增加 100 毫秒的延迟,就可能失去 10% 的用户。如果用户体验不好,你无法打造高端品牌。如果你的应用程序让人用起来心烦意乱,你也无法留住用户。
部署到 Vercel 比部署到 IPFS 更简单
即使大多数用户对去中心化不感兴趣,真正的加密朋克仍然在意。不是说「每个人都应该是去中心化的狂热者」,而是因为「这是正确的做法」。即使当中心化实体变得敌对或遭到审查时,去中心化也能赋予人们权力和自主权。
这就是问题所在。要制作一个既去中心化又拥有良好用户体验的应用程序并不容易。但困难的原因却是因为我们(开发者)变得懒惰。
让我们来看看当今典型的「dApp」及其所依赖的技术。我将用我自己开发的 BasePaint 来举例。从某种意义上说,它应该是一个「Web3 dApp」:它使用区块链(Base L2)并依赖用户的钱包进行交互。但这还不足以提供良好的用户体验,所以我不得不加入一些非去中心化的元素。实际上,加入了很多。
BasePaint 的技术服务组成
以下是我在开发中不得不采用的集中化技术:
(你试过在手机上输入 QmRxM6Fz3jYBNLTNn59Whtj8uiFodC53Z5nEep6eSkwf8V 吗?)
作为一名 Web3 开发者,目前我看到的选择有:
以上选项都需要付出相当大的努力,并非默认的选择。查看任何 dApp 教程或模板,几乎没有提到这些问题。 其实,去中心化应用开发不必如此困难。如果我们能将复杂性转移到基础设施层,制作 dApp 应该会更加简单。
我们可以尝试在基础设施层面实现去中心化。例如,将 ENS 支持集成到 getaddrinfo 中,让所有浏览器都能原生支持 IPFS,并提升 IPFS 的速度至与当前最先进的 CDN 相媲美。我们还可以改进以太坊的 JSON-RPC,使其对去中心化应用 (dApps) 更加实用。但这只是简单的部分。
要替代集中式数据库和服务器,我们需要开发出一系列目前还不存在的技术。也许需要一种基于零知识证明 (ZK) 的分布式计算系统,能够在运行代码时获得奖励,或者一个能够高效执行通用 x86 指令的超级以太坊。
此外,我们还需要为围绕加密货币构建的所有服务找到去中心化的解决方案。我们需要设计新的激励机制——谁会为这些计算资源买单?在真正去中心化的系统中,现有的 SaaS 商业模式将不起作用。(但希望这些服务的费用可以通过加密货币支付,而无需信用卡。)
除此之外,我们还必须确保这种新体系的开发体验至少与当前的集中式平台一样好。那些平台已经投入了数十亿美元的工程时间来打磨,并在营销上投入巨资以充斥网络教程,试图说服大家他们的方案是最优的。
「你的科学家们过于关注技术的可行性,却没有停下来考虑这样做是否合适。」——摘自《侏罗纪公园》
但应用层真的需要去中心化吗?
Nouns 向我们展示了或许仅仅是区块链的去中心化就已足够。Nouns 拥有一个繁荣的应用生态系统,所有应用都与相同的合约进行交互。你可以通过 Camp 或 Agora 投票,这并不重要,你只需选择自己喜欢的界面即可。
为了吸引数十亿用户,加密货币可能需要成为现有系统中一个无缝集成的组件。这意味着理想的加密体验是用户甚至不知道自己在使用加密货币,因为它已经被抽象到无关紧要的程度。比如,只需轻触手机就能买到咖啡,至于使用的是 USDC 还是 Visa 网络,用户并不关心。
市场已经找到了一个局部的最优解:
我希望这种平衡能更多地向去中心化倾斜。我希望能像点击一个链接一样简单地在本地运行我自己的 Nouns Camp 或 Agora 版本。我希望我们能拥有一些工具,使得构建这些去中心化应用变得简单,同时不影响用户体验。
BasePaint 令人惊艳。它是一个自我维持的生态系统:艺术家创作作品,收藏家购买并在二级市场获利,所有者可以通过投票影响日常事务。这种模式行之有效,我们已经通过这种方式向创作者分发了超过一百万美元。
然而,整个系统中最薄弱的环节是我们这个团队。维护应用需要大量的努力,比如修复漏洞和提升用户体验。同时,我们也在努力让系统更加去中心化,比如使应用更易于自我托管,放弃权限控制而不是设置门槛。
去中心化应用(dApps)似乎已经失去了生机,因为「去中心化」的优势目前还不是用户所关心的,因此开发者们需要做出调整。我们已经停止了开发那些旨在使应用去中心化的工具。
幸运的是,区块链的底层基础设施比以往任何时候都更加稳固。基础技术更为扎实,发展路线图也令人期待。我们实际上有机会构建一个全球性的计算平台。
然而,遗憾的是,关于如何增强用户界面的讨论并没有受到足够的重视。dApp 的概念暂时被搁置……
【免责声明】市场有风险,投资需谨慎。本文不构成投资建议,用户应考虑本文中的任何意见、观点或结论是否符合其特定状况。据此投资,责任自负。