当前位置: 首页 > 科技 > 区块链 > Layer2入门理解_腾讯新闻

Layer2入门理解_腾讯新闻

天乐
2021-06-04 13:07:12 第一视角

本文简单介绍Layer2是什么。

以太坊的世界状态和区块链数据

以太坊节点的数据也可以看成是分成两部分,一部分叫世界状态,另一部分叫区块链。

世界状态就相当于比特币的UTXO,可以简单理解为以太坊全网所有地址的账户余额表。

以太坊的世界状态是交易直接驱动修改的。我们每次发送一笔交易,无论是以太币还是erc20币,都会对世界状态这张余额表产生影响。

以太坊交易的完整数据会以区别于世界状态存储在另外的区域。这些交易的完整数据的存储就和比特币的区块链数据一样。每一笔交易都会驱动全网修改区块链数据。

以太坊的一个节点也可以使用区块链数据从高度开始计算出世界状态。

以太坊的区块大小 设计

对比特币来说,一个区块能容纳多少笔交易是受区块大小上限限制。即每一笔交易都有一个数据尺寸,比如500字节。一个区块所有交易尺寸加起来不能超过某个值,现在是1M(严格来说BTC是1M交易数据加3M签名见证数据。BCH是32M。)

对以太坊来说,一个区块能容纳多少笔交易是受区块的gas上限限制。即每一笔交易都要消耗一定的gas,比如5万gas。一个区块里所有的交易消耗的gas总量不能超过某个值,现在是1500万。

下面是本文的关键

对以太坊来说,一笔交易消耗掉的gas可以分成两部分,一部分是驱动修改世界状态消耗掉的,另一部分是将交易数据写进区块链消耗掉的,并且,前者消耗掉的gas远远贵于后者。

将交易数据存在区块链数据里,只是消耗存储的gas。读写世界状态的gas值要远高于存储消耗的gas。

请记住这一点。

有了这样的认知,就可以讨论L2的设计了。

Rollup-Layer2的设计理念

Layer2的设计目标就是为了降低以太坊交易消耗的gas。所谓的Rollup就是将多笔交易卷起来打包一块上传给L1。

对用户来说,Layer2和L1一样,就是一个用来发送和接收交易的东西。交易会在L2完整修改世界状态和写入区块链。L2会定期将多笔交易卷起来打包一块上传给L1。

但在L2将交易打包上传到L1的操作,并不会修改L1的世界状态,只会修改区块链数据,即只是将交易数据存储进L1的区块链数据里。除非在L2和L1发生了充值和提款操作,才会在L1修改世界状态。

因为修改L1的世界状态太消耗gas了,而只是交交易数据存进区块链数据很便宜。

对L1来说,虽然这些来自L2的交易包不直接修改世界状态,但有了区块链数据,也可以通过计算完整回溯这些世界状态的修改过程。但计算过程要消耗大量的gas。

L2的设计的本质就是通过某方式来证明在L2上的交易执行的规则,完全符合L1的执行规则。即L2说,虽然在我身上发生的交易,我保证我的交易转账规则完全符合L1,但我不会直接在L1上体现出来。

zk系列的L2设计方案,就是通过零知识证明,以证明在zk-L2上的交易完全符合L1上的交易规则。这是有数学保证的。

OP系统的L2设计方案,是通过抵押资产,声明自己不作弊,如果谁能证明我作弊了,就可以罚我的抵押资产。就是默认L2不会作弊,这就是所谓的乐观rollup。

-------

普朗克(Plancker Dao):预测区块链的未来。

-------

提示:支持键盘“← →”键翻页
为你推荐
加载更多
意见反馈
返回顶部