原文作者:Aragon
贡献者:Dewei-DAOrayaki
什么是可组合性?
可组合性是系统的组件重新组合成更大的结构并将一个的输出作为另一个的输入的一般能力。简单来说,最好的例子是乐高,乐高的每一部分都可以连接到其他部分。
在加密中,可组合性是去中心化应用程序 (dApp) 和 DAO 有效克隆和集成彼此的能力(句法可组合性),以及使代币和消息等软件组件在它们之间可互操作(形态可组合性)的能力。
句法可组合性
以太坊已经很好地实现了句法可组合性:协议上的每个智能合约都是公开的,可以被任何其他人调用,这意味着任何软件逻辑只需要制定一次,就可以被整个生态系统重用。在实践中,这意味着任何以太坊 dApp 都可以使用 Uniswap 的合约来管理代币exchange,或者组织可以使用 Aragon 的客户端合约进行链上治理。
能够重用开源组件是使 Web3 中的构建极其高效的超能力。团队可以使用大量现有的、可靠的代码,并且只专注于构建项目缺少的组件。这成倍地提高了实验和创新的速度。每次建立业务时都不必重新发明轮子(或担心被监管机构和专利流氓起诉),这使得 Web3 在分配资源方面比 Web2 更高效。它还调用了复合的魔力:
原子可组合性
重要的是,以太坊的第 1 层 (L1) 允许“原子”可组合性,其中跨多个 dApp 的多个操作可以捆绑到单个事务中并一起执行。如果其中一项操作失败,则整个事务都将失败。这使得将一笔交易拆分到多个交易所成为可能,或者一次对多个 DAO 提案进行投票,而不会出现部分失败的风险。
原子可组合性对于去中心化金融 (DeFi) 至关重要,因为它允许创新,例如“闪贷”,即在一次交易中借入、投资和偿还资产。
形态可组合性
尽管以太坊的架构旨在促进可组合性,但这并不能保证 dApp 的内部形态,例如功能和接口,会自动相互兼容。这需要合作。为此,已经就代币、名称注册和钱包格式等元素达成了许多应用级标准,称为以太坊征求意见 (ERC)。其中最著名的是 ERC20,它定义了以太坊内可替代代币的特征。
从 Web2 的角度来看,形态可组合性的含义是令人兴奋的:DAO 代币持有者已经有可能对 Snapshot 进行投票并使用 Zodiac Reality 从 DAO 的金库中触发一笔交易以获取从 MakerDAO 借出 $DAI,将 $DAI 集中在 Curve 上,然后将生成的 LP 代币存入 Convex 以赚取交易费以及 $CRV 和 $CVX 代币。由于工具的互操作性和代币的标准化定义,使得这样的可组合性是可能的。
Web3 可组合性
Snapshot投票 → Zodiac Reality → 借入 $DAI @ MakerDAO → 池 $DAI @ Curve → 存款 Curve LP 代币 @ Convex → 赚取交易费 + $CRV + $CRX
除了金融之外,来自 Axie Infinity 或 Guild of Guardians 等 Web3 游戏的角色或动产是不可替代代币 (NFT) 的实例 - 独特的数字财产,在 ERC721 中标准化。因为它们实际上归用户所有,它们可以在不同的游戏之间自由转移,在二级市场上出售,甚至用作贷款的抵押品。
在 Web2 中实现等价意味着以某种方式说服Nintendo与索尼、微软共享数据库;让 eTrade 在 Robinhood 上执行交易。这种情况发生的可能性基本上为零:即使 Web2 公司并非都在相互竞争,但它们建立在不兼容的技术堆栈上,这将阻止它们重复使用彼此的软件。
除了数字资产,Web3 还允许用户在 dApp 之间转移他们的身份和声誉。用户不是通过用户名和密码登录,而是使用他们的 Web3 钱包来提供对其 ERC20 地址的选择性只读访问,该地址充当唯一标识符和声誉指标。拥有代币交易记录、dApp 交互和 DAO 会员资格的可验证“简历”,已经产生了“Degen(erate) 分数”作为 Web3 素养的排名,但这已经被真诚的申请者包含在 Web3 工作申请中。通过这种方式,身份和声誉可以被视为由 Web3 活动支持的货币。与任何货币一样,链上身份可以交换和交易(伴随着所有带来的混乱),以及形成抽象社交网络的组成部分,该网络将形成数字社区、工作组和新型“国家”。
DAO 形态学
目前,还没有一个 ERC 来标准化 DAO 的结构、功能和接口,但行业正在朝着这个方向发展。DAOstar One 是一个圆桌会议,致力于标准化 DAO 的定义和最小参数。该小组目前的重点是实验——因此不限制创新——但一旦实施,ERC 将为 DAO 生态系统带来乐高可组合性,这意味着 Aragon 的金融 dApp 可以与 Moloch v2 一起使用,或者 Openzeppelin 治理合约可以与 Gnosis safe 集成以及与 Compound 治理合约。
甚至在 ERC 达成一致之前,Gnosis 正在开发一个基于 Zodiac 开放标准的模块化 DAO 工具系统。任何实现其 Iavatar 接口的 DAO 平台都可以访问越来越多的 Zodiac 兼容工具,例如可以触发链上执行的 oracle 模块或支持跨链控制 Gnosis Safe 的桥接模块。
其他实践,如 DAOhaus 的 Boost Foundry(本身建立在 Moloch v2 上)是 DAO 的 dAppstores 增长趋势的一部分,带有 DeFi 协议插件和附加 DAO 功能,例如使用 Superfluid 的自动支付流或使用 Mintgate 的gated 功能。
除了这些示例之外,Web3 软件可以是开源和可分叉的,但这本身并不能保证与其他项目的兼容性。但希望是,因为用户的转换成本如此之低,互操作性的好处如此之高,行业的动力和愿望已经到位,尽快与一套共享的标准保持一致。
最后一点值得强调。Web2 公司因建立具有竞争力的“护城河”以将自己与竞争隔离开而臭名昭著。这些可以采取有利的监管、积极的专利执法、高转换成本、数据囤积和许多其他自我保护策略的形式。然而,这些策略在开源、无许可、透明的 Web3 世界中都没有意义。相反,组织必须建立在他们的代码将被其他人重用的假设之上,并将其转变为他们增长战略的先锋;可组合性将 Web2 中的尾部风险转化为 Web3 中的核心假设和战略目标。在这样的环境下,组织必须成为协作和共生的专家,这就是为什么像 DAOstar One 和 Global Hackathon DAO这样的倡议吸引了如此多的参与者来追求 DAO 的可组合性。
DAO工具
Web2 中的标准做法是,公司在出版和图形设计等方面使用彼此的软件。DAO 的相似之处在于它们使用 Discord 等专有软件来管理其社区。此外,Web3 基础设施使这些工具能够集成到这样的程度,以至于它们成为 DAO 治理的组件,能够安排和执行交易。这是通过称为 oracles 的第三方网络实现的,该网络能够验证外部数据并将其嵌入到链上智能合约中。已经可以使用 Witnet 的去中心化预言机网络从 Discord 上的表情符号投票触发 Aragon 上的链上执行,并且如前所述,Gnosis Zodiac 的 Reality 模块集成了 reality.eth 作为预言机来触发安全交易以响应 Snapshot 提案、Discord 民意调查,或任何其他兼容数据。要更深入地了解 DAO 工具,请查看 DAO 和组织乐高积木的激励设计和工具:DAO 工具的现状。
将真实世界数据集成到智能合约中,开启了 Web3 中数据可组合性的世界,本文无法涵盖这一点,但在具有 API3 的第一方 Oracle 和 Chainlink 支持的 77 个智能合约用例中进行了探讨。
Web3 正在发声
单体架构在少数领域是有意义的:超国家的政治结构随着时间的推移往往会破裂;互联网的成功归功于许多节点通过通用协议进行通信;甚至人脑也是一个模块化系统。
随着时间的推移,计算架构已经从单一的堆栈演变为微服务的扩散,可以根据需要组合、升级和换出。尽管 Web2 建立在这样的后端上,但可组合设计并没有体现在 Web2 公司本身:像亚马逊、Facebook 和谷歌这样的巨型垄断企业几乎没有动力将自己分解成可组合的微服务。但最终,这可能会被 Web3 强加给他们:如果要相信技术和自然的证词,可组合性的逻辑就是命运。
在到达这个命运之前,沿途有几个障碍
第一个是单一的、Web2 思维方式。采纳一种将个人的重要性降级为仅组成部分的范式,需要信念和股东投票。然而,有迹象表明,可组合性在 Web3 中具有足够的吸引力,可以将其优势卖给更广泛的科技行业。我们当然已经在各种协议的采用速度和指标(例如管理下的资产(AUM))中看到了这一点。Web2 不想长期放弃这种增长,为了参与,他们必须是可组合的。
第二个障碍是规模化。可组合性在理论上是有效的,但我们最近在以太坊上看到的高额费用对于跨多个 dApp 的复杂操作来说是致命的。以太坊和新链之间的桥接打破了原子可组合性,新链的扩散将稀释安全性和流动性资源,直到行业找到可行的解决方案。这是一个需要深入探讨的话题,将在即将发表的文章中进行更深入的讨论。
句法和词法是从语言学领域提出的概念,这绝非偶然。它们在这里适用是因为软件是一种语言,而 Web3(作为软件的表达)适合于语言框架。语法之后的下一个分析是语义:表达式是否有意义;最重要的是语言学:它是否在上下文中有意义。毫无疑问,今天可以在没有实际用途或目的的情况下在 dApp 之间使用代币。同样,许多被吹捧的组合在更广泛的金融或社会背景下没有多大意义,特别是考虑到以太坊的扩展。然而,这些是一种比我们以前见过的任何语言都更具表现力的新语言的第一个词,通过可组合性的魔力,Web3 将找到它的位置。