区块链技术如何工作? 一步步的教初学者

时间:2022-04-02 03:25:36

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

1 什么是区块链技术?

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

2 区块链如何工作?

  我们通过区块链网络进行简单交易的例子来了解区块链:
区块链技术如何工作? 一步步的教初学者
如果James转正发5BTC给他的朋友Kevin。现在该交易以数字信息的形式广播。
区块链技术如何工作? 一步步的教初学者
数字信息具有独特的签名,类似于就像您的签名提供文档拥有权,数字签名证明了交易是真实的。现在这个生成的交易广播到P2P网络中。
区块链技术如何工作? 一步步的教初学者
            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也将会改变。这一套连锁操作,导致节点不能达成共识,所以就可以很容易地检测到欺诈行为。

作者:About Shashank
链接:https://www.edureka.co/blog/how-blockchain-works/#hacksystem
版权声明:作者保留权利。文章为作者独立观点,不代表B链网立场。严禁修改,转载请注明原文链接