花一分钟来了解下 区块链技术之前的东西.doc

花一分钟来了解下 区块链技术之前的东西.doc

ID:28133503

大小:1.57 MB

页数:8页

时间:2018-12-08

花一分钟来了解下 区块链技术之前的东西.doc_第1页
花一分钟来了解下 区块链技术之前的东西.doc_第2页
花一分钟来了解下 区块链技术之前的东西.doc_第3页
花一分钟来了解下 区块链技术之前的东西.doc_第4页
花一分钟来了解下 区块链技术之前的东西.doc_第5页
资源描述:

《花一分钟来了解下 区块链技术之前的东西.doc》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、花一分钟来了解下区块链技术之前的东西开篇  很多年没有看到像区块链这样有生命力的事物了。它像一个欣欣向荣的新大陆一样,把技术理想主义者,围观者,投资者,投机者,甚至流氓骗子各色人等聚集在一起。    在此乱象中,我深感于现在区块链,观点太多,事实太少。我作为一个个体去摸这头大象的时候,比较擅长的是以技术的角度切入,看它到底是如何工作,如何发展的,从而把这一只象腿摸清楚。我把自己的学习记录下来。这些记录可能很入门,甚至有错误,但是或许对于同样感兴趣的人有所帮助。链表  从技术角度看,区块链的底层是精妙设计的

2、链表数据结构①花一分钟来了解下区块链技术之前的东西开篇  很多年没有看到像区块链这样有生命力的事物了。它像一个欣欣向荣的新大陆一样,把技术理想主义者,围观者,投资者,投机者,甚至流氓骗子各色人等聚集在一起。    在此乱象中,我深感于现在区块链,观点太多,事实太少。我作为一个个体去摸这头大象的时候,比较擅长的是以技术的角度切入,看它到底是如何工作,如何发展的,从而把这一只象腿摸清楚。我把自己的学习记录下来。这些记录可能很入门,甚至有错误,但是或许对于同样感兴趣的人有所帮助。链表  从技术角度看,区块链的底

3、层是精妙设计的链表数据结构①。  什么是链表呢?就是有顺序的一串数据块,一个跟在另一个后面,这个顺序是严格规定的,不能乱。区块链,食物链,供应链,资金链,甚至鄙视链,描述的就是这样有顺序的一串物品②。  我们以比特币为例,来剖析这个链表。  为了构成链表,链表的数据块里面有两个基本的部分:区块头,和数据本身。区块头里面有一个字段指明了上一个区块的id,而所有区块的id既不是顺序的,也不是随机的,而是区块头这80个字节的两次哈希值。哈希Hash  这可能是区块链里面最让非理工科出身的学习者费解的概念了。听起

4、来很吓人,实际很简单。哈希就是一个算法,能把任意长度的内容(无论是一个数,还是文章,图像,视频,总之就是任何数字化的信息)转换成一串看似没有规律的固定长度的数字(哈希值),并保证结果唯一,而从这个结果几乎没有办法推算出原始数据。比特币用的是叫做SHA256的哈希算法。  比如:1的SHA256哈希结果是:0x6b86b273ff34fce19d6b804eff5a3f5747ada4eaa22f1d49c01e52ddb7875b4b  2的SHA256哈希结果是:  0xd4735e3a265e16ee

5、e03f59718b9b5d03019c07d8b6c51f90da3a666eec13ab35  我们把这个哈希值看成乱码好了,因为唯一的规律就是没有规律。同时,在原始数据中哪怕有一点点改动,产生的哈希就会产生巨大的变化。这个特性常常用来做“数字指纹”。    用日常例子来打个比方。比如按照配方做菜就是个哈希过程:有了配方精确的做菜容易,而从菜品推测出配方难得多。给出两个数算出他们的平方和比较容易,给出一个数求是哪两个数的平方和就难很多。哈希算法就大概这么个意思。区块头和id  刚才讲到,每个区块的id

6、从它的区块头的80个字节数据两次SHA256哈希得到。区块链的一个精妙的设计就是,它对于的id是有要求的。只有满足特定的规则的id才是合法的。这个规则就是:区块头的哈希值必须小于一个数,直观看到的就是,每个新的区块的长达64个字符的id必须以比如18个零开头④,一个合法的区块id是长成这个样子的:0000000000000000003c19cdbebe2df5c7f82558e2c80a0c7341e25072b732a2  区块头这80个字节里面的6个字段,5个是不能改的,它们是:  1.版本号最近一直

7、是0x20000000⑥  2.上一个块的哈希值这个是排队时候的队尾,改了就排不到队里了  3.数据的哈希这个是区块里的交易数据,也不能改③  4.时间不能改,就是现在的时间。  5.难度每个给定的时间全网的难度是一样的④  只有第六个字段是随便写的,这个数字叫做Nonce  6.Nonce  网络上任何一台机器只要找到一个合适的数字填到自己的这个区块的Nonce位置,使得区块头这6个字段(80个字节)的数据的哈希值的哈希值以18个以上的0开头,谁就找到了那个金子⑦!既然我们无法事先写好一个满足18个0的

8、数字然后反推Nounce,唯一的做法就是从0开始一个一个的尝试,看结果是不是满足要求,不满足就再试下一个,直到找到。  这个过程被戏称为挖矿。其实我觉得这个过程和淘金更像。淘金者做的事情很简单,却很重复,就是对于河里所有沙子,拿起来一个,判断是不是金子。如果不是,扔掉再拿一个。如此重复几百万次,总有一个是金子。而在区块链世界,那64个十六进制的字符串,第一个是0的概率是1/16,第二个也是0的概率再乘以1/16,第18个还是零

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。