ImageVerifierCode 换一换
格式:PDF , 页数:11 ,大小:601.38KB ,
资源ID:10346555      下载积分:10 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.docduoduo.com/d-10346555.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录   微博登录 

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(《区块链入门教程》-学习区块链从[起点区块链]开始.pdf)为本站会员(精品资料)主动上传,道客多多仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知道客多多(发送邮件至docduoduo@163.com或直接QQ联系客服),我们立即给予删除!

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

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营业执照举报