收藏 分享(赏)

《区块链入门教程》-学习区块链从[起点区块链]开始.pdf

上传人:精品资料 文档编号:10346555 上传时间:2019-11-02 格式:PDF 页数:11 大小:601.38KB
下载 相关 举报
《区块链入门教程》-学习区块链从[起点区块链]开始.pdf_第1页
第1页 / 共11页
《区块链入门教程》-学习区块链从[起点区块链]开始.pdf_第2页
第2页 / 共11页
《区块链入门教程》-学习区块链从[起点区块链]开始.pdf_第3页
第3页 / 共11页
《区块链入门教程》-学习区块链从[起点区块链]开始.pdf_第4页
第4页 / 共11页
《区块链入门教程》-学习区块链从[起点区块链]开始.pdf_第5页
第5页 / 共11页
点击查看更多>>
资源描述

1、 区块链教程 作者:阮峰 区块链( blockchain)是眼下的热,新闻媒体量报道,宣称它将创造未来。 可是,简单易懂的章却很少。区块链到底是什么,有何特别之处,很少有解释。 下,我就来尝试,写篇最好懂的区块链教程。毕竟它也不是很难的东,核概念常简单,句话就能说清楚。我希望读完本,你不仅可以理解区块链,还会明什么是挖矿、为什么挖矿越来越难等问题。 需要说明的是,我并这的专家。虽然很早就关注,但是仔细地了解区块链,还是从今年初开始。中的错误和不准确的地,欢迎家指正。 、区 块链 的本 质 区块链是什么?句话,它是种特殊的分布式数据库。 先,区块链的主要作是储存信息。任何需要保存的信息,都可以写

2、区块链,也可以从读取,所以它是数据库。 其次,任何都可以架设服务器,加区块链络,成为个节点。区块链的世界,没有中节点,每个节点都是平等的,都保存着整个 数据库。你可以向任何个节点,写 /读取数据,因为所有节点最后都会同步,保证区块链致。 、区 块链 的最特点 分布式数据库并新发明,市场上早有此类产品。但是,区块链有个命性特点。 区块链没有管理员,它是彻底中的。 其他的数据库都有管理员,但是区块链没有。如果有想对区块链添加审核,也实现不了,因为它的设计标就是防出现居于中地位的管理当局。 正是因为法管理,区块链才能做到法被控制。否则旦公司集团控制了管理权,他们就会控制整个平台,其他使者就都必须听命

3、于他们了。 但是,没有了管理员, 都可以往写数据,怎么才能保证数据是可信的呢?被坏改了怎么办?请接着往下读,这就是区块链奇妙的地。 三、区 块 区块链由个个区块( block)组成。区块很像数据库的记录,每次写数据,就是创建个区块。 每个区块包含两个部分。 区块头( Head):记录当前区块的特征值 区块体( Body):实际数据 区块头包含了当前区块的多项特征值。 成时间 实际数据(即区块体)的哈希 上个区块的哈希 这,你需要理解什么叫哈希( hash),这是理解区块链必需的。 所谓 “哈希 “就是计算机可以对任意内容,计算出个度相同的特征值。区块链的 哈希 度是 256位,这就是说,不管原

4、始内容是什么,最后都会计算出个256位的进制数字。且可以保证,只要原始内容不同,对应的哈希定是不同的。 举例来说,字符 串 123的哈希 是 a8fdc205a9f19c1c7507a60c4f01b13d11d7fd0(六进制),转成进制就是 256位,且只 有 123能得到这个哈希。(理论上,其他字符串也有可能得到这个哈希,但是概率极低,可以近似认为不可能发。) 因此,就有两个重要的推论。 推论 1:每个区块的哈希都是不样的,可以通过哈希标识区块。 推论 2:如果区块的内容变了,它的哈希定会改变。 四、 Hash 的不可修改性 区块与哈希是对应的,每个区块的哈希都是针对 “区块头 “( H

5、ead)计算的。也就是说,把区块头的各项特征值,按照顺序连接在起,组成个很的字符串,再对这个字符串计算哈希。 Hash = SHA256( 区块头 ) 上就是区块哈希的计算公式 , SHA256是区块链的哈希算法。注意,这个公式只包含区块头,不包含区块体,也就是说,哈希由区块头唯决定, 前说过,区块头包含很多内容,其中有当前区块体的哈希,还有上个区块 的哈希。这意味着,如果当前区块体的内容变了,或者上个区块的哈希变了,定会引起当前区块的哈希改变。 这点对区块链有重意义。如果有修改了个区块,该区块的哈希就变了。为了让后的区块还能连到它(因为下个区块包含上个区块的哈希),该必须依次修改后所有的区块

6、,否则被改掉的区块就脱离区块链了。由于后要提到的原因,哈希的计算很耗时,短时间内修改多个区块乎不可能发,除有掌握了全 51%以上的计算能。 正是通过这种联动机制,区块链保证了的可靠性,数据旦写,就法被篡改。这就像历史样, 发了就是发了,从此再法改变。 每个区块都连着上个区块,这也是 “区块链 “这个名字的由来。 五、采 矿 由于必须保证节点之间的同步,所以新区块的添加速度不能太快。试想下,你刚刚同步了个区块,准备基于它成下个区块,但这时别的节点有新区块成,你不得不放弃做了半的计算,再次去同步。因为每个区块的后,只能跟着个区块,你永远只能在最新区块的后,成下个区块。所以,你别选择,听到信号,就必

7、须刻同步。 所以,区块链的发明者中本聪(这是假名,真实份今未知)故意让 添加新区块,变得很困难。他的设计是,平均每 10分钟,全才能成个新区块,时也就六个。 这种产出速度不是通过命令达成的,是故意设置了海量的计算。也就是说,只有通过极其量的计算,才能得到当前区块的有效哈希,从把新区块添加到区块链。由于计算量太,所以快不起来。 这个过程就叫做采矿( mining),因为计算有效哈希的难度,好在全世界的沙,找到粒符合条件的沙。计算哈希的机器就叫做矿机,操作矿机的就叫做矿。 六、 难 度系数 读到这,你可能会有个疑问,们都说采矿很难,可是采矿不就是计算机算出个哈希吗,这正是计算机的强项啊,怎么会变得

8、很难,迟迟算不出来呢? 原来不是任意个哈希都可以,只有满条件的哈希才会被区块链接受。这个条件特别苛刻,使得绝部分哈希都不满要求,必须重算。 原来,区块头包含 个难度系数( difficulty),这个值决定了计算哈希的难度。举例来说,第 100000个区块的难度系数是 14484.16236122。 区块链协议规定,使个常量除以难度系数,可以得到标值( target)。显然,难度系数越,标值就越。 哈希的有效性跟标值密切相关,只有于标值的哈希才是有效的,否则哈希效,必须重算。由于标值常,哈希于该值的机会极其渺茫,可能计算10亿次,才算中次。这就是采矿如此之慢的根本原因。 前说过,当前区块的哈希

9、由区块头唯决定。如果要对同个区块反复计算哈希,就意味着,区块头必须不停地变化,否则不可能算出不样的哈希。区块头所有的特征值都是固定的,为了让区块头产变化,中本聪故意增加了个随机项,叫做 Nonce。 Nonce 是 个随机值,矿的作其实就是猜出 Nonce 的值,使得区块头的哈希可以于标值,从能够写区块链。 Nonce 是常难猜的,前只能通过穷举法个个试错。根据协议, Nonce 是个 32位的进制值,即最可以到 21.47亿。第 100000 个区块的 Nonce 值 是 274148111,可以理解成,矿从 0开始,直计算了 2.74 亿次,才得到了个有效的 Nonce 值,使得算出的哈希

10、能够满条件。 运好的话,也许会就找到了 Nonce。运不好的话,可能算完了 21.47亿次,都没有发现 Nonce,即当前区块体不可能算出满条件的哈希。这时,协议允许矿改变区块体,开始新的计算。 七、 难 度系数的 动态调节 正如上节所说,采矿具有随机性,没法保证正好分钟产出个区块,有时分钟就算出来了,有时个时可能也没结果。总体来看,随着硬件设备的提升,以及矿机的数量增,计算速度定会越来越快。 为了将产出速率恒定在分钟,中本聪还设计了难度系数的动态调节机制。他规定,难度系数每两周( 2016个区块)调整次。如果这两周,区块的平均成速度是 9分钟,就意味着法定速度快了 10%,因此接下来的难度

11、系数就要调 10%;如果平均成速度是 11分钟,就意味着法定速度慢了 10%,因此接下来的难度系数就要调低 10%。 难度系数越调越(标值越来越),导致了采矿越来越难。 、区 块链 的分叉 即使区块链是可靠的,现在还有个问题没有解决:如果两个同时向区块链写数据,也就是说,同时有两个区块加,因为它们都连着前个区块,就形成了分叉。这时应该采纳哪个区块呢? 现在的规则是,新节点总是采最的那条区块链。如果区块链有分叉,将看哪个分在分叉点后,先达到 6个新区块(称为 “六次确认 “)。按照 10分钟个区块计算 ,时就可以确认。 由于新区块的成速度由计算能决定,所以这条规则就是说,拥有多数计算能的那条分,

12、就是正宗的区块链。 九、 总结 区块链作为管理的分布式数据库,从 2009年开始已经运了 8年,没有出现的问题。这证明它是可的。 但是,为了保证数据的可靠性,区块链也有的代价。是效率,数据写区块链,最少要等待分钟,所有节点都同步数据,则需要更多的时间;是能耗,区块的成需要矿进数意义的计算,这是常耗费能源的。 因此,区块链的适场景,其实常有限。 不存在所有成员都信任的管理当局 写的数据不要求实时使 挖矿的收益能够弥补本的成本 如果法满上述的条件,那么传统的数据库是更好的解决案。 前,区块链最的应场景(可能也是唯的应场景),就是以特币为代表的加密货币。下篇章,我将会介绍特币的知识。 学习区块链,从 起点区块链 开始 最不亏的投资就是你关注了我

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报