about云开发

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 9671|回复: 4

[学习线路] 区块链零基础学习线路:从认知到开发

[复制链接]
发表于 2018-5-27 18:09:00 | 显示全部楼层 |阅读模式
问题导读

1.你对区块链了解多少?
2.区块链与大数据、云计算是什么关系?
3.区块链原理是什么?
4.区块链该如何学习?
5.区块链有哪些应用?
6.区块链与我们普通开发有什么区别和相同之处?




1.png
1.区块链与比特币的关系
区块链想学习,相信或多或少都听说过。那么区块链是什么?是否等同于比特币?这是我们刚开始了解区块链,可能产生的困惑。即使你不是IT行业,相信也知道比特币,那么在网络上看到那么多的区块链,又是什么鬼?
比特币:是其中一种最火、最为人熟知的区块链的一种应用
区块链是一种技术,基于区块链的技术,可以有很多应用
也就是说,通过区块链技术可以实现比特币。那么同样它也开始有其它应用。比如现在的以太坊,以及超级账本Hyperledgar。

上面我们解除了比特币与区块链之间的混淆。

2.大数据、云计算与区块链之间的关系
在我们弄清楚上面问题之后,如果我们接触了大数据,可能还会有一些问题?区块链与大数据之间是什么关系?总结如下

 1、区块链使大数据极大降低信用成本

  我们未来的信用资源从何而来?其实中国正迅速发展的互联网金融行业已经告诉了我们,信用资源会很大程度上来自大数据。

  通过大数据挖掘建立每个人的信用资源是很容易的事,但是现实并没有如此乐观。关键问题就在于现在的大数据并没有基于区块链存在,这些大的互联网公司几乎都是各自垄断,导致了数据路孤岛现场。

  在经济全球化、数据全球化的时代,如果大数据仅仅掌握在互联网公司的话,全球的市场信用体系建立是并不能去中心化的,如果使用区块链技术让数据文件加密,直接在区块链上做交易,那么我们的交易数据将来可以完全存储在区块链上,成为我们个人的信用紫云,所有的大数据将成为每个人产权清晰的信用资源,这也是未来全球信用体系构建的基础。


  2、区块链是构建大数据时代的信任基石

  区块链因其“去信任化、不可篡改”的特性,可以极大的降低信用成本,实现大数据的安全存储。将数据放在区块链上,可以解放出更多数据,使数据可以真正“流通”起来。基于区块链技术的数据库应用平台,不仅可以保障数据的真实、安全、可信,如果数据遭到破坏,也可以通过区块链技术的数据库应用平台灾备中间件进行迅速恢复。


  3、区块链是促进大数据价值流通的管道

  “流通”使得大数据发挥出更大的价值,类似资产交易管理系统的区块链应用,可以将大数据作为数字资产进行流通,实现大数据在更加广泛的领域应用及变现,充分发挥大数据的经济价值。



上面无论是区块链,还是它们之间的关系,你觉得还是比较抽象,那么我们接着往下看。

区块链,到底是什么呢?


一幅漫画让你秒懂
区块链技术是指一种全民参与记账的方式。所有的系统背后都有一个数据库,你可以把数据库看成是就是一个大账本。目前是各自记各自的账。

更多内容参考:彻底明白到底什么是区块链,与大数据,云计算的关系是什么
http://www.aboutyun.com/forum.php?mod=viewthread&tid=23974

上面你是否懂得了区块链以及与其大数据,云计算的区别了。

那么我们就需要深入了解下:

  • 区块链到底有没有价值?
  • 区块链的本质是什么?
  • 区块链包含哪些内容?
  • 区块链包含哪些概念?
  • 区块链有哪些应用?
  • 区块链该如何实现?
  • 区块链可以应用于哪些行业?
上面一堆的问题,等待我们去解决。继续阅读下面内容,解决了这些问题。

3.区块链价值
也就是我们用区块链来干什么?就以我们当前使用的支付宝系统作为对比。我们平常的交易如下


上面我们看到,我们的交易是通过第三方机构,支付宝。也就是我们的交易支付宝都是被记录的。我们不想通过支付宝,直接交易是否可以。在没有区块链之前,两个人交易是存在很大风险的。比如赖账怎么办?如果通过支付宝,那肯定是有记录的。但是支付宝,也存在一个风险,支付宝服务器坏掉了,那么记录就全没了。虽然这种情况不可能出现。但是如果使用区块链,比如比特币,是全球性的,而且如果你篡改记录,需要修改51%的机器,这样几乎是不可能的。如果是区块链交易如下图



其实在从一个方面来讲,如果只有区块链,支付宝、银行等其实是可以不能存在的。这些机构就已经成为了冗余。虽然实际中可能不完全这样,但是理论上这些都是可以省去的。

上面只是区块链的一个应用,区块链的应用是非常广泛的,比如区块链已经可以用来保存党员信息,用于医疗记录等,这些都是非常有价值的。
更多参考
认识区块链:到底有没有价值
http://www.aboutyun.com/forum.php?mod=viewthread&tid=24399

区块链其实还有很多的价值,应用于物联网、身份管理、供应链、金融服务、医疗保健、保险、政府等等。更多参考
区块链有哪些应用场景
http://www.aboutyun.com/forum.php?mod=viewthread&tid=24109

通过上面,或许你已经看到了区块链还是有点用的。但是对区块链认识还是有些模糊的,比如
  • 金融领域为什么要使用区块链技术?有什么实质性的好处?
  • 所有的区块链都需要挖矿吗?
  • 区块链是软件吗?是用什么程序写的?
  • 什么是公有链?什么是私有链?什么是联盟链?

等等,更多参考下面文章
你想知道区块链问题总结
http://www.aboutyun.com/forum.php?mod=viewthread&tid=24513


4.该如何学习
那么接着你可能想已经认识了区块链,或则想接下来改如何学习,该如何从整体了解区块链开发。推荐下面三篇文章

如何学习
当我们学习一门知识的时候,经常会不知道该如何下手。该如何入门区块链,该如何操作。下面文章交给你了,不止入门区块链可以这么做,入门其它技术也是可以借鉴的。更多参考下文
新手该如何学习区块链的
http://www.aboutyun.com/forum.php?mod=viewthread&tid=24207



5.区块链常识
我们知道了如何学习,下面我们正式进入区块链的一些概念、常识。比如该如何理解区块链,区块链有哪些分类,区块链的特征
什么是区块链?

区块链定义方式很多:
比如
1.区块链是一个分布式数据库
2.区块链是一块一块的数据,一个一个的数据块。将具体的数据打包在一个区块里。

3.区块链,是实现了数据公开、透明、可追溯的产品的架构设计方法。
4.区块链是由一连串使用密码学方法产生的数据块组成的分布式账簿系统,每个数据块都包含大量的交易信息,用于验证其信息的有效性并生成下一个区块.

哪些分类:
公有链,私有链,联盟链,甚至还有侧链。等更多参考:


相关概念推荐
从技术角度和应用角度思考区块链
http://www.aboutyun.com/forum.php?mod=viewthread&tid=24321


区块链包含术语概念【27术语整理汇总】
http://www.aboutyun.com/forum.php?mod=viewthread&tid=24152


区块链哈希SHA256介绍包括如何计算的
http://www.aboutyun.com/forum.php?mod=viewthread&tid=24105


区块链概念1:Hash 算法
http://www.aboutyun.com/forum.php?mod=viewthread&tid=24082


区块链有哪些分类及哪些适合场景
http://www.aboutyun.com/forum.php?mod=viewthread&tid=24067


通过上面你可能对区块链有了一些感性的认识。明白哦区块链是这样的。

我们当前都是停留于对于区块链的认识,理论方面的知识,接着我们来看看区块链机制。

6.区块链机制

区块链产业链主要包括基础网络层、中间协议层及应用服务层。





1)   基础网络层

基础网络层由数据层、网络层组成,其中数据层包括了底层数据区块以及相关的数据加密和时间戳等技术;网络层则包括分布式组网机制、数据传播机制和数据验证机制等。

2)   中间协议层

中间协议层由共识层、激励层、合约层组成,其中共识层主要包括网络节点的各类共识算法;激励层将经济因素集成到区块链技术体系中来,主要包括经济激励的发行机制和分配机制等;合约层主要包括各类脚本、算法和智能合约,是区块链可编程特性的基础。

3)   应用服务层

应用服务层作为区块链产业链中最重要的环节,则包括区块链的各种应用场景和案例,包括可编程货币、可编程金融和可编程社会。

当然还有其它层,这里主要介绍三层
区块链技术:指多个参与方之间基于现代密码学、分布式一致性协议、点对点网络通信技术和智能合约编程语言等形成的数据交换、处理和存储的技术组合。




更多参考:
区块链系统入门【推荐】
http://www.aboutyun.com/forum.php?mod=viewthread&tid=24512
更多相关内容推荐:
Fabric架构深度解读:从技术方面解决区块链信任问题
http://www.aboutyun.com/forum.php?mod=viewthread&tid=24300


从架构师角度解读区块链技术?
http://www.aboutyun.com/forum.php?mod=viewthread&tid=24229


区块链不可篡改性详解
http://www.aboutyun.com/forum.php?mod=viewthread&tid=24088


区块链架构设计|语言实现等介绍
http://www.aboutyun.com/forum.php?mod=viewthread&tid=24024




7.区块链开发

了解了那么多我们该如何开发区块链。区块链开发平台有三个:
1.比特币
2.以太坊
3.IBM HyperLedger
上面三个平台似乎,以太坊更多一些。当然三个都是可以选择的,看你想做什么。

目前区块链分为区块链1.0,区块链2.0,区块链3.0

1.区块链1.0:数字货币
2.区块链2.0:以太坊
3.区块链3.0:智能社会


区块链3.0
区块链3.0是价值互联网的内核。区块链能够对于每一个互联网中代表价值的信息和字节进行产权确认、计量和存储,从而实现资产在区块链上可被追踪、控制和交易 。
价值互联网的核心是由区块链构造一个全球性的分布式记账系统,它不仅仅能够记录金融业的交易,而是几乎可以记录任何有价值的能以代码形式进行表达的事物:对共享汽车的使用权、信号灯的状态、出生和死亡证明、结婚证、教育程度、财务账目、医疗过程、保险理赔、投票、能源。
因此,随着区块链技术的发展,其应用能够扩展到任何有需求的领域,包括审计公证、医疗、投票、物流等领域,进而到整个社会。


目前我们还处于第二阶段。所以区块链可能还有段路需要走。但是这并不耽误我们开发。

开发入门的详细更多参考:
彻底搞懂区块链开发入门
http://www.aboutyun.com/forum.php?mod=viewthread&tid=24239

技术汇总
我们知道了开发平台,那么区块链有哪些开发技术,有没有统计区块链都是使用哪些技术,答案是有的,看下文。介绍了整个技术大全?什么是技术大全,这些技术你可能用不到,但是他可以用来开发区块链。区块链就好比一个项目,实现的语言有多种。如同我们开发,会Java可以开发,会Python可以开发,但是你无需Java和Python都学习,当然你都学习了也是可以的。这里面介绍了区块链的技术比如共识算法、密码学、Ethereum智能合约开发等。
里面包含了5大部分:
1.编程基础

2.区块链基础

3.区块链进阶

4.区块链高级

5.区块链实战


区块链工程师学习大纲【线路指导】
http://www.aboutyun.com/forum.php?mod=viewthread&tid=24168


区块链开发go语言
上面介绍了技术汇总,这里重点介绍下区块链开发语言go语言,为啥重点介绍它那?go语言由于并发能力比较好,最好使用go来实现区块链。那么区块链该如何学习,下面详细介绍了。而且包括书籍,视频等。
区块链开发语言之go语言学习线路指导
http://www.aboutyun.com/forum.php?mod=viewthread&tid=24344


开发环境搭建
上面学习了那么多,可是没有实践还是为0,我们需要切实的实践。
这里主要以以太坊的环境搭建:
以太坊有许多不同语言的客户端实现(即多种与以太坊网络交互的方法),包括C++, Go, Python, Java, Haskell等等。为什么需要这么多实现?不同的实现能满足不同的需求(例如Haskell实现的目标是可以被数学验证),能使以太坊更加安全,能丰富整个生态系统。                                  我使用的是Go语言实现的客户端geth,该客户端也是官方推荐使用的客户端,稳定性较好,并且资料相对较多。
安装命令:
打开终端窗口,依次输入以下命令:
1.png

安装测试:
安装完成后在终端输入:
[Bash shell] 纯文本查看 复制代码
geth -help

如果显示出各种参数提示信息,则说明安装成功。
更多参考


链接: https://pan.baidu.com/s/1MumCfAJQU642l3VPuLhjvg 密码: 9qz1
更多资料大家可搜索

代码实现


我们会搭建环境,想了解更多的代码实现,可参考下面内容
一个简单的区块链代码实现讲解及下载
http://www.aboutyun.com/forum.php?mod=viewthread&tid=24016


手把手叫你用Python创建区块链包括链流程,代码实现等
http://www.aboutyun.com/forum.php?mod=viewthread&tid=24001

基于Docker容器百行代码实现自己的分布式区块链【python版】
http://www.aboutyun.com/forum.php?mod=viewthread&tid=24347


8.区块链技术应用

我们对开发有了一定了解和实践之后,我们可以进一步了解区块链可以用来做哪些项目。比如可以用来构建电商平台。那么用区块链该如何实现电商平台。它有哪些功能。比如我们需要在项目中考虑实现主要功能:



  • 商品上架:应用应该支持卖家上架商品进行销售。我们将实现让任何人自由上架商品的功能。
  • 商品浏览与搜索:应用应该支持买家方便地浏览商品列表。我们会实现浏览商品的功能,以及 基于商品类别、拍卖时间等条件进行查询的功能。
  • 商品拍卖:跟eBay一样,我们会实现维科瑞拍卖方式的商品竞价销售。由于以太坊 上的一切交易都是公开的,因此我们的实现将会与中心化环境下有所不同。
  • 资金托管:一旦出价结束,商品拍卖有了赢家以后,我们会创建由胜出的买方、卖方和任意 第三方参与的托管合约,由托管合约来管理交易资金。
  • 托管资金保护:为了保护托管资金,我们将采用多重签名(2/3)来实现防欺诈保护,即三个参与者有两个同意时, 才会将托管资金释放给卖方,或是将托管资金返还给买方。

更多可参考下文
用区块链构建电商平台
http://www.aboutyun.com/forum.php?mod=viewthread&tid=24252

相关推荐
区块链详解及在教育行业的应用
http://www.aboutyun.com/forum.php?mod=viewthread&tid=23937

9.区块链产品

如果我们只是看文章,那怕是看了开发相关内容,其实还是不太明白区块链产品到底是什么样子的?
其实个人认为区块链与我们所接触的项目没有什么区别?主要是实现技术,比如在我们交易过程中,我们通过web转账,区块链外部操作方面没有什么区别,同样徐亚输入金额,需要输入转账给谁。也就是说技术和实现是有区别的,但是业务差别是不大的。


对区块链的认知,可以进入比特币官网
https://bitcoin.org/zh_CN/getting-started

下载钱包
1.png

选择钱包

2.png


选择Bitcoin Core,进行安装,然后同步,当然网络比较慢一些。

更多相关内容大家可查看下面视频
链接: https://pan.baidu.com/s/1LF7Pd1A9GurWTUbS0Hkyig 密码: e3w5

10.学习资料推荐
区块链项目开发指南【两本书籍经典推荐】
http://www.aboutyun.com/forum.php?mod=viewthread&tid=24293


区块链原理、设计与应用
http://www.aboutyun.com/forum.php?mod=viewthread&tid=24497


京东区块链技术实践白皮书下载【3月份最新】
http://www.aboutyun.com/forum.php?mod=viewthread&tid=24146


美国政府发布区块链医疗研究论文下载【15篇】
http://www.aboutyun.com/forum.php?mod=viewthread&tid=24053


解码区块链书籍【1215页】
http://www.aboutyun.com/forum.php?mod=viewthread&tid=23892


Go并发编程实战
http://www.aboutyun.com/forum.php?mod=viewthread&tid=20649


区块链技术指南
http://www.aboutyun.com/forum.php?mod=viewthread&tid=24519




如果你想学习更多区块链相关视频和资料,大家可关注公众号



回复888,获取5阶段区块链视频。部分内容如下:





如果你也是区块链爱好者,可以加微信w3aboutyun,进入about云技术讨论铁粉群。



13

主题

6

听众

0

收听

中级会员

Rank: 3Rank: 3

积分
548

最佳新人

发表于 2018-6-14 19:03:28 | 显示全部楼层
看了半天,还是有点稀里糊涂的。。。。。
 楼主| 发表于 2018-6-18 21:45:10 | 显示全部楼层
javaanddonet 发表于 2018-6-14 19:03
看了半天,还是有点稀里糊涂的。。。。。

多看几次,内容很多,这是用了几个月时间整理的。阅读的时候,最好有计划。一口气看完,肯定很多概念不懂。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

QQ|小黑屋|about云开发-学问论坛|社区 ( 京ICP备12023829号

GMT+8, 2018-10-20 12:18 , Processed in 0.391852 second(s), 34 queries , Gzip On.

Powered by Discuz! X3.2 Licensed

快速回复 返回顶部 返回列表