Solidity智能合约开发技术与实战PPT完整全套教学课件.pptx
;第1章区块链技术基础;知识要点;1.1 从比特币说起;1.1.1 比特币的发展历史;中本聪对比特币网络的工作原理做了如下的描述;区块链的示意图;创世区块(Genesis Block);比特币最大的特色;比特币的价值;一百万亿津巴布韦元纸币;2013年11月;比特币的历史上,也经历过一些黑暗时刻;越来越多的国家和企业接受、认可比特币;1.1.2 什么是比特币系统;1.去中心化;去中心化系统;中心化系统还有一个弊端;2.比特币的账本;在比特币系统中,区块链的结构;比特币区块的结构;比特币区块中各部分的具体说明;包含4个交易的比特币区块的结构;区块头的结构;MD5;一组对数据进行MD5处理的结果;一个重要的字段,即“区块中交易的Merkle树根的哈希值”;交易的Merkle树根;在比特币系统中,使用Merkle树保存交易数据;1.1.3 共识算法和比特币的挖矿;1.拜占庭将军问题与共识算法;拜占庭容错算法BFT(Byzantine Fault Tolerance);拜占庭容错算法描述;拜占庭将军问题的共识流程;流程图中有5条水平线;共识流程的执行过程;2.比特币的挖矿;这个过程就是比特币的挖矿;同样存在2个问题;第一个问题与比特币的发行机制有关;工作量证明(PoW,Proof of Work);表示运算过程的公式;比特币挖矿的流程;节点在算出正确答案后,会立即广播打包的区块。收到被打包的区块后,网络中的节点会按如下步骤进行处理;3.挖矿的难度目标确定和难度调整;新难度值 = 旧难度值 * ( 过去2016个区块花费时长 / 20160 分钟 );4.挖矿形式的演变;GPU矿机;ASIC矿机;架设了大量矿机的矿场;矿池;1.1.4 双花问题;付宝是怎么解决双花问题的;整个网购过程如下;1.UTXO;一个用户的比特币以UTXO的形式分散在若干个区块中;如果小明要支付1个比特币给小强,则整个过程如下;2.时间戳;3.分叉;比特币区块链的分叉;1.1.5 区块链技术赋予比特币价值;1.传统互联网为什么不能承载价值;2.比特币为什么可以承载价值;(1)稀有性;;(2)稳定性(安全性);(3)群众基础;(4)谁为比特币背书;1.2 区块链的工作原理及底层技术;1.2.1 分布式系统的概念;6.使用WinSCP工具实现向CentOS服务器上传文件的功能;1.2.2 区块链的架构设计;1.存储层;2.网络层;3.扩展层;4.应用层;1.2.3 ???密算法;1.对称加密算法;;2.非对称加密算法;非对称加密算法包括下面两种应用方法;;非对称加密算法的应用方法;3.国密算法;国密算法的基本情况如下;1.2.4 区块链的分类;1.公有链;2.私有链;3.联盟链;1.2.5 区块链为什么会成为国家战略;1.区块链技术可以撼动美元的垄断地位;通过SWIFT实现跨境支付的流程;如果没有SWIFT,那么各国银行间的跨境支付将会非常繁琐;区块链成为撼动美元霸权地位的底层基础技术;2.区块链可以建立全新的社会信用体系;1.2.6 区块链技术的发展历程;1.2.7 智能合约;4个主要要素;1.2.8 区块链的编程语言;;第2章 以太坊和智能合约;知识要点;2.1 以太坊的发展历史与特色;2.1.1 以太坊的诞生和发展;1.以太坊的诞生;2.以太坊的4个发展阶段;3.DeFi;目前比较流行的DeFi应用包括;4.以太坊和Solidity语言在国际、国内的发展和应用情况;以太坊在国际上得到广泛的应用,在国内的应用并不火热;在国内Solidity语言的主要应用场景;2.1.2 以太坊与比特币系统的对比;2.2 以太坊的工作原理;2.2.1 以太坊节点;以太坊客户端软件;保存以太坊网络的区块数据;2.2.2 以太坊的状态机;1.什么是状态机;涉及状态机的4个概念;2.以太坊状态机;在以太坊状态机中,前面提到的4个概念具体体现如下;2.2.3 以太坊网络的总体架构;(1)存储层,实现以太坊数据的存储;区块;特性;(2)网络层;除HTTP外,其他几个网络协议简要说明如下:;RPC调用的过程;(3)合约层;EVM;EVM字节码;EVM和智能合约的关系;(4)应用层;2.2.4 DApp;1.Swarm;2.Whisper;3.MetaMask;4.DAI;5.CryptoKitties;6.SelfKey;7.Status;8.Gitcoin;9.The DAO;2.2.5 DApp浏览器;1.DApp浏览器的工作原理;DApp浏览器的底层框架;2.常用DApp浏览器;2.2.6 以太坊的数据结构与存储方式;以太坊的数据结构和存储方式;1.状态数据;;2.区块链;区块头由如下字段组成;;;;2.2.7 以太坊的分叉;DAO;