# 区块链理论基础
- 货币及货币发展
- 分布式账本
- 中心化和去中心化
- hash 函数解决问题
- 退货膨胀和比特币
比特币不是一种货币,他是一个分布式的总账系统,电子总账在每个参与者电脑上备份,实时的同步和对账
总账记录这一定数量的比特币从一个参与者到另一个参与者的过程,每次记录都会广播到网络
比特币本身没有价值,比特币的价值在于,第一个通过去中心化的分布式信任系统实现了价值转移
# hash 函数
Hash 函数可以提取数据的特征 Hash 函数可以正向操作,不能逆向
- SHA1 => 生成长度 40
- SHA224 => 生成长度 56
- SHA256 => 生成长度 64 16 进制 0011 Math.pow(2,4)
- SHA384 => 生成长度 96
- SHA512 => 生成长度 128 2^512 可能
- MD5 => 生成长度 32 【安全性低】
- 枚举 尝试某一个可能的哈希
# 钱包创建
- 无需网络
- 无需服务商
- 无需电脑(算盘)
# 分布式系统和一致性
# 拜占庭
拜占庭将军问题:如何保持数据的一致性
高考工作量的证明 学士->硕士->博士->壮士->圣斗士
一个链表
信息篡改
比特币采用了类似的方式,他降低了信息传递的速率,增加了成为领导的难度,通过区块链的短暂分叉,完美的解决了拜占庭将军的问题
比特币通过 p2p 技术实现账本的同步拷贝
比特币通过增加发送信息的成本(pow)来增加信息传播的成本,降低信息传递的速率
比特币通过区块链的长度来判断数据的可信度
交易中 6 个有效区块认为转账成功。所以比特币的交易确认需要 1 小时
Pow 通过 sha256 哈希来完成
工作证明的获取需要很长时间,但是验证只需要很短时间
比特币的 Pow 算法导致大家通过矿池来挖矿,矿池算力垄断。有潜在的中心化风险
矿池挖矿只是在抢夺记账权,获得比特币,消耗大量电力,并无实际价值
# 比特币的价值
- 价值转移
- 区块链可以让
# IPO 和 ICO 和 DAICO
# IPO 和 ICO
# IPO(Initial Public Offerings)英文翻译是首次公开发行
- 什么叫发行:增发股票就是发行
- 换句话说就是让新的,更多的投资者把钱投资到公司里来
- 同时给这些投资者一些公司股份
- 允许他们以后参加企业的分红
# ICO(Initial Coin Offerings)英文翻译就是首次货币发行
- ICO-> 企业先发布一个白皮书,白皮书就是说明:我们打算干一件什么事,现在没钱,大家来买代金券
# ethereum 就是 ICO 成功的例子
# 分布式系统核心问题
区块链就是一个大的分布式系统 BTC 侧链 散变网络
- 一致性问题
- 人民代表大会制度
- 提案 proposal
- 共识协议
- FLP 不可能原理:在异步通信场景中,没有任何算法能保证到达一致性
- 科学上不可能的事 在工程学可以变成现实
- 所有的优化,不就是在优化时间,就是在优化空间
- 常见共识协议原理
- CAP 原理
- 一致性 Consistency
- 可用性 availability
- 分区容忍性 partition
- ACID 原则
- 原子性 Atomicity
- 一致性 Consistency
- 独立性 Isolation
- 持久性 Durability
- CAP 原理
- 分布式系统的可靠性
- 常见的共识算法
- Paxos
- Raft 基于 Paxos 的简易实践
- 阿里云承诺可以性 9 个 9
- 常见的共识算法
# 区块链学习技术栈和路线图
区块链技术是一种思想,用任何语言都可以实现