Skip to content

Commit ca1c588

Browse files
committed
Update with latest progress
1 parent 5c9754c commit ca1c588

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

69 files changed

+1880
-1093
lines changed

README.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
# 区块链技术指南
2-
1.0.1
2+
1.1.0
33

44
区块链技术是金融科技(Fintech)领域的一项重要技术创新。
55

SUMMARY.md

+32-26
Original file line numberDiff line numberDiff line change
@@ -3,26 +3,28 @@
33
* [前言](README.md)
44
* [修订记录](revision.md)
55
* [如何贡献](contribute.md)
6-
* [区块链思想的诞生与概念](born/README.md)
7-
* [从数字货币说起](born/currency.md)
8-
* [比特币:前所未有的社会学实验](born/bitcoin.md)
9-
* [区块链核心概念](born/what.md)
10-
* [账本科技的演化](born/ledger_history.md)
11-
* [从区块链到分布式账本](born/blockchain_to_dlt.md)
12-
* [小结](born/summary.md)
13-
* [区块链技术的价值、挑战与展望](intro/README.md)
14-
* [商业价值](intro/business.md)
15-
* [关键技术和挑战](intro/tech.md)
6+
* [区块链的诞生](born/README.md)
7+
* [记账科技的千年演化](born/ledger_history.md)
8+
* [分布式记账与区块链](born/distributed_result.md)
9+
* [站在前人肩膀上的比特币](born/bitcoin.md)
10+
* [区块链的商业价值](born/business.md)
11+
* [本章小结](born/summary.md)
12+
* [核心技术概览](intro/README.md)
13+
* [定义与原理](intro/definition.md)
14+
* [技术的演化与分类](intro/dlt.md)
15+
* [关键问题和挑战](intro/challenge.md)
1616
* [趋势与展望](intro/vision.md)
17-
* [小结](intro/summary.md)
18-
* [ 典型应用场景](scenario/README.md)
19-
* [金融服务](scenario/trading.md)
17+
* [认识上的误区](intro/misunderstand.md)
18+
* [本章小结](intro/summary.md)
19+
* [典型应用场景](scenario/README.md)
20+
* [应用场景概览](scenario/overview.md)
21+
* [金融服务](scenario/finance.md)
2022
* [征信和权属管理](scenario/trust.md)
2123
* [资源共享](scenario/sharing.md)
22-
* [投资管理](scenario/capital.md)
23-
* [物联网与供应链](scenario/iot.md)
24+
* [贸易管理](scenario/trading.md)
25+
* [物联网](scenario/iot.md)
2426
* [其它场景](scenario/others.md)
25-
* [小结](scenario/summary.md)
27+
* [本章小结](scenario/summary.md)
2628
* [分布式系统核心问题](distribute_system/README.md)
2729
* [一致性问题](distribute_system/problem.md)
2830
* [共识算法](distribute_system/consensus.md)
@@ -43,22 +45,26 @@
4345
* [同态加密](crypto/homoencryption.md)
4446
* [其它问题](crypto/others.md)
4547
* [小结](crypto/summary.md)
46-
* [比特币项目 -- 思想诞生的摇篮](bitcoin/README.md)
47-
* [简介](bitcoin/introductin.md)
48+
* [比特币 —— 区块链思想诞生的摇篮](bitcoin/README.md)
49+
* [比特币项目简介](bitcoin/intro.md)
50+
* [实体货币到加密数字货币](bitcoin/currency.md)
4851
* [原理和设计](bitcoin/design.md)
4952
* [挖矿](bitcoin/mining.md)
50-
* [工具](bitcoin/tools.md)
5153
* [共识机制](bitcoin/consensus.md)
5254
* [闪电网络](bitcoin/lightning_network.md)
5355
* [侧链](bitcoin/sidechain.md)
54-
* [小结](bitcoin/summary.md)
55-
* [Ethereum(以太坊)-- 技术落地的实验](ethereum/README.md)
56-
* [简介](ethereum/intro.md)
57-
* [安装](ethereum/install.md)
56+
* [热点问题](bitcoin/other.md)
57+
* [相关工具](bitcoin/tools.md)
58+
* [本章小结](bitcoin/summary.md)
59+
* [以太坊 —— 挣脱数字货币的枷锁](ethereum/README.md)
60+
* [以太坊项目简介](ethereum/intro.md)
61+
* [核心概念](ethereum/concept.md)
62+
* [主要设计](ethereum/design.md)
5863
* [相关工具](ethereum/tools.md)
59-
* [协议设计](ethereum/design.md)
60-
* [智能合约示例一](ethereum/smartContract_example01.md)
61-
* [小结](ethereum/summary.md)
64+
* [安装客户端](ethereum/install.md)
65+
* [使用智能合约](ethereum/smart_contract.md)
66+
* [智能合约案例:投票](ethereum/contract_example.md)
67+
* [本章小结](ethereum/summary.md)
6268
* [Hyperledger(超级账本)-- 商用分布式账本](hyperledger/README.md)
6369
* [诞生与发展](hyperledger/history.md)
6470
* [社区组织](hyperledger/community.md)

bitcoin/README.md

+9-4
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,12 @@
1-
# 比特币项目
1+
# 比特币 —— 区块链思想诞生的摇篮
22

3-
** 做设计,很多时候都是在权衡 trade-off。 **
3+
** 之所以看得更远,是因为站在了巨人的肩膀上。**
44

5-
比特币项目是区块链技术首个大规模的成功应用,并且是首个得到实践检验的数字货币实现,在金融学和信息技术历史上都具有十分重要的意义。
5+
作为区块链思想诞生的源头,比特币项目值得区块链技术爱好者们仔细研究。
6+
7+
比特币网络是首个得到大规模部署的区块链技术应用,并且是首个得到实践检验的数字货币实现,无论在信息技术历史还是在金融学历史上都具有十分重要的意义。比特币项目在诞生和发展过程中,借鉴了来自数字货币、密码学、博弈论、分布式系统、控制论等多个领域的技术成果,可谓博采众家之长于一身。
8+
9+
虽然后来的区块链技术应用已经远超越了数字货币的范畴,但探索比特币项目的发展历程和设计思路,对于深刻理解区块链技术的来龙去脉有着重要的价值。
10+
11+
本章将介绍比特币项目的来源、核心原理设计、相关的工具,以及关键的技术话题。
612

7-
本章将介绍其来源、原理设计和相关的工具和技术点等。

bitcoin/_images/bitcoin_logo.png

157 KB
Loading

bitcoin/_images/bitcoin_price.png

150 KB
Loading

bitcoin/_images/block_example.png

213 KB
Loading

bitcoin/_images/block_size.png

107 KB
Loading
File renamed without changes.
File renamed without changes.

bitcoin/_images/sidechain.png

153 KB
Loading
40.9 KB
Loading
251 KB
Loading

bitcoin/blockchain_price.png

-61.6 KB
Binary file not shown.

bitcoin/consensus.md

+19-16
Original file line numberDiff line numberDiff line change
@@ -1,35 +1,38 @@
11
## 共识机制
22

3-
比特币网络是公开的,因此共识协议的稳定性和防攻击性十分关键。
3+
比特币网络是完全公开的,任何人都可以匿名接入,因此共识协议的稳定性和防攻击性十分关键。
44

5-
比特币区块链采用了 Proof of Work(PoW)的机制来实现共识,该机制于 1998 年在 [B-money](http://www.weidai.com/bmoney.txt) 设计中提出。
5+
比特币区块链采用了 Proof of Work(PoW)的机制来实现共识,该机制最早于 1998 年在 [B-money](http://www.weidai.com/bmoney.txt) 设计中提出。
66

7-
目前,Proof of 系列中比较出名的一致性协议包括 PoW 和 PoS,都是通过经济惩罚来限制恶意参与。
7+
目前,Proof of X 系列中比较出名的一致性协议包括 PoW、PoSDPoS 等,都是通过经济惩罚来限制恶意参与。
88

9-
### PoW
9+
### 工作量证明
1010

11-
工作量证明,Proof of Work,通过计算来猜测一个数值(nonce),得以解决规定的 hash 问题(来源于 [hashcash]())。保证在一段时间内,系统中只能出现少数合法提案。
11+
工作量证明,通过计算来猜测一个数值(nonce),使得拼凑上交易数据后内容的 Hash 值满足规定的上限(来源于 hashcash)。由于 Hash 难题在目前计算模型下需要大量的计算,这就保证在一段时间内,系统中只能出现少数合法提案。反过来,能够提出合法提案,也证明提案者确实已经付出了一定的工作量
1212

13-
同时,这些少量的合法提案会在网络中进行广播,收到的用户进行验证后会基于它认为的最长链上继续难题的计算。因此,系统中可能出现链的分叉(Fork),但最终会有一条链成为最长的链。
13+
同时,这些少量的合法提案会在网络中进行广播,收到的用户进行验证后,会基于用户认为的最长链基础上继续难题的计算。因此,系统中可能出现链的分叉(Fork),但最终会有一条链成为最长的链。
1414

15-
hash 问题具有不可逆的特点,因此,目前除了暴力计算外,还没有有效的算法进行解决。反之,如果获得符合要求的 nonce,则说明在概率上是付出了对应的算力。谁的算力多,谁最先解决问题的概率就越大。当掌握超过全网一半算力时,从概率上就能控制网络中链的走向。这也是所谓 `51% 攻击` 的由来
15+
Hash 问题具有不可逆的特点,因此,目前除了暴力计算外,还没有有效的算法进行解决。反之,如果获得符合要求的 nonce,则说明在概率上是付出了对应的算力。谁的算力多,谁最先解决问题的概率就越大。当掌握超过全网一半算力时,从概率上就能控制网络中链的走向。这也是所谓 `51%` 攻击的由来
1616

17-
参与 PoW 计算比赛的人,将付出不小的经济成本(硬件、电力、维护等)。当没有成为首个算出的“幸运儿”时,这些成本都将被沉没掉。这也保障了,如果有人恶意破坏,需要付出大量的经济成本。也有设计试图将后算出结果者的算力按照一定比例折合进下一轮比赛考虑。
17+
参与 PoW 计算比赛的人,将付出不小的经济成本(硬件、电力、维护等)。当没有最终成为首个算出合法 nonce 值的“幸运儿”时,这些成本都将被沉没掉。这也保障了,如果有人尝试恶意破坏,需要付出大量的经济成本。也有设计试图将后算出结果者的算力按照一定比例折合进下一轮比赛考虑。
1818

19-
有一个很直观的例子可以说明为何这种经济博弈模式会确保系统中最长链的唯一
19+
有一个很直观的超市付款的例子,可以说明为何这种经济博弈模式会确保系统中最长链的唯一性
2020

21-
![PoW 保证一致性](pow.png)
21+
![Pow 保证一致性](_images/pow.png)
2222

23-
超市付款需要排成一队,可能有人不守规矩要插队。超市管理员会检查队伍,认为最长的一条队伍是合法的,并让不合法的分叉队伍重新排队。只要大部分人不傻,就会自觉在最长的队伍上排队
23+
假定超市只有一个出口,付款时需要排成一队,可能有人不守规矩要插队。超市管理员会检查队伍,认为最长的一条队伍是合法的,并让不合法的分叉队伍重新排队。新到来的人只要足够理智,就会自觉选择最长的队伍进行排队。这是因为,看到多条链的参与者往往认为目前越长的链具备越大的胜出可能性,从而更倾向于选择长的链
2424

25-
### PoS
25+
### 权益证明
2626

27-
权益证明Proof of Stake,2013 年被提出,最早在 [Peercoin]() 系统中被实现,类似现实生活中的股东机制,拥有股份越多的人越容易获取记账权。
27+
权益证明Proof of Stake,PoS),最早在 2013 年被提出,最早在 [Peercoin]() 系统中被实现,类似现实生活中的股东机制,拥有股份越多的人越容易获取记账权(同时越倾向于维护网络的正常工作)
2828

2929
典型的过程是通过保证金(代币、资产、名声等具备价值属性的物品即可)来对赌一个合法的块成为新的区块,收益为抵押资本的利息和交易服务费。提供证明的保证金(例如通过转账货币记录)越多,则获得记账权的概率就越大。合法记账者可以获得收益。
3030

31-
PoS 是试图解决在 PoW 中大量资源被浪费的缺点。恶意参与者将存在保证金被罚没的风险,即损失经济利益。
31+
PoS 试图解决在 PoW 中大量资源被浪费的缺点,受到了广泛关注。恶意参与者将存在保证金被罚没的风险,即损失经济利益。
3232

33-
一般的,对于 PoS 来说,需要掌握超过全网 $$\frac{1}{3}$$ 的资源,才有可能左右最终的结果。这个也很容易理解,三个人投票,前两人分别支持一方,这时候,第三方的投票将决定最终结果。
33+
一般的,对于 PoS 来说,需要掌握超过全网 1/3 的资源,才有可能左右最终的结果。这个也很容易理解,三个人投票,前两人分别支持一方,这时候,第三方的投票将决定最终结果。
34+
35+
PoS 也有一些改进的算法,包括授权股权证明机制(DPoS),即股东们投票选出一个董事会,董事会中成员才有权进行代理记账。这些算法在实践中得到了不错的验证,但是并没有理论上的证明。
36+
37+
2017 年 8 月,来自爱丁堡大学和康涅狄格大学的 Aggelos Kiayias 等学者在论文《Ouroboros: A Provably Secure Proof-of-Stake Blockchain Protocol》中提出了 Ouroboros 区块链共识协议,该协议可以达到诚实行为的近似纳什均衡,认为是首个可证实安全的 PoS 协议。
3438

35-
PoS 也有一些改进的算法,包括授权股权证明机制(DPOS),即股东们投票选出一个董事会,董事会中成员才有权进行代理记账。

bitcoin/currency.md

+64
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,64 @@
1+
## 实体货币到加密数字货币
2+
3+
区块链最初的思想,诞生于无数先哲对于用加密数字货币替代实体货币的探讨和设计中。
4+
5+
### 货币的历史演化
6+
众所周知,货币是人类文明发展过程中的一大发明。其最重要的职能包括价值尺度、流通手段、贮藏手段等。很难想象离开了货币,现代社会庞大而复杂的经济和金融体系如何保持运转。也正是因为它如此重要,货币的设计和发行机制是关系到国计民生的大事。
7+
8+
历史上,在自然和人为因素的干预下,货币的形态经历了多个阶段的演化,包括实物货币、金属货币、代用货币、信用货币、电子货币、数字货币等。近代以前相当长的一段时间里,货币的形态一直是以实体的形式存在,可统称为“实体货币”。计算机诞生后,为货币的虚拟化提供了可能性。
9+
10+
同时,货币自身的价值依托也不断发生演化,从最早的实物价值、发行方信用价值,直到今天的对科学技术和信息系统(包括算法、数学、密码学、软件等)的信任价值。
11+
12+
*注:中国最早关于货币的确切记载“夏后以玄币”,出现在恒宽《盐铁论·错币》。*
13+
14+
### 纸币的缺陷
15+
16+
理论上,一般等价物都可以作为货币使用。当今世界最常见的货币制度是纸币本位制,因为纸质货币既方便携带、不易仿制,又相对容易辩伪。
17+
18+
或许有人会认为信用卡等电子方式,相对于纸币等货币形式使用起来更为方便。确实,信用卡在某些场景下会更为便捷,但它依赖背后的集中式支付体系,一旦碰到支付系统故障、断网、缺乏支付终端等情况,信用卡就无法使用;另外,信用卡形式往往还需要额外的终端设备支持。
19+
20+
目前,无论是货币形式,还是信用卡形式,都需要额外的支持机构(例如银行)来完成生产、分发、管理等操作。“中心化”的结构带来了管理和监管上的便利,但系统安全性方面存在很大挑战。诸如伪造、信用卡诈骗、盗刷、转账等安全事件屡见不鲜。
21+
22+
很显然,如果能实现一种数字化的货币,保持既有货币方便易用的特性,同时消除纸质货币的缺陷,无疑将极大提高社会整体经济活动的运作效率。
23+
24+
让我们来对比现有的数字货币(以比特币为例)和现实生活中的纸币,两者的优劣如下表所示。
25+
26+
| 属性 | 分析 | 优势方 |
27+
| --- | --- | --- |
28+
| 便携 | 大部分场景(特别较大数额支付时)下数字货币将具备更好的便携性。 | 数字货币 |
29+
| 防伪 | 两者各有千秋,但数字货币整体上会略胜一筹。纸币依靠的是各种设计(纸张、油墨、暗纹、夹层等)上的精巧,数字货币依靠的则是密码学上的保障。事实上,纸币的伪造时有发生,但数字货币的伪造目前还无法实现。 | 数字货币 |
30+
| 辩伪 | 纸币即使依托验钞机等专用设备仍会有误判情况,数字货币依靠密码学易于校验。数字货币胜出。 | 数字货币 |
31+
| 匿名 | 通常情况下,两者都能提供很好的匿名性。但都无法防御有意的追踪。 | 持平 |
32+
| 交易 | 对纸币来说,谁物理持有纸币谁就是合法拥有者,交易通过纸币自身的转移即可完成,无法复制。对数字货币来说则复杂得多,因为任何数字物品都是可以被复制的,但数字形式也意味着转移成本会更低。总体看,两者适用不同的情景。 | 持平 |
33+
| 资源 | 通常情况下,纸币的生产成本要远低于面额。数字货币消耗资源的计算则复杂的多。以比特币为例,最坏情况下可能需要消耗接近甚至超过其面值的电能。 | 纸币 |
34+
| 发行 | 纸币的发行需要第三方机构的参与;数字货币则通过分布式算法来完成发行。在人类历史上,通胀和通缩往往是不合理地发行货币造成的;数字货币尚缺乏大规模验证,还有待观察。 | 持平 |
35+
| 管理 | 纸币发行和回收往往通过统一机构,易于监管和审计;而目前数字货币在这方面还缺乏足够支持和验证。 | 纸币 |
36+
37+
可见,数字货币并非在所有领域都优于已有的货币形式。要比较两者的优劣应该针对具体情况具体分析。不带前提地鼓吹数字货币并不是一种科学和严谨的态度。实际上,仔细观察数字货币的应用情况就会发现,虽然以比特币为代表的数字货币已在众多领域得到应用,但目前还没有任何一种数字货币能完全替代已有货币。
38+
39+
另外,虽然当前的数字货币“实验”已经取得了不小影响,但可见的局限也很明显:其依赖的区块链和分布式账本技术还缺乏大规模场景的考验;系统的性能和安全性还有待提升;资源的消耗过高;对监管和审计支持不足等。这些问题的解决,都有待金融科技的进一步发展。
40+
41+
*注:严格来讲,货币(money)不等于现金或通货(cash/currency),货币的含义范围更广。*
42+
43+
44+
### “去中心化”的技术难关
45+
46+
虽然数字货币带来的预期优势可能很美好,但要设计和实现一套能经得住实用考验的数字货币并非易事。
47+
48+
现实生活中常用的纸币具备良好的可转移性,可以相对容易地完成价值的交割。但是对于数字货币来说,因为数字化内容容易被复制,数字货币持有人可以试图将同一份货币发给多个接收者,这种攻击被称为“双重支付攻击(Double-spend Attack)”。
49+
50+
也许有人会想到,银行中的货币实际上也是数字化的,因为通过电子账号里面的数字记录了客户的资产。说的没错,这种电子货币模式有人称为“数字货币 1.0”,它实际上依赖了一个前提:假定存在一个安全可靠的第三方记账机构负责记账,这个机构负责所有的担保所有的环节,最终完成交易。
51+
52+
中心化控制下,数字货币的实现相对容易。但是,有些时候很难找到一个安全可靠的第三方机构,来充当这个记账者角色。
53+
54+
例如,发生贸易的两国可能缺乏足够的外汇储备用以支付;汇率的变化等导致双方对合同有不同意见;网络上的匿名双方进行直接买卖而不通过电子商务平台;交易的两个机构彼此互不信任,找不到双方都认可的第三方担保;使用第三方担保系统,但某些时候可能无法连接;第三方的系统可能会出现故障或被篡改攻击……
55+
56+
这个时候,就只有实现去中心化(De-centralized)或多中心化(Multi-centralized)的数字货币系统。在“去中心化”的场景下,实现数字货币存在如下几个难题:
57+
58+
* 货币的防伪:谁来负责对货币的真伪进行鉴定;
59+
* 货币的交易:如何确保货币从一方安全转移到另外一方;
60+
* 避免双重支付:如何避免同一份货币支付给多个接收者。
61+
62+
可见,在不存在第三方记账机构的情况下,实现一个数字货币系统的挑战着实不小。能否通过技术创新来解决这个难题呢?
63+
64+
比特币融合了数十年在金融、密码学和分布式系统领域的科技成果,首次实现了可以在全球范围内运行的大规模加密货币系统。

0 commit comments

Comments
 (0)