1. 当前互联网现状
- 带来⾼度便利:获取信息、社交互动、交易、娱乐…
- 依赖:让互联⽹⼤⼚掌控着绝⼤部分资源与服务,也控制着我们
- “割裂”体验:如:账号、跨境转账等
- 被“利⽤/挟持”:利⽤垄断滥⽤权⼒
-
- 暴⼒牟利、强迫⽤户、互通设障(如在微信分享阿里的链接会被屏蔽掉)、信息审查与控制、隐私泄露等。
- 问题根源:用户的数据不属于用户,用户对自己的数据没有控制权。
2. 区块链解决的问题
- 区块链技术利⽤密码学和去中⼼化⽹络搭建了⼀个公共技术平台
-
- 密码学:所有权控制
- 去中⼼化⽹络:节点相互验证(要求代码开源)、防⽌作恶
- 实现
-
- 从基于对⼈/组织的信任 -> 基于对 代码 的信任
2.1. 如何实现基于代码的信任
- 前提:代码开源
- 核⼼:去中⼼化
-
- 同⼀个代码(规则)在 N 个 不相关 节点上运⾏
- 节点独⽴⾏动:某个节点的数据修改不被其他节点认可
- 没有任何特权节点
2.2. 区块链技术的两个关键问题
- 无中心,如何确权?(利用非对称密码学,用个人私钥来控制资产)
- 如何让独⽴的个体达成⼀致的⾏动?(比特币)
-
- 独⽴:不依附他⼈决策
- 独⽴:与他们没有利益关系
3. 比特币
3.1. 概念
比特币是一个点对点的电子现金系统。
3.2. 比特币的核心
- 个⼈私钥控制资产(⾮对称密码学应⽤)
- 链式结构,防篡改、好验证(区块链名称来历)
- POW共识:谁先完成计算,谁获奖励
3.3. 资产所有权
- 银行、金融账户
-
- 账号 + 密码(只有⾃ ⼰知道)
- 银行后台系统核对
- ⽐特币
-
- 用私钥(只有⾃⼰知道)进行签名交易(⽤钱包管理)
- 任何⼈通过公钥公开校验
- 用数字签名来校验所用权
⾮对称加密与签名,原理类似,⽬的不⼀样:前者⽤于隐私、后者⽤于证明⾝份
3.4. 账本验证(链式结构)
在点对点的⽹络中,节点如何识别其他节点发过来的数据是正确的?
只要满⾜ hash 链式结构,则说明都是正确的数据,修改数据将⽆法满⾜ hash 链式结构。
Hash函数不可逆,不同的原始信息得到不同的Hash。同样的原始信息用同一个哈希函数总能得到相同的摘要信息。
如果同时有多条数据链都满足hash链式结构,那么该以哪个数据链为准?故而产生了POW(共识机制)。
3.5. POW(Proof Of Work)
- ⼯作量证明 - 增加记账( 写数据 ) 的难度
- 最快计算出密码学难题获得记账权(⼤概 10 分钟)
-
- 出块者有权给⾃⼰添加⼀笔奖励(也是 BTC 发⾏过程)【参与记账的原因】
- 所有⼈只认同最先延⻓的区块(最⻓链)
- POW(作恶分析)
-
- 链上唯⼀的作恶⽅式是双花(双重花费:在⼀段时间后, ⽤另⼀个交易替换原有的交易)
- 要实现双花,需要获得 连续 N 个块 的出块权。
- POW 与链式结构,让攻击或作恶,⼏乎没有空间,除⾮超过 51% 算⼒
- 共识问题
-
- 去中⼼化⽹络中的 节点协作与激励问题通常称为共识问题,解决共识问题的机制(⽅法)称为共识机制
- ⽐特币共识称为中本聪共识(或笼统称为 POW 共识)
3.6. 分叉
遇到两个节点同时计算出hash(如网络延迟等),就会产生分叉的问题。
此时链的长度相同,两个节点都是有效的,会等待下一个区块谁先计算出。计算出之后,#3458A这个区块就失效了,会被重组。
一个区块后面累计的区块越多,就越难被重组,也叫最终确定性。 如在交易所充值时会等待数个区块,就是在防止区块被重组。通常在比特币的网络里面,累积到6个区块,就不太可能被重组了。一些小的POW网络,可能会要求更长的区块。
4. 总结
- Web2 的便利也带来了: ⼤⼚垄断、挟持⽤户、隐私问题等。
- 区块链通过密码学让数据控制权回归⽤户、通过去中⼼化⽹络来防⽌组织的作恶。
- 共识机制 ⽤来协调去中⼼化⽹络中的节点运⾏。
- BTC 共识:谁先完成 POW 难度计算,谁获奖励,同时使⽤ Hash区块链式结构让验证简单。