当前位置:   article > 正文

区块链运行原理_区块链运行机制

区块链运行机制

前言

上文《认识区块链》中可以知道区块链是一个通过各种加密算法、共识机制以及其他技术可以实现一个点对点的电子现金系统,从而达到去第三方的效果(通常称之为去中心化)。本文将从区块链的内部结构、交易的过程、如何对一笔交易达成共识以及交易存在的问题详细介绍区块链是如何运行的,并且在此过程中了解区块链更多的特性。

区块链的结构

在我们网购过程中,当一笔交易发生时,第三方交易平台(淘宝、京东)会对用户的账户进行资产增减操作并记录交易信息,这些数据都会存储在平台的数据库中。那么在区块链的世界中这些信息是怎样被记录的?

在这里插入图片描述

首先在区块链的世界中用户的账户密码是以私钥和公钥的形式存在。私钥是随机生成的,相当于密码,由用户自己掌握,如果私钥丢失后无法像平台一样找回密码,就相当于丢钱。而公钥则是曲线加密生成,相当于账户,在全网公开,用于账户之间的转账,二者存在数学验证关系,只能通过私钥单向的计算出公钥,所以通过私钥可以证实你是这个公钥的持有者。

当两个账户(公钥)发生交易后,交易记录最终会被打包到一个区块中,而区块会按照时间顺序连接成一条链,最终形成了逻辑上的区块链。

这里要提一下在区块链中是如何记录账户余额的。
在传统账户中余额就是一个账户的最终状态,改变余额直接在其基础上增加或减少即可。而在区块链中记录账户余额有个专业的名词 UTXO(Unspent Transaction Output ),翻译过来就是未花费的交易输出
在这里插入图片描述

如何理解?如上图,当账户A像账户B转账30个BTC,那么账户A会将自己的余额作为交易的输入,而输出则是给账户B的30,剩余的20又作为输出转给了自己,那么账户B的余额则为未花费的交易输出30,账户A的余额则为未花费的交易输出20。

区块链的交易过程

在区块链中达成交易需要经过以下几个环节:

  1. 发起交易:如果A要向B转账,那么A会全网广播一条消息,这条信息中包括付款人A的账户地址、收款人B账户地址、付款人A的资金来源、转账的数量以及A的数字签名。在这里插入图片描述

  2. 验证交易:在网络中的记账者们(矿工)在接收到交易消息后会验证付款人/收款人的地址是否存在、付款人A资金是否足够以及通过数字签名验证消息的真实性,验证通过后会将该交易消息记录下来,组成备用区块。

  3. 竞争记账权(挖矿):由于在网络中存在大量的记账者,且都会维护一本账单,那新的区块应该记录哪个记账者的账本呢?区块链中通过共识机制对此行为达到共识。

  4. 打包区块:当某个记账者竞争到记账权后,会将自己本地某一段时间的交易打包到区块,并让全网的记账者接受这个区块。

  5. 验证区块:当其他的记账者接收到区块后会验证几点来证明区块的真实有效。

    1. 验证父哈希是否与自己的匹配 。
    2. 验证区块中所记录的所有交易。
    3. 验证区块中的头哈希是否与账单匹配。

当区块被验证通过后,其他记账者们也就很遗憾的将这个区块同步到区块链上,并且基于新的区块进行记账。为什么遗憾呢?因为竞争到记账权的矿工会得到相应的奖励,比特币的网络中现在每挖一个区块会奖励6.25个BTC,也就是18万美元而已声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/article/detail/30263?site

推荐阅读
相关标签