现在以太坊2.0的技术讨论非常多,但绝大多数文章都没能把那些基础概念说明白,把读者都绕晕了。
虽然ETH2.0总体上是非常复杂的,但那些基础概念,如分片,信标链,的设计思想是非常简洁,不需要我们拥有多少专业知识就可以弄明白。
我们先抛开那些复杂的技术实现细节,就可以用非常简洁的文字描述分片这个概念。
以太坊地址
我们先看一下以太坊的地址格式。下面是一个典型的以太坊地址,我在浏览器里随便复制过来的。
0x506dDF5a547EaaE34bAE6Ff57c78B5aD50a6A1BF
Modular Cloud完成170万美元Pre-Seed轮融资:金色财经报道,区块链工具提供商Modular Cloud已于去年完成170万美元Pre-Seed轮融资,Maven11和Blockchain Capital共同领投,NFX、Celestia基金会和Eclipse等参投,所筹资金将用于为模块化区块链构建区块浏览器以及招聘员工,目前Modular Cloud仅由其两位联合创始人运营。(The Block)[2023/2/16 12:09:36]
所有的以太坊地址开头两个字符都是0x,代表了使用的是十六进制。从第三个字符开始,每个字符就是从0到F,一共16个可能性。
阿里云香港地域电讯盈科机房制冷设备故障已修复,将根据相关产品SLA协议进行赔付:金色财经报道,据阿里云官方公告表示,目前阿里云所租用的香港电讯盈科公司机房已修复制冷设备故障,阿里云香港地域所有可用区云产品功能正在陆续恢复正常。对于受本次故障影响的产品,阿里云将根据相关产品的SLA协议进行赔付。
此前报道,昨日,阿里云发布公告称,阿里云监控发现香港地域某机房设备异常,影响香港地域可用区C的云服务器ECS、云数据库PolarDB等云产品使用,阿里云工程师已在紧急处理中。[2022/12/19 21:53:43]
分类
ZKSync网络每笔交易的Gas费达0.03美元:金色财经消息,L2Fees数据显示,目前ZKSync网络进行每笔交易的平均Gas费用约为0.03美元。此外Arbitrum网络发送ETH的Gas费用约为0.01美元。[2022/8/14 12:24:59]
我们从第三个字符开始分类,如果采用一个字符分,把0到F,分别分成一类,就可以分成16类。而如果采用两个字符,比如从00到FF,就可以分成16^2=256类。而选三位数来分,就是16^3=4096类。
现在的以太坊1.0所有的账户是没有按上述字母进行区别对待,所有的地址都是一样地位,包括外部账户和合约账户,都是一样的。
这里说的一样,指的是以太坊节点、钱包、及各种软件是不会将地址分门别类,都是一视同仁。包括以太坊的区块打包,也不会按地址分类排序。
在ETH2.0的分片设计思路中,地址就会按前几个字母进行分类。
分片
ETH2.0的地址设计规则会进行分类,一类地址就是一个分片。这就是大名鼎鼎的分片,就这么简单。
第一阶段,以太坊2.0会有64个片,这意味着只需要选择地址的第3和第4个字符来分类就可以了。
按地址分类后,ETH2.0的节点、钱包、各种软件,以区块的设计,就可以区别对待各类的地址的交易。
地址分类之后,区块就会按地址分类进行打包。一个区块里只会包含一类地址。而所有这些同一个分类地址的区块,就共同组成了一个以太坊的分片。
定义
现在我们可以来定义ETH2.0的分片了。
先把地址按前几个字母进行分类。
分片就是所有打包了同一类地址交易的区块,并且同一分片只打包一类地址的交易。
跨片
如果一个片的地址相互发送币,非常好处理。但如果是跨片区发送交易呢?这就要用到信标链了。
信标链我们以后说,这里简单描述信标链如何帮助不同类地址跨片通信。
比如0x00地址要发1ETH到0x01地址。
每一个分片区块,都是跟随着信标链的一个区块,一对一的关系。
方法就是0x00先把1ETH发给自己片区的那个信标链区块上,信标链有一个叫状态转换函数的东西,这个状态转换函数会把这1ETH发给0x01分区的那个信标链的区块上,然后再转发给0x01地址。
补充说明
我上面的描述是非常简单,不需要基础知识就能理解。我还是要强调,这只是对分片的思想进行描述,它的实现细节很复杂。
参考资料在这里:https://eth.wiki/sharding/Sharding-FAQs英文的,很难懂。如果你愿意一个单词一个单词啃完,那也就理解了。
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。