神译局是36氪旗下编译团队,关注科技、商业、职场、生活等领域,重点介绍国外的新技术、新观点、新风向。
编者按:什么是Web 3.0?集体幻觉?大规模诈骗?环境灾难?还是去中心化的复兴?或者互联网的未来?本文是对Web 3.0这个生态体系当前状态的长篇分析。这是从务实的开发者的角度收集的一批意见。文章的焦点不在经济以及区块链本身的金融机制。因为噪音太多,又缺失了那么多的因素,所以我们不可能做出准确预测。但是,可以承诺的是,跟你在社交媒体上面看到的那些典型的Web3 推特风暴相比,这篇文章肯定少了 50% 的浮夸言论, 100% 没有庞氏骗局。文章来自编译,篇幅关系我们分四部分刊出,此为第二部分。
划重点:
当今的智能合约编程模型存在严重缺陷
分布式共识技术有可能在未来十年内出现根本性的变化
预期我们会生活在一个多区块链存在的世界里,这个世界会很复杂
大家经常会把区块链实际上没有的权力塞到区块链头上
把代币看作是潜在权利的纯粹抽象
相关阅读:杜绝炒作:一位工程师对Web 3.0的冷静观察(一)
像以太坊与 Solana 这样的现代可编程区块链取得的技术成就令人印象深刻。不过与此同时,智能合约也存在一些非常有问题的限制:
智能合约不能引用“现实世界”,只能引用区块链本身。这被称为“预言机问题”(oracle problem,区块链无法自己获取链下数据,也无法向链下系统传输数据),这导致区块链变成一个必然封闭的系统。这个问题看起来似乎不大,但实际上影响非常深远。比方说,当智能合约开发者希望自己的链上代码引用现实世界的资产价格时,该问题迫使开发者越过重重障碍建立自己的“价格预言机”。像 Chainlink 这样的公司就充当了预言机的角色,把现实世界最有利可图的一组数据写入区块链。但是,由于区块链存储成本非常高,把现实世界的数据存进来,尤其是需要定期更新数据的话,所需要的成本令人生畏。光是计数这么一个简单问题,现实世界绝大多数的计数就是智能合约没法访问得了。除此之外:要想用预言机提供的数据的话,你就得信任它。Web3 世界中的信任问题已经不仅仅是技术上的问题,还变成了哲学问题。
智能合约没法升级。智能合约一旦部署就得永久运行;智能合约的代码没法更改。软件开发行业对这种部署模式几乎没有经验。相反,在错误和安全漏洞方面倒是有了数十年的经历,这表明“不可变代码”从根本上是行不通的。工程师已经找到了变通办法。比方说,EVM 的设计可以将任意调用从一个合约转发到另一个合约,这就是以太坊代理模式。但维护代理合约非常困难!别的区块链,比如 Tezos,从一开始就考虑了代码升级的需要;为了做到这一点,Tezos 把治理机制直接引入到自己的核心协议里面。
智能合约需要复杂的分布式系统才能有效、永久地跑起来。区块链可存活多久,或者未来会如何演进,谁都没法猜测。需要永久维护不仅只有区块链网络,今天的智能合约也需要在不改变其行为的情况下在未来无限期地运行。而业界对分布式系统和运行代码的“永久维护”毫无经验。
这些都是需要解决的严重问题。对于开发与基础设施工具来说,这是潜在的有趣机会。鉴于这些问题的重大,我们预计会出现实质性的创新。
如上所述,今天的区块链可以让用户“向世界宣告某样东西”。为了实现这一点,网络每个完全参与的节点都要复制该链的整个历史。对于已有六年历史的以太坊来说,即便在今天做到这一点也非常昂贵而且缓慢。更糟糕的是:这跟现实世界不符。就算大家需要就某件事情互相“喊话”,通常也不需要对着全世界呼喊。理论上,私下交易应该只涉及两方;但在今天的区块链上,整个世界都被牵涉进来。
对于这个问题,斯坦福区块链研究中心(Stanford Center for Blockchain Research,以及其他几个学术机构)正在研究新型的零知识证明系统,这种系统有望让私人团体只需相互共享经济历史与事实,而不需要去咨询中心化的区块链账本。如果可行的话,这些新方法也许会从根本上改变加密货币技术的格局,并从根本上颠覆当前的估值。虽然这些新方法很有前途,但目前仍然主要停留在理论领域,实践方面做得不多。
如今,有不少区块链的市值已经超过了 100亿 美元(超过 20 个!);很难想象这些区块链的大多数明天就会消失。每个区块链都定义了自己独特的分类账,并因此拥有自己独特的数字资产。
资料来源:CoinMarketCap
就像在互联网上分发的任何东西一样,区块链之间可能也会形成一定程度的联邦,它们之间可能也会出现一定程度的脱节。两个区块链是要连接起来还是保持断开的决定要在战略、经济与技术上进行考虑。
现在就有几个连接的实例。以 Solana-to-Ethereum 的跨链桥虫洞虫洞为例,这种虫洞可以让以太坊上创建的代币表示Solana 链上的资产,反之亦然。这是一种技术复杂的结构:部署在虫洞一侧的智能合约需要“拥有”传送到另一侧的资产;另一侧的智能合约需要铸造新的“包装”代币,就像真实事物的远程代理一样。这种建构很不稳定:位于虫洞合约之外的部分代码需要在两端之间传输数据,因为智能合约当然不能引用不同区块链上的智能合约!
借此机会,本文要礼貌地反驳一些关于区块链的常见言论:
“区块链让我们可以开发出可重复使用的乐高积木”。这似乎误解了代码本身;代码一直就是可重复使用的乐高积木。整个开源生态体系就是社区开发的可重复使用的乐高积木。还有,从 2007 年到 2012 年间,整个互联网都在朝着 API 优先、开放、互连的应用转向,已经彻底摆脱了旧的单体应用。在这方面,区块链以及部署到它们上面的智能合约并不特殊。
“区块链让我们可以跨服务重用资产”。在当下,大家对在 NFT 与区块链游戏的背景下数字资产的可重复使用感到兴奋。从广义上来讲,大家是对“元宇宙”背景下的可重用感到兴奋。但有一个问题。是,资产也许是全部或部分存储在区块链上,但资产的可寻址性和行为仍需要指定。你没法重复使用一个 Axie,除非你知道 (1) 控制它的是区块链上面的哪个智能合约,以及 (2) Axie 具有哪些属性。换句话说,互操作性需要各个团体一起就共同规范达成一致,或者对其他团队已经完成的工作进行逆向工程。这个世界一直以来就是这么运作的!加密货币并没有从根本上改变这个故事,也没有对协作的激励措施做出了什么特殊的改变:部分团体会找到协作并开发出可互操作资产的理由;其他人也许想走自己的路。区块链在这方面没什么特别的。
“区块链‘解决’了身份问题”。这种说法令人困惑。如果“身份”的意思是“你是谁”的话,那这种说法似乎曲解了基本的密码学。在加密生态体系里面,身份只是一个私钥而已。这些私钥永远也没法进入区块链:毕竟,它是私有的,而区块链上的一切都是公开的!此外,自从……嗯,自从发明出私钥以来,私钥就一直用于身份识别。另一方面,如果身份意味着“你有权做什么”的话,那区块链的确可以用在这件事情上——但很多其他非区块链技术的方案也可以做到。在这方面区块链并不特别。
“区块链开启了数据开放访问的新时代”。 公开数据能访问的范围扩大且具备成本效益当然不错。而且区块链还提供了一个新的潜在的数据存储去处,则一点十分令人兴奋。尽管如此:区块链的存储非常昂贵,访问区块链上的数据(尤其是聚合数据)绝非易事。我们说得直白一点:因为区块链把数据存储作为公共产品提供出来,就认为区块链从根本上“解决”了数据开放,那似乎就误解了构成当今这种开放数据格局的无数制度激励与功能障碍。它们并不会因为区块链的存在而消失。
“区块链开启了去中心化的新时代”。很高尚,但不接地气。从根本上来说互联网就是去中心化的;我们每天都在使用 SMTP、TCP 与 HTTP 等协议,但你又停下来想过它们吗?没有什么能阻止非加密去中心化进一步的发展。事实上,W3C、WHATWG 与 Indie Web 等主流团体正在认真考虑这个问题。其实现在就有规模可观的去中心化非加密社交网络;比方说Mastodon。此外,虽然区块链确实属于有趣的分布式系统,但这个分布式系统的作用,却是要创建一个所有其他软件都必须引用的单一全局数据库,说它们是去中心化的先驱就显得有点奇怪了!尽管这句声明很含糊,还可以进一步诠释,但在这方面区块链似乎没什么特别的。
Chris Dixon 最近在一条推特风暴里面声称,“代币赋予了用户财产权:也就是拥有一部分互联网的能力”。
虽然听起来很棒……但在今天,情况绝对不是这样。不过,你稍微眯着眼睛看一下的话,现在不行不代表将来不行:(非同质化)代币一个合理的未来设定就关联起来的一系列财产权的纯数字抽象。
当然,要实现这个非常理论化的未来,我们需要建立公共/私人合作伙伴关系,将加密货币世界与常规的法律与监管世界联系起来。但通往这个潜在未来的道路既漫长又曲折。
译者:boxi