学习笔记-Layer2介绍

228 阅读2分钟

以太坊交易

  • eth_call 读取链上状态或者调用不用改写状态的函数(view/pure),不需要消耗gas
  • eth_sendTransaction 需要改写区块链的状态,需要消耗gas

gas 计算

  1. 以太坊目前平均区块大小保持在1500w gas
  2. 以太坊区块大小上限为3000w gas
  3. 以太坊单笔最小交易需要占用2.1w gas
  4. 以太坊出块时间为14秒作用(以太坊最大每秒处理交易量为102)

不可能三角

  1. 安全性
  2. 去中心化
  3. 可拓展性

如何扩容区块链

layer2是一个建立在layer1(主要是以太坊)之上的网络,不同于layer1项目,layer2可以继承layer1的安全性,从而在可拓展性上进行扩展。目前的layer2主要是指rollups技术。

什么是Rollups

  • 链下执行:将执行以及状态维护等消耗大量资源的操作放在链下
  • 链上存档: 链上只存交易的输入(calldata)

交易所需要花费的gas有三部分组成:

  • calldata (交易输入)
  • computational(计算)
  • storage(存储)

如果在L1上做交易,则成本会很高(计算和存储的成本很高)

如果在L2上做交易,计算和存储被转移到链下,只需要calldata正确,就能获取正确的状态。因为计算和存储放到链下,他的成本会很低,而且交易的速度也会比较快。

Rollups分类

  • Optimistic Rollups 使用有效性证明来保证安全性,提款需要7天等待期,链下计算开销低
  • Zk Rollups 使用欺诈证明来保证安全性,在证明被提交至layer1后即可提款,链下计算开销高(需要生成加密证明)

layer2相关的名词解释

  1. fullnode(全节点):拥有layer2网络的状态,并不断监听更新,同时可以转发用户交易
  2. sequencer:layer2上的交易排序者,在收到用户的交易后有权直接确定用户的交易,进而给用户交易瞬时确认(会生成sequencer区块)
  3. calldata:交易调用数据,改数据作为用户对于区块链执行的输入,区块链收到后会按calldata的指定操作进行执行
  4. inbox合约:layer2交易的calldata存放在layer1的位置
  5. rollup合约:管理arbitrum rollup协议的合约,会生成rollup区块
  6. sequencer链:由sequencer提议的状态链,与layer1的链类似
  7. rollup链:质押状态,保证状态正确的链。并能在该链上进行欺诈证明

架构图

image.png

sequencer chain 是抽象出来的与其他区块链一样的链式数据结构

image.png

Rollups chain 为验证者质押链

image.png