第一篇 区块链技术
(一)理解区块链
利用对等网络和密码技术实现的密码货币系统,交易账单不可逆,不可伪造,不可否认,可验证。
(二)区块链进化史
BlockChain1.0:区块链以数字货币的方式呈现, 为数字化支付、转账、汇款打开新方向,最有名的就是比特币。
BlockChain2.0:区块链进入可编程应用,并延伸 至股票、债券、贷款等资产类型,同时发展出自 治组织和智能合约,最知名的带头者是以太坊, 在这个阶段已经受到金融业相当的重视。
BlockChain3.0:区块链现正迈向更复杂的智能合约、超级帐本。未来,可记录任何能以代码形式 表达出来的事物,应用范围扩展到政府、医疗、 科学、艺术等。
(三)学术界的区块链:
区块链:性能、安全、去中心化、隐私、效率
(四)区块链技术谱系:
1-密码技术
哈希函数在区块链中的应用
-
Hash碰撞-挖矿,就是找出一个nonce(幸运值),小于目标target。区块难度的设置,区块的哈希值必须小于给定的目标哈希值,表示挖矿成功。
-
以太坊用户地址的生成(生成私钥、生成公钥)
-
Merkle tree
非对称加密
1976年由Diffie,Hellman提出,被称为公钥密码体系
数字签名
交易的验证目的有两个:1、输入的UTXO确实是付款人的。2、交易信息没有被篡改过。
零知识
2-共识机制
共识机制的职责就是维护整个区块链账本的一致性:
设计公平的挑选机制,选择某个网络节点(或一群)负责写入数据,以避免区块链账本的数据混乱; 设计可靠的验证机制,使得同步数据的时候,可以判断数据的真伪。
分布式共识
分布式节点在某个全局状态达成一致——去中心化的分布式共识
区块链类型与共识协议
私链——Raft:谁快谁当选leader
联盟链——PBFT:有一个节点会被当做主节点,而其他节点都是备份节点
公链——PoW:算力;PoS:一个账户的余额越多,就越容易发现下一个区块
共识安全
双花问题(重复支付),防御:由于硬件设备昂贵,抵御很大程度上取决于其他区块奖励。
51%攻击
3-智能合约
智能合约的创建
智能合约的调用
4-去中心化应用DApp
5-数据存储
比特币:存储系统由普通文件和KV数据库 (levelDB)组成。普通文件用于存储区块链数据,KV数据库用于存储区块链元数据
以太坊:区块主要由区块头和交易组成,区块在 存储的过程中分别将区块头和交易体经过RIP编 码后存入至KV数据当中
Fabric:存储系统和比特币一样,也是由普通的文件和KV的数据库(LevelDB/CouchDB)组成
6-分布式存储及网络
比特币P2P网络
比特币协议:去中心化的对等网络
公共交易总链——区块链
独立交易确认和货币发行的一套规则——共识机制
实现有效的区块链全球去中心化共识机制——工作量证明算法
7-代表性应用场景
百度超级链--金融、版权、司法(联盟节点)、政务(一链办理,秒办秒批)、溯源(农作物采集的数据实时上链,数字化一站式消费生态)
蚂蚁链--金融、供应链(应收账款资产:全生命周期可靠上链且交易在链上完成)、发票、电子证照、处方流转(智能合约、医生远程开具电子处方,并流转至药房医师审核后,可完成药品配送到家,患者无需去医院即可完成购药)、善款追踪(全链路追踪、可视化公益项目成果反馈、保护公益项目参与者隐私)
第二篇 比特币及其原理
(一)比特币是什么
比特币P2P的去中心化特征与算法本身可以确保无法通过大量制造比特币来人为操控币值。
特点:全球流通、匿名性(只能查转账记录,查不到地址背后是谁)、去中心化、不可复制
比特币的总量是2100万枚,总量固定,永不增发;每隔十分钟全球产生一个新区块,每隔21万个区块就会BTC奖励减半,大约每四年减半一次。
(二)比特币如何运行
分布式账本
比特币交易:所有的交易记录都是公开的
公钥就是所谓的比特币地址,你拥有了别人的私钥=你拥有了别人的比特币
区块链(账簿链)——账簿——交易单
比特币系统的基本单位是UTXO(未经使用的一个交易输出)——再通过签名证明对该UTXO的使用权——比特币系统里没有比特币,只有UTXO,UTXO=比特币
(三)比特币的应用
第三篇 特币热点问题
(一)交易扩展性
交易网络的扩展性过低(交易速度慢、交易量小、交易费用高—不支持小额支付)
question 如何在更短的时间实现更多的交易,增强区块链的可扩展性。
链上扩容
增加区块容量
隔离见证
隔离出签名信息后,区块能够打包的交易量提高
链下扩容
闪电网络
侧链
(二)比特币安全性
51%算力攻击
重放攻击
量子计算威胁
(三)比特币的监管与追踪
通过钱包地址查询钱包现金的流入和流出,并可向上追溯至这些比特币的终极起源
第四篇 以太坊基础
(一)以太坊设计思路与特色技术
2013年诞生
和比特币的相同点
P2P网络、区块、交易、共识
和比特币的异同点:
(二)去中心化应用DApp
(三)以太坊架构与关键元素
(四)以太坊交易
第五篇 智能合约基础
(一)智能合约
(二)Solidity语言
第六篇 去中心化应用开发
(一)三个重要的工具
(二)基于Remix开发环境
(三)DApp案例
(四)智能合约安全
第七篇 以太坊热点问题
(一)以太坊代币
第八篇 超级账本基础—联盟链技术
(一)联盟链技术
(二)超级账本
quk
第九篇 联盟链共识机制及智能合约
¥