比特币区块链维护着一个公共账本,账本上记录了所有曾经发生过的交易。网络上的每个节点都拥有一份完整的账本。挖矿是一个各方之间新的交易被验证,并被添加到比特币公共账本中的过程。这个过程保障了区块链的安全性。因此区块链上的挖矿行为,是一个铸造新的比特币,并将其引入已有流通供应的比特币中的机制。
挖矿的基础组成部分
比特币挖矿是被设计成资源密集型,同时也是具有挑战性的,比特币上每天发现的区块数量是不变的。该过程利用了一种被称为工作量证明(POW)的共识算法。
在工作量证明的机制下,矿工们互相竞争,通过解决一个复杂的数学方程,他们就可以独自在比特币网络上完成既定区块的交易。这些方程是被设计为很难解决的,但是方程的解却是可以很快被验证的。
一旦矿工找到新区块方程的解,他们就会将该区块广播给整个网络。所有其他矿工将核实答案是否正确,并且确认该区块。
加密哈希算法是控制比特币区块链不可篡改性和安全性的基础原理。Craig S. Wright博士化名中本聪,在创建比特币协议时,使用了SHA-256哈希函数。这个哈希函数将输出一个256位数字,为了便于人们更自然地理解,这个数字会使用64个字符的十六进制系统的数字来表示。
区块链的挖矿难度,指的是寻找到新区块的难易程度。若难度越高,则意味着找到新区块越难。这个难度将会定期调整,以确保挖矿的速率保持不变,并与网络中的哈希算例成正比。例如,当新的矿工加入网络时,随着竞争的增加,哈希难度也会增加,以防止平均出块时间减少。如果矿工离开网络,当系统内的算力较少时,哈希难度则会降低,以保持出块时间不变。每发现2016个区块,区块链网络就会调整一次难度等级。
挖矿是如何进行的?
挖矿是比特币区块链作为一个没有第三方中央权威机构参与的、去中心化的点对点网络运行的关键元素。广义而言,一方将比特币发送给另一方的交易会由节点(Nodes)插入区块链。矿工们运行特定的软件程序,将这些区块记录在比特币区块链上。
节点是区块链的基础。节点是矿工,它连接到比特币网络来查找区块并处理交易。节点通过使用比特币的点对点协议,在分布式系统内传输信息,以相互进行通信。所有网络上的节点会接收这些交易信息,随后验证它们的有效性。
之后会发生什么
矿工会从内存池中收集交易,单独计算出它们的哈希值,然后将其组装到区块中。在交易的哈希值会被组装成一个Merkle树(默克尔树或哈希树)。
Merkle树是通过将各种交易的哈希值成对排列,然后再次对它们进行哈希处理而形成的。这些输出的哈希值被组装成对,然后再次重复计算出新的哈希值,直到达到“树的顶端”。树的顶端被称为根哈希或Merkle根。它是一个单独的哈希值,代表了其生成过程中,使用了所有以前的哈希值。
区块头包含以下内容:
比特币的历史
这是比特币官方历史中发生的事件的简要概述: 扩容之争比特币开发者社区对于应该区块扩容还是应该维持小区块一直存在分歧。支持比特币交易代号为BTC的项目组将区块限制在孱弱的
- 根哈希
- 前一个区块的哈希
- 时间戳
- 客户端软件版本
- 目标值(难度目标值)
- 一个被称为Nonce的随机数
区块的哈希值,是由对区块头进行哈希计算的结果而得出的。它将作为新生成区块的标识符。
挖矿产生区块具有挑战性,因为这个区块头的SHA-256哈希值,必须低于或等于网络要接受区块的目标值。矿工通过迭代随机数,不断地重复对区块头进行哈希计算,直到网络上的某个矿工产生有效的区块哈希为止。
在有效区块被找到后,发起节点将向比特币网络广播该区块。其他节点会检查该哈希值是否合法,如果合法,它们会将该区块附加到自身的区块链副本中,这样就更新了账本,然后它们会继续去挖下一个区块。
区块更新失败的情况
有时候,两个矿工会同时广播有效的区块,网络会产生两个区块竞争的状况。这种“竞争状态”的出现是因为接受区块进入区块链网络并不是瞬时发生的。矿工的网络速度和连通性各不相同。无论哪个参与竞争的矿工,向大多数其他矿工广播自己的区块,最终都会有一个获胜。
当出现这种情况时,矿工会开始根据他们首先收到的区块,来开采下一个区块。竞争将持续到其中任意矿工基于任一区块再开采出下一个区块为止。被拒绝的块称为旧块或孤块。
位于被拒绝区块上的矿工将会回滚交易,在丧失区块奖励的同时,转而开采基于获胜区块构建的这条链。矿工们希望能尽快处理最长的链条,因为持续在一条被遗弃的链上挖矿是浪费时间和资源的。
安全风险
在极少数情况下,当某个团体或个人拥有区块链网络的大部分算力时,就有可能利用他们的力量来破坏区块链。通过使用挖矿算力来控制和破坏区块链的行为被称为51%攻击。
工作量证明有助于保护比特币网络免受攻击。成功的攻击需要在长时间范围内拥有大量的算力,因为该攻击若要造成真正的伤害,必须是持续性的。
所以说,这类攻击将是低效率的,因为其花费的成本将高于攻击网络所带来的潜在回报。对于矿工来说,使用他们的算力,公平地多挖一些区块来获得利润,比尝试攻击更有益处。
区块奖励
区块链挖矿的第一步是添加一个coinbase交易,这是只能由矿工创建的、独特类型的比特币交易。这笔交易没有任何输入(发送方),在比特币网络上开采出的每个新区块都有一个coinbase交易。区块奖励和矿工收取的交易费用,将作为挖出新区块的补偿发送到本次交易中。
诚然,比特币区块链的挖矿过程还有更多值得了解的内容。值得庆幸的是,您可以在掌握诸如代币化(Tokenization)、智能合约等比特币相关概念的过程中学习它。请继续阅读,很快您也会成为一位数字货币和区块链的专家!
郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。
比特币协议VS交易代号
比特币的本质是,第0.1版一经发布,其核心设计即已固定,并在整个生命周期中保持不变。《比特币白皮书》,中本聪 比特币如果要成为支撑金融支付和区块链应用的可靠系统,其协议
原创文章,作者:掘金K,如若转载,请注明出处:https://www.20on.com/112439.html