区块链技术如何工作?

发布者:良 时间:2018-11-02

区块链技术如何工作?

区块链技术是互联网3.0或互联网协议。 它由多种技术组合实现,正逐渐掀起一场革命。 按照我们目前所了解的情况,它有可能改变许多业务场景,但并不那么容易理解这些内容。 所以接下来的内容让你了解区块链是如何工作的。

1 什么是区块链技术?

2 区块链如何工作?

2.1 独立验证交易

2.2汇总已验证交易

2.3 挖掘区块(挖矿)

2.4 多个分支处理

3 如果有黑客试图破解系统会怎么样?

1 什么是区块链技术?

区块链是一个分散的不可变记录的分布式数据库,其中的交易收到很强的加密算法保护,通过共识算法维护网络状态。简而言之,区块链是包含许多信息区块组成的链。在1991年最开始描述该技术,其目的是在数字内容中添加时间戳,用来避免任何记录的回滚。然而,在中本聪用它创造数字加密货币“比特币”时,这项技术的真正潜力才得以实现。

区块链技术如何工作?

区块链

2 区块链如何工作比如两个人

我们通过区块链网络进行简单交易的例子来了解区块链:

区块链技术如何工作?

区块链如何工作

如果James转正发5BTC给他的朋友Kevin。现在该交易以数字信息的形式广播。

数字信息具有独特的签名,类似于就像您的签名提供文档拥有权,数字签名证明了交易是真实的。现在这个生成的交易广播到P2P网络中。

区块链技术如何工作?

假设网络中的节点A第一个接收交易。

2.1 独立验证交易

节点A在向其邻居发送交易之前,该节点将先验证每个比特币交易。

区块链技术如何工作?

系统只保证有效交易在网络中传播,而无效交易在收到他们的第一个节点处被过滤处理。每个节点根据标准的长度来确认每笔交易。

2.2汇总已验证交易

通过矿工挖矿产生新的区块,并将这些交易保存到区块中,通过工作量(POW)验证算法显示最后计算结果。

区块链技术如何工作?

自动确认每个接收的交易,在传播交易之前,每个节点都会制作一个有效(但未确认)的交易池,称为交易池、内存池或mempool。

交易被挖掘节点收集,验证,然后像其他节点一样中继新交易

与其他节点不同,矿工节点将这些事务收集到候选块中

下面的例子将更好的理解交易过程

假设Andy是矿工。 (矿业节点维护区块链的本地副本,这些副本是自2009年比特币系统开始以来创建的所有区块列表)

区块链技术如何工作?

现在,收到到所有交易到区块块中后,Andy需要构建块头。 现在这一步对了解区块链是如何工作很重要。

构建区块头部结构

构建区块头部,矿工节点需要填写以下六个字段

区块链技术如何工作?

一旦Andy的节点将所有字段填充到块头中,Andy就开始挖掘该块。

2.3 挖掘区块(挖矿)

当块头以及所有其他字段填写完成之后,开始挖掘区块

其目标是为nonce找到一个值,使区块头HASH小于难度目标

矿工节点需要在十亿或数万亿个随机数值找到满足要求的随机数

现在Andy的节点已经构建了一个候选块,现在是Andy的矿机“挖掘”该块的时候了,以找到一个POW算法的解决方案,使该区块有效的。

POW工作证明是一个很难产生的昂贵、耗时的数据,但其他人满足某些需求时很容易验证。

寻找谜题 - 为什么很难?

SHA-256是一种单向函数,暴力(破解)是获得特定输出值的唯一方式

一般情况下,需要很多随机猜谜才能找到解决方案

平均需要10分钟左右才能找到最终的解决方案

为了维持可预测分配币,当参与猜谜的人越多时,猜谜难度越来越大,难题将越来越难以解决。

现在,使用工作证明POW算法验证区块,Andy的挖矿节点必须达到难度目标。

区块链技术如何工作?

让我们看看难度是如何体现的。

难度描述

该区块包含一个难度目标,称为“难度 bits”或仅“bits”

假设区块以0x1903a30c作为难度bits。 该表示法将通过系数/指数格式表示难度目标,前两个十六进制数字(19)作为指数和后六个十六进制数字(03a30c)作为系数

根据上述表示法,计算难度目标的公式为:

所以,Andy的挖矿节点难以实现的难度系数很难达到难度目标。 让我们看看接下来会发生什么。

成功挖到区块

Andy有多台硬件采矿设备,每个都以很快的速度并行运行SHA256算法

Andy图形桌面版的挖矿节点将区块头传输到他的采矿硬件,该采矿硬件每秒万亿计的生成随机数

大概挖11分钟区块的时候,其中一台硬件矿机发现一个解决方案并将其发送回挖矿节点

紧接着Andy的采矿节点将区块发送给所有的同伴

同伴接收后验证并传播新块。

现在Andy挖到的区块在网络中传播,每个完整节点将独立验证该区块

每个区块的独立确认

在比特币的共识机制中,每个新块都由网络上的每个节点独立验证

这样确保只有有效的块在网络上传播

节点根据一系列必须全部满足的标准进行检查验证该块

组装和选择区块链

一旦有节点验证了新块,它就会尝试通过将区块连接到现有区块链来组装新的区块链

区块链技术如何工作?

在上图所示的网络中,一旦节点(橙色)验证了该块,它就通过将该区块连接到现有区块链来组装形成新的区块链。

一旦该区块被网络验证,它就成为区块链的一部分并且成功地解决块区块组装,挖到该区块的矿工将获得奖励。

矿工奖励

由于矿工们使用他们宝贵的资源来验证这个区块,所以他们会获得金钱奖励

以比特币为例,他们获得一些新创建的比特币作为奖励

问题出现了,在多个区块被验证有效的情况下会发生什么?

是的,这确实是可能的! 在这种情况下,存在多个分支。

2.4 多个分支处理

尽管问题很严峻,但有可能同时存在多个区块

区块链中的几个分支在这种情况下是可能的存在的

每个人都应该在他们收到的第一个块的顶部构后简单地构建区块

区块链技术如何工作?

其他节点可能以不同的顺序接收了这些区块

他们将第一次收到进行构建区块

其他节点可能以不同的顺序接收了这些区块,他们将第一次收到进行构建区块,当有人解决下一个区块时,领队的将会被破坏,但是这种情况很少多次连续发生,在这种情况下,区块链将迅速稳定下来

一般规则是各个节点切换到可用的最长链,区块链迅速稳定下来。 每个节点都与总账的当前状态一致。

至此,所以共识规则将模糊的情况进行处理,最终保存在区块链网络中,现在又出现了另一个问题,如果有人试图改变系统中的任何交易或记录会怎么样!

3 如果有黑客试图破解系统会怎么样?

一旦区块被破解,加密HASH输出成为该块的标识符,由于区块链记录的是后向链接分布式数据库。 当一个块形成时,密码HASH输出将成为该块的标识符,该区块与下一个区块相关联,从而创建区块链,因此区块链是由强大的加密算法保护,无法更改任何记录。

如果有人试图改变任何块中的任何交易,那么区块的HASH会发生变化,而且它之前的区块的HASH也将会改变。这一套连锁操作,导致节点不能达成共识,所以就可以很容易地检测到欺诈行为。

微信网站建设分享 新浪网站建设分享 微博网站建设分享 空间网站建设分享

    18953209422

立即咨询
关闭