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

区块链这段时间相当热门,新闻媒体大量的报道,宣称它将创造未来,但啥是区块链?它是如何工作,有何特别之处,能解决什么问题,又如何使用呢?今天我们就来尝试,做一个最好懂的区块链教程,希望你看完这篇文章,不仅可以理解区块链,还会明白什么是挖矿,为什么挖矿会越来越难的问题。

区块链是什么,正如其名字所示,区块链是一串包含着信息的数据块,它是一种特殊的分布式数据库,这项技术最早由一组研究人员于1991年提出,用来给数字文档打上时间戳记,以确保人们不能回溯或篡改时间,就像一个公证人。首先区块链主要是用来存储信息,就像存储你的聊天记录一样,任何需要保存的信息,都可以写入区块链,也可以从里面读取,所以它是数据库,其次,任何人都可以架设服务器,加入区块链的网络,成为一个节点,区块链的世界里面没有中心节点,每个节点都是平等的,都保存着整个数据库,你可以向任何一个节点写入或者读取数据,因为所有的节点最终都会同步,保证区块链的一致性。

举个栗子,我们常用的某信就是中心化的服务器,某讯的主机就是中心节点,大家所有的聊天内容,都是通过他们的节点在发送给你想发送的人,然后聊天记录会保存在他们的服务器上,如果使用区块链,你的信息可能发送给任何一个节点,然后进行全网节点同步,这样所有的机电就都是一个数据库,其次你的电脑也可以安装程序成为一个节点,通过加密后,保存所有人的聊天记录,和某讯的服务器,拥有一样的权限和级别。

其实,分布式数据库并非新的发明,市场上早有此类产品,但是区块链有一个革命性的特点,区块链没有管理员,它是彻底的无中心的,其它的数据库都有管理员,但是区块链没有,如果有人想对区块链添加审核,也是实现不了的,因为它的设计目标就是为了防止出现居于中心地位的管理当局,正是因为无法管理,区块链才能做到无法被控制,否则,一旦被大公司大集团掌控了管理权,他们就会控制整个平台,其他使用者就必须听命于他们,但是,没有理管理员,人人都可以往里面写入数据,怎样才能保证数据是可信的呢,被坏人改了怎么办呢,区块链有一个区块组,区块很像数据库的记载,每次写入数据就是创建一个区块,每个区块包含了两个部分,区块头和区块体,区块头记录当前区块的特征值,区块提记录当前的实际数据,区块头包含了当前区块的多项特征值,生成时间、实际数据的哈希、上一个区块的哈希等等。

银联商务:已落地5万余家数字人民币受理商户:金色财经报道,据最新数据显示,银联商务已在全国试点地区落地5万余家数字人民币受理商户,并将数字人民币与旗下ERP等系列产品进行整合,打造了集“ERP+数字人民币+可视化+数智化+物联网”于一体的科技服务解决方案。银联商务是央行数研所签订合作协议的支付机构之一,在助推各行各业加快数字化转型中发挥着重要作用。[2021/9/6 23:03:07]

你需要理解什么是哈希,就是理解区块链所必须的,所谓哈希就是计算机可以对任意内容,计算出一个长度相同的特征值。区块链的哈希长度是256位,就是说不管原始内容是什么,最后都会计算出一个256位的二进制数字,它可以是一个笑脸、一个语音、一段话或者一个视频。而且可以保证,只要原始内容不同,对应的哈希一定是不同的,举例来说,字符串123的哈希是这个,转换成二进制就是256位,而且只有123能够得到这个哈希,理论上其它字符创也有可能得到这个哈希,但是概率是极低的,可以近似认为是不可能发生,因此就有了两个重要推论,1.每个区块的哈希都是不一样的,可以通过哈希识别区块,2.如果区块的内容改变了,它的哈希一定会改变,区块以哈希是一一对应的,每个区块的哈希都是针对区块头计算的,也就是说,把区块头的各项特征值按照顺序连接在一起,组成一个很长的字符串,再对这个字符串计算哈希,Hash=SHA256(区块头)这个就是区块哈希的计算公式。SHA256区块链的哈希算法,注意这个公式里面只包含了区块头,不包含区块体,也就是说,哈希是由区块头唯一决定的。

前面说过区块头包含了很多内容,其中有当前区块的哈希,还有上一个区块的哈希,这个意味着如果当前区块体的内容变了,或者上一个区块的哈希变了,一定会引起当前区块的哈希改变,这一点对区块链有重大的意义,如果有人修改了一个区块,该区块的哈希就变了,为了让后面的区块还能还能连接到它,就必须依次修改后面所有的区块,否则被改掉的区块就脱离了区块链,由于后面要提到的原因,哈希的计算很耗时,短时间内修改多个区块,几乎是不可能发生的,除非有人掌握了全网51%以上的算力,正式通过这种联动机制区块链保证了自身的可靠性。数据一旦写入,就无法被篡改,就像历史一样,发生了就是发生了,从此再也无法改变,每个区块链都连接着上一个区块,这是区块链这个名字的由来,由于必须保证节点之间的同步,所以新区块的添加速度不能太快。

持有超过1枚BTC的地址数量突破83万个 创历史新高:金色财经报道,据glassnode数据,持有超过1枚BTC的地址数量达到830624个,创历史新高。[2021/2/21 17:35:51]

试想一下,你刚同步了一个区块,准备基于它生成下一个区块,但这个时候别的节点又有了新的区块产生,你不得不放弃做了一半的计算再次去同步,因为每个区块的后面只能跟着一个区块,你永远只能在最新区块的后面生成下一个区块,所以你别无选择,一听到信号就必须立刻同步,所以区块链的发明者中本聪故意让添加新区块化变得困难,它的设计是平均每十分钟全网才能产生一个新的区块,一小时也只产生六个而已,这种产出速度不是通过命令达成的,而是故意设置了海量的计算。也就是说只有通过这些大量的计算,才能得到当前区块的有效哈希,从而把新区快添加到区块链,由于计算量太大,所以快不起来,这个过程叫做采矿,也叫做挖矿。

因为计算有效哈希的难度,好比在全世界的沙子里面找到一粒符合条件的沙子,计算哈希的机器叫做矿机,操作矿机的人叫做矿工,读到这里你可能还会有一个疑问,人们都说采矿好困难,可是采矿不就是用计算机,来计算出一个个哈希吗,这正是计算机的强项啊,怎么会变得困难呢。迟迟算不出开,原来不是任意一个哈希都可以,只有满足条件的哈希才会被区块链所接纳,这个条件特别的苛刻,使得绝大部分哈希都不能够满足要求,必须重算。

原来,哈希头包含一个难度系数,这个值决定了计算哈希的难度,举例来说,第十万个区块的难度系数是14000,区块链协议规定,使用一个常量除以难度系数,可以得到目标值。显然,难度系数越大,目标值越小,哈希的有效性跟目标值密切相关,只有小于目标值的哈希才是有效的,否则哈希无效,必须重算,由于目标值非常小,哈希小于该值的机会极其渺茫,可能计算十亿次才能中一次,这就是采矿如此之慢的原因。

刚才说过,当前区块的哈希由区块头,唯一决定,如果要对同一个区块反复计算哈希,就意味着区块头必须不停的变化,否则不可能算出不一样的哈希,区块头里面所有的特征值都是固定的,为了让区块头产生变化,中本聪故意增加了一个随机项,叫做“Nonce” Nonce 是一个随机值,矿工的作用其实就是猜出 Nonce 的值,使得区块头的哈希可以小于目标值,从而能够写入区块链, Nonce 是非常难猜的,目前只能通过穷举的方法一个一个试错。

根据协议, Nonce 是一个32位的二进制,最大可以到2147亿,第十万个区块的 Nonce 是2.74亿,可以理解成矿工从零开始一直计算了274亿次,才得到了一个有效的 Nonce 值,使得算出的哈希能够满足条件,运气好的话也许一会就找到了 Nonce ,运气不好的话,可能算完了2147亿都没有办法发现 Nonce ,及当前趋话题不可能算出满足条件的哈希,这时协议允许矿工改变区块体,开始新的计算。

正如刚才所说,采矿具有随机性没法保证正好十分钟产出一个区块,有时一分钟就算出来,有时几个小时也没有结果。总体来说,随着硬件设备的提升,以及矿机量增长,计算速度一定会越来越快,为了将产出速率恒定在十分钟,中本聪还设计了难度系数以及动态调整机制,它规定难度系数每两周调整一次,如果这两周里面区块的平均生成速度是九分钟,就意味着这比预定速度快了10%,因此,接下来的难度系数就要调高10%,如果平均速度升成是11分钟,就意味着与预定速度慢了10%,因此,接下来难度系数就要降低10%,难度系数越调越高,目标值越来越小,导致了采矿越来越困难,即使区块链是可靠的。

现在还有一个问题没有解决,如果两个人同时向区块链写入数据,也就是说同时有两个区块加入,因为他们都连接着前一个区块,就形成了分叉,这时应该采用哪一个区块呢,现在的规则是新节点总是采用最长的那条链,如果区块链有分叉,将看哪一个分支,在分叉点后面先打到六个区块,称之为六次确认,按照十分钟一个区块计算,一小时就可以完成。

由于新区快的生成速度由计算能力决定,所以这条规则就是说拥有大多数计算能力的那条分支,就是正宗的区块链,区块链作为无人管理的分布式数据库。从2009年已经运行了11年,没有出现过大的问题,这证明它是可行的,但是,为了保证数据的可靠性,区块链也有自己的代价,1.效率问题,数据写入区块链最少要等待十分钟,所有节点都同步数据则需要更多的时间,2.耗能问题,区块的生成需要矿工进行无数无意义的计算,这是非常浪费能源的,因此,区块链的适用场景其实有限,不存在所有成员都信任管理的当局,写入的数据不需要实时使用,挖矿的收益能够弥补本身的成本,如果无法满足上述的两个条件,那么传统的数据库将是更好的解决方案。

目前区块链最大的应用场景就是以比特币为代表的加密货币,去中心化金融和通信等行业也在快速的发展。

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

区块分享

比特币价格当前元宇宙运行规则的问题与展望

一、背景:愈演愈烈的“元宇宙热” 当赛博朋克科幻小说《雪崩》(Snow Crash)在1992年发表之时,作者尼尔·斯蒂芬森(Neal Stephenson)绝不会想到自己提出的“元宇宙”(Metaverse)概念竟然会在十九年后的资本市场中大放异彩。

狗狗币Bankless:糟糕NFT项目的13个危险特征

亲爱的Bankless Nation, 当谈到优秀的 NFT 项目时,我们将才华横溢的创造者、创新机制和充满活力的社区视为重要优势。  然而,糟糕的 NFT 项目具备哪些特征?  需要注意哪些关键的危险迹象? 下面,我汇总了十几个危险信号,供您在研究新的 NFT 项目时参考。危险信号范围从疏忽到彻底操纵。

BNB为何以太坊稳坐 NFT 领域“头把交椅”?

尽管有着较高交易成本和不断加剧的 L1 链的竞争,以太坊依旧不可争议地维持着 NFT 领域的头把交椅,为何如此? 近年来,加密行业发生了很大变化。发生了很多事情,特别是像以太坊这样的智能合约平台。例如,在 2017 年和 2018 年,以太坊仍然主要用于 1CO (首次代币发行) 项目的筹资目的。

MANA2022年 加密可扩展性绽放的一年

如果2020年是属于DeFi的一年,2021年是属于NFT的一年,我相信,2022 年将是加密可扩展性绽放的一年。 过去几个月发生的许多事情,都是由一场关于加密网络可扩展性需求日益增长的辩论所推动的。不久的将来,加密可扩展性的另类方法将会展现出来。 此外,我还预计,一旦我们度过了当前的加密进化阶段,dApp的设计空间将大幅扩展。

[0:15ms0-0:500ms