BTC/ETH Layer2 本质解析

BTC/ETH Layer2 本质解析

电报联系方式

Layer 2 解决了 Layer 1 的扩容问题,提高了Smart Contractsof TPS(每秒交易数)。要充分利用 Rollup 类型的 Layer 2需要用户执行哪些新增的步骤才能真正使用到layer2所带来的好处呢?本篇文章以主流的Rollup方式来解释,如果要利用到Layer2的来提升自己应用的TPS需要增加哪些步骤。

BTC/ETH Layer2 本质解析

如果要清楚的知道增加了哪些步骤,我们必须先知道在layer1上面进行交易需要哪些,然后两者对比就能知道增加了哪些步骤。

在 Layer 1 上进行交易通常包括以下步骤:

  1. 部署合约: 用户需要发起一笔交易来部署智能合约。这包括发布合约的代码、设置合约的初始状态,并在区块链上记录合约的地址。
  2. 调用合约方法: 一旦合约部署完成,用户可以通过发送交易来调用合约的方法。这可能涉及更改合约的状态或执行某些计算。

在 Layer 2 上,使用 Rollup 类型的解决方案

首先我们把以太坊上面的交易做个分类。

  1. ETH资产的流转交易。
  2. ERC20代币类资产的流转交易
  3. 其他交易(uniswap,curv,dai,nft,others)

我们常用的扩容其实就1,2两种资产的TPS提升。

  1. 合约部署: 在 Layer 1 上,项目方部署了一个资产托管合约(锁定合约),用于接收用户在 Layer 1 上发送的 ETH 或 ERC20 资产。同时,在 Layer 2 上,为每个 Layer 1 资产部署了对应的合约,例如 ETH 合约、UNI 合约、DAI 合约。
  2. 资产托管: 用户将其 ETH 或 ERC20 代币发送到资产托管合约地址。尽管智能合约地址没有私钥,但通过合约间调用的方式,资产托管合约可以对 ERC20 资产进行控制。
  3. Relayer 监控事件: 多个 relayer 在链下监控 Layer 1 上事先定义好的事件。一旦用户在 Layer 1 上发送资产到资产托管合约,相应的事件会被触发。
  4. 多重签名 Mint 交易: 多个 relayer 通过多重签名的方式合作,向 Layer 2 上的对应资产合约发送一个 mint 交易。这个交易的目的是在 Layer 2 上铸造对应 Layer 1 资产的代币,如将 ETH 转换为 Layer 2 上的 ETH。
  5. Layer 2 上的 Mint 操作: 在 Layer 2 上,对应的资产合约执行 mint 操作,将资产从 Layer 1 映射到 Layer 2,例如将 ETH 映射为 layer2-eth、UNI 映射为 layer2-uni。
  6. Layer 2 交易: 之后的所有交易都在 Layer 2 上进行,利用 Layer 2 的高性能和低成本进行快速的交易和智能合约操作。
  7. Layer 2 数据存储: Layer 2 将每次交易打包和 Layer 2 的状态根一起发送到 Layer 2 存储,确保交易的有效性和一致性。

这种解决方案使得用户能够在 Layer 2 上体验高性能的交易和智能合约操作,同时通过资产托管合约在 Layer 1 和 Layer 2 之间进行资产的安全迁移。

BTC/ETH Layer2 本质解析

验证失败采取的措施

在 ZK-Rollup 中,安全性的保障源自每次 Layer 2 向 Layer 1 打包的交易和状态都伴随着一个证明(proof)一起提交给 Layer 1。这个证明确保 Layer 2 按照智能合约的代码老老实实运行,没有违反规则。当 Layer 1 收到这个证明时,会进行验证。如果验证失败,即证明与合约代码的执行不一致,系统将采取相应的安全措施。

具体而言,如果验证失败,系统可能会采取以下一些行动:

  1. 撤销交易: 不通过的交易可能会被撤销,以确保区块链上的状态是正确的。
  2. 罚没作弊者: 如果验证失败是由 Layer 2 上的作弊行为引起的,系统可能会对作弊者进行处罚,例如罚没一部分资产或取消其参与验证的资格。
  3. 系统回滚: 在极端情况下,如果验证失败涉及到系统的整体安全性,可能会考虑回滚到之前的状态,以确保网络的一致性和安全性。

Optimistic Rollup 的安全模型则略有不同。在 Optimistic Rollup 中,假设 Layer 2 的参与者都是诚实的,不会作弊。因此,每次 Layer 2 向 Layer 1 提交打包的交易和状态时,并不会立即进行验证。验证是在有人举报 Layer 2 作弊时,由 Layer 1 进行的。这种方式降低了系统的运行成本,但也使得如果有人恶意行为,可能需要在 Layer 1 上进行应对和验证。

总体而言,不论是 ZK-Rollup 还是 Optimistic Rollup,验证的失败都可能导致系统采取相应的安全措施,以维护整体的网络安全和一致性。

挑战

在跨链操作中,relayer扮演着关键的角色,负责消息的转发和签名,但其激励机制确实是一个重要的问题。如果没有适当的激励和惩罚机制,可能会缺乏人愿意担任 relayer 的角色。

一种可能的解决方案是将消息转发和签名功能分开。具体而言,relayer只负责消息的转发,而签名功能取消。相反,Layer 1 和 Layer 2 都实现一个 SPV(简单支付验证)的程序,用于验证跨链交易是否已经在对方网络上成功上链,并被包含在区块中。

然而,这种方式带来的问题是实现的复杂度极高,而且 gas 费用可能会很昂贵。此外,在跨链交易中如何验证对方链的成功性也是一个具有挑战性的问题。

另一个问题是关于从 Layer 2 提币到 Layer 1 的过程。如果 Layer 2 的排序者(validators)作恶,故意不打包用户的 withdraw 跨链交易,用户可能会永远无法提币。

综合而言,跨链交易中的激励和验证问题确实是需要深思熟虑的关键问题。在设计系统时,需要权衡安全性、去中心化性和性能,并找到一种适当的激励机制以确保网络的稳健运行。

开发联系:DEXDAO

 

© 版权声明

Related posts

No comments

No comments...