『壹』 小白如何学习区块链,怎么入门区块链
大学生想接触区块链,从哪入手比较好?如果只是接触的话,那我建议可以采用如下方法(主要针对非相关专业的小白学生,不包括准备从事区块链行业的朋友们)
首先,你关注到这个问题,说明你对区块链产生了极大的好奇心或者有了浓厚的兴趣,那么,我不建议大家一上来直接去看专业性很高的《白皮书》,因为大量的专业术语和名词让人头大。
换个方式,我们从年轻人的角度来想,在学习区块链知识之前,先从最基础的开始了解。
1.超大流量的DouYin平台,在搜索框内输入“区块链”,会出现很多“红人”老师用生动形象的超短视频为你讲解什么是区块链。虽然视频内容不能说百分之一百正确,但是对于简单的基础理解完全足够的。毕竟“一千个观众眼中有一千个哈姆雷特,每个人都会对区块链有不同的理解和看法,将来的你也会有不同的见解。
2.现在的你可能对区块链半知半解或者只是有个轮廓,那么,请带着你这份浅印象来阅读《区块链100问》(网络直接可以搜到),依旧是很短的视频,但是基本上区块链相关知识都有涉及,包括密码学背景知识、区块链的历史、什么是区块链、比特币及以太坊相关介绍、区块链技术的应用场景等内容。
注意,不用细究每个名词,全部浏览一遍,将读懂的和不懂的区分。
3.在碎片时间可以读一读网络小说《区块链修仙》,大概是一颗韭菜魂穿后获得区块链修仙系统,开挂人生,由挖矿开始的故事。在这本小说中,你将会看到大量的名词(矿工、节点、数字货币、区块链系统等等),将你前面学到的知识带入书中,会有奇效。
节选——“所有诸天万界,居然凝聚成了一个巨大区块链……所有的人都可以通过区块链进行……需要的不过是虚拟币而已。我们用自己的法力精华……献祭给区块链……就会得到虚拟币,从而在现实中,代替货币,买卖一切,甚至能够用区块链来直接修炼,从区块链物联网之中获得丹药、功法。”
看到这里,是不是觉得比《白皮书》有意思的多。
4.建议回看《区块链100问》,再去读《比特币白皮书》。
5.如果面临实习的同学,可以到相关企业体验,学以致用才是良方。
6.当然,关注币秘书也是个不错的选择
[看]
怎么学习区块链
两步走,第一步确定方向,第二步确定细节。
方向有以下几个:
我只是想了解它大概是什么的小白。
我想从事区块链行业,做开发、运营、产品、甚至是进行区块链创业。
每个方向的细节是酱紫的:
方向1
我想了解区块链是什么,以及各种币是干嘛的。
这就从比特币了解起。这里推荐李钧,长铗,等编著的《比特币》,可以带你了解比特币背后的共识机智、去中心化原理、比特币的历史等。接下来去研究各类币种。较大的国产链有QTUM,NEO,较大的国外链有EOS、ETH等。去研究他们的白皮书、团队、历史、twitter、telegram群等可以接触的地方。
同时,你还需要一个可以看行情、交流想法、看文章的地方。这里推荐一些常用APP。比如常用的看价格的APPblockfolio;看资讯、块讯、新闻、甚至是找到吹牛逼的地方可用巴比特APP;币种资料可以参考非小号APP,里面内容也挺多。其中巴比特APP是我最常用的,因为它的新闻可靠,不会造假。
方向2
区块链从业
据我了解,区块链行业当前的从业者从金融或计算机专业转过来的比较多。如果你是在校大学生,如果要在区块链行业工作,可以考虑读金融或计算机行业的专业。如果是已经工作,想要加入区块链行业,那么以下内容需要学习。一本《区块链:从数字货币到信用社会》长铗、韩峰著带你入门区块链基础知识。《区块链技术指南》可以让你加深对区块链技术的理解。《区块链革命》可以带你走进一场即将发生的革命。总的来说需要学习的内容比较多。
小白如何学习区块链技术?按照学习顺序会较为系统和高效:
(1)通过较为通俗的读物建立对区块链的轮廓式认识;
(2)了解元老:比特币;
(3)学习:以太坊和EOS;
(4)学习几个自己感兴趣的项目,并认真吃透至少一个项目白皮书;
(5)通过相关媒体渠道扩展学习,不断丰富自己的相关知识。
在很多新人眼中,区块链几乎等于比特币,所以有必要先了解区块链概貌,就像拿过一本书,先看一下目录,知道大概包括什么内容,而不是翻开第一页就读。经过第一步的学习,对比特币、区块链以及交易所和钱包有了一个模糊的概念。动手实践,是提高学习动力及效率的最佳方式,也能在实践中提出更有实际意义的问题,带着问题去寻找答案,学习效果将更好。因此:
(1)选择一个交易所,比如:huobi.pro,okex.com,bigone,OTCBTC等等,注册账户,在此过程中需要注意的是谷歌验证器的使用;
(2)买入一点,比如0.03个比特币,建议分别通过C2C场外交易和通过USDT交易对形式购买,熟悉两种购买途径;
(3)下载安装钱包,比如比特派,注意助记词的保管;
(4)从交易所转移一点比特币到钱包。
完成以上过程的操作,会对交易所、钱包、私钥、场外交易等有切身的体会了。
链乔教育在线旗下学硕创新区块链技术工作站是中国教育部学校规划建设发展中心开展的“智慧学习工场2020-学硕创新工作站”唯一获准的“区块链技术专业”试点工作站。专业站立足为学生提供多样化成长路径,推进专业学位研究生产学研结合培养模式改革,构建应用型、复合型人才培养体系。
如何学习区块链技术?区块链具备六大技术特征,即去中心化、开放性、自治性、匿名性、可编程和可追溯。正是这六大技术特征使得区块链具备了革命性颠覆性技术的特质,也使其成为元宇宙的重要支撑。
宇宙是否需要区块链?需要首先理解区块链的技术特性,同时不能跳脱于区块链自身发展的趋势。结合区块链的技术特征与发展趋势,我们不妨探索元宇宙与区块链深度协同的可能。
黑龙江省“十四五”数字政府建设规划近日出台。在区块链方面,《规划》指出,加快区块链等关键技术应用,探索应用量子通信、区块链网络等新技术。依托区块链技术,按需建设与省级部门、市(地)数据高速共享通道,实现数据分钟级共享,加强全链路数据质量监控,建成高保障、高可用的数据供应链体系。基于区块链技术,建设电子证照管理应用平台。积极部署区块链服务网络节点,构建场景化区块链应用体系,持续推动数字身份认证链、可信电子证照链、存证公正链、数据共享交换链等数字政府公共支撑链的建设。探索“区块链+市场监管”,推进“区块链+法治”国家试点建设。
从技术层面来看,小度科技依托于网络公司的AI技术和区块链技术上线数字藏品也是水到渠成,据了解,网络区块链技术有在司法、医疗、金融、政务等十多个领域成功案例,而小度数字藏品平台运用“自家”区块链技术,也为小度数字藏品平台带来了技术背书。
小白如何秒懂区块链中的哈希计算小白如何秒懂区块链中的哈希计算
当我在区块链的学习过程中,发现有一个词像幽灵一样反复出现,“哈希”,英文写作“HASH”。
那位说“拉稀”同学你给我出去!!
这个“哈希”据说是来源于密码学的一个函数,尝试搜一搜,论文出来一堆一堆的,不是横式就是竖式,不是表格就是图片,还有一堆看不懂得xyzabc。大哥,我就是想了解一下区块链的基础知识,给我弄那么难干啥呀?!我最长的密码就是123456,复杂一点的就是654321,最复杂的时候在最后加个a,你给我写的那么复杂明显感觉脑力被榨干,仅有的脑细胞成批成批的死亡!为了让和我一样的小白同学了解这点,我就勉为其难,努力用傻瓜式的语言讲解一下哈希计算,不求最准确但求最简单最易懂。下面我们开始:
#一、什么是哈希算法
##1、定义:哈希算法是将任意长度的字符串变换为固定长度的字符串。
从这里可以看出,可以理解为给**“哈希运算”输入一串数字,它会输出一串数字**。
如果我们自己定义“增一算法”,那么输入1,就输出2;输入100就输出101。
如果我我们自己定义“变大写算法”,那么输入“abc”输出“ABC”。
呵呵,先别打我啊!这确实就只是一个函数的概念。
##2、特点:
这个哈希算法和我的“增一算法”和“变大写算法”相比有什么特点呢?
1)**确定性,算得快**:咋算结果都一样,算起来效率高。
2)**不可逆**:就是知道输出推不出输入的值。
3)**结果不可测**:就是输入变一点,结果天翻地覆毫无规律。
总之,这个哈希运算就是个黑箱,是加密的好帮手!你说“11111”,它给你加密成“”,你说“11112”它给你弄成“”。反正输入和输出一个天上一个地下,即使输入相关但两个输出毫不相关。
#二、哈希运算在区块链中的使用
##1、数据加密
**交易数据是通过哈希运算进行加密,并把相应的哈希值写入区块头**。如下图所示,一个区块头包含了上一个区块的hash值,还包含下一个区块的hash值。
1)、**识别区块数据是否被篡改**:区块链的哈希值能够唯一而精准地标识一个区块,区块链中任意节点通过简单的哈希计算都可以获得这个区块的哈希值,计算出的哈希值没有变化也就意味着区块链中的信息没有被篡改。
2)、**把各个区块串联成区块链**:每个区块都包含上一个区块的哈希值和下一个区块的值,就相当于通过上一个区块的哈希值挂钩到上一个区块尾,通过下一个区块的哈希值挂钩到下一个区块链的头,就自然而然形成一个链式结构的区块链。
##2、加密交易地址及哈希
在上图的区块头中,有一个Merkleroot(默克尔根)的哈希值,它是用来做什么的呢?
首先了解啥叫Merkleroot?它就是个二叉树结构的根。啥叫二叉树?啥叫根?看看下面的图就知道了。一分二,二分四,四分八可以一直分下去就叫二叉树。根就是最上面的节点就叫根。
这个根的数据是怎么来的呢?是把一个区块中的每笔交易的哈希值得出后,再两两哈希值再哈希,再哈希,再哈希,直到最顶层的数值。
这么哈希了半天,搞什么事情?有啥作用呢?
1)、**快速定位每笔交易**:由于交易在存储上是线性存储,定位到某笔交易会需要遍历,效率低时间慢,通过这样的二叉树可以快速定位到想要找的交易。
举个不恰当的例子:怎么找到0-100之间的一个任意整数?(假设答案是88)那比较好的一个方法就是问:1、比50大还是小?2、比75大还是小?3、比88大还是小?仅仅通过几个问题就可以快速定位到答案。
2)、**核实交易数据是否被篡改**:从交易到每个二叉树的哈希值,有任何一个数字有变化都会导致Merkleroot值的变化。同时,如果有错误发生的情况,也可以快速定位错误的地方。
##3、挖矿
?在我们的区块头中有个参数叫**随机数Nonce,寻找这个随机数的过程就叫做“挖矿”**!网络上任何一台机器只要找到一个合适的数字填到自己的这个区块的Nonce位置,使得区块头这6个字段(80个字节)的数据的哈希值的哈希值以18个以上的0开头,谁就找到了“挖到了那个金子”!既然我们没有办法事先写好一个满足18个0的数字然后反推Nounce,唯一的做法就是从0开始一个一个的尝试,看结果是不是满足要求,不满足就再试下一个,直到找到。
找这个数字是弄啥呢?做这个有什么作用呢?
1)、**公平的找到计算能力最强的计算机**:这个有点像我这里有个沙子,再告诉你它也那一个沙滩的中的一粒相同,你把相同的那粒找出来一样。那可行的办法就是把每一粒都拿起来都比较一下!那么比较速度最快的那个人是最有可能先早到那个沙子。这就是所谓的“工作量证明pow”,你先找到这个沙子,我就认为你比较的次数最多,干的工作最多。
2)、**动态调整难度**:比特币为了保证10分钟出一个区块,就会每2016个块(2周)的时间计算一下找到这个nonce数字的难度,如果这2016个块平均时间低于10分钟则调高难度,如高于十分钟则调低难度。这样,不管全网的挖矿算力是怎么变化,都可以保证10分钟的算出这个随机数nonce。
#三、哈希运算有哪些?
说了这么多哈希运算,好像哈希运算就是一种似的,其实不是!作为密码学中的哈希运算在不断的发展中衍生出很多流派。我看了”满头包”还是觉得内在机理也太复杂了,暂时罗列如下,小白们有印象知道是怎么回事就好。
从下表中也可以看得出,哈希运算也在不断的发展中,有着各种各样的算法,各种不同的应用也在灵活应用着单个或者多个算法。比特币系统中,哈希运算基本都是使用的SHA256算法,而莱特币是使用SCRYPT算法,夸克币(Quark)达世币(DASH)是把很多算法一层层串联上使用,Heavycoin(HAV)却又是把一下算法并联起来,各取部分混起来使用。以太坊的POW阶段使用ETHASH算法,ZCASH使用EQUIHASH。
需要说明的是,哈希运算的各种算法都是在不断升级完善中,而各种币种使用的算法也并非一成不变,也在不断地优化中。
**总结**:哈希运算在区块链的各个项目中都有着广泛的应用,我们以比特币为例就能看到在**数据加密、交易数据定位、挖矿等等各个方面都有着极其重要的作用**。而哈希运算作为加密学的一门方向不断的发展和延伸,身为普通小白的我们,想理解区块链的一些基础概念,了解到这个层面也已经足够。
『贰』 小白如何秒懂区块链中的哈希计算
小白如何秒懂区块链中的哈希计算
当我在区块链的学习过程中,发现有一个词像幽灵一样反复出现,“哈希”,英文写作“HASH”。
那位说“拉稀”同学你给我出去!!
这个“哈希”据说是来源于密码学的一个函数,尝试搜一搜,论文出来一堆一堆的,不是横式就是竖式,不是表格就是图片,还有一堆看不懂得xyzabc。大哥,我就是想了解一下区块链的基础知识,给我弄那么难干啥呀?!我最长的密码就是123456,复杂一点的就是654321,最复杂的时候在最后加个a,你给我写的那么复杂明显感觉脑力被榨干,仅有的脑细胞成批成批的死亡!为了让和我一样的小白同学了解这点,我就勉为其难,努力用傻瓜式的语言讲解一下哈希计算,不求最准确但求最简单最易懂。下面我们开始:
# 一、什么是哈希算法
## 1、定义:哈希算法是将任意长度的字符串变换为固定长度的字符串。
从这里可以看出,可以理解为给**“哈希运算”输入一串数字,它会输出一串数字**。
如果我们自己定义 “增一算法”,那么输入1,就输出2;输入100就输出101。
如果我我们自己定义“变大写算法”,那么输入“abc”输出“ABC”。
呵呵,先别打我啊!这确实就只是一个函数的概念。
## 2、特点:
这个哈希算法和我的“增一算法”和“变大写算法”相比有什么特点呢?
1)**确定性,算得快**:咋算结果都一样,算起来效率高。
2)**不可逆**:就是知道输出推不出输入的值。
3)**结果不可测**:就是输入变一点,结果天翻地覆毫无规律。
总之,这个哈希运算就是个黑箱,是加密的好帮手!你说“11111”,它给你加密成“”,你说“11112”它给你弄成“”。反正输入和输出一个天上一个地下,即使输入相关但两个输出毫不相关。
# 二、哈希运算在区块链中的使用
## 1、数据加密
**交易数据是通过哈希运算进行加密,并把相应的哈希值写入区块头**。如下图所示,一个区块头包含了上一个区块的hash值,还包含下一个区块的hash值。
1)、**识别区块数据是否被篡改**:区块链的哈希值能够唯一而精准地标识一个区块,区块链中任意节点通过简单的哈希计算都可以获得这个区块的哈希值,计算出的哈希值没有变化也就意味着区块链中的信息没有被篡改。
2)、**把各个区块串联成区块链**:每个区块都包含上一个区块的哈希值和下一个区块的值,就相当于通过上一个区块的哈希值挂钩到上一个区块尾,通过下一个区块的哈希值挂钩到下一个区块链的头,就自然而然形成一个链式结构的区块链。
## 2、加密交易地址及哈希
在上图的区块头中,有一个Merkle root(默克尔根)的哈希值,它是用来做什么的呢?
首先了解啥叫Merkle root? 它就是个二叉树结构的根。啥叫二叉树?啥叫根?看看下面的图就知道了。一分二,二分四,四分八可以一直分下去就叫二叉树。根就是最上面的节点就叫 根。
这个根的数据是怎么来的呢?是把一个区块中的每笔交易的哈希值得出后,再两两哈希值再哈希,再哈希,再哈希,直到最顶层的数值。
这么哈希了半天,搞什么事情?有啥作用呢?
1)、**快速定位每笔交易**:由于交易在存储上是线性存储,定位到某笔交易会需要遍历,效率低时间慢,通过这样的二叉树可以快速定位到想要找的交易。
举个不恰当的例子:怎么找到0-100之间的一个任意整数?(假设答案是88)那比较好的一个方法就是问:1、比50大还是小?2、比75大还是小?3、比88大还是小? 仅仅通过几个问题就可以快速定位到答案。
2)、**核实交易数据是否被篡改**:从交易到每个二叉树的哈希值,有任何一个数字有变化都会导致Merkle root值的变化。同时,如果有错误发生的情况,也可以快速定位错误的地方。
## 3、挖矿
在我们的区块头中有个参数叫**随机数Nonce,寻找这个随机数的过程就叫做“挖矿”**!网络上任何一台机器只要找到一个合适的数字填到自己的这个区块的Nonce位置,使得区块头这6个字段(80个字节)的数据的哈希值的哈希值以18个以上的0开头,谁就找到了“挖到了那个金子”!既然我们没有办法事先写好一个满足18个0的数字然后反推Nounce,唯一的做法就是从0开始一个一个的尝试,看结果是不是满足要求,不满足就再试下一个,直到找到。
找这个数字是弄啥呢?做这个有什么作用呢?
1)、**公平的找到计算能力最强的计算机**:这个有点像我这里有个沙子,再告诉你它也那一个沙滩的中的一粒相同,你把相同的那粒找出来一样。那可行的办法就是把每一粒都拿起来都比较一下!那么比较速度最快的那个人是最有可能先早到那个沙子。这就是所谓的“工作量证明pow”,你先找到这个沙子,我就认为你比较的次数最多,干的工作最多。
2)、**动态调整难度**:比特币为了保证10分钟出一个区块,就会每2016个块(2周)的时间计算一下找到这个nonce数字的难度,如果这2016个块平均时间低于10分钟则调高难度,如高于十分钟则调低难度。这样,不管全网的挖矿算力是怎么变化,都可以保证10分钟的算出这个随机数nonce。
# 三、哈希运算有哪些?
说了这么多哈希运算,好像哈希运算就是一种似的,其实不是!作为密码学中的哈希运算在不断的发展中衍生出很多流派。我看了”满头包”还是觉得内在机理也太复杂了,暂时罗列如下,小白们有印象知道是怎么回事就好。
从下表中也可以看得出,哈希运算也在不断的发展中,有着各种各样的算法,各种不同的应用也在灵活应用着单个或者多个算法。比特币系统中,哈希运算基本都是使用的SHA256算法,而莱特币是使用SCRYPT算法,夸克币(Quark)达世币(DASH)是把很多算法一层层串联上使用,Heavycoin(HAV)却又是把一下算法并联起来,各取部分混起来使用。以太坊的POW阶段使用ETHASH算法,ZCASH使用EQUIHASH。
需要说明的是,哈希运算的各种算法都是在不断升级完善中,而各种币种使用的算法也并非一成不变,也在不断地优化中。
**总结**:哈希运算在区块链的各个项目中都有着广泛的应用,我们以比特币为例就能看到在**数据加密、交易数据定位、挖矿等等各个方面都有着极其重要的作用**。而哈希运算作为加密学的一门方向不断的发展和延伸,身为普通小白的我们,想理解区块链的一些基础概念,了解到这个层面也已经足够。