评测丨 Metis 技术性评估

结论:需求明确,架构成熟,抽象了 DApp 中最核心的组织体系逻辑,为大量需求去中心化组织的 DApp 提供了接入条件。

结论:需求明确,架构成熟,抽象了 DApp 中最核心的组织体系逻辑,为大量需求去中心化组织的 DApp 提供了接入条件。但是因为提供最基础的组织体系,需观察在其之上的生态建设,且基础底层技术突破稍小。

项目概述

简而言之本项目是一个给开发者提供一种基于去中心化的公司组织(其称为 DAC,去中心化自治公司)的开发范式、套件工具以及运行环境,其开发范式提供组织的协同、治理和仲裁机制。也就是说,本项目主要聚焦的是 DApp 的底层基础设施需求,而不是链底层需求。所以正因为如此,相较于那些用来突破现有区块链技术极限的技术型项目(例如 DOT、ETH2.0 以及 Casper 等基础公链或 DAG),这类关注业务层底层基础设施的项目既容易快速落地,又十分容易聚集区块链生态但也正因为如此,这类项目往往依存底层链并被底层链所限制,无法在底层链技术上进行巨大的突破。纵观此类优秀的业务底层基础设施项目都是需要结合现有的方案进行微创新,并加上加上深入思考的业务流程和模型,用真实用户(开发者)服务。以这个标准来看,现阶段 Metis 做得还可以,虽然项目仍在早期阶段,但是现在项目已经具备一个业务验证的 MVP (https://alphatest.metisdao.org/),也就是说业务验证已经完成。而根据研读项目报告以及我们渠道获得的 Metis 官方的技术白皮书,可以看到项目在 Layer2 上有一定的技术创新的。

Metis 的本质

纵观大量的 DApp,须知除了 Tornado 这类核心业务需要刨除用户的项目,大部分 DApp 的核心仍然是用户,这意味着几乎所有的 DApp 的开发都是从用户系统出发,并开始业务层的开发。由此可知,这些开发者必须首先花费精力在设计用户系统层,并至少完成用户的正常接入以及用户和系统的交互,才能开始进行业务开发。并且在 DApp 中,特别是 DAO 形式的用户体系,开发者必须设计一套跟自己的项目相契合的治理机制,这仍然需要花费大量精力。通过渠道联系上了项目方并进行了深入交流。理解了 Metis 想要达成的目标——即为 DApp 开发者抽象组织逻辑,为其提供基于组织的开发范式、套件工具以及运行环境。用互联网项目类比,Metis 相当于一个云服务商,开发者接入它之后,无需关注用户体系以及之后由用户间业务产生的协同、治理以及仲裁问题,只需要将精力专注于业务层即可。这也解放了 DApp 开发者的生产力,他们不必为每一个应用重复设计并实现单独的用户体系,即可快速接入 L2 网络,直接进行业务端的开发。值得注意的是,Metis 并不局限于一个开发范式的提供者,它将至少额外实现了两点重要的工作

  • 优化的 L2 网络:在 Optimistic Rollup 方案之上进行一系列优化,专门为基于用户组织的编程范式进行优化。
  • 开发者社区:针对不同领域的组织,提供大量官方的合约,并鼓励社区贡献合约。

由此可见 Metis 真正想做的与其说是一个项目,不如说是一个生态。这里着重说明一下 Metis 对 L2 的优化,给各位一个参考。关注投资可以直接跳过技术部分,直接阅读观察建议部分。

Optimistic Rollup 方案的问题

因为是设计在以太坊上的 Layer2 应用,所以 Metis 还是选择了 Optimistic Rollup (简称 OR)机制作为 Layer2 的基础方案,聚焦于 DAC 的业务模型,并在其上进度诸多改进。下面的说明有很多关于 OR 的专业性词汇,如果不了解,可以看看有关 Optimistic Rollup 机制可以参考这篇单独说明的文章:https://www.chainnews.com/articles/806800229466.htm总之 OR 可能是最有可能大规模实现的以太坊 Layer2 机制,但是原生的 OR (或者说最基础的 OR)存在一点问题:

  • 中心化程度高:排序者在 OR 中主要承担执行合约的工作,所以在争议期内,大多数结点的数据来源于排序者。
  • 性能瓶颈:如果应用强依赖于排序者结点的性能,那么会出现单点性能瓶颈。
  • 争议期过长:正是由于排序者不可信任,往往需要等待一个长时间的争议窗口,用来给验证者验证合约结果,特别是当 L2 和 L1 进行资金交互的时候,这个时间将长达几天甚至几周。
  • 欺诈证明:激励验证者是保证排序者不作恶的前提,但是这里的度是需要反复推敲的,各个基于 OR 的实现方案中都存在不同的欺诈证明方案。

Metis 的 Layer2 性能及去中心化优化方案

简单来说,Metis 做了一些 OR 上的改进错误,用于改善上述问题。首先他们实现了一个完全兼容以太坊虚拟机的称为 Metis 虚拟机(MVM)用来执行合约,这是兼容以太坊的大前提。然后他们将计算和存储单元分开实现,并且为了实现各单元的去中心化,将提供一系列签名机制和权限管理,来进行结点权限的约束。

也就是说,为了解决性能问题,Metis 将计算单元和存储单元分开实现,引入了 provider 来承担计算单元的具体执行(这里可以简单的把 provider 当做排序者),而 MVM 将自动分配给 provider 需要计算的任务,这样也做到了 provider 的去中心化,并且因为任务分配来自于 MVM,所以可以使得 provider 进行横向扩展,以此解决性能问题。

针对存储部分分为两种数据,一种是常规的块数据存于 MVM,另一类是业务要求的每个 DAC 的敏感数据存于 IPFS,从公司业务上来讲,这部分数据占大头。这些数据将根据 DAC 的签名来进行加密存储,这些存储业务不会同步到 L1 中,大大降低了 L1 的性能压力,但是将存储一个文件句柄用于欺诈挑战。

根据上述说明的,Metis 分离实现计算单元和存储单元;MVM 委派任务给 provider;分离 DAC 数据至 IPFS 并只能加密访问;存储文件句柄至 L1 用于欺诈挑战。由此解决中心化和性能问题。

这里额外注意一点,MVM 在创建 DAC 时,严格规定了各成员的权限和操作规则,这一点是去中心化得以实现的保障,也是 Metis 的特色所在——即在合约内尽可能保证去中心化,也为权力和责任的界定提供依据。

Metis 的 Layer2 争议期及欺诈证明优化方案

原生 OR 为了防止排序者作恶,需要验证者来制衡,通常这个过程发生在 L1 之上,Metis 为了缩短争议期窗口,引入了 L2 验证者(他们称为 Ranger),这些验证者将能够采集 L2 内的事务过程,并进行状态根的验证。也就是说在 L2 内部进行验证,并建立了一套激励机制用于激励 L2 验证者,一旦欺诈挑战的验证失败,L2 验证者将获取排序者的部分保证金作为激励。

要知道 L2 的本质其实是以太坊自身能力不足,而 ETH2.0 又遥遥无期后产生的妥协方案,所以最终用户的数据仍然是以 L1 为准的,而 Metis 的整个验证过程仍然发生于 L2,所以能够大大加速 L1 的校验进度,提升 L1 的性能。另外有一点,为了防止排序者作恶,provider 要求抵押一部分 Metis 的代币用来启动服务,而这个抵押量是一个动态调整的值(他们称为 DBT,Dynamic Bond Threshold),由 DAC 和一些参数共同计算获得,一旦 provider 抵押的代币数量小于指定的阈值,那么他将无法为 MVM 提供算力。这进一步加大了排序者作恶的成本。

Metis 总体架构

根据总结,Metis 的架构图如下:可以看到他们将计算和存储单元分开实现,一些敏感数据存储于 IPFS,而通过 Ranger 来进行 L2 验证,通过 DBT 来进行 provider 的抵押。

技术性评估

本项目的 Github 组织页面为:https://github.com/MetisProtocol合约项目的地址:https://github.com/MetisProtocol/metisMVP 业务验证项目的地址:https://github.com/MetisProtocol/Metis-MVP

这是两个主要的有进度的项目,主要集中在早期的业务验证及合约的编写,合约项目比较工整,MVP 项目相对就比较随意了,缺少了一些文档。

整体来说两个项目都提现了一些问题:

Issue 和 PR 使用不频繁:这主要是因为团队开发很少,主要才集中在 3 个人,这等规模的团队可能在线下就达成了共识,不必使用 issue。_*文档不足:MVP 项目甚至没有文档,虽然 MVP 只是一个业务验证,但是作为团队开发还是需要有正规文档的。*

技术能力无法进行进一步判定,组织页面大量 fork 了 ethereum-optimism (OR)的项目并产生了一些 commit,看来开发团队已经着手进行 Layer2 的开发工作,期待后续进展。

观察建议

大量评测都将 Metis 说明为一个 DAO 项目,事实上这是一种误读,它虽然聚焦于 DAO 领域,但是它的核心并不是一个 DAO 社区

与几种 DAO 相关项目进行对比:

  • DAOMaker 等孵化器:此类项目事实上只是 DAO 最基本的运用,作为一种去中心化投资 / 孵化器来作为业务核心。DAOHaus 等社区:此类项目本身就是一个 DAO,在此之上普通用户创立自己的组织并进行组织治理。
  • Metis:本身不提供社区(但是相信 Metis 自己的社区肯定是运行在 Metis 之上),它提供的是为了建立 DAO (or DAC)的基础设施,也就是说,上述两类应用,完全能通过 Metis 重现出来。

由此可见,Metis 在 DAO 赛道占有一席之地,甚至其中生态内的应用,都有可能出现优秀的应用。但是同样来说,如果开发者不吃这一套,那么官方需要花费大量的工作来自己启动这个生态。并且对开发者的文档、用例、开发者生态的建设,也需要花费大量的精力。

因为 Metis 是 Layer2 实现,所以理论上能接到各个链之上。本项目主要是应用层项目,所以更多的是结合优秀的 Layer2 方案,在之上进行创新,对于基础底层技术没有大的突破。按照官方说法将成为 Casper 生态早期成员,这一点后续需要跟进。

0 0 0
分享到:
没有账号?