的分片概念轻松理解ETH20

  • 时间:
  • 来源: 网络
  • 分类: 百科
  • 192条评论
  • 89浏览

我们[wǒ men]先抛开那些复杂的技术实现细节,就可以用非常简洁的文字描述分片[fēn piàn]这个概念。

以太[yǐ tài]地址[dì zhǐ]

我们先看一下以太坊的地址格式。下面是一个[yí gè]典型的以太坊地址,我在浏览器里随便复制过来的。

0x506dDF5a547EaaE34bAE6Ff57c78B5aD50a6A1BF所有的以太坊地址开头两个字符[zì fú]都是0x,代表了使用的是十六进制。从第三个字符开始,每个字符就是[jiù shì]从0到F,一共16个可能性。

分类[fēn lèi]

我们从第三个字符开始分类,如果采用一个字符分,把0到F,分别分成一类[yī lèi],就可以分成16类。而如果采用两个字符,比如从00到FF,就可以分成16^2 = 256类。而选三位数来分,就是16^3=4096类。

(我们先不考虑以太坊地址规范里的一些限制条件,比如大小写,比如校验码之类的。先只考虑分片的思想。如果考虑地址设计规范,实际的可分类要少。)

现在的以太坊1.0所有的账户是没有按上述字母进行区别对待,所有的地址都是一样地位,包括外部账户和合约账户,都是一样的。

这里说的一样,指的是以太坊节点、钱包、及各种软件是不会将地址分门别类,都是一视同仁。包括以太坊的区块[qū kuài]打包,也不会按地址分类排序。

在ETH2.0的分片设计思路中,地址就会按前几个字母进行分类。

分片

ETH2.0的地址设计规则会进行分类,一类地址就是一个分片。这就是大名鼎鼎的分片,就这么简单。

第一阶段,以太坊2.0会有64个片,这意味着只需要选择地址的第3和第4个字符来分类就可以了。

按地址分类后,ETH2.0的节点、钱包、各种软件,以区块的设计,就可以区别对待各类的地址的交易。

地址分类之后,区块就会按地址分类进行打包。一个区块里只会包含一类地址。而所有这些同一个分类地址的区块,就共同组成了一个以太坊的分片。

定义

现在我们可以来定义ETH2.0的分片了。

先把地址按前几个字母进行分类。

分片就是所有打包了同一类地址交易的区块,并且同一分片只打包一类地址的交易。

跨片

如果一个片的地址相互发送币,非常好处理。但如果是跨片区发送交易呢?这就要用到信标[xìn biāo]链了。

信标链我们以后说,这里简单描述信标链如何帮助不同类地址跨片通信。

比如0x00地址要发1ETH到0x01地址。

每一个分片区块,都是跟随着信标链的一个区块,一对一的关系。

方法就是0x00先把1ETH发给自己片区的那个信标链区块上,信标链有一个叫状态转换函数的东西,这个状态转换函数会把这1ETH发给0x01分区的那个信标链的区块上,然后再转发给0x01地址。

精彩评论

匿名用户

如果喜欢我,这个冬天你就会有个能暖手的小鸡鸡

匿名用户

别人都是为怎么挣钱而发愁,我却是为怎么花钱而发愁,二十块怎么能花到下月十号?

匿名用户

A:你知道我最喜欢喝什么嘛 B:什么 A:呵护你

匿名用户

注重细节,从小事做起,因为你根本做不了大事。

匿名用户

失恋的时候,许多年轻人以为整个世界都抛弃了自己,别傻了,世界根本就没需要过你。