首页 > 区块链博客 > 以太坊(Ethereum)全零地址(0x000000...)揭秘

以太坊(Ethereum)全零地址(0x000000...)揭秘

2018-05-31 11:30:08 阅读量:

全文摘要:

最近,一位小伙伴向我咨询问题,说他发现了一个诡异的现象。 以太坊的区块链中居然有全是0的地址:0x0000000000000000000000000000000000000000 这究竟是怎么回事儿呢? 查看区块链后,发现还是蛮有趣的,且听我慢慢道来。 神秘而富有的地址 用在线的区块链浏览器查看下这个地址,

最近,一位小伙伴向我咨询问题,说他发现了一个诡异的现象。
以太坊的区块链中居然有全是0的地址:0x0000000000000000000000000000000000000000
这究竟是怎么回事儿呢?

查看区块链后,发现还是蛮有趣的,且听我慢慢道来。

神秘而富有的地址


用在线的区块链浏览器查看下这个地址,我勒个去,居然有7228个ETH,价值500多w刀呢。
这究竟是何方土豪?这些ETH又从何而来呢?


创世区块
之前的文章《以太坊(Ethereum)创世揭秘》中曾经提到过,ETH最主要的来源并不是挖矿,而是当年众筹时发行的。


即使在以太坊正式发布近三年后的今天,创世区块中发行的7200w个ETH依然占到73.4%。
那么,这个全零地址中的ETH,是不是来自创世区块中发行的ETH呢?
创世区块中发行的ETH的分配情况,可以在这里找到:genesis_block.json,这个全零的地址并不在其中。
然而,解析下创世区块,可以发现,挖出创世区块的miner,居然是这个全零的地址。
{ difficulty: '17179869184', extraData: '0x11bbe8db4e347b4e8c937c1c8370e4b5ed33adb3db69cbdb7a38e1e50b1b82fa', gasLimit: 5000, gasUsed: 0, hash: '0xd4e56740f876aef8c010b86a40d5f56745a118d0906a34e69aec8c0db1cb8fa3',
logsBloom: '0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000',
miner: '0x0000000000000000000000000000000000000000', mixHash: '0x0000000000000000000000000000000000000000000000000000000000000000',
nonce: '0x0000000000000042', number: 0, parentHash: '0x0000000000000000000000000000000000000000000000000000000000000000',
receiptsRoot: '0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421', sha3Uncles: '0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347', size: 540, stateRoot: '0xd7f8974fb5ac78d9ac099b9ad5018bedc2ce0a72dad1827a1709da30580f0544', timestamp: 0, totalDifficulty: '17179869184', transactions: [], transactionsRoot: '0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b4
21', uncles: [] }
创世区块不是被挖出来的,它是被人为创建出来,并作为整条区块链的起点。
既然不是被挖出来的,使用全零的地址作为占位符也是合理的。
创世区块因为不是挖矿所得,无人为此消耗算力,自然也不会有任何区块奖励。
转了一圈,这个全零地址中的ETH和创世区块并无关系。


挖矿
除了创世区块中发行的ETH,新的ETH只有一种产生途径,那就是挖矿。
为了更加精确的计算,以下单位均使用ETH的最小单位Wei,关于单位问题,可以参看这里《以太币(Ether)的单位》。
搜索下miner为这个全零地址的区块,还真不少呢。
这个全零地址共挖出主链区块94个:
.............

其中区块奖励由三部分组成:固定奖励、包含叔块奖励、手续费。
这个全零地址共挖出叔块2个:
叔块Hash:叔块奖励


0xe1cdea3312b9d5bbc12a75885716a1791ab4afa1e8936718e40241875cb54307 : 3750000000000000000wei
0x1b86df4a92f90d2ebf850cabbb2890c1a6e6a321d878cbaead7f7fd1eda18866 : 3750000000000000000wei
通过挖矿,这个全零地址共获得ETH的总数为:478889602212339229882wei。


为什么会有人使用全零地址挖矿?
仔细观察我们会发现,这个全零地址挖出的最后一个区块的高度为1045864。
这个区块被挖出的时间大约是北京时间2016年2月23日10:31:46。
这个时间距今已经两年多了,当时距以太坊正式发布仅仅半年多,以太坊仅为少数人所知。
再来观察下区块1045864的难度值:13,869,188,715,132,大约14T。
这个难度下,即使只有一张1060显卡,平均也仅需要8天即可发现一个区块,如果是一台矿机的话,这个时间将会缩短到数小时到1天。
在此之前挖出的区块,由于难度值更低,需要的时间更短。
全零地址最早挖出的一个区块是5305,难度值仅有199,485,740,316,不到0.2T,还是1060显卡为例,仅需要不到3小时即可发现一个区块。
那时候,区块是如此容易挖掘,几乎任何一台有独立显卡的中端PC,都可以挖到区块。
于是,很多人本着试试看的心态,使用自家的普通PC尝试挖掘,几乎0成本。
这群人中,有相当一部分是仅会复制粘贴的小白,悲催的事儿来了,他们忘记设置收款地址。有些专业矿工在调试机器稳定性时,也会出于方便,没有对挖矿软件进行配置。
部分钱包软件在solo挖矿时,如果不设置收款地址,就会默认使用全零地址挖矿,比如 ethereum/cpp-ethereum 就是这样。
这也就解释了,为什么会有如此多的区块是全零地址挖到的。
后来,区块挖掘越来越难,ETH也变得越来越有价值,仅靠普通PC已经不太可能挖到区块了。这时还在挖矿的人,多半是投资者或者极客,他们或有技术支持人员,或自己就是技术人员,自然不会犯这种低级错误。再后来,挖矿难度进一步提升,矿池成为主流。矿池由更加专业的团队运营,忘了填收款地址这种事儿,根本不可能发生在矿池身上。
这也就解释了,为什么全零地址在最近两年中,再也没挖到区块。

来源:币乎


上一篇:为什么2018年是游戏业区块链元年?
下一篇:2018,比特币能否东山再起?

微信

微信

微信

微信