门罗蚂蚁矿池
1. 比特币怎么挖
比特币节点互相连接时,会从对方处获取自己没有的交易。但由于比特币长期积累天量的交易,两个节点逐条对照你缺了哪些交易/我缺了哪些交易,是非常困难的事情。
为解决这一难题,中本聪发明了区块链(Block chain)这一重要技术。节点借助区块(block)来同步交易,保证了所有节点数据的统一性,并通过竞争区块打包权(也就是挖矿)的方式,保证了区块链的唯一性。
① 区块和区块链
一段时间内的交易打成的一个包称为区块,比特币全网平均每10分钟产生一个区块,每一个区块都链接到上一个区块,依次相连形成区块链。
② 以区块为单位同步交易数据
区块从1开始编号,因此节点A连接节点B后,只要检查双方的区块编号高度,就能方便地同步交易数据。例如节点A自己的区块高度是100,发现节点B的区块高度是110,则只要向B请求同步101~110这10个区块即可。
③ 打包区块的奖励
为保证有节点打包比特币交易,比特币规则规定:打包交易的节点将获得比特币作为酬劳。
A、打包奖励的一部分来自交易创建者支付的交易手续费(每KB交易大小100~1000聪手续费)。
B、另一部分来自初始2100万个比特币的分发,最开始奖励是每个区块50比特币,之后每经过21万个区块(约4年时间)奖励将减半一次,直到2140年左右区块奖励不足1聪为止,此时区块奖励总和为2100万比特币,这就是比特币2100万总量的来源(准确地说是 20999999.97690000个)。
2140年后打包奖励将只来自于交易创建者支付的交易手续费。
④ 对区块打包权的竞争
节点打包交易只需要消耗很低成本的网络和计算资源,打包奖励的存在(目前每个区块的打包奖励25比特币约为4万元),使得有大量节点想打包交易。为保证区块链的唯一性,比特币规则规定:节点使用类似“扔硬币”的方法争夺交易打包权。节点不断地扔硬币,谁首先扔出符合规则的结果,谁就能获得这个区块的交易打包权,以及这个区块的打包奖励。