什么是区块链?

Character tells friend the money has been sent

除非你已经躲在岩石下一段时间了,否则你会听到“区块链”这个词被抛出来。这是2018年的一个流行语,人们现在还在聊聊它。但尽管事实上我们经常被告知它会改变游戏规则,但似乎并不是很多人都知道区块链是什么。

本指南随时为您提供帮助。在其中,我将解释有关区块链的所有内容 - 它是什么,它是如何工作的,以及为什么它正在风靡世界 - 所有这一切都用简单的英语。

为什么我们需要区块链?

从本质上讲,区块链是一个分散的数据库(或分类帐),它以永久和公开的方式记录信息。

为了解释区块链是如何工作的,我将使用一个例子。想象一下,你想给你的朋友寄一些钱,你会怎么做?您可以联系到您的银行并告诉它将资金从您的帐户转移到您的朋友。

Record of money transfer

当您向朋友的账户付款时,银行只需在登记册中输入

当我们告诉银行这样做时,它只是在一个寄存器中输入。它看起来像上面的图像。一旦在登记簿中输入,您就可以打电话给您的朋友并告诉他们钱在他们的帐户中。

注意:我们不是为了避免复杂性而谈论计算机。如果您愿意,可以将此寄存器视为另一个数据库。

Character tells friend the money has been sent

一旦记录了转移,您就可以告诉您的朋友

刚刚发生了什么?寄存器中只有一个条目可以转账吗?是。我们需要在全球范围内转移资金的方法是将信息输入登记册。

但是,需要在其他人的注册簿中填写;这就是问题所在。如果您的银行经理在写下交易时犯了错误怎么办?如果银行经理故意将交易记录为有利于您的朋友,该怎么办?如果银行经理逃离登记册怎么办?

我们中间聪明的人开始提出一个重要的问题:我们如何避免像银行这样的第三方,并仍然保留登记册?解决方案是区块链。

区块链如何运作?

我们现在知道区块链只是维护寄存器的另一种方式 - 仅此而已。想象一下,有10个人想要停止使用银行。在双方同意的情况下,他们一直都有彼此账户的详细信息 - 不知道对方的身份。

10 people

想象一下,这10个人想要完全停止使用银行

01.空文件夹

首先,每个人都有一个空文件夹。随着我们的进步,这10个人中的每个人都会在其文件夹中添加页面。这个页面集合将形成跟踪事务的寄存器。

02.转移

网络中的每个人都坐着一张空白页和一支笔。每个人都准备好编写系统内发生的任何事务。

假设没有2人愿意向10号人发送10美元。为了进行交易,没有2人喊叫并告诉所有人,“我想将10美元转移到9号。每个人都请记下。”

Person 2 saying $10 to person 9

2号人想要将一些资金转移给9号人

每个人都会检查没有2是否有足够的余额来转移10美元到9美元。如果她这样做,那么每个人都会在空白页面上记下交易记录。

03.跟踪交易

Record of money transfer

每个人都记下了这笔交易

事务在网络中不断发生,每个人都会一直写下来,直到他们的页面被填满。当发生这种情况时,每个人都必须将页面放在他们的文件夹中,带出一个新页面并再次开始整个过程。区块链的神奇之处在于必须将页面放在文件夹中。

04.开始新的一页

这笔交易是当页面进入文件夹时,每个人的页面版本必须相同,并且以后不得修改。为此,我们将密封页面的内容。

我们如何封页?

我们使用称为哈希函数的东西密封页面。将哈希函数看作是一个神奇的机器,从左边获取一些数据并在右边输出一些看起来像胡言乱语的数据。

Machine takes in 4 and outputs dcbea

哈希函数接收数据并输出看起来像乱码的东西

这些机器的重要之处在于它们很难扭转这一过程。换句话说,给定输出,找出输入的唯一方法是尝试每个可能的选项,直到你击中右边的选项。

所以,我想问一下下面的问题:我应该从机器的左侧发送什么,以便得到一个以三个前导零(例如000ab或00098)开头的输出?因为逆转过程是不可能的,所以我们必须尝试宇宙中的每个数字,直到我们得到具有所需约束的输出 - 三个前导零。密封页面时此功能非常有用。

现在想象我给了你两个盒子。第一个框包含数字20893.我问你:你能算出一个数字,当加到第一个框中的数字并输入机器时,会给我们一个以三个前导零开头的代码吗?

Machine shows 20893 + ? = 000.. and another shows 20893 + 21191 = 00078

假设我们有部分输入

在尝试了每个数字之后,我们可能会偶然发现我们正在寻找的数字 - 比如21191。

在这种情况下,数字21191成为数字20893的印章。如果我们在页面上写20893并在页面上加上标记为21191的印章,页面将被密封。如果有人必须验证页面的真实性,他们可以简单地添加这两个数字并将答案提供给机器。如果输出有三个前导零,则内容仍然是可信的。

Seal of authenticity against 20893 and 21191

我们可以使用此信息来验证页面是否仍然可信

为了密封包含事务列表的页面,我们需要找出一个数字,当附加到事务列表并提供给机器时,会给出一个以右边三个前导零开头的代码。

list + ? = 000..

密封代码需要与交易清单相结合

现在我们已经了解了关于页面的密封,我们将回到我们在页面上完成最后一个事务的时间,并且我们用尽了空间来编写更多内容。

我们如何建立密封号码?

只要每个人都在页面上没有空间来编写进一步的交易,他们就会计算页面的密封数量,这样它就可以隐藏在文件夹中。网络中的每个人都进行计算。网络中第一个找出密封号码的人向其他人宣布它。

10 characters again. One says sealing number is 912574

每个人都试图弄清楚密封数量

听到密封号后,每个人都会立即检查它是否产生了所需的输出。如果是这样,每个人都用这个号码密封他们的页面并将其放在他们的文件夹中。

但是如果对某人说#7,宣布的密封数量不会产生所需的输出呢?在这种情况下,他将不得不丢弃他的页面版本,再从其他人复制页面,然后将其放在他的文件夹中。现在,每个人都在使用相同版本的页面。

你现在可能会问我:当他们知道别人会计算并向他们宣布时,为什么每个人都花时间进行计算?为什么不等待公告呢?

好问题。首先进行计算的人会获得一些免费的加密货币 - 比方说比特币。这就是比特币的存在。

现在发生了什么?

一旦每个人都将页面藏在他们的文件夹中,他们就会带出一个新的空白页面并重复整个过程,等等,永远。将单个页面视为事务块,将文件夹视为页面链(“块”),因此将其转换为区块链。

我的朋友们,这就是区块链的运作方式。您可以更深入地了解区块链是什么这里

我们的姐妹网站TechRadar也有一个指南如何挖掘比特币最好的加密货币挖掘软件,你可能也喜欢。

阅读更多:



翻译字数超限