- 区块链分类:
- 公有链:真正意义上的去中心化分布式区块链,任何一个节点都可以随时加入/退出网络中
- 私有链:部分中心化的区块链【例如:租房的中介信息不对称】美国的区块链房地产联盟
部分中心化的区块链,具有一定的分布式特点,但是有一个中心节点,可以指定参与者。
c. 联盟链:部分去中心化的区块链,拥有权限控制的功能
1. 代表:超级账本Fabric
- 区块链架构特点
- 去中心化:基于分布式系统,整个网络中没有中心机构存在
- 可靠数据库:分布式存储,参与系统的节点越多,数据库的安全性就越高
- 开源可编程:区块链提供了灵活的脚本系统甚至于完善的开发平台,支持用户创建更加高级的应用
- 集体维护:区块链中的数据,由整个系统中所有具有记账功能的节点进行维护
- 安全可信:通过现代密码学实现
- 准匿名性:采用与身份信息无关的哈希作为哈希地址与交易ID
11.典型应用分析
1 . 比特币
a. 问题2100w, 永不增发
b. 挖矿奖励,逐年减半
2 . 架构
a. 前端
i. 钱包:保存用户私钥,管理用户余额,提供比特币交易(支持、转账)
ii. 钱包分类
1)决定性钱包:所有的私钥都由一个私钥种子通过单向哈希算法生成。
— 普通决定性钱包:由私钥种子一次性生成所有私钥
— 层级决定性钱包:由私钥种子生成父私钥,父私钥生成子私钥
2)非决定性钱包:直接保存私钥,私钥直接放在DB上面
DB不单指数据库
iii. 展示方式的分类
1)桌面钱包:
—厚钱包:下载整条区块链,可以完整交易,安全性高,验证成本高
—薄钱包:不会下载整条区块链,采用部分存储+节点请求验证的方式
—离线钱包: USB设备,纸钱包,可以有效防范网络攻击
2)HTTP/JSON RPC API
比特币提供的接口,可以使外部通过该接口访问或者控制比特币节点
3) 命令行接口
通过命令行方式实现类似钱包的功能
4)浏览器
访问区块链的区块数据等信息
b.节点后台:负责参数比特币网络的通信,区块链维护、验证、交易。。。
c. 比特币地址:
1.基本概念:由哈希生成
2.生成过程:
1)随机数生成私钥
2)采用Secp256k1椭圆加密算法生成公钥
3.生成地址:
1)以公钥作为输入,进行SHA256,再进行RIPEMD160,最后通过base58编码生成比特币地址
4.比特币区块校验:确保确实完成了工作量证明。
5.比特币交易