Coinbase的Base你真的了解么?一文带你揭秘那些没有公开的技术细节
近日,著名交易所Coinbase发布新闻,宣布上线自己开发的以太坊第二层扩展系统Base[1]。该消息旋即在业内引发热议和讨论。
根据Coinbase的官方通稿[1],目前上线的Base版本为其测试网,该系统基于Optimism[2]的OP Stack[3]技术开发。
然而目前热议和讨论较为集中的点主要在其商业布局和生态规划,对其技术架构特点的讨论尚不多见,或有但也仅限于较为表层的论述。
Fairyproof技术团队尝试从Base所基于的技术栈OP Stack探讨Base系统的特点及其在安全方面值得关注的要点。
首先我们看看OP Stack技术栈的一些基本特点。
OP Stack是Optimism团队开发的用于构建第二层扩展系统的一个技术栈。其架构图如下所示:
官方文档[3]对这个技术架构进行了解释,我们认为比较重要的特点有如下几点:
1. OP Stack的技术迭代及兼容性
这个技术栈按照Optimism官方的说法分为两阶段实现,第一个是现阶段的Bedrock,第二个是下阶段的Superchain。架构图中用圆圈标注的组件按照Optimism的官方说法是提议开发的,故而较大可能是现在正在开发而在下一阶段即Superchain阶段要发布的组件。
虽说这套技术栈的迭代分了两个阶段,但根据官方文档描述,现阶段实现的Bedrock版本将能很好地兼容下一阶段的Superchain版本。
然而官方文档中也提到,开发者可以对基于Bedrock的OP Stack代码进行修改,开发定制化的第二层扩展方案,但这套定制的第二层扩展方案却有可能无法与未来的Superchain兼容。那么到底对OP Stack的哪部分组件或架构进行定制化修改会产生兼容性方面的问题呢?官方文档却没有详细描述的描述。
2. OP Stack运行机制中的中心化问题
对区块链系统而言,保持运作和技术架构方面的去中心化对其整体安全而言是具有重要意义的。在比特币的白皮书中,中本聪就将去中心化放在了极其重要的位置。因为这是保证系统避免单点失效和受到攻击的一个重要措施。
根据OP Stack的官方文档,当前的实现方案在两方面存在中心化运作的问题,一个是交易的排序(Sequencing),另一个是验证者(Attestor)的遴选。
在OP Stack架构中,目前存在中心化运作的环节主要在交易的排序(Sequencing)。这个工作是由排序器(Sequencer)完成的。
在当前OP Stack的实现中,排序器(Sequencer)默认的设置为只有一个排序器,它为整个Optimism系统中的交易进行排序。这显然是较为中心化的运作方式。
除此以外,官方文档还提到有另一种方式是从多个排序器中选取一个执行交易的排序任务。这是未来Superchain系统旨在实现的方案。这个方案如若实施则可以进一步去除排序中存在的中心化运作问题。
除排序之外,验证者机制中也存在类似问题。
OP Stack当前实现的是错误证明(Fraut Proofs)机制。在这种机制中,当超过一定阈值的验证者(Attestor)提交的状态证明和系统向以太坊提交的状态不吻合时即可证明系统向以太坊提交的状态无效。
然而在OP Stack的官方文档中,并没有提到这些验证者(Attestator)是预先选定的还是可以无需许可任何人都可以参与的。
我们预估大概率目前的验证者是由团队预先选择的。如果是这样,则当前的验证者也存在中心化运作的问题。
对此,团队提出未来建议实现的方案是“Fault Proof Optimistic Settlement”。官方文档中说这个机制采用了无需许可的验证机制,但具体是如何实现的则没有公布细节。
3. 证明机制的可扩展性
在当前流行的两大Rollup方案中,无论是Optimistic还是ZK,它们都需要向以太坊主网提交证明。前者提交的是错误证明(Fault Proofs或Fraud Proofs),后者提交的是有效证明(Validity Proofs)。
在OP Stack中,证明的实现实在清算层(Settlement Layer)完成的。当前实现的证明是错误证明方案(Fault Proofs),更具体地说,是基于Attestation的错误证明(Attestation Based Fault Proofs)。
但是在Optimism团队的规划中,未来这部分也可以支持有效证明(Validity Proofs)。至于什么时候会支持有效证明,根据官方文档,需要等到基于零知识证明的ZK方案成熟之后。
由此可见,OP Stack在这方面为可扩展性留下了想象空间,未来的Optimism系统(Superchain)是有可能同时支持两种证明方案的。
4. 第二层系统的安全性及活跃度
OP Stack在其官方文档中对第二层扩展系统的可靠性提出了两个衡量标准:安全性(Security)和活跃度(Liveness)。
系统的安全性由证明系统来保证,系统的活跃度由第二层系统是否能正常向(以太坊)主网提交交易来衡量。
在基于OP Stack架构的系统中,当排序器(Sequencer)无法正常工作时,为了保证第二层系统仍然可以正常向以太坊主网提交交易,系统是支持寻找其它可正常工作的Sequencer提交交易的。
在更加紧急的情况下,当第二层系统连结以太坊主网的桥接功能被冻结时(即系统的活跃度无法保证时),用户在区块链主网的资产会被冻结。这是为了保证即便在活跃度失效的情况下,用户的(资产)安全仍然能得到保证。
这体现了团队对于安全性和活跃度两者进行权衡的结果:安全性要高于活跃度。
5. 系统的治理
在架构图中有一个层是治理层(Governance Layer)。这个治理层在官方的规划中是一个去中心化的安全委员会(decentralized security council)。这个委员会未来可以更新Superchain中每个Chain的Attestators、升级合约、紧急暂停Superchain的桥等功能。
这个委员会有着强大的控制权。
但是这个委员会如何组件、如何运作在当前的官方文档中没有透露更多细节。
我们认为在这个委员会中使用链上的多签钱包或者链下的MPC技术以防止权限外泄或入侵可能是项目方会采用的方式。
以上罗列的几点是我们人为OP Stack技术栈中比较重要的特点和要素。由于Base系统将基于OP Stack构建,因此Base系统也将继承上述特点。但除此以外,我们认为Base系统中也有一些特殊的细节值得探讨。
因此接下来,我们再看看Base系统中某些特殊的细节及可能的实现方案。
根据Coinbase发布的官方文档[1],我们着重比较关注下列几点:
一Base系统中费用的支付币种
Coinbase在官方文档中公开表示系统未来不会发行代币,但系统及其运行在系统中的各种应用向以太坊主网提交交易时是要向以太坊支付手续费的。因此那最直接、最简便的方式就是向运行在Base上的应用收取ETH以支付以太坊的手续费。因此,未来当项目方在Base上部署应用或者用户和Base上的应用交互时支付的费用将很有可能是直接支付ETH。
二Base系统中的无需许可涉及到的角色
Coinbase表示Base这个第二层扩展系统对用户而言将是无需许可的。
在这里,Fairyproof技术团队所理解的用户是指在Base上部署项目的项目团队和与这些项目进行交互的用户。对这些用户而言,他们是可以无需许可地进行他们的上述活动的。
但Base本身作为第二层扩展系统,系统本身也有一些角色是需要参与者的,这些参与者主要起到维护系统安全、保证系统正常运作。在以太坊主网,这类参与者最典型的就是验证者(Validator),而在第二层扩展中,这类参与者最典型的就是负责交易排序的排序器(sequencer)以及负责验证状态的验证者(Attestor)。
那是否所有人都可以无需许可地作为排序器和状态验证者呢?Fairyproof团队认为在目前的Base方案中,尚不具备此条件。较大可能目前仍然会使用经过认证指派的排序器和状态验证者。
三Base系统对以太坊虚拟机(EVM)以及账户抽象的支持和实现方式
官方文档提到Base是完全兼容以太坊虚拟机(EVM)的。所谓兼容以太坊虚拟机意味着以太坊上可以运行的所有程序可直接或仅作细微修改即可在Base上运行。这一点继承了Optimism或者说OP Rollup技术流派的特点,很便于现在运行在以太坊上的各类项目方直接迁移他们的项目进入Base生态。
Coinbase团队在这里点出了Base对账户抽象的支持,但并没有对此给出详细的细节。
对此,我们的推测如下:
目前以太坊标准体系(EIP)中,对账户抽象的实现给出了多种方案,比较典型的有EIP-2938[4]、EIP-4337[5]。然而EIP-2938涉及到对以太坊共识层的修改,而EIP-4337则只需要在智能合约层面实现即可。显然在智能合约层面实现对账户抽象的支持是最便捷、高效的方案。
此外,另一个知名的第二层扩展系统zkSync[6]也在其目前的版本中实现了对账户抽象的支持,并且在其官方文档[7]中明白指出其实现方案非常类似EIP-4337。
因此,我们认为Base对账户抽象的实现较大概率是基于EIP-4337的实现方案。
四Base对跨链的支持
官方文档提到Base不仅连结以太坊,而且连结其它的二层扩展方案甚至其它的区块链主网(Layer 1)如Solana等。
这意味Base将具备各类跨链功能。这些跨链所涵盖的范围将不仅限于目前比较流行的区块链主链之间的跨链,还将包括暂未大规模实现及推广的以太坊第二层扩展系统之间的跨链。
关于区块链主链之间的跨链,目前OP Stack公开的官方文档似乎并没有提供太多的细节,或许这部分内容目前暂不方便公开。因此我们认为Base提到的区块链主链跨链这个功能要么是基于OP Stack暂未公开的内容,要么是Base自行待开发的功能。
而关于第二层扩展之间的跨链,我们认为可以分为三类:Optimistic Rollup系统之间的相互跨链、ZK Rollup系统之间的相互跨链、Optimistic Rollup和ZK Rollup之间的跨链。
目前关于ZK Rollup系统之间的跨链以及OP Rollup和ZK Rollup之间的跨链很少有团队提出相应的解决方案。而对OP Rollup之间的跨链,OP Stack的公开文档提到未来基于Superchain架构实现的第二层扩展系统之间是可以实现便利的跨链的。
因此我们认为Base系统提到要实现的第二层扩展系统之间的跨链目前是指基于Superchain架构实现的第二层扩展系统之间的跨链。这是最容易实现也最快能实现的功能。
五Base的去中心化及实现方式
官方文档提到Base将是去中心化的,但是会分阶段执行。
根据OP Stack的官方文档,目前实现的第二层扩展系统方案中,Sequencer是用中心化方式指定的。OP Stack也提到未来会将Sequencer的指定机制去中心化(比如采用轮询方式)。
我们认为这也是Base进化的方向,会将目前OP Stack中参与系统维护的中心化参与者(比如Sequencer、Attestor等)逐步去中心化。当这些参与者逐渐去中心化之后,意味着一个角色有多个候选人有资格参与。而这些参与者要参与活动,按照一般POS机制的规律,他们将需要抵押代币。
在当下的以太坊生态和Optimism生态中,在以太坊主网层面作为抵押的资产是ETH,在Optimism层面作为抵押的资产是OP代币。
那Base系统可能抵押的加密资产是什么呢?
Coinbase表示不会为Base发行代币,因此我们根据以太坊主网和Optimism系统的抵押资产判断,在Base系统中未来当实现进一步去中心化后参与者需要抵押的加密资产较大可能是ETH或OP代币。
综上所述,我们认为基于OP Stack的Base系统在可扩展性方面具备了良好的潜质,未来如果能在交易排序和状态验证方面引入进一步的去中心化机制规避系统的单点故障问题、使用多签钱包或MPC技术管理安全委员会的权限以保障权限安全,将使得这个系统在技术和运作上更加安全、可靠、可信。
参考文献:
[1] Introducing Base, https://www.coinbase.com/blog/introducing-base
[2] Optimism, https://www.optimism.io/
[3] Welcome to the OP Stack,
[4] EIP-2938, https://eips.ethereum.org/EIPS/eip-2938
[5] EIP-4337, https://eips.ethereum.org/EIPS/eip-4337
[6] zkSync, https://zksync.io/
[7] Account Abstraction Support,
https://era.zksync.io/docs/dev/developer-guides/aa.html#prerequisites