想要深入理解比特币,首先,不要把比特币当成一种货币,而是一个总账。它是个电子总账,网络上的每一个参与者的电脑都会有一份总账的备份,并且所有的备份都是在实时的持续的更新、对账、以及同步着。每一个参与者都能在这本总帐里记上一笔,这一笔记录着一定数量的币从一个参与者那里被发送到另一个参与者那里,并且每一条这样的记录都接着就实时的广播到网络了,所以在每一台电脑上的每一分份拷贝都是几乎同时更新的,并且所有的总账拷贝都保持着同步。这本公开的分布式的总账的官方叫法是“区块链(blockchain)”,并且它使用了BT技术以保证所有的拷贝都是同步的。
那么“拜占庭将军问题”是什么?又与区块链之间存在着怎样的联系?
起源:拜占庭位于现在土耳其的伊斯坦布尔,是东罗马帝国的首都。由于当时拜占庭罗马帝国国土辽阔,为了防御敌人每个军队都分隔很远,将军与将军之间只能靠信差传消息。在战争时期,拜占庭军队内所有将军和副官必须达成一致共识,决定是否有赢的机会才去攻打敌人的阵营。但是,军队可能有叛徒和敌军间谍,左右将军们的决定,扰乱军队整体的秩序。在达成共识的过程中,有些信息,往往并不代表大多数人的意见。这时候,在已知有成员谋反的情况下,其余忠诚的将军在不受叛徒的影响下如何达成一致的协议,就是“拜占庭将军问题”。
1982年
拜占庭将军问题
Leslie Lamport等人提出拜占庭将军问题(Byzantine Generals Problem),把军中各地军队彼此取得共识、决定是否出兵的过程,延伸至运算领域,设法建立具容错性的分散式系统,即使部分节点失效仍可确保系统正常运行,可让多个基于零信任基础的节点达成共识,并确保资讯传递的一致性,而2008年出现的比特币区块链便解决了此问题。
David Chaum提出密码学网路支付系统
David Chaum提出注重隐私安全的密码学网路支付系统,具有不可追踪的特性,成为之后比特币区块链在隐私安全面的雏形。
1985年
椭圆曲线密码学
Neal Koblitz和Victor Miller分别提出椭圆曲线密码学(Elliptic Curve Cryptography,ECC),首次将椭圆曲线用于密码学,建立公开金钥加密的演算法。相较于RSA演算法,采用ECC好处在于可用较短的金钥,达到相同的安全强度。
1990年
David Chaum基于先前理论打造出不可追踪的密码学网路支付系统,就是后来的eCash,不过eCash并非去中心化系统。
Leslie Lamport提出具高容错的一致性演算法Paxos。
1991年
使用时间戳确保数位文件安全
Stuart Haber与W. Scott Stornetta提出用时间戳确保数位文件安全的协议,此概念之后被比特币区块链系统所采用。
1992年
Scott Vanstone等人提出椭圆曲线数位签章演算法(Elliptic Curve Digital Signature Algorithm,ECDSA)
1997年
Adam Back发明Hashcash技术
Adam Back发明Hashcash(杂凑现金),为一种工作量证明演算法(Proof of Work,POW),此演算法仰赖成本函数的不可逆特性,达到容易被验证,但很难被破解的特性, 最早被应用于阻挡垃圾邮件。Hashcash之后成为比特币区块链所采用的关键技术之一。(Adam Back于2002年正式发表Hashcash论文)
1998年
Wei Dai发表匿名的分散式电子现金系统B-money
Wei Dai发表匿名的分散式电子现金系统B-money,引入工作量证明机制,强调点对点交易和不可窜改特性。不过在B-money中,并未采用Adam Back提出的Hashcash演算法。Wei Dai的许多设计之后被比特币区块链所采用。
Nick Szabo发表Bit Gold
Nick Szabo发表去中心化的数位货币系统Bit Gold,参与者可贡献运算能力来解出加密谜题。
2005年
可重复使用的工作量证明机制(RPOW)
Hal Finney提出可重复使用的工作量证明机制(Reusable Proofs of Work,RPOW),结合B-money与Adam Back提出的Hashcash演算法来创造密码学货币。
2008年
Blockchain 1.0:加密货币
数位货币与支付系统去中心化、比特币:Satoshi Nakamoto(中本聪)发表一篇关于比特币的论文,描述一个点对点电子现金系统,能在不具信任的基础之上,建立一套去中心化的电子交易体系。
2012年
Blockchain2.0:智慧资产、智慧契约
市场去中心化,可作货币以外的数位资产转移,如股票、债券。如Colored Coin便是基于比特币区块链的开源协议,可在比特币在区块链上发行多项资产。
2014年
Blockchain 3.0:更复杂的智慧契约
更复杂的智慧合约,将区块链用于政府、医疗、科学、文化与艺术等领域。
2016年
Blockchain 2.5:金融领域应用、资料层
Blockchain2.5:强调代币(货币桥)应用、分散式帐本、资料层区块链,及结合人工智慧等金融应用
Blockchain 3.0:更复杂的智慧契约
同样拜占庭问题其实在中国历史上也出现过,比如汉末十八路诸侯讨伐董卓的战争。
初平元年(190年)正月,各地群雄起兵,打出讨董的旗号,当中包括:后将军南阳太守袁术、冀州刺史韩馥、豫州刺史孔伷、兖州刺史刘岱、河内郡太守王匡、陈留太守张邈、东郡太守乔瑁、山阳太守袁遗、济北相鲍信、北海太守孔融、广陵太守张超、北平太守公孙瓒、上党太守张杨、乌程侯长沙太守孙坚、祁乡侯渤海太守袁绍、骁骑校尉曹操、西凉太守马腾、徐州刺史陶谦,其中,袁绍被推举为盟主。
和拜占庭将军问题类似,当时董卓实力很大,18路诸侯只有同心协力才有可能战胜董卓。但此次战役各诸侯名义上是联合讨伐,实际却互相估量对手、保存自身实力,不仅无法实现步调一致,甚至为此结下不少仇怨。18路诸侯中,除曹操和孙坚外,其他各路诸侯都是出工不出力,并且由于缺乏支持,曹操还一度吃了败仗。
迫于压力,在经过一番挣扎之后,董卓放火烧了洛阳,将献帝挟持到西安。此次战争正式拉开了诸侯割据战乱的序幕。归根结底,除了各方势力各怀鬼胎之外,最重要的原因还是还是彼此之间的不信任。
而区块链技术的一大优势,就是要解决信任的问题。区块链网络中,系统不依赖权威机构支撑和信用背书,而是借助算法的自我约束作用,任何恶意欺骗系统的行为都会遭到其他节点的排斥和抑制,信息透明。
除此之外,区块链的优点还包括:
1、去中心(介)化,降低成本,方便快捷;
2、信息永久存储且永远不能被更改;
3、各参与方的身份信息是私密的;