时间:2023-06-15|浏览:195
在讲这个内容之前,我们先理解几个基本概念:
1. 区块:比特币的交易记录会保存在数据区块中,大约每10分钟产生一个区块。每一个区块由区块头(Header)和区块体(Body)组成。区块头封装了当前版本号(Version)、前一区块地址(Prev-block)、时间戳(Timestamp)、随机数(Nonce)、当前区块的目标哈希值(Bits)、Merkel树根值(Merkel-root)等信息。
2. Merkel树:比特币的每一笔有效交易产生都需要使用私钥进行数字签名得到一个哈希值。Merkel树中,将每一笔交易的哈希值两两进行哈希运算,最终得到一个哈希根值保存在区块头中,而Merkel树本身属于区块体。
3. 挖矿:挖矿即矿工争夺区块记账权,从而获得相应的比特币奖励的过程。
4. 哈希算法:将任意长度的消息压缩到某一固定长度的消息摘要的函数,是区块链可靠性的基础。
5. P2P网络:peer-to-peer的简称,即计算机对等网络。
6. 数字签名:使用公钥加密技术的一种数字信息鉴别技术。
以上概念在理解区块链形成过程中都非常重要。区块链形成的过程如下:
1. Alice要转给Bob5个比特币,她创建交易单,写上"我要转给Bob5个比特币",并输入自己的私钥将账户中的5个比特币解锁。
2. 技术后台将"我要转给Bob5个比特币"进行哈希运算,并将Alice的私钥使用密码学技术进行加密,得到Alice的数字签名。
3. 技术后台将Alice的数字签名、公钥发送给智能合约。
4. 技术后台将这个交易单发送到智能合约。
5. 技术后台使用Alice的公钥对数字签名进行解密,得到哈希值a。
6. 技术后台对交易单信息进行哈希运算得到哈希值b。
7. 后台验证哈希值a、b是否一致,若一致对该交易使用P2P网络进行全网广播,若不一致则交易驳回。
8. 后台根据当前挖矿难度系数设置下一区块的目标哈希值,矿工进行挖矿,争夺记账权。
9. 当一名矿工挖到合法区块后,对区块头上信息进行完善,包括时间戳,版本号、上一区块的哈希值、Merkel树根等,并通过P2P网络进行全网广播,其他矿工便不再进行该区块的挖矿动作,而转向验证该区块的合法性。
10. 通过验证区块合法后(UTXO和数字签名),挖到该区块链的矿工获得代币奖励,其余矿工将该区块纳入自己的区块链顶端,形成更长的主链,接着竞争下一区块的记账权。
以此往复,保证了比特币系统的运行,也是其能够维持至今的原因。区块链形成过程中离不开后台技术的支持,也需要矿工的算力贡献,在最终将交易记录真实、唯一、可追溯、不可篡改的写入区块链,实现了在虚拟网络中的价值交换。
下期内容我们将为大家讲解"什么是挖矿?全球排名前五的大矿池有四家在中国是不是国人的骄傲?"敬请期待。