区块链解释:什么是区块链,它是如何工作的?

这个全面的区块链教程解释了区块链技术是什么、它的历史、版本、类型、构建块以及区块链的工作原理:

区块链已成为顶级组织中的一种流行技术。人们对这项技术寄予厚望,采用率正在上升,今年多达 77% 的金融组织可以在其制造流程和系统中采用该技术。

然而,人们对区块链知之甚少,这是其采用的障碍之一。全世界近 80% 的人不明白它是什么。

 

这是第一个涵盖该技术各个方面的区块链教程系列。我们将了解区块链及其历史、工作原理及其基础知识,例如区块链类型、区块链节点和分布式账本。我们还将看到它是如何构成的。

本区块链教程还将简要介绍区块链如何保护数据以及这如何帮助组织进行各种操作。

你将学到什么:

  • 区块链教程列表
  • 什么是区块链技术?
    • 区块链的关键方面
    • 区块链的历史
    • 区块链版本
    • 区块链的类型
  • 区块链如何运作?
    • 区块链节点
    • 区块链如何保护数据和信息?
    • 分布式日志与普通数据库
    • 区块链的构建块
      • 区块链共识算法
      • 区块链和散列 创建块
      • 哈希是如何工作的?
    • 区块链区块是如何集成的?
      • 创建区块困难
  • 结论
    • 推荐阅读

区块链教程列表

教程 n。1:区块链的解释:什么是区块链,它是如何工作的? (本教程)
教程 n。2: 区块链应用:区块链是干什么用的?
教程 n。3: 什么是区块链钱包,它是如何工作的?
教程#4: 区块链浏览器教程 – 什么是区块链浏览器
教程#5: 区块链ETF教程 – 了解所有关于ETF的区块链
教程#6: 为什么区块链安全至关重要以及它是如何实施的?
教程 n。7: 如何成为区块链开发者
教程号 8: 区块链认证和培训课程
教程号。9: 前 13 名最佳区块链 DNS 软件 [更新列表]


什么是区块链技术?

请参阅下图以了解去中心化、分布式和集中式网络之间的区别。

分布式、集中式和分散式网络

区块链是允许计算机网络在没有中介的情况下直接相互连接的软件。它建立了一个分布式或去中心化的计算机网络,通过该网络可以以较低的成本即时发送、即时交换或安全存储价值。

数据被复制到多个节点,每个节点都复制区块链。正因为如此,以及数据不可更改地存储在链中的事实,区块链消除了数字记录丢失的机会。它还减少了文档被篡改的机会以及如果用户的节点或计算机不可访问时文档变得不可用的情况。

除了上面的定义,简单来说,区块链这个名字意味着一个区块链。数据存储在块中,然后随着事务继续在网络上运行,块被累积和保护。区块链链接在一起,使得交易历史很难丢失。

此外,每个区块都标有时间戳,其中包含公共交易的时间、日期和数量等详细信息。

区块链的关键方面

区块链解决了互联网无法解决的三件事。 请参考下表了解关键方面:

关键方面
价值 区块链为数字资产创造价值,其价值仅由所有者控制,无需中介。该值不能被政府审查
信心 区块链永久且不可变地跟踪所有权、支出和记录,因此它们是公开可用的并且都可以被跟踪。
可靠性 区块链消除了单点故障:可以将数据存储在一个位置并检查数据的中间人,如果中心点不可用,则该数据肯定不可用。

区块链的历史

区块链技术于 1991 年推出。它的出现是因为需要一种可以对数字文档进行时间和日期的方法,以防止它们被篡改或回溯。研究人员 Stuart Haber  和  W. Scott Stornetta 描述了一个系统,该系统使用一系列加密块来存储带时间戳的文档。

斯图尔特哈伯
 斯图尔特哈伯
[ 图片来源 ]

斯科特·斯托内塔
斯科特 Stornetta
[ 图片来源 ]

后来可以在一个块中嵌入许多文档,然后将一个块链接到另一个块。这是在 1992 年将 Merkle Trees 添加到设计中以提高区块链技术的效率之后。

然后一个块可以存储一系列数据记录,因此可以链接到下一个,最后一个包含整个块的历史记录。区块链技术的专利于 2004 年到期,该技术在此之前一直未被使用。

加密活动家 Hal Finney 于 2004 年推出了可重复使用的工作证明 (RPoW),作为数字货币的原型,为引入加密货币铺平了道路。系统可以工作并接收令牌以换取已完成的工作。

网络上使用的不可替代代币基于 Hashcash 工作量证明,不可交换,但可以在人与人之间转移。在这个系统中,令牌可以存储在受信任的服务器上,世界各地的用户都可以验证其正确性和完整性。

随后,中本聪在 2008 年引入了分布式区块链理论。由于他的创新,可以将区块添加到链中而无需由受信任方或中介签署。修改后的树现在可以包含数据记录的安全历史记录,并且每次交换都可以由对等网络中的参与者加盖时间戳和验证。

因此,区块链可以支持加密货币,而 中本聪 的  设计现在已经成为区块链中所有加密货币交易的公共账本尽管中本聪在描述比特币的原始文章中分别使用了区块和链这两个词,但到 2016 年,这两个词最终被普及为一个词,即区块链。

推荐阅读 = >> 市场上的加密货币交易所应用程序 [热门精选]

区块链版本

a) 区块链 1.0 版:  Hal Finney 在 2005 年引入了通过解决计算机难题来创造货币的分布式账本技术的第一个实现。

b) 区块链 2.0:智能合约:这些 是存在于区块链中的免费计算机程序。它们会自动执行以验证促进、验证或申请的条件。归根结底,区块链使自动化程序无法被篡改,从而保护它们成为可能。

开发人员现在能够在区块链上构建和部署自己的应用程序 (dApp)。智能合约应用的一个很好的例子是以太坊区块链。

c) 区块链 3.0:DApp: 它们是基于区块链的去中心化应用。他们使用分散的存储和通信。dApp 的前端代码托管在去中心化存储上,而用户界面则使用任何可以调用其后端的语言进行编码,就像传统应用程序一样。

区块链的类型

公共与私有区块链

Public_vs_Private_Blockchain
[ 图片来源 ]

公共、私有和混合类型在区块链应用程序中很常见。

公共区块链 没有控制或指导其运营的中央权威。所有用户都参与治理。因此,它可以抵抗审查,因为任何人都可以加入网络,无论其位置和国籍如何。所以很难关掉它。

公共区块链具有加密货币来定义用于激励用户的价值,作为保持网络活跃、保护其运营和批准其交易的奖励。公共区块链上的交易是公开的,任何人都可以通过浏览器看到。 例子 包括比特币和以太坊区块链。

私有区块链 网络  ,也称为许可网络,由私人组织运营。组织、团体或财团充当集中化的手段,因为它根据某些标准限制参与者,并定义谁在网络上连接和操作。

这些网络上的交易是公开的并且更加集中,因为参与者要求遵守管理区块链的实体的规则。他们有自己的想法应用。这方面的一个例子是,当一家公司希望与其他一些人合作以共享无法通过公共区块链披露的敏感数据时。这些区块链可能有也可能没有加密货币或代币作为原生资产。

私有区块链网络的示例 是联盟区块链,例如 IBM 区块链。在这种情况下,一组私人实体就共享利益的治理问题达成一致,例如共享客户数据。IBM Blockchain 基于开源 Hyperledger Fabric,IBM 出于多种原因将区块链应用于不同的联盟。

其他例子包括供应链区块链,该公司使物流行业的不同参与者能够共享和保护企业数据、提高效率并加速跨境交易。企业可以查看他们希望加入的许可区块链网络的示例,以在这些网络中获得共享利益。

中央银行和政府也可以通过联盟区块链进行合作,以实现公众关注的共同利益。

一些私有区块链不会存储与交易中涉及的个人或公司有关的数据,但其他会。但是,该名称不是使用真实姓名,而是存储为“数字签名”或某种用户名。一个独特的密码代码,称为“哈希”,存储在区块链中,用于区分一个块与另一个块。

混合区块链将  在授权网络上实现的隐私优势与在公共区块链上实现的透明度优势相结合。有了这个,公司可以通过公开使用其他类型的数据和信息来使一些数据私有化,同时确保透明度。

混合区块链网络的一个 例子 是 Dragonchain,它是一种允许其用户通过其他区块链协议与其他用户连接的协议。企业可以使用此协议与他人协作或跨多个私有或公共区块链为用户提供服务。

区块链是如何工作的?

节点用于访问区块链的完整副本。任何想要运行区块链的人都可以下载它并将其与网络同步。但是,可以在没有完整副本的情况下对其进行交易。

一种方法是使用自定义的去中心化应用程序。这就是使区块链成为一个平台的原因,因为用户和公司可以创建自己的软件并随意扩展它,因为它是开源的。

个人和企业还可以通过浏览器插件或扩展、钱包扩展或通过自定义第三方软件(如独立钱包)访问和使用区块链。企业还可以通过 API 集成进行连接。

例如, 公司可能会开发自己的自定义区块链网络  或去中心化应用程序,以实现某些目的,例如保护公司数据、建立加密货币或数字代币;或者也许是为了补充与供应商的付款。

企业还可以在区块链上托管其整个买卖流程,允许客户使用加密货币而不是法定货币进行支付。所有业务需求都是从头开始构建区块链或应用程序的适当工具。其他人选择将现有的开源公共区块链(如比特币和以太坊)定制为定制区块链。

大多数公司正在构建可以执行各种操作的区块链应用程序(称为 dApps),而不是从头开始构建区块链。这是因为与创建 dApp 或自定义现有区块链相比,从头开始构建需要时间和资源。企业还必须在此过程中聘请 区块链开发人员 。

我们将在本教程的后面部分了解构建或采用该技术的原因。

区块链节点

客户端-服务器和点对点计算机之间的通信方法:

对等网络和客户端服务器网络
[ 图片来源 ]

理想情况下,区块链的主要目的是建立一个没有中介的去中心化网络,也称为单点故障,因为如果中央存储或所有者出现问题,中心化网络就会失败。

然后,任何人都可以参与到这个去中心化或分布式网络中来存储和共享数据或价值,交易和交换数据或价值,为挖矿等活动贡献资源,以及与同事交流。我们将在本系列中介绍许多其他可用的应用程序。

理想情况下,区块链允许创建分布式数字分类账,这些分类账可以以副本的形式存储在由不同用户管理的多台计算机上。所有用户实时共享同一日志。他们还批准对分类帐的任何更新和更改。

区块链网络可以跨越数英里,连接全球不同国家和大陆的用户。 例如 ,大约 10,000 个节点分布在世界各地,每个节点都运行一个比特币区块链的副本。这并不意味着比特币有 10,000 个用户;比特币在全球拥有数百万用户,有些用户甚至与钱包和其他软件等方法连接。

地图上比特币节点的全球分布:

地图上比特币节点的全球分布
[ 图片来源 ]

区块链节点会根据一组数据来验证链上的每笔交易,以根据网络要求证明其合法性。正如会计师在允许您进行交易之前会在银行中验证您的详细信息一样,因此必须验证区块链上的交易的有效性。

例如,制作网络区块链副本的节点将确认发送方有足够的价值来允许交易通过并将其添加到块中,然后添加到链中。如果金额不足或存在欺诈行为,例如双花尝试,他们也会拒绝交易。

一旦获得绿灯,交易就会与其他已接受的交易一起存储在区块中。该块随后被添加到链中的先前块中。然后所有节点将更新到更新的链并执行它。

在添加到链中之前,该块被分配了一个哈希码。然后,任何可以查看您的交易历史和其他公开详细信息的人都可以使用该块,例如谁添加了该块以及何时(高度)将其添加到链中。

任何人都可以使用区块链浏览器查看区块链上的所有交易和其他详细信息。但是,发件人的详细信息仍然非常私密,例如发件人的姓名。 Blockchain.com 是区块链浏览器的一个示例,可用于查看跨各种区块链的交易。 请注意, 这些交易是不可更改的。

区块链如何保护数据和信息?

区块链如何保护数据和信息

区块链使用密码学 ,它使用公钥和私钥加密和解密计算机算法来保护用户数据。密码学允许通过网络(例如 Internet 或区块链网络)或在保存模式下传输原始数据,以将其转换为对第三方读者毫无意义的不可读格式。

这意味着在区块链上进行交易和交换信息是安全和私密的。在一个用户向第二个用户发送数据之前,第一个用户可以使用公钥对数据进行加密,然后第二个用户可以在加密过程中使用与数据相关的私钥来解密和读取信息。这就是为什么区块链是保护组织数据的最安全技术之一。

安全性是一个非常重要的特性。例如,由于区块链将允许数字资产从一个用户转移到另一个用户或存储或用于购买产品,因此该值不得复制、被盗或伪造。

分布式日志与普通数据库

区块链 数据库
1 区块链是一种分布式账本,由网络中的所有参与者共享、复制和同步。它支持用户之间的点对点通信和事务。 该数据库是一个使用客户端-服务器网络架构的中央注册表。使用中央服务器。用户通过服务器和中介进行通信和交易。
2 在区块链中,所有用户通过同意对网络和管理拥有平等的控制权。他们需要加密密钥和签名才能访问它们 管理员全权负责,将管理一切,包括有权读取、写入、更新或取消操作的人
3 由于账本是分布式的,并且成员充当交易的公共见证人,因此它们难以伪造,网络攻击比普通数据库更难。
交易带有时间戳和加密,无法删除或食谱。
对于成功的攻击,所有节点都需要受到攻击和破坏。
当攻击者获得对集中存储数据的个人或某些服务器的访问权限时,很容易伪造数据。文件很容易伪造并且可以改变所有权
4 冗余,大量的副本需要巨大的网络存储空间。扩展开始成为一个问题。 数据库减少了数据冗余,因为它们被保存为单个或几个副本,允许在选定的用户和部分之间共享数据,并减少开发和维护时间,这与用户必须批准更改的分布式架构不同。
5 很难维护和发展,因为每个人都必须就变化达成共识 非常容易维护和更新,因为批准更新需要很少或中央权威。
6 更加民主和参与,因为每个用户都必须参与建立共识 如果滥用权力,参与性和独裁性就会降低。

区块链的构建块

区块链共识算法

区块链中的共识算法是一套关于如何管理区块链、用户如何制定和同意规则以及如何进行交易的内部规则。治理是区块链的一个重要方面,因为它决定了网络的去中心化或中心化程度。

例如,区块链共识算法允许任何用户提出网络更改,其他所有人都可以对这些提案进行投票。在委托版本中,用户选择代表其他用户创建规则和管理网络的委托。

区块链共识算法
 图片 来源]

某些版本允许用户根据他们贡献的资源数量(计算或加密货币数量)为治理做出贡献。例如,在比特币中,矿工根据有助于支持网络和批准交易的计算机资源或计算能力的数量对变化进行评级。

在工作量证明算法中,矿工竞争创建一个区块,成功创建区块的人在创建后获得加密货币奖励。矿工投票允许或拒绝其他用户提交的升级提案。

工作量证明(PoW): 该算法基于解决复杂数学难题的思想,提供解块。它需要大量的计算能力,解决难题的矿工拉出一个块并获得比特币奖励。

权益证明(PoS): 该算法验证一个区块,根据钱包上保存的硬币数量选择区块的创建者。然后他们因找到块而获得奖励。换句话说,该算法的计算机代码将破坏大多数交易以及区块的最高概率分配给验证者池中拥有最多硬币的人。

在随后的验证回合中,先前选择的验证者的可能性继续缩小,直到其他验证者也有能力验证一个块。

在 委托权益证明 (DPoS) 中,质押者选择代表并委托他们进行区块验证。感兴趣的各方将投票选出代表。

其他算法包括委托权益证明(DPoS),权益人选择代表并委托他们进行区块验证。感兴趣的各方将投票选出代表;拜占庭容错(BFT),通过利用他们的真实身份,根据他们的声誉来选择区块验证者。

受信任的验证者由参与者预先批准并选择作为主持人。其他的是拜占庭容错实践(pBFT);联邦拜占庭协议(FBA);和委托拜占庭容错 (dBFT)。

一些区块链使用混合算法来利用不止一种算法。

下图解释了两种主要共识方法之间的区别: 工作量证明与权益证明:
工作证明与游戏证明
[ 图片来源 ]

区块链和散列 创建块

一旦交易被发送到网络,每个交易都必须在一定的时间内完成。同时发送的交易被合并到一个块中。加密散列用于将交易转换为安全块,然后将其连接形成链。在这种情况下,使用散列函数或算法。

散列函数将任意大小的输入字符串转换为 32 位或 64 位或 128 位或 256 位的固定长度字符串输出(称为散列),具体取决于所使用的散列函数。

哈希是哈希算法的加密副产品,它是一种单向函数,这意味着可能无法将输出反转回输入。该算法还产生独特的输出。这些属性非常重要,例如在比特币加密货币中,它被用于其共识机制。

输出充当一定数量数据的指纹。交易充当加密货币中哈希算法的输入。这种哈希算法由美国国家安全局 (NSA) 于 2001 年开发,用于比特币和许多其他加密货币。

哈希是如何工作的?

从任意输入长度的字符串开始,最终得到一个固定字符串,它是一系列数字和字母。

哈希是如何工作的?

例如 ,假设您在计算机上安装散列算法并输入 “This is a great tutorial”  ,输出为:759831720aa978c890b11f62ae49d2417f600f26aaa51b3291a8d21a4216582a

输入的微小变化将导致输出的巨大差异,并且每个输出对于给定的输入都是唯一的,以避免冲突。对于相同的输入,输出总是相同的,这确保了一致性。

例如, 将输入单词更改为“  this is a great tutorial”  ,我们得到的输出为 4bc35380792eb7884df411ade1fa5fc3e82ab2da76f76dc83e1baecf48d60018

对于从“T”到“t”的微小变化来说,这是一个巨大的变化。

与密码学不同,密码函数是不可逆的,因为不可能从输出哈希值 4bc35380792eb7884df411ade1fa5fc3e82ab2da76f76dc83e1baecf48d60018 之类的东西开始并以“这是一个很棒的教程”的输入结束。

区块链区块是如何集成的?

链中的任何新区块都是通过对参与者通过网络发送的交易进行哈希处理而形成的。以他们要求发送加密货币或保存文件为例。块应该有一个块号(它在链中的计数)、一个数据字段、一个相关的加密哈希和一个 Nonce。

Nonce(使用一次的数字)用于生成满足特定标准的加密哈希。例如,假设要求哈希输出有效,它的开头必须有四个零(如此输出的情况:00001acbm010gfh1010xxx)。否则无效。使用 nonce 使其有效。

随机数是一个随机数,必须通过猜测手动多次更改,以便在将其与其余块数据一起输入算法或散列函数时。它必须提供一个符合规则或目标的有效块,例如以四个零开头。

这实际上是矿工在工作量证明算法中所做的事情,挖矿软件不断猜测从 1 开始的数字,逐渐增加。它继续提供猜测,直到产生满足指定标准或目标的哈希输出。

对特定区块数据集做出正确猜测所需的最后期限持续时间因区块链而异,比特币等于 10,以太坊等于 3 秒,等等。在工作量证明的情况下,执行正确猜测的矿工将获得加密货币奖励。

一旦区块被开采,它就会被添加到前一条链中,使其不可变或不可变,但也可以通过区块链浏览器公开获得。

在加密货币中,双花问题通过将第一个要确认的交易添加到一个块中而另一个被拒绝来解决。如果两个交易同时被不同的矿工选中,则获得最大确认次数的交易被添加到链中,而另一个被拒绝。

在任何区块链(例如比特币链)中,区块都是从 1 开始构建并增加到 n 的。每个块包含头数据,即 块号字段  、  数据字段 、  随机数字段 、  哈希值字段 和  前一个字段 。前面的字段详细说明了它之前的块的哈希值。例如,任何链中排名第一的创世块将包含哈希值 0 等。

链的一个优点和块是不可变的,如果块上的数据被更改,它将被告知网络上的任何人该块号 x 发生了更改。

此外,更改后的新数据集现在将具有新签名。这意味着这个新块不会链接到链的其余部分,并且会以这样的方式破坏链,即所有后续块都不会链接到原始链。矿工将拒绝块号 x 为无效并移至所有其他块链接在一起的先前区块链记录。

但是,数据修改可以通过软件更新和通过称为分叉的过程进行更新。矿工可以选择升级到新版本并继续使用新链或忠于旧链。

创建区块困难

找到一个块的难度在区块链中进行了编码,但也与哈希输出中的四个前导零有关。这里的难度是指找到小于或大于目标的哈希输出的难度;说至少四个前导零。

随着越来越多的人加入网络,或者更确切地说,随着散列能力的增加,复杂性也会不时增加。但是,它会定期调整,以确保在设定的时间内拉出块。

例如, 在比特币中,它必须在 10 分钟内被挖出。如果更多的人加入比特币网络,它将增加以确保不会更快地开采区块,如果网络上的人更少,难度会降低以确保更容易找到区块以避免处理延迟。难度调整是自动的。

理想情况下,这里的难度意味着矿工必须找到一个区块的选择数量。它们越少,就越难找到一个块。 例如 ,较低的目标数量意味着更少的选择,这意味着它更难找到。

结论

区块链引入了一个分布式账本,可以在网络上的设备之间共享。网络上的个人可以在点对点的基础上安全地共享文件和价值,例如加密货币,而无需中介。这意味着更少的中断并且没有单点故障,网络具有高可靠性。由于加密,所有资产都受到高度安全的保护。

区块链最重要的方面是其安全性,由密码学保证;可扩展性,网络应在不影响安全性和可靠性的情况下托管数百万用户;和去中心化,这意味着控制和治理必须由网络中的所有个人而不是少数几个人来实现。

个人同意交易和创建链的规则称为共识算法或机制。这些机制的基础是工作量证明,个人根据他们贡献的计算机处理能力,就执行或处理交易的内容和时间达成一致。区块链技术不断发展。

有超过 10 种新的共识算法,它们会不断创新,以确保网络具有可扩展性、更安全和更去中心化。