【区块链之菜鸟入门】区块链发展史:从拜占庭将军问题到智慧契约

简介: 本文为是我为大家分享的区块链技术文章系列中的第一部分【区块链之菜鸟入门】的第二篇,在这篇文章中我们探一探区块链技术背后的历史,从上世纪80年代的拜占庭将军问题到今天的复杂的智慧契约,区块链是如何一步步走到今天的呢?

在“【区块链之菜鸟入门】亲,你淘的区块链到了!”这篇文章中,我们了解到了区块链技术的出现其实是为了去除银行类等中心机构的信用背书。从原本信任足够信用度的单独个体(中心)到信任一堆个体,这一过程就极大地降低了信任成本,而区块链技术的核心也就是去中心化,去信用中介。我们也聊到了区块链是比特币的底层技术,但是区块链就仅仅是比特币的底层技术么?区块链经过了怎样的变革才走到今天的呢?本文就为大家揭晓。


本文是【区块链之菜鸟入门】部分的第二篇,什么?拜占庭将军问题、杂凑现金......听上去蛮有意思,等着,我去搬个小板凳,听一听区块链的发展史中的那些事。


本文技术要点:

8f03c0becb0548fded6e8192d074982d081afe26


区块链源自比特币,不过在这之前,已有多项跨领域技术,皆是构成区块链的关键技术;而现在的区块链技术与应用,也已经远超过比特币区块链。要追溯区块链(Blockchain)是怎么来的,不外乎先想到比特币(Bitcoin),比特币是第一个采用区块链技术打造出的P2P电子货币系统应用,不过比特币区块链并非一项全新的技术,而是将跨领域过去数十年所累积的技术基础结合。

比特币区块链所实现的基于零信任基础、且真正去中心化的分散式系统,其实解决一个30多年前由Leslie Lamport等人所提出的拜占庭将军问题。

1982年Leslie Lamport把军中各地军队彼此取得共识、决定是否出兵的过程,延伸至运算领域,设法建立具容错性的分散式系统,即使部分节点失效仍可确保系统正常运行,可让多个基于零信任基础的节点达成共识,并确保资讯传递的一致性,而2008年出现的比特币区块链便解决了此问题。而比特币区块链中最关键的工作量证明机制,则是采用由Adam Back在1997年所发明Hashcash(杂凑现金),为一种工作量证明演算法(Proof of Work,POW),此演算法仰赖成本函数的不可逆特性,达到容易被验证,但很难被破解的特性,最早被应用于阻挡垃圾邮件。

在隐私安全方面的技术,可回溯到1982年David Chaum提出注重隐私的密码学网路支付系统,具有不可追踪的特性,成为比特币区块链在隐私安全面上的雏形,之后David Chaum也基于这个理论打造出不可追踪的密码学网路支付系统eCash,不过eCash并非去中心化系统。

在区块链中每笔交易,采用椭圆曲线数位签章演算法(Elliptic Curve Digital Signature Algorithm,ECDSA),可追溯回1985年Neal Koblitz和Victor Miller分别提出椭圆曲线密码学(Elliptic curve cryptography,ECC),首次将椭圆曲线用于密码学,建立公开金钥加密的演算法。相较于RSA演算法,采用ECC好处在于可以较短的金钥,达到相同的安全强度。到了1992年,由Scott Vanstone等人提出ECDSA。

区块链最早源于比特币,但区块链的应用却不仅于此。

过去几年也陆续出现许多基于区块链技术的电子货币(统称为Altcoins),不过随着比特币持续备受争议,各国政府与金融机构纷纷表态,直到近1、2年,大家才终于意识到区块链的真实价值,远超过于电子货币系统。

区块链可结合认许制,以满足金融监管需求

若要将比特币与区块链技术分开来看,最大的不同之处在于,由于比特币为虚拟货币应用,因此面临各国法规的限制,但区块链现在已经可结合认许制或其他方式来管控节点,决定让哪些节点参与交易验证及存取所有的资料,并提供治理架构(Governance Structure)商业逻辑(Business Logic)两大关键特性。目前区块链可分为非实名制和实名制两种,前者如比特币区块链,后者如台大地的GCoin区块链。现在的区块链已经可结合认许制 (Permissioned),来配合金融监管所需的反洗钱 (AML) 与身份验证 (KYC) 规范。而银行和金融机构想采用的都是实名制的区块链。

区块链演进阶段

区块链技术随着比特币出现后,经历了几个不同的阶段,常见的分法将比特币视为Blockchain 1.0,为数位货币(Currency)应用,Blockchain 2.0开始出现如智慧资产(Smart Assets)、智慧契约(Smart Contracts)等货币以外的应用,Blockchain3.0则是指更复杂的智慧契约,将区块链用于政府、医疗、科学、文化与艺术等领域。

区块链新创DTCO执行长李亚鑫基于现有的分法进行补充,他认为,Blockchain 2.0以彩色币(Colored Coin)为代表,在区块链上运行Open Assets Protocal,可传递货币以外的数位资产,如股票、债券等。而从Blockchain 2.0之后,可再分出一类属于Blockchain 2.5的应用,包括代币(货币桥)应用、分散式帐本(Distributed Ledgers)、资料层区块链(Data Layers Blockchain)、结合人工智慧(Artificial Intelligent),以及无交易所的国际汇款网路,以Ripple为代表,资料层、分散式储存则以Factom、MaidSafe为代表,Blockchain3.0则以Ethereum为代表。他表示,Blockchain2.5跟Blockchain3.0最大的不同在于,3.0较强调是更复杂的智慧契约,以2.5则强调代币(货币桥)应用,如可用于金融领域联盟制区块链,如运行1:1的美元、日圆、欧元等法币数位化。由于区块链协议几乎都是开源的,因此要取得区块链协议的原始码不是问题,重点是要找到好的区块链服务供应商,协助导入现有的系统。而银行或金融机构得对区块链有一定的了解,才能知道该如何选择,并应用于适合的业务情境。去年金融科技(Fintech)才刚吹进亚洲,没想到才过几个月,一股更强劲的区块链技术也开始引爆,全球金融产业可说是展现了前所未有的决心,也让区块链迅速成为各界切入金融科技的关键领域。

尽管现在就像是区块链的战国时代,不过银行或金融机构要从理解并接受区块链,到找出一套大家都认可的区块链,且真正应用于交易上,恐怕还需要一段时间。这次只比国外晚了半年,引爆点可从台大释出一套自行开发的开源区块链协议GCoin,并宣布将成立金融科技暨区块链中心说起,短短一周的时间,便引发各界高度关注,接着研讨会不断,不过,由于区块链具有较高的技术门槛,大家都知道它拥有许多特性跟好处,但却迟迟处于观望阶段,就连区块链的新创业者,也非常稀少。银行业目前也还卡在门口,除了少数金控开始分享这个议题之外,多数金融业者仍处于试图理解技术面的阶段。

技术演进:区块链是怎么来的

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:更复杂的智慧契约


下期预

下期我们将分享【区块链之菜鸟入门】的第三篇,本期的文章出现了很多术语,好多小伙伴们可能和我一样,在互联网金融方面还是小白,不过不要担心,这些术语慢慢理解。而下期将会为大家分享一篇尽量避免术语的科普文章,敬请期待!


【区块链之菜鸟入门】系列文章

亲,你淘的区块链到了!

区块链发展史:从拜占庭将军问题到智慧契约

来来来,这篇科普告诉你“区块链”到底是个啥?

区块链——颠覆式创新技术

其他部分首篇文章:

【区块链之技术进阶】区块链:通往互联网第二纪元的革命

【区块链之技术实战】群雄激辩区块链

【区块链与未来】区块链只与互联网+金融有关?让法律人和你聊聊
目录
相关文章
|
10月前
|
存储 人工智能 算法
区块链概论
1.概述 我们常听说大数据、云计算、人工智能、5G、区块链这些名词,这些“未来技术”最终目的是想使得未来社会的走向“智能化”,生产、交通、学习、城市管理、能源传输等等都将智能化,所谓智能化就是让以上场景变得更加高效。而智能化的实现则需要各方技术协作,整个支持智能化社会的技术架构将会是:
97 0
|
消息中间件 前端开发 Dubbo
国王小组:数字货币交易所搭建如何实现分布式部署
Java 交易所源码,前端APP使用uniapp开发,后端使用java开发,采用 Spring Cloud Alibaba 微服务架构,撮合引擎使用Disruptor高效内存队列,所有服务可以实现分布式部署,websocket推送通过增加一层路由服务实现分布式部署
|
区块链
区块链 - 侠客岛:终于有人把区块链讲清楚了(下)
区块链 - 侠客岛:终于有人把区块链讲清楚了(下)
121 0
区块链 - 侠客岛:终于有人把区块链讲清楚了(下)
|
算法 安全 区块链
区块链 - 侠客岛:终于有人把区块链讲清楚了(上)
区块链 - 侠客岛:终于有人把区块链讲清楚了(上)
321 0
区块链 - 侠客岛:终于有人把区块链讲清楚了(上)
|
区块链 数据安全/隐私保护
区块链 - 侠客岛:终于有人把区块链讲清楚了(中)
区块链 - 侠客岛:终于有人把区块链讲清楚了(中)
91 0
区块链 - 侠客岛:终于有人把区块链讲清楚了(中)
|
区块链 数据安全/隐私保护
北京大学肖臻老师《区块链技术与应用》公开课笔记4——比特币的共识协议
北京大学肖臻老师《区块链技术与应用》公开课笔记4——比特币的共识协议
442 0
|
区块链 数据安全/隐私保护 安全
带你读《区块链真相》之一:天上掉下个区块链,吃透区块链的六大要领
本书涉及12大主题、80多个重大议题,采集原材料50万字,凝结着近40人的智慧,他们是企业家、科学家、大学教授、经济学家、比特币研究者、风险投资专家、数字业务发展战略家、法律界人士和科技媒体大佬、视频创作者,为各界人士尤其企业决策者,提供应对区块链的决策内参。
|
算法 区块链 数据安全/隐私保护
3走进区块链-区块链运行机制
区块链网络是一个分布式网络,网络中存在众多节点,每一个节点都参与数据维护。当有新的数据加入时,所有节点都会对数据进行验证,节点间必须对处理结果达成一致才能将新加入的数据成功写入各自维护的区块链中,目的是让网络中每个节点都拥有一套完全一致的数据记录。
1033 0
|
存储 数据库 数据安全/隐私保护
科普 | 区块链概念最全解析:区块链的下一个十年什么样?
在群体性疯狂之中,思考和认识水平从来比账户上一时的数字更关键。
1902 0