区块链如何以7个步骤工作-清晰而简单

2020年是去中心化金融Defi大爆发的一年,经过沉默,比特币突然从约5,000美元迅速升至近20,000美元,区块链由此重新进入人们对视野。

Coinmarketcap.com从2013年10月至2020年10月的比特币价格走势图

区块链到底是什么?

首先;区块链是存储数据的数字概念。此数据以块为单位,因此请想象数字数据的块。这些块链接在一起,这使得它们的数据不可变。当一个数据块链接到其他块时,其数据将永远无法再更改。想要再次看到它的任何人,都将以公开的方式公开使用它,就像它曾经被添加到区块链中一样。那是非常革命性的,因为它使我们能够记录几乎所有我们能想到的东西(例如:财产权,身份,货币余额,病历),而不会有人篡改这些记录。如果我现在买房子并将照片添加到区块链中,那么我将永远能够证明我当时拥有这些权利。信息一旦出现在区块链上,就没有人可以更改(嗯,一种方法,但这是高级材料,所以我建议您稍后阅读,尽管您可以在这里找到它)。因此,区块链是一种保存数据并使之不变的方法。听起来不错,但是当然最大的问题是:它是如何工作的?

第一阶——交易数据

好吧,让我们从一个例子开始:比特币区块链。比特币区块链是现有的最古老的区块链。比特币区块链上的每个区块包含大约1 MB的数据。在撰写本文时,它约有525,000个块,这意味着该区块链上总共存储了约525,000 MB。关于比特币交易,比特币区块链上的数据完全不存在交易数据中。这是有史以来所有比特币交易的良好记录,一直追溯到第一笔比特币交易。在本文中,我们将假定区块链存储交易数据,就像比特币区块链一样。

第二阶——(通过哈希运算)链接区块

想象一下一堆交易数据块(图1)。

区块链如何以7个步骤工作-清晰而简单

三个区块,全部包含一些交易数据。还不是很特别。您可以将其与一些独立的Word文档进行比较,这些文档仅描述发生了哪些交易以及这些交易如何影响某些余额。然后,文档1将按时间顺序描述发生在1 MB以下的第一个事务,此后,下一个事务将在文档2中描述至另一个MB,依此类推。这些文档是数据块。这些块现在正在链接(也称为链接)在一起。为此,每个块都获得一个唯一的(数字)签名,该签名恰好与该块中的数据字符串相对应。如果块内的任何内容发生更改,甚至仅更改了一位数字,该块都将获得新的签名。如何运作?这是通过散列发生的 稍后将在步骤3中进行详细说明。

假设块1注册了两个事务,即事务1和事务2。想象一下,这些事务总共占1 MB(实际上这将是更多的事务)。现在,该数据块将获得此特定数据字符串的签名。假设签名为“ X32”。看起来像这样:

区块链如何以7个步骤工作-清晰而简单

请记住,对块1中的数据进行单个数字更改现在将导致其获得完全不同的签名在块1中的数据现在已连结通过添加块1的签名到到框2数据块2的签名现在部分地基于块1的签名块2的,因为它被包含的数据的字符串中在第2块中,如下所示:

区块链如何以7个步骤工作-清晰而简单

签名将块彼此链接,使它们成为块链。让我们想象一下在这个区块链中添加另一个区块。块3。这看起来像:

区块链如何以7个步骤工作-清晰而简单

现在,假设块1中的数据是否被更改。假设Damian和George之间的交易发生了变化,现在据说Damian向George发送了500比特币,而不是100比特币。现在,块1中的数据字符串不同,这意味着该块也获得了新的签名。与此新数据集相对应的签名不再是X32。假设现在改为“ W10”。这是现在发生的情况:

区块链如何以7个步骤工作-清晰而简单

签名W10不再与先前添加到块2的签名匹配。现在认为块1和2不再相互链接。这向该区块链的其他用户表明区块1中的某些数据已更改,并且由于区块链应该是不可变的,因此他们通过移回其所有区块仍链接在一起的区块链先前记录来拒绝此更改(该记录达米安向乔治发送了100 BTC)。更改不会被检测到的唯一方法是,如果所有块都保持链接在一起。这意味着为了不被发现更改,块1的新签名必须替换块2的数据中的旧签名。但是,如果块2的数据发生变化,这也会导致块2也具有不同的签名。假设块2的签名现在是“ PP4”,而不是9BZ。现在,块2和3不再链接在一起

区块链如何以7个步骤工作-清晰而简单

区块链上的区块对任何人都是公开可用的。因此,如果应该在区块链上检测不到变更,则所有块都需要保持正确链接(否则,人们可以说某些块无法正确链接)。这意味着改变一个块需要一个新的签名后,它自带隔挡一路链的末端。认为这几乎是不可能的。为了了解原因,您将需要了解如何创建签名。

第三阶——生成签名(哈希值)

因此,让我们再次想象一个图块;块1。块1仅记录一次交易。托马斯将100比特币发送给David。现在,此特定的数据字符串需要签名。在区块链中,此签名是由加密货币哈希函数创建的。密码哈希函数是一个非常复杂的公式,它接受任何输入字符串并将其转换为唯一的64位输出字符串。例如,您可以在此哈希函数中插入单词“ Jinglebells” (哈希算法还有其他变体,但在此示例中我们将使用此算法),您将看到此特定数据字符串的输出为:

761A7DD9CAFE34C7CDE6C1270E17F773025A61E511A56F700D415F0D3E199868

例如,如果输入的一位数字发生变化(包括空格,更改大写字母或添加句点),则输出将完全不同。如果您在此字词上加上句号,然后将其设为“ Jinglebells”。相反,您将看到此特定数据字符串的输出为:

B9B324E2F987CDE8819C051327966DD4071ED72D998E0019981040958FEC291B

如果现在再次删除该周期,则将获得与以前相同的输出:

761A7DD9CAFE34C7CDE6C1270E17F773025A61E511A56F700D415F0D3E199868

密码哈希函数始终为相同的输入提供相同的输出,但对于不同的输入始终提供不同的输出。比特币区块链使用此加密货币哈希函数为块提供签名。在这种情况下,密码哈希函数的输入是块中的数据,而输出是与此相关的签名。让我们再次看一下块1。托马斯将100比特币发送给David。

区块链如何以7个步骤工作-清晰而简单

现在,假设该块中的数据字符串如下所示:

托马斯1区-100大卫+100

如果将此数据字符串插入到哈希算法中,则输出(签名)将为:

BAB5924FC47BBA57F4615230DDBC5675A81AB29E2E0FF85D0C0AD1C1ACA05BFF

现在,此签名已添加到块2的数据中。假设David现在将100比特币转让给Jimi。区块链现在看起来像这样:

区块链如何以7个步骤工作-清晰而简单

现在,块2的数据字符串如下所示:

大卫2座-100吉米+100

BAB5924FC47BBA57F4615230DDBC5675A81AB29E2E0FF85D0C0AD1C1ACA05BFF

如果将此数据字符串插入到哈希算法中,则输出(签名)将为:

25D8BE2650D7BC095D3712B14136608E096F060E32CEC7322D22E82EA526A3E5

因此,这就是块2的签名。加密货币散列函数用于为每个唯一块创建数字签名。哈希函数种类繁多,但比特币区块链使用的哈希函数是SHA-256哈希算法。但是,签名如何阻止某人在更改一个块之后简单地为每个块插入一个新的签名(如果所有块都正确链接,则更改不会被检测到,人们将无法分辨出有更改)?答案是在区块链上仅接受满足特定要求的哈希(签名)。

第四阶——什么是合格的签名?由谁来签署区块?

签名并不总是合格的。仅当区块链的数字签名以(例如)连续的零开始时,才在区块链上接受区块。

例如; 只有签名至少以十个连续零开头的块才有资格添加到区块链中。但是,如第3章所述,每个数据字符串都绑定了一个唯一的哈希。如果块的签名(哈希)不以十个零开头怎么办?

好了,为了找到符合要求的签名块,需要重复更改块的数据字符串直到该特定的数据字符串导致以十个零开头的签名。因为交易数据和元数据(区块编号,时间戳等)需要保持原样,所以将少量特定的数据片段添加到每个无用的区块中,除非重复更改以找到合格的签名。这条数据称为块的现时。

随机数是一个完全随机的数字字符串(请注意:图片也显示其他数字,但是随机数只能是数字)。总结一下刚才解释的内容,现在包含一个块。1)交易数据,2)前一个区块的签名,3)随机数。重复更改随机数并散列块的数据以找到合格签名的过程称为挖矿。这是矿工的工作。矿工通过不断改变区块组成(即刻)并对其进行哈希处理直到找到合格的签名(输出),从而以计算能力的形式消耗电力。它们具有的计算能力越强,它们就可以越快地哈希不同的块组成,并且越有可能更快地找到合格的签名。这是一种反复试验的形式。您可以像这样描绘它:

区块链如何以7个步骤工作-清晰而简单

注意:Nonce需要是一个数字

区块链网络上的任何用户都可以通过下载并启动该特定区块链的相应挖矿软件来参与此过程。当用户执行此操作时,他们将简单地发挥计算能力,以尝试解决一个块的随机数。这是最近添加到比特币区块链中的交易块的示例,块521,477:

区块链如何以7个步骤工作-清晰而简单

来自blockchain.com(区块链浏览器

如您所见,此块的哈希(签名)和前一个块的哈希都以零开头。要找到这样的哈希值并不容易,它需要大量的计算能力和时间,或者需要很多运气。是的,有时会发生这样的情况:矿工非常幸运,并在几分钟内找到了具有很少计算能力的匹配签名。最近非常罕见的示例发生在块523,034。一个只有很小的计算能力的小型矿工就能很快找到合格的签名,而所有其他矿工加起来的计算能力却高达7万亿倍。相比之下,赢得强力球彩票头奖的几率是2.92 亿分之一,这意味着与该矿工相比,赢得强力球彩票大奖比赢得其他网络比赛要容易24,000倍。谈论零。无论如何,从本章中理解很重要的一点是,很难找到合格的签名。

第五阶——区块链的不可变性是如何是实现的?

如先前在步骤3中所讨论的,更改一个块会将其与后续块解除链接。为了使更改后的块被网络的其余部分接受,需要将其再次链接到后续块。看到这是怎么回事?前面已经解释过,这要求它之后的每个块都必须具有新的签名。并且该签名需要满足要求让所有这些块的一个新的签名将是非常昂贵和费时的,但似乎是不可能不。无论如何,这仍然被认为是不可能的,这就是为什么:

比方说 腐败矿工已经更改了一个交易区块,现在正尝试为后续区块计算新的签名,以使网络的其余部分接受他的更改。对他来说,问题在于,网络的其余部分也在为新块计算新签名。损坏的矿工还必须为这些块计算新的签名,因为它们将被添加到链的末尾。毕竟,他需要保持所有的块链接,包括不断添加的新链接。除非矿工的计算能力超过网络其余部分的总和,否则他将永远不会赶上网络其余部分的查找签名。

区块链如何以7个步骤工作-清晰而简单

数以百万计的用户正在比特币区块链上进行挖矿,因此可以假定,网络上的单个不良行为者或实体永远不会比网络的其余部分加在一起拥有更多的计算能力,这意味着网络将永远不会接受对比特币区块链的任何更改。

区块链,使区块链不可变。一旦将数据添加到区块链,就无法再对其进行更改。

但是有一个例外。如果坏人什么也更多的计算能力比网络的其它部分结合起来呢?从理论上讲,这是可能的。这称为51%攻击过去曾发生在各种区块链上。然而实际上,对比特币区块链的51%攻击执行成本要比其回报高得多。这不仅需要大量的硬件,冷却设备和存储空间来提供计算能力,而且还存在被起诉的风险,更重要的是,它将极大地损害相应区块链本身的生态系统,从而带来比特币的潜在回报。价值大幅下跌。尝试进行51%的攻击实际上是在尝试自己独自与区块链上的所有其他用户进行对抗。这也是用户参与挖矿过程越多,区块链变得越安全的原因。

第六阶——如何治理区块链?由谁决定规则?

比特币区块链遵循民主的治理模型,因此根据其大多数用户所说的是事实,更新了其交易记录(因此也更新了比特币余额)。区块链协议通过始终遵循拥有的最长区块链的记录来自动执行此操作 ,因为它假定该链由多数代表。毕竟,创建最长版本的区块链需要大多数计算能力。这也是大多数网络自动拒绝更改的块的方式。大部分网络会自动拒绝更改的块,因为它不再链接到最长的链。

在比特币区块链上,所有交易历史和钱包余额都是公开的(blockchain.info)。任何人都可以查询一直到发生的第一笔交易(2009年1月3日)的所有钱包或交易。尽管任何人都可以公开检查钱包余额,但是这些钱包的所有者仍然未知。

第七阶——这些对密码学货币有何意义?第七阶——这些对密码学货币有何意义?

密码学货币从本质上来说都是比特币的变体。绝大多数加密货币都是按照自己的区块链协议搭建的,遵循不同于比特币的规则。比特币应当被归类为一种货币,也就是说它明确具备货币功能。门罗币也是一种具有相同功能的加密货币,不过它的区块链协议还增加了一些规则来增强隐私性(提高交易溯源的难度)。

不过,用区块链发行的资产可以被赋予很多种不同的用途,这点由发行方决定,如此发行的资产一般被称为“代币”。这些代币可以赋予其所有人某种权利,例如博彩执照、社交媒体渠道、 水电等等。所有这些资产交易都记录在不同的区块链上,并且可以通过币安之类的交易所进行线上交易。

代币其实是一种新型互联网货币,可能会影响到一部分行业,其中一个典型的例子就是股票市场。在未来,公司股份之类的产权很有可能会以代币的形式存储到区块链上。区块链不仅限于以代币的形式代表实物价值,也可以安全地记录病历、身份、历史记录、纳税记录等数据。这就是区块链技术的伟大之处,还不提区块链的另一个重要特性:去中心化。

声明:以上内容采集自互联网,作品版权归原创作者所有内容均以传递信息为目的,不代表本站同意其观点,不作为任何投资指导。币圈有风险,投资需谨慎
提示:投资有风险,入市需谨慎,本资讯不作为投资理财建议。请理性投资,切实提高风险防范意识;如有发现的违法犯罪线索,可积极向有关部门举报反映。
你可能还喜欢