区块链的本质是什么区块链的技术怎么样使用

当前位置:首页 > 币圈百科 > 区块链的本质是什么区块链的技术怎么样使用

区块链的本质是什么区块链的技术怎么样使用

2022-11-13币圈百科287

区块链目前红极一时,新闻媒体大量报道,宣称它将创造未来。但是通俗易懂的入门文章很少。很少有人解释区块链是什么,它有什么特别之处。

接下来,我会努力写出最好的区块链教程。毕竟这不是一件困难的事情。核心概念很简单,三言两语就能解释清楚。希望看完这篇文章,蓑衣网小编2022你不仅能了解区块链,还能了解什么是采矿,为什么采矿越来越难。

需要注意的是,我不是这方面的专家。虽然我已经关注它很久了,但仔细了解区块链还是从今年年初开始的。请改正文中的错误和不准确之处。

一、区块链的本质

区块链是什么?总之,它是一个特殊的分布式数据库。

640.webp.jpg

首先,区块链的主要功能是存储信息。任何需要保存的信息都可以写入区块链或从中读取,所以它是一个数据库。

其次,任何人都可以建立一个服务器,加入区块链网络,成为一个节点。在区块链的世界里,没有中心节点。每个节点都是平等的,并且拥有整个数据库。您可以向任何节点写入/读取数据,因为所有节点最终都会同步,以确保区块链的一致性。

二。区块链

分布式数据库的最大特点并不是什么新发明。这种产品在市场上已经存在很长时间了。然而,区块链有一个革命性的特点。区块链没有管理员,完全是无中心的。其他数据库有管理员,但区块链没有。如果有人想在区块链中加入审计,那是不可能实现的,因为它的设计目标是防止出现一个中央管理机构。

正是因为管不了,区块链才能不可控。否则,一旦大公司、大集团控制了经营权,就控制了整个平台,其他用户就不得不服从。

但是,没有管理员,每个人都可以过去写数据。我们如何确保数据是可信的?万一被坏人改了呢?请继续读下去,这就是区块链的美妙之处。

三。区块

区块链由区块组成。块非常类似于数据库记录。每次写入数据时,都会创建一个数据块。蓑衣网小编2022

640.webp (1).jpg

每个区块包含两部分。

块头:记录当前块的元信息

块体:实际数据

块头包含当前块的多个元信息。

生成时间实际数据的

Hash(即块体)

前一个块的Hash

.

在这里,您需要理解什么是散列,这对于理解区块链是必要的。

image.png

所谓哈希,是指计算机可以对任意内容计算出一个长度相同的特征值。区块链的哈希长度是256位,也就是说不管原始内容是什么,最后都会计算出一个256位的二进制数。而且可以保证,只要原始内容不一样,对应的Hash就一定不一样。

比如字符串123的Hash是A8 FDC 205 A9 F19 CC 1c 7507 A60 C4 F01B 13 D11 D7 FD 0(十六进制),换算成二进制就是256位,只有123能得到这个Hash。

因此,有两个重要的推论。

推论1:每个块的Hash不一样,可以通过Hash来识别块。

推论二:如果一个块的内容发生变化,它的Hash一定会发生变化。

四。hash

块的不变性与Hash一一对应,每个块的Hash计算为‘块头’。

Hash=SHA256(块头)

以上是块Hash的计算公式。哈希由块头唯一确定,SHA256是区块链的哈希算法。

前面说过,块头包含了很多内容,包括当前块的Hash(注意是‘块’的Hash,不是整个块的Hash)和前一个块的Hash。这意味着如果当前块的内容发生变化,或者前一块的Hash发生变化,一定会引起当前块的Hash发生变化。

这对区块链意义重大。 如果有人修改了一个块,该块的散列也会改变。为了将随后的块连接到它,该人必须同时修改所有随后的块,否则被改变的块将与区块链分离。由于后面要提到的原因,Hash的计算比较耗时,同时修改多个块几乎是不可能的,除非有人掌握了全网51%以上的计算能力。

正是通过这种联动机制,区块链保证了自身的可靠性。数据一旦写入,就不能被篡改。就像历史一样。发生的事情就是发生的事情,从此无法改变。

640 (1).webp.jpg

每个区块都与前一个区块相连,这也是“区块链”这一名称的由来。

五、挖掘

由于必须保证节点间的同步,所以新块的添加速度不能太快。假设您刚刚同步了一个块,并准备基于它生成下一个块,但是其他节点生成了新的块。你得放弃一半的计算,重新同步。因为每个块后面只能跟一个块,所以只能在最后一个块之后生成下一个块。所以,你别无选择,只能一听到信号就同步。

于是,区块链的发明者中本聪(此为化名,真实身份尚不得而知)故意刁难添加新块。他的设计是,平均每10分钟,全网可以生成一个新块,一个小时只有6个块。

这个输出速度不是通过命令实现的,而是刻意设置的海量计算量。也就是说,只有通过极其大量的计算才能得到当前块的有效Hash,从而给区块链增加一个新的块。因为计算量太大,所以不能快速起来。

这个过程叫做挖掘,因为计算一个有效Hash的难度就像在全世界的沙子中找到一粒符合要求的沙子。计算Hash的机器叫矿机,操作矿机的人叫矿工。

640 (1).webp (1).jpg六。难度系数

看完这个,你可能会有一个疑问。人们都说挖掘难,但挖掘不就是用计算机算个哈希吗?这正是电脑的长处。怎么会难,怎么会耽误?

原来不是什么Hash都可以用。只有满足条件的哈希才会被区块链接受。这个条件特别哈希,所以大部分哈希都不符合要求,必须重新计算。

原来块头包含了一个难度,这个难度决定了计算Hash的难度。比如第100000块的难度系数是14480.00000000000006

640 (1).webp (2).jpg区块链协议规定一个常数除以难度系数就可以得到目标值。显然,难度系数越大,目标值越小。

Hash的有效性与目标值密切相关。只有小于目标值的哈希才有效,否则哈希无效,必须重新计算。因为目标值很小,Hash小于这个值的几率极小,可能要计算10亿次才算一次。这是采矿如此缓慢的根本原因。640 (1).webp (3).jpg

块头中还有一个Nonce值,它记录了哈希重新计算的次数。第100,000个块的Nonce值是274148111,即需要2.74亿次计算才能得到一个有效的Hash,该块可以加入区块链。

七。难度系数动态调整

即使挖掘难度很大,也不能保证十分钟就能产出一个区块。有时候一分钟就会算出来,有时候可能几个小时都没有结果。一般来说,随着硬件设备的完善,矿机的增多,计算速度会越来越快。

为了保持十分钟的输出速率不变,中本聪还设计了难度系数的动态调整机制。他规定每两周调整一次难度系数(2016块)。如果这两周的平均块生成速度是9分钟,说明比法定速度快了10%,那么难度系数会提高10%;如果平均生成速度是11分钟,就意味着比法定速度慢了10%,那么难度系数就会下调10%。差异

八。区块链的分叉

即使区块链是可靠的,还有一个问题没有解决:如果两个人同时向区块链写数据,也就是两个区块同时加入,因为都连接到前一个区块,就形成了分叉。这个时候应该采用哪个区块?

现在的规则是新节点总是采用最长的区块链。如果区块链有一个分叉,它将取决于哪个分支在分叉点后面,首先到达6个新块(称为“6个确认”)。按照10分钟一个街区计算,一个小时就能确认。

image.png

由于新块的生成速度是由计算能力决定的,所以这个规则意味着计算能力最强的分支就是正宗的位链。

九。总结image.png

区块链作为一个非托管的分布式数据库,从2009年至今已经运行了8年,没有出现大的问题。这证明是可行的。

但是,为了保证数据的可靠性,区块链也有自己的价格。第一,效率。当数据写入区块链时,至少需要等待十分钟。如果所有节点都同步数据,需要更多的时间;第二,能源消耗。区块的生成需要矿工无数次无意义的计算,非常耗费精力。

因此,区块链的适用场景其实非常有限。

不存在所有成员都信任的管理机构

写的数据不需要实时使用

挖矿的收入可以弥补自己的成本。

如果不能满足以上条件,那么传统数据库是更好的解决方案。

目前区块链最大的应用场景(可能是唯一的应用场景)是以比特币为代表的加密货币。

区块链的本质是什么区块链的技术怎么样使用 | 分享给朋友: