前面,我已经对交易池进行解读,下面几篇文章将解读以太坊挖矿逻辑。挖矿是将交易打包到一个区块中,并进行POW工作计算,最终将一个符合共识规则的区块,广播到网络中的过程。
那么以太坊挖矿涉及哪些环节呢?本文先简短介绍每个环节,后续文章详细讲解每个环节。
下图是以太坊挖矿的主要环节,一环扣一环,缺一不可。
以太坊 geth 项目中,关于挖矿逻辑,全部在 miner 包中,3个文件便清晰滴定义挖矿逻辑。所以,后面讲解挖矿业主要集中在这几个文件中。
在以太坊控制台,只需要输入命令:miner.start()
即可进开启实时挖矿。 能否能挖新新区,取决于交易池是否有交易和服务器性能。
挖矿过程实际就是创建一个符合共识的新区块过程。所以在开启挖矿后,矿工的第一件事情则是集中完成一个新区块的构建,为后续挖矿过程做准备。
以太坊本是基于POW工作量证明的共识算法。在这里必须找出一个通过哈希计算,在约定时间内找出一个符合难度值的Nonce。找到相符的Nonce,表示进行了一定的工作量计算。 这是所有POW共识的区块链所必须经历的一个挖矿流程。
并不是一定能成功找出Nonce。特别是在规定的时间内和别人已挖出该高度区块时。只有成功找出Nonce后,则可以大胆的告诉所有人,我已经挖出这个高度的区块了。可以理直气壮地将此区块保留到本地,并广播到整个网络。
一旦成功挖出新区块,则可以直接将其存储到本地。存储后,可以等待别人对他的认可度。一旦超过50%的节点认可后,大概率上你这个新区块将作为最长链的一部分。
如何让别人能快速认可你的区块,所以需要在第一时间将区块广播到网络中。抢先于别人一秒,将增大新区块的被认可度。
hi 🙂,我录制了《说透以太坊技术》的视频课程,快快上车!