主页 > imtoken钱包地址转账查询 > 区块链入门教程

区块链入门教程

imtoken钱包地址转账查询 2023-01-30 07:52:10

区块链是当下的热门话题,新闻媒体大肆报道区块链将创造未来。

但是通俗易懂的介绍性文章很少。 区块链到底是什么,它有什么特别之处,很少有人解释。

比特币入门基础_比特币转错到比特币现金地址了_sitehqz.com 比特币入门

接下来,我会尝试写一个最好理解的区块链教程。 毕竟不是什么难事,核心概念很简单,三言两语就能说清楚。 希望大家看完这篇文章,不仅能了解区块链,还能了解什么是挖矿,为什么挖矿越来越难。

应该指出的是,我不是这个领域的专家。 虽然很早就关注了,但是从今年年初开始,我开始认真了解区块链。 文章中的任何错误和不准确之处,欢迎指正。

一、区块链的本质

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

比特币转错到比特币现金地址了_比特币入门基础_sitehqz.com 比特币入门

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

其次,任何人都可以架设服务器,加入区块链网络,成为节点。 在区块链世界中,没有中心节点,每个节点都是平等的,他们都保存着整个数据库。 你可以向任意节点写入/读取数据,因为最后所有节点都会同步,保证区块链的一致性。

2、区块链最大的特点

分布式数据库并不是什么新发明,市场上已经有这样的产品。 然而,区块链有一个革命性的特点。

区块链没有管理员,它是完全去中心化的。 其他数据库有管理员,但区块链没有。 如果有人想在区块链中添加审计,他们做不到,因为它旨在防止中央权威。

正是因为无法管理,区块链才无法控制。 否则,一旦大公司、大集团掌握了管理权,他们就控制了整个平台,其他用户就必须服从他们。

但是,没有管理员,任何人都可以向其中写入数据。 如何保证数据可信? 被坏人改了怎么办? 请继续阅读,这就是区块链的神奇之处。

3.积木

区块链由区块组成。 块与数据库记录非常相似。 每次写入数据时,都会创建一个块。

比特币转错到比特币现金地址了_sitehqz.com 比特币入门_比特币入门基础

每个块由两部分组成。

区块头包含当前区块的多个特征值。

在这里,你需要了解什么是散列(hash),这是了解区块链所必需的。

比特币入门基础_sitehqz.com 比特币入门_比特币转错到比特币现金地址了

所谓“哈希”,就是计算机可以为任何内容计算出一个长度相同的特征值。 区块链的哈希长度是256位,也就是说无论原始内容是什么,最后都会计算出一个256位的二进制数。 并且可以保证只要原始内容不同,对应的hash一定不同。

比如字符串123的hash是a8fdc205a9f19cc1c7507a60c4f01b13d11d7fd0(十六进制),二进制是256位,只有123才能得到这个hash。 (理论上其他字符串也有可能得到这个hash,但是概率极低,可以近似为不可能。)

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

4. Hash的不变性

区块和哈希是一一对应的,每个区块的哈希都是为“区块头”计算的。 也就是说,将区块头的特征值按顺序连接在一起,形成一个很长的字符串,然后对这个字符串进行哈希计算。

Hash = SHA256( 区块头 )

以上是区块哈希的计算公式,SHA256是区块链的哈希算法。 注意这个公式只包含区块头,不包含区块体,也就是说哈希是由区块头唯一确定的,

前面说过,区块头包含很多内容,包括当前区块体的哈希值和前一个区块的哈希值。 这意味着如果当前块体的内容发生变化,或者前一个块的哈希值发生变化,那么肯定会导致当前块的哈希值发生变化。

这对区块链有重大影响。 如果有人修改了一个块,该块的哈希值就会改变。 为了让后面的区块连接到它(因为下一个区块包含前一个区块的哈希值),这个人必须依次修改所有后续的区块,否则被更改的区块将被冲出区块链。 由于后文提到的原因,哈希的计算非常耗时,短时间内修改多个区块几乎是不可能的,除非有人掌握了全网51%以上的算力。

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

比特币转错到比特币现金地址了_比特币入门基础_sitehqz.com 比特币入门

每个块都连接到前一个块,这就是“区块链”名称的来源。

5.挖矿

由于必须保证节点之间的同步,因此不能太快地添加新块。 想象一下,你刚刚同步了一个区块,准备根据它生成下一个区块,但是此时另一个节点生成了一个新的区块,你不得不放弃一半的计算重新同步。 因为每个块只能跟一个块,所以只能在最新块之后生成下一个块。 因此,您别无选择,只能在听到信号后立即同步。

因此比特币入门基础,区块链的发明者中本聪(此为化名,真实身份未知)故意让新区块难以添加。 他的设计是,平均每10分钟,全网可以产生一个新的区块,一个小时只有六个。

这种输出速度不是通过命令来实现的,而是通过刻意设置的海量计算来实现的。 换句话说,只有通过极其大量的计算才能得到当前区块的有效哈希值,才能将新区块添加到区块链中。 由于计算量大,无法快速起来。

这个过程称为挖矿(mining),因为计算一个有效哈希的难度就像在全世界的沙子中找到一粒符合要求的沙子。 计算哈希值的机器称为矿机,操作矿机的人称为矿工。

比特币入门基础_比特币转错到比特币现金地址了_sitehqz.com 比特币入门

6.难度系数

看完这篇,你可能会有疑问。 都说挖矿难,但挖矿不就是用电脑算个hash吗? 这就是电脑的强项。 怎么会变得这么难? 羊毛布?

事实证明,不是任何哈希都是可接受的,只有满足条件的哈希才会被区块链接受。 这个条件太苛刻了,大部分哈希都不符合要求,必须重新计算。

原来,区块头中包含一个难度系数(difficulty),决定了计算hash的难度。 例如,区块 100,000 的难度系数为 14484.16236122。

sitehqz.com 比特币入门_比特币转错到比特币现金地址了_比特币入门基础

区块链协议规定目标值(target)可以通过一个常数除以难度系数得到。 显然,难度系数越大,目标值越小。

比特币入门基础_sitehqz.com 比特币入门_比特币转错到比特币现金地址了

哈希的有效性与目标值密切相关。 只有小于目标值的哈希才有效,否则哈希无效,必须重新计算。 由于目标值很小比特币入门基础,hash值小于这个值的可能性极小,可能要计算10亿次才算命中。 这就是挖矿如此缓慢的根本原因。

如前所述,当前区块的哈希由区块头唯一确定。 如果要对同一个区块重复计算hash,就意味着block header必须不断变化,否则不可能计算出不同的hash。 区块头中的所有特征值都是固定的。 为了让区块头发生变化,中本聪特意添加了一个名为Nonce的随机项。

Nonce 是一个随机值。 矿工的作用其实就是猜测Nonce的值,让区块头的哈希值小于目标值,从而写入区块链。 Nonce非常难猜,目前只能采用穷举法逐一试错。 根据协议,Nonce是一个32位的二进制值,最大可以达到21.47亿。 第100000个区块的Nonce值为274148111,可以理解为矿工从0开始,计算了2.74亿次才得到一个有效的Nonce值,这样计算出来的hash才满足条件。

运气好的话,过段时间说不定就能找到Nonce。 如果运气不好,可能计算了21.47亿次都没有找到Nonce,也就是当前区块体无法计算出满足条件的hash。 此时,协议允许矿工更改区块体并开始新的计算。

7.难度系数动态调整

上一节提到,挖矿是随机的,不能保证十分钟内出块。 有的时候一分钟就能算出来,有的时候可能几个小时都解决不了。 一般来说,随着硬件设备的提升,矿机数量的增加,计算速度肯定会越来越快。

为了让输出速率保持在十分钟不变,中本聪还设计了难度系数动态调整机制。 他规定难度系数每两周调整一次(2016个区块)。 如果这两周的平均出块速度为9分钟,则意味着比法定速度快了10%,那么接下来的难度系数会增加10%; 如果平均生成速度为 11 分钟,则表示这比法定速度慢 10%,因此下一个难度系数将降低 10%。

难度系数调的越来越高(目标值越来越小),使得挖矿难度越来越大。

八、区块链分叉

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

比特币转错到比特币现金地址了_比特币入门基础_sitehqz.com 比特币入门

目前的规则是新节点总是采用最长的区块链。 如果区块链出现分叉,它会看分叉点后面是哪个分支,先达到6个新区块(称为“六确认”)。 按照10分钟一个区块计算,一个小时就可以确认。

比特币入门基础_比特币转错到比特币现金地址了_sitehqz.com 比特币入门

由于新区块的生成速度是由算力决定的,所以这个规则意味着算力最多的分支才是真正的区块链。

九。 概括

区块链作为一个非托管的分布式数据库,从2009年开始运行了8年,没有出现过重大问题。 这证明它有效。

但是,为了保证数据的可靠性,区块链也有其自身的价格。 一是效率。 等待数据写入区块链至少需要十分钟,所有节点同步数据需要更多时间; 另一个是能源消耗。 区块的产生需要矿工进行无数无意义的计算。 非常耗能。

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

没有所有成员信任的管理权限。 写入的数据不需要实时使用。 挖矿的收益可以弥补他们自己的成本。

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

sitehqz.com 比特币入门_比特币转错到比特币现金地址了_比特币入门基础

目前区块链最大的应用场景(也可能是唯一的应用场景)是以比特币为代表的加密货币。 在下一篇文章中,我将介绍比特币的入门知识。