复制成功

分享至

主页 > 数字货币 >

Vitalik博文解读:Web3基础设施的下一站是封装还是扩展?

2023.10.27

原文标题:《封装还是扩展?探讨 Web3 基础设施的下一站——关于 Vitalik Enshrinement 博客的解读》

原文作者:CP,Artela CTO co-founder

Vitalik 前周发布博客《Should Ethereum be okay with enshrining more things in the protocol?》,分享了对于以太坊「封装」(enshrine)上层应用所需的基础功能的思考,探讨如何建议一个框架去封装更多上层应用所需的基础功能。

这是典型的平台型系统都面临的关键问题:团队把关键上层应用功能「封装」进底层,还是由应用开发者在应用层去「扩展」(extend)这些功能。当基础设施发展到大规模扩展的前夕,「封装 vs 扩展」的设计十分关键,会是影响它能否大规模应用的关键设计之一。

近半年来,几大基础设施都推出了它们重要的技术更新:Uniswap 推出 Hook 机制支持扩展自定义功能的 pool;MetaMask 钱包推出了 Snaps 支持开发者添加用户扩展;Ethereum 如今也面临「封装 vs 扩展」的难题。

这篇文章将探讨 Web3 基础设施们对于「封装 vs 扩展」的设计取舍,以及个人对公链基础设施该问题上的一些思考。

以太坊面临什么问题?封装 or 扩展

在「封装 vs 扩展」的问题上,以太坊一直选择「扩展」。

以太坊的设计哲学源自于 Unix,创建极简通用的内核,让用户需求在应用层通过开发者实现。支撑以太坊实现这一点的关键技术是:EVM。图灵完备的智能合约语言使开发者可以在应用层自定义各自应用。

这个模式看起来很合理,但它在「去中心化的 Unix」上并不那么好使,重要的原因之一是:EVM 所谓的图灵完备,实际使用上没那么「完备」。在 gas 机制和有限的 opcode 下,它要求程序在有限的步骤里利用有限的 opcode 去完成它的任务,就这点大大限制了应用难以像 Web2 程序在 Unix 的用户层中无所不能,很多高阶的 dApp 需要的能力 EVM 满足不了。无论是 Rollup 还是 AA 钱包,在不修改 L1 的情况下,他们虽然能跑通,但始终是 MVP 产物,效率和体验还是和他们的目标相距甚远。

摆在开发者面前的选择就是:EIP。把它依赖的重要功能,让以太坊核心团队把它「封装」进底层,从而提供给应用层使用。

基于 EVM 的「扩展」无法满足应用发展需求,现在他们需要好好考虑如何「封装」。

但去中心化的基础设施,要封装上层应用功能没那么简单,它不仅仅只是集成一段代码,背后是去中心化系统最大的难题:治理。「封装」意味着核心团队除了开发和维护外,还要承担这些功能的治理工作,同时会有削弱以太坊信任模型的风险,引入潜在影响可持续发展的问题。

所以最终的效果可以很容易看到:核心团队能「封装」的功能的数量有限,其次这个功能的重要性要得到社区大范围的共识,最后它的实现效率不会那么高,数以年计。

同时,这也意味着,如果你需要的功能不是得到广泛共识需要的基础功能,那么以太坊可能永远无法容纳你,甚至是你的尝试,可能你因此要去选择自建应用链,承受很高的开发和运营成本,失去智能合约世界可组合性的美妙。

在「封装 vs 扩展」的问题上,以太坊还没有明确的解决思路。如何让「封装」这件事情「有序开展」,也就是 Vitalik 提到的,他们还在探索一个框架,如何确定要封装的目标功能以及如何封装它们。

从 Unix 中还可以学到什么?Native Extension!

在「封装 vs 扩展」的问题上,以太坊主要是因为 EVM 的扩展能力不足导致需要核心团队做封装的事情来补位。我们换个角度想,如果提高应用层的可扩展性,是不是可以解决很大一部分问题了?比如:应用开发者可以按自己想法去为其应用定制所需底层功能,而无需等待底层团队封装。

我们也知道,以太坊从 Unix 吸取来很多设计哲学,那让我们继续 Unix 体系里找找思路。

基于 Unix 的商用操作系统,它面向 PC 市场,面临更多应用层多样化的需求,甚至还有来自企业使用场景的扩展需求等。但这些商用操作系统,核心团队没有太高的「封装」负担,他们给应用提供的可扩展性足够高,使大部分的功能用户可以自己解决。

以 Mac OS X 举例,一般操作系统区分内核态和用户态,用户应用程序一般运行在用户态,使用由内核态程序提供的功能。一个简单(但不完全)的对比是,EVM 之上的智能合约都相当于用户态的应用,以太坊协议层相当于内核态。

但 Mac OS X 允许应用开发者自主将程序部署进内核态,去扩展内核态的功能,而不需要 Mac OS X 的核心团队 case by case 去封装。Mac OS X 提供的核心机制是「内核扩展」和「系统扩展」,这两种扩展允许开发者在一定的安全模式下开发内核扩展,使用更高权限的功能,去开发纯用户态应用完成不了的功能。

我们得到的启发是,「Kernel Extension」这种模式在「去中心化的 Unix」上是否可行?它的模式如下图所示。

区块链协议上,除了支持「智能合约」外,还支持另外一种程序「Native Extension」,它

1)拥有比 smart contract 更多的底层协议 API 访问权限

2)且它的执行环境效率比 EVM 要有数量级别的提升

3)且它于底层协议有隔离性,不影响底层协议的稳定性

4)因此在治理方面它无需由底层团队维护,而由应用团队去维护部署

免责声明:数字资产交易涉及重大风险,本资料不应作为投资决策依据,亦不应被解释为从事投资交易的建议。请确保充分了解所涉及的风险并谨慎投资。OKEx学院仅提供信息参考,不构成任何投资建议,用户一切投资行为与本站无关。

加⼊OKEx全球社群

和全球数字资产投资者交流讨论

扫码加入OKEx社群

相关推荐

industry-frontier