废话是有点多了哈,一定要看到最后,因为干货在最后~

本想着把文章的名字起做 《区块链学习心得第一天》,但今天已经是我接触区块链的第十一天了,感觉自己学了很多,又感觉自己什么都没有学到,脑袋里的知识并没有形成一种核心的结构,不能随时地取用,那就写点东西,记录梳理一下吧。

区块链发展至今,已经过了十一载,网上的学习资料太多太多,从入门到精通的系列文章也已经比较多了。不过我并不打算按照那个顺序,这里主要对自己这十一天的学习做一个总结全局性回顾,说说自己的学习思路,或许对后来的你会有所启发和帮助。不过写作过程可能会如同撒沙一样涣散,后续系列会逐步矫正结构,充实内容,形成一幅幅美丽的沙画。

自己也学了这么久的区块链了。这会说起来,首先会蹦出以下词汇:

区块链、挖矿、矿工、矿池、比特币、中本聪、UTXO、去中心化、哈希函数、对称加密及非对称加密、点对点网络、区块链数据结构模型、共识算法、工作量证明、POW、POS、拜占庭问题、PBFT、拜占庭共识算法、以太坊、合约、智能合约、交易、节点及节点分类、法定数字货币、solidity、图灵完备、Fibric、abi等等。

这里要感谢下我目前的公司,如果不是来这里,我估计也不会学这个东西,至少近几年可能不会。毕竟还有一大堆的分布式技术栈、微服务架构等着我去研究。

在学习新东西的时候,大家一般肯定都会先去了解下他的概念,如果是做技术的话,可能也会去写一些小demo,来场指尖上的舞动,这样印象会深刻些吧。

记录下自己的学习方式吧,大家有什么更好的学习方式,可以留言互动呀,一起学习进步。

首先因为公司发了一些区块链的资料,拿人钱财,替人办事,公司交代的东西,当然还是要好好学一学的,不过就好比上学时,那整篇拗口的文案,字是都认识,放在一起就有点看起来就是有点懵。不过也算是获得了一堆的区块链知识名词。

看了大概两天,觉得自己已经都看完了,应该是可以胜任工作了。然后去向领导请教,想开始着手工作了,结果领导问了几个问题。我懵圈了。

  • 节点是什么?有哪些分类?
  • PBFT是什么?说说共识过程?
  • 什么是交易?
    节点我是知道的,相当于就是区块链的每一个区块。但是有哪些分类?资料中没有呀。PBFT,自己只是扫着看了看,知道有那张三个阶段的图,以及(n-1)/3的共识策略,甚至连他的中文全称都忘记了,因为主要是看了POW,POS,还有一些DES、3DES、AES加密等知识。还有什么是交易,emm。这个理解的不到位,记忆也模糊了,说不出个所以然。

接下来的三天,怎么办呢,首先咨询同事,那节点分类有哪些?才知道在工作中,分为只读节点和共识节点(关于这两点,还需要在工作中在理解,简单来说:区别在于只读节点不参与共识验证,只做存储。)此外,感谢互联网的便捷,全网都是我的老师。然后在网上一顿搜索,看博客,加QQ群,微信群,期望能从群里或者一帮热爱技术热爱分享的人进行交流和学习。确实是有效果的,但是效果并不好。

还是得靠自己,看了那么名词,但毕竟是要靠这个吃饭的,不能只浮于表面呀,所以在网上就找了个区块链demo,开始跟着码,没有把它的复制过来,而是一边照着它码,一边理解。自己模拟搭建了一条链,还模拟了下比特币的交易过程,感觉有那味了。分布式账本记录交易记录,哈希算法进行工作量证明,UTXO代码模拟,感觉自己对区块链已经有点懂了。代码地址如下:

https://github.com/halfApe/JavaBookClub/tree/master/halfApe/src/main/java/com/kycode/blockchain

就这么瞎胡闹地学了一周,自认为算是对区块链有所理解了,然后再次找领导要活干,结果领导问了我几个问题,我又懵了。首先是上次的问题又问了一遍,因为我有准备,所以答的还是不错,但是关于PBFT的实现,我又没有细看,时间不允许。但是对于节点共识的分析,还是能说个一二的。
具体问题如下:

  • 合约是什么?合约有哪些分类?合约和交易的关系?用类和方法套合约和交易怎么对应?
  • 什么是图灵完备?
  • 以太坊智能合约了解吗?
  • PBFT的数学验证清楚吗?

经过交流之后,我才知道,我看的充其量是区块链1.0版本,而公司自己搭建的链是基于区块链2.0理念开发的,就是我们所说的后续引入智能合约的区块链技术。 (今天是9.27,在读这篇文章发现之后写的有问题,这里我们公司是基于区块链3.0联盟链搭建,而2.0则是以以太坊为代表的智能合约公有链)。而企业级入门学习的最好例子是这个Hyperledger Fabric

so,再是一番百度、谷歌,才发现,想建成罗马,非一日可成也。因为领导也是再三问过PBFT,想通过代码实现去理解下,确发现有些算法写的实在很绕,一时啃起来比较费劲,还是先理解区块链在公司业务上具体如何应用先,至于难啃的算法,留下来慢慢啃。

到这里,也混进了一些区块链的圈子了,也有了写前辈推荐书籍和学习交流。哦,我自己也搞了个小群,对区块链感兴趣的伙伴可以一起来相互交流学习呀。加我微信(MichstraBe_a3)拉你进群。

上面说了些自己的学习过程,自己反思总结了入门区块链学习过程,总结如下:

  1. 首先找几个博客先过一下基础概念还是很有必要的。
    推荐:
    a.阮一峰老师的区块链入门,篇幅短小精悍,不至于一上来就劝退。
    b.阮老师不合你换口味?看看这篇,或许对让你对区块链有别样的认识,并且感受到震撼,生产关系的飞升,我是被震撼到了。
    c.上面这篇太虚无?那就看看这篇,从当下火的一塌糊涂的Defi切入,向你女朋友解释什么叫做区块链。
  2. 有了基础的概念,才只是在门外忘了一眼,要想有一个较深刻的感悟,还是要看看书的。这里推荐几本。(想要电子书的话,加我微信吧 )
    a.《图说区块链》
    b.《精通比特币》
    c.《区块链原理设计与应用》
  3. 毕竟区块链技术发展迅速,一些技术网站还是很有必要多看看的。
    a.巴比特
    b.登链社区
    c.区块链概论入门必看

写在最后

很高兴你能看到这里,前面的东西好像是有点水了,总得有点干货吧,那么下面就对部分概念做一些解释。因为内容比较多,放在了另外一篇文章中,请点击《区块链基础入门》。可能里面还有很多店未提及,后续会持续维护呀。

由于笔者也是在初学阶段,有什么写的不对的地方,也请多多指教鸭。

学习区块链的第一堂课--认识区块链相关推荐

  1. 人工智能导论 王万良教授_FCES2019 panel4:人工智能的第一堂课究竟讲什么?

    全文共1877字,预计学习时长5分钟 说起人工智能教育,最基本的是回归课堂.在北京大学李文新教授的主持下,panel4变成了一场:"讲课真老师之间的体会.经验.教训和收获的分享会" ...

  2. 计算机老师开学第一堂课,开学第一堂课作文

    开学第一堂课作文6 星星点点,思绪万千,零罗棋布,梦回起落.蓦然回首,原来遗失的美好,仅在这一堂课. 新的教室,新的桌椅,新的老师,新的同学--一切都是新的.我也告别了陪着我过了六个春秋的母校.老师, ...

  3. 计算机老师开学第一堂课,开学第一堂课作文(精选8篇)

    开学第一堂课作文(精选8篇) 在学习.工作乃至生活中,大家都尝试过写作文吧,作文一定要做到主题集中,围绕同一主题作深入阐述,切忌东拉西扯,主题涣散甚至无主题.你写作文时总是无从下笔?以下是小编整理的开 ...

  4. 计算机老师给新生的第一堂课怎么讲,新老师如何讲好第一堂课?看这篇就够了!...

    原标题:新老师如何讲好第一堂课?看这篇就够了! 距11.3资格证笔试还有68天啦 新学期即将开始啦!在新生入学的同时,各学校也将迎来一批新教师,为校园注入新鲜的血液. 或许,作为一名新教师,也曾无数次 ...

  5. 关于寒假开学第一堂课的感受与收获

    很久很久没有坐到第三合班教室了.当寒假第一堂课在那里进行的时候,再次走进那个教室,忍不住想起信息技术提高班第六期学员开学典礼.开学典礼上米老师的话都不记得了,但是当时的感觉记忆犹新.也忍不住想起这两年 ...

  6. Extjs6.2 第一堂课 HelloWorld

    1. 第一堂课 1.1. 下载ext-6.2.0-gpl.zip 下载地址: [(https://www.sencha.com/legal/gpl/)] 步骤一:打开网站后,依次添加邮件地址,选择国家 ...

  7. 学习新概念第一册 第一堂课 音标和基础知识储备(1)

    这是我第一次写博客,将自己学习新概念的笔记整理到上面希望对大家有帮助. 总共44堂课.今天是第一堂课.3节课音标和基础知识储备.剩余41节课讲新概念第一册. 在英语中音标就相当于汉语中的拼音,字母就相 ...

  8. 开始java的第一堂课~

    了解java 在了解java之前呢?先说一下lz自己的经验, 如何开始学习java呢?首先先安装上一个jdk ,此为java的开发环境, 接下来安装一个编写java的工具, 在下面我会给大家介绍, . ...

  9. 互联网领域,我再公司内给所有新职工上的第一堂课(不喜勿喷,因为你喷不过我)

    做具象的事之前先理解抽象 团队介绍: 最初我们是XX集团旗下的信息化部门,旨在改善和维护XX集团企业信息化环境,后来我们更名为XX办公室,见名知意,也就是说当在我们的努力下XX集团的信息化建设已经具备 ...

最新文章

  1. MFC 设置光标 SetCursor(HCURSOR hCursor)用法
  2. 美观实用的标签切换菜单
  3. Hadoop使用MultipleOutputs输出多文件或者指定命名
  4. 数据库原理----学习目标
  5. 几种人类设计的永动机,最后一个彻底服了!| 今日最佳
  6. redis缓存原理与实现_SpringBoot整合Redis缓存,手把手教你一步一步实现
  7. 虚拟空间独立服务器哪个好,共享虚拟主机和独立哪个好
  8. 在艰苦年代,买不起万用表,怎么测量电路电压?
  9. 教你精确计算 I2C 上拉电阻阻值
  10. 9.关于Unicode字符集
  11. C/C++基础面试-Const的全面理解(C部分)
  12. golang自带的rpc 服务端
  13. HTML、 CSS、 JavaScript三者的关系
  14. Linux内核的文档管理工具:Sphinx
  15. 洛谷P4482 [BJWC2018]Border 的四种求法 字符串,SAM,线段树合并,线段树,树链剖分,DSU on Tree...
  16. SAP物料主数据随笔
  17. 叫板英特尔,英伟达发布首个 CPU,集齐“三芯”!
  18. Bailian4085 数组去重排序【桶排序】
  19. 谁来给电视盒子接班?
  20. OSChina 周二乱弹 —— 好好告别啊!不要舌吻!

热门文章

  1. ion android 内核,关于Android中ION的libion
  2. 当你老了,一生最后悔什么?
  3. 密码正则(自定义正则)
  4. Markdown基本语法教程
  5. 多功能科学计算器:Magic Number 2 Mac中文
  6. 网站被恶意攻击,访问不了怎么办
  7. 基于Socket实现客户端与服务端通讯
  8. HCIA随堂笔记第五章交换技术
  9. java门户网站模板_java门户网站模板.doc
  10. 计算机有哪些应用领域,计算机的应用领域有哪些