如何系统学习区块链技术?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何系统学习区块链技术?相关的知识,希望对你有一定的参考价值。
在最初自己自学区块链相关知识的时候,可以采用“自下而上”的方法,也就是通过看书、阅读白皮书等方式,自己查资料,再自行汇总和连接起这些知识,整合成一个较为完整的知识体系。
一、学习白皮书
上大学之前,我读过很多有关《论语》的书,都是关于应该如何读论语,应该如何理解论语的解读。直到有一天我发现,如此钟爱《论语》的我,却从来没有耐下性子来,认真读一读《论语》的原本。
于是,我去书店买回了一本《论语》,从头到尾认认真真地看了一遍,发现其实里面有太多细节和感悟,是没有办法通过任何解读传递的。而居然之前花了大量的时间,阅读了大量的解读,真的是舍本逐末,不得要领地在努力。
每个领域都一样。当你不了解它的时候,你会对它产生一种莫名的畏惧,认为它高高在上,高不可攀。为了快速踏进这些领域,你会在它周围寻找很多所谓的“解读”,打听很多“消息”。
二、技术角度
基础阶段:
1、《区块链开发指南》-作者申屠青春:
作者多余比特币底层的研究可谓是非常深入,讲解的也非常通俗易懂。
2、《区块链技术指南》-作者邹均:
作为国内第一本从技术角度讲解区块链的书籍,值得一读,2016年出版以来一致评价不错。
3、《区块链 原理、设计与应用》-作者杨保华陈昌:
陈昌前辈作为纸贵的CTO、记得之前的墨链就是基于Hyperledger Fabric的,所以这本书对于Hyperledger 相关开源产品的讲解很透彻。
扩展资料
区块链的定义
区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),是比特币的一个重要概念,它本质上是一个去中心化的数据库,同时作为比特币的底层技术,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次比特币网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。
推荐书籍
1、《区块链:从数字货币到信用社会》
本书较为系统地对区块链的历史和现状、起源与发展以及问题和未来发展方向进行了总结,并从多个方面和行业对区块链的定义、创新,以及区块链的前景和存在的问题进行了理论阐释,探讨未来区块链如何引领互联网金融的发展方向,对我们如何看待区块链技术的崛起和其在人类发展中所起到的作用有重要的参考意义和理论价值。
2、《区块链革命》
这本书是“数字经济之父”继畅销书《维基经济学》之后又一力作,受到多国政治界、学术界和工商界翘楚人物的推崇。本书全景式描绘互联网前沿技术─区块链技术,将如何彻底改变互联网及银行业、证券业、保险业、会计税收、法律服务业、文化创意业、物流业、医药卫生业、电力业、和制造业等行业;前瞻性阐述这种技术可以做什么,以及我们如何利用好它。
3、《区块链世界》
这本书分为上下两篇。上篇通过翔实的资料,全面地回顾了区块链从2008年诞生、成长和逐步发展的历程,详尽地介绍了区块链技术的独创性、机制的科学性、逻辑的艺术性,通过金融、防伪、医疗等十余个行业场景介绍区块链的应用特性。下篇结合二十国集团峰会精神、 “十三五”规划等蕞新政策,探索研究区块链与数字经济的结合,以及作者对行业发展趋势的观点和建议。
参考资料:百度百科-区块链
真想学习区块链技术,必须要有两样东西,一是对区块链的兴趣 ,兴趣可能来自对其前景的看好或者对其原理的喜爱;二是时间,要准备好用足够的时间积累来学习,甚至很长一段时间都在嚼着难懂的概念读着没有趣味的书。
可以看一些其他学者关于区块链的文章,还可以选择看一些视频,从案例中学习,具体如下:
1、《区块链项目白皮书》
本文提出了一种完全通过点对点技术实现的电子现金系统,它使得在线支付能够直接由一方发起并支付给另外一方,中间不需要通过任何的金融机构。
虽然数字签名部分解决了这个问题,但是如果仍然需要第三方的支持才能防止双重支付的话,那么这种系统也就失去了存在的价值。在此提出一种解决方案,使现金系统在点对点的环境下运行,并防止双重支付问题。
2、《去中心化数据市场 Wolk白皮书》
以太坊下的智能代币和去中心化的数据储存架构解决了上述难题。 Wolk协议让广告主与广告商可直接在去中心化的数据交易平台上,通过多种识别码如:移动设备号、邮件地址、电话号码等交换或取得相关用户特征数据。 WOLK币将被运于各种Wolk服务项之中。
3、《比特币闪电网络,可扩展的 off-chain 即时支付》
在 blockchain,如果只有两个参与者关心日常的经常性交易,是没有必要让在比特币网络的所有节点了解该交易的。相反,在 blockchain 上只有一小部分信 息是更可取的。
通过推迟告诉全世界每一笔交易,在以后的日子解决他们之间的关系的方法, 使比特币用户进行许多交易不用扩展blockchain或与一个集中的交易对手建立信任。
扩展资料
1、组成
一般说来,区块链系统由数据层、网络层、共识层、激励层、合约层和应用层组成。
1)数据层封装了底层数据区块以及相关的数据加密和时间戳等基础数据和基本算法;
2)网络层则包括分布式组网机制、数据传播机制和数据验证机制等;
3)共识层主要封装网络节点的各类共识算法;
4)激励层将经济因素集成到区块链技术体系中来,主要包括经济激励的发行机制和分配机制等;
5)合约层主要封装各类脚本、算法和智能合约,是区块链可编程特性的基础;
6)应用层则封装了区块链的各种应用场景和案例。
该模型中,基于时间戳的链式区块结构、分布式节点的共识机制、基于共识算力的经济激励和灵活可编程的智能合约是区块链技术最具代表性的创新点 。
2、特点
区块链本质上是一个多中心的分布式账本。多中心化即所有的交易都是点对点发生的,不依赖于单一信用中介;分布式账本意味着当交易发生时,链上的所有参与者都会收到交易信息。区块链上的所有交易记录都是完全公开,不可篡改的,因而具有去中心化、开放性、独立性、安全性等特点。
比如说,之前两个人在一个市场中交易,如果一方抵赖就容易造成纠纷。运用区块链技术后,市场中所有人都是见证者,就消除了造假或抵赖的可能性。区块链技术最大的特点就是创造了一个数字社会的诚信体系,在这个体系中不光数据传输便利,造假也变得很难。
区块链技术的另一特点是可以实现数据的及时共享且不可篡改。在政府服务领域,利用区块链数据共享模式,可以实现政务数据跨部门、跨区域共同维护和利用,促进业务协同办理,方便群众办事。
在物流领域,通过区块链技术可以降低物流成本,追溯物品的生产和运送过程,防止数据造假并且提高供应链管理的效率。
参考资料来源:百度百科—区块链
参考资料来源:中华人民共和国国家监察委员会—何为区块链?
参考技术B 区块链的出现是一种社会新潮,许多企业也在做区块链技术,但如果想进入区块链这一领域,我们首先需要根据自身的知识结构和资源整合能力来考虑切入点。首先掌握编程语言;
然后是掌握算法设计;
再掌握某一区块链的开源产品。
编程语言的选择还是比较多的,目前采用Java语言比较常见,很多开源框架也是基于Java语言实现的。算法基础对于从事区块链开发是比较重要的,因为区块链技术本身就是以算法为基础来实现的,所以从事区块链开发对于数学的要求还是相对比较高的。
前言-如何学习区块链
区块链未来3到5年应该会出现行业井喷式发展,相应所需的人才必定水涨船高,每一个开发人员都不应该错过这样的机会。区块链涉及的技术很多,很多开发人员看了一些资料后,感觉好像懂了,又好像没懂。
如何系统的学习区块链技术,是很多想从事区块链开发的程序员的问题,我们来一起讨论下,希望可以帮助更多的人掌握区块链开发技术。
确定方向
从事区块链开发也有很多方向,如:区块链应用开发人员、区块链架构师、底层核心开发、共识算法研究等等。
方向不同,需要学习的内容就不一样,如果做基于区块链应用开发,只需要了解一门编程语言(nodejs, Go, Python, C++ 等), 大概了解区块链的原理,不一定要深入,当能理解越深入开发应用就越顺。
如果做区块链基础开发,就需要了解加密算法,P2P通信,共识算法等等。
投入时间学习-动手实践
由于区块链涉及的技术很多,可以相对各个技术有一个概念了解,再逐步深入原理。
当你在学习了解概念的时候,必定会产生很多疑问, 例如我们经常可以看到一句: 比特币的共识机制是通过工作量证明(POW)来实现的。
就有了新疑问:什么是工作量证明,进一步了解,它是通过验证的一个特定结果,就能确认参与者完成了相应的工作量(不理解没关系,可以简单为,张三考试考了100分,就确认张三肯定好好学习了)。
这时又有了新的疑问,比特币在验证什么样的结果,这时你又需要了解密码学和Hash。
逐步深入的过程也是解答疑问的过程,需要我们善用Google搜索。
如果觉得已进理解一个概念或原理时,可以尝试动手实现它,如在理解挖矿后,可以写代码模拟挖矿过程。
学习是一个长期的过期,没有捷径,必须得多读书,读代码,写代码。
学习资源介绍
下面是一些学习资源的介绍,相信对大家有帮助
- 比特币:一种点对点的电子现金系统-英文
- 比特币:一种点对点的电子现金系统-中文
- 以太坊白皮书-英文
- 以太坊白皮书-中文
- 区块链技术指南-电子书
- 比特币 - 官网
- 以太坊 - github
- 超级账本Hyperledger
- ETHFANS - 社区
- 深入浅出区块链
以上是关于如何系统学习区块链技术?的主要内容,如果未能解决你的问题,请参考以下文章