okx

一篇文章带你了解区块链的工作原理和流程

时间:2022-02-21|浏览:7267

欧易

欧易(OKX)

用戶喜愛的交易所

币安

币安(Binance)

已有账号登陆后会弹出下载

区块链在这段时间里很受欢迎。大量新闻媒体报道称,它将创造未来,但区块链是什么?它是如何工作的,有什么特别之处,它可以解决什么问题,以及如何使用它?今天,我们将尝试制作一个最好的区块链教程。我希望在阅读了这篇文章后,你不仅能理解区块链,还能理解什么是采矿,为什么采矿越来越困难。
什么是区块链?正如它的名字所示,区块链是一系列包含信息的数据块。它是一个特殊的分布式数据库。该技术最早由一组研究人员于1991年提出,以确保人们不能像公证人一样追溯或篡改时间。首先,区块链主要用于存储信息,就像存储您的聊天记录一样。任何需要保存的信息都可以写入区块链或从中读取,因此它是一个数据库。其次,任何人都可以设置服务器,添加区块链网络,成为一个节点。区块链世界中没有中心节点。每个节点都是平等的,整个数据库都保存着。您可以将数据写入或读取到任何节点,因为所有节点最终都会同步以确保区块链的一致性。
例如,栗子,我们常用的信是集中服务器,新闻主机是集中节点,所有聊天内容,通过他们的节点发送给你想发送的人,然后聊天记录将保存在他们的服务器上,如果使用区块链,您的信息可以发送到任何节点,然后整个网络节点同步,所以所有机电都是数据库,然后您的计算机也可以安装程序成为节点,加密后,保存所有聊天记录,新闻服务器,具有相同的权限和水平。
事实上,分布式数据库并不是一项新发明。市场上早就有这样的产品,但区块链有一个革命性的特点。区块链没有管理员。它完全没有中心。其他数据库都有管理员,但区块链没有。如果有人想审查区块链,它就无法实现,因为它的设计目标是防止管理当局处于中心地位。正是因为它无法管理,区块链才无法控制。否则,一旦大公司和集团控制了管理权,他们将控制整个平台,其他用户必须服从他们。然而,如果没有管理员,每个人都可以将数据写入其中。如何确保数据可信?如果坏人改变了怎么办?区块链有一个区块组。区块与数据库记录非常相似。每次写入数据时,都会创建一个区块。每个区块包含两个部分:区块头和区块体。区块头记录当前区块的特征值,区块提取当前区块的特征值,区块的实际数据包括当前区块的特征值等。
你需要理解什么是哈希,也就是说,理解区块链是必要的。所谓哈希,就是计算机可以计算出任何长度相同的特征值。区块链的哈希长度是256位,也就是说,无论原始内容是什么,最终都会计算出一个256位的二进制数字,可以是笑脸、声音、段落或视频。而且可以保证,只要原始内容不同,对应的哈希一定是不同的。比如字符串123的哈希就是这样,转换成二进制的哈希是256位,只有123位才能得到。理论上其他字符创作也可能得到哈希,但概率极低,可以近似认为不可能发生。所以有两个重要的推论,1.每个块的哈希都不一样,可以通过哈希识别块,2.如果块的内容发生变化,它的哈希肯定会发生变化。块对应于哈希,每个块的哈希都是为块头计算的,也就是说,块头的特征值按顺序连接在一起,形成一个长字符串,然后计算字符串,Hash=SHA256(区块头)这是区块哈希的计算公式。SHA256区块链的哈希算法,请注意,该公式只包含区块头,而不包含区块体,即哈希是由区块头唯一决定的。
前面提到的区块头包含很多内容,包括当前区块的哈希和上一个区块的哈希,这意味着如果当前区块的内容发生变化,或者上一个区块的哈希发生变化,肯定会导致当前区块的哈希发生变化,这对区块链具有重要意义。如果有人修改了一个块,块的哈希就会改变。为了使后面的块仍然连接到它,必须依次修改后面的所有块,否则被更改的块将与区块链分离。由于后面提到的原因,哈希的计算非常耗时,几乎不可能在短时间内修改多个块。除非有人掌握了整个网络51%以上的计算能力,否则区块链通过这种联动机制正式保证了自身的可靠性。数据一旦写入,就不能篡改。就像历史一样,它发生了,再也不能改变了。每个区块链都与前一个区块相连。这就是区块链名称的起源。因为必须保证节点之间的同步,新区块之间的添加速度不能太快。

一篇文章带你了解区块链的工作原理和流程
想象一下,你刚刚同步了一个块,准备基于它生成下一个块,但此时其他节点有一个新的块,你必须放弃一半的计算再次同步,因为每个块的后面只有一个块,你只能在最新块的后面生成下一个块,所以你别无选择,一旦你听到信号,你必须立即同步,所以区块链的发明者中本聪故意让添加新的块变得困难,它的设计是平均每十分钟生成一个新的块,每小时只生成六个块,这个输出速度不是通过命令实现的,而是故意设置大量的计算。也就是说,只有通过这些大量的计算,我们才能得到当前块的有效哈希,从而迅速将新区添加到区块链中。由于计算量太大,它不能太快,这个过程被称为采矿,也被称为采矿。
因为计算有效哈希的难度,就像在世界各地的沙子里找到合格的沙子一样。计算哈希的机器叫矿机,操作矿机的人叫矿工。看到这里,你可能会有一个问题。人们说采矿很难,但采矿不是用计算机来计算哈希吗?这就是计算机的优势。怎么会变得困难?我不能开门。事实证明,不是任何哈希。只有符合条件的哈希才会被区块链接受。这种情况特别苛刻,使得大多数哈希不能满足要求,必须重新计算。
事实证明,哈希头包含一个难度系数,这决定了计算哈希的难度。例如,第10万块的难度系数是1.4万块。区块链协议规定,目标值可以通过使用常量除以难度系数来获得。显然,难度系数越大,目标值越小,哈希的有效性与目标值密切相关。只有低于目标值的哈希才有效,否则哈希无效,必须重新计算。由于目标值很小,哈希小于该值的机会极其渺茫,可能只能计算10亿次,这就是为什么采矿速度如此之慢。
正如我刚才所说,当前区块的哈希是由区块头决定的。如果你想反复计算同一块的哈希,这意味着区块头必须不断变化,否则不可能计算出不同的哈希。区块头中的所有特征值都是固定的。为了改变区块头,中本聪故意添加了一个随机项,称为Nonce” Nonce 是一个随机值,矿工的作用实际上是猜测 Nonce 的值,使区块头哈希能小于目标值,从而写入区块链,Nonce 很难猜测。目前只能通过穷举一个个试错。
根据协议,Nonce 是一个32位的二进制,最大可达2147亿,第十万块Nonce 是2.74亿,可以理解,矿工从零开始计算了274亿次,获得了有效的 Nonce 值使计算出的哈希能够满足条件。如果你幸运的话,你可能会在一段时间内找到 Nonce 运气不好的话,算完2147亿可能找不到 Nonce 当协议允许矿工改变块体,开始新的计算时,不可能计算出符合条件的哈希和当前趋势话题。
正如我刚才所说,采矿的随机性不能保证一个块在十分钟内生产,有时一分钟即使出来,有时几个小时也没有结果。一般来说,随着硬件设备的改进和矿机数量的增加,计算速度会越来越快。为了将输出速率保持在十分钟内,中本聪还设计了难度系数和动态调整机制。它规定难度系数每两周调整一次。如果区块的平均生成速度在过去两周是九分钟,这意味着它比预定速度快10%。因此,下一个难度系数将提高10%。如果平均速度上升为11分钟,则意味着与预定速度相比,难度系数将减少10%。
现在还有一个问题还没有解决。如果两个人同时将数据写入区块链,也就是说,两个块同时加入,因为它们都连接到前一个块,形成分叉。此时应使用哪个块?现在的规则是新节点总是使用最长的链。如果区块链有分叉,看哪个分支,在分叉点后面打六个块,称为六次确认。
由于新区的快速生成速度是由计算能力决定的,这一规则意味着具有大部分计算能力的分支是正宗的区块链,区块链作为无人管理的分布式数据库。自2009年以来,它已经运行了11年,没有大问题,这证明了它是可行的。然而,为了确保数据的可靠性,区块链也有自己的成本,1.在效率问题上,数据写入区块链至少需要十分钟,所有节点同步数据需要更多的时间,2.能耗问题,块的生成需要矿工无数无意义的计算,这是非常浪费能源,因此,区块链应用场景有限,没有所有成员信任管理,数据不需要实时使用,采矿收入可以弥补自己的成本,如果不能满足上述两个条件,那么传统的数据库将是一个更好的解决方案。
区块链最大的应用场景是以比特币为代表的加密货币,分散的金融和通信行业也在迅速发展。

热点:中本聪 什么是区块链 加密货币 区块链 区块链世界 区块链应用 区块链是什么 数据

« 上一条| 下一条 »
区块链交流群
数藏交流群
区块链币圈-全球区块链数字货币行情、比特币虚拟货币资讯,狗狗币以太坊环保币柚子币莱特币瑞波币等加密数字货币价格非交易行情查询,金色财经巴比特范非小号快讯平台。
趣开心资讯 Qukaixin.cn ©2020-2024版权所有 桂ICP备19010284号-1