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

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


本文技术要点:


区块链源自比特币,不过在这之前,已有多项跨领域技术,皆是构成区块链的关键技术;而现在的区块链技术与应用,也已经远超过比特币区块链。要追溯区块链(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:更复杂的智慧契约

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

  1. [区块链之菜鸟入门]亲,你淘的区块链到了

    摘要: 本文是我为大家分享的区块链技术文章系列中的第一部分[区块链之菜鸟入门]的第一篇,这篇文章咱们先抛开技术细节,用漫画的形式撩开神秘面纱,和大家聊一聊到底区块链是个啥? 作为一枚软件专业的学生党而 ...

  2. 【区块链之菜鸟入门】区块链——颠覆式创新技术

    摘要: 本文是我为大家分享的区块链技术文章系列中的第一部分[区块链之菜鸟入门]的第四篇,也是本部分的收官之作.话说咱们之前了解了这么多的区块链概念和知识,那么区块链到底对于我们的技术世界有哪些颠覆呢? ...

  3. 【区块链之菜鸟入门】亲,你淘的区块链到了!

    摘要: 本文是我为大家分享的区块链技术文章系列中的第一部分[区块链之菜鸟入门]的第一篇,这篇文章咱们先抛开技术细节,用漫画的形式撩开神秘面纱,和大家聊一聊到底区块链是个啥? 作为一枚软件专业的学生党而 ...

  4. 云图说丨不同区块链之间如何跨链交互?

    本文分享自华为云社区<[云图说]第237期 不同区块链之间如何跨链交互?>,作者:  阅识风云. 可信跨链服务是基于一系列制定的可信区块链标准跨链协议,保证跨链交易全栈可追溯.可扩展性及可 ...

  5. NFT背后的区块链之争:公链还是联盟链?

    2022年,NFT在全球迎来史无前例的爆发,数字藏品.元宇宙等概念被大众所熟知,国内虽因政策问题没有出现像国外般狂热的NFT浪潮,但其本地化的"数字藏品"已经成为大家追捧的新趋势. ...

  6. 区块链技术用解决拜占庭将军问题_区块链中的拜占庭将军问题解析

    今天我们要讲的内容是:"什么是拜占庭将军问题"? 我们在之前讲过,分布式账本可以说是区块链的框架,每一个人都可以自由地参与进来,共同处理区块链中的数据,基于这一点,区块链实际上就是 ...

  7. 区块链之于价值 | 区块链价值普及

    共同的价值认可是很宝贵的,而区块链就擅长生产这种宝贵的东西,你说区块链牛不牛逼,厉不厉害? 区块链的本质是可创造不依赖特定中心确权的数据(这句话,我们前面说过多次,后面可能还会无数次地说,因为这句话太 ...

  8. 【区块链之技术进阶】Attention please!区块链技术的风险!

    不知不觉咱们在[区块链之技术进阶]部分已经分享了七篇文章了,通过之前的七篇文章大家对于区块链技术的理解是不是上升了一个高度呢?这七篇文章,告诉我们区块链是互联网时代的通往第二纪元--信任纪元的革命,这 ...

  9. 五、工作量证明链解决拜占庭将军问题之模拟程序(Objective-C)

    一.概述: 此程序用来模拟工作量证明链如何解决拜占庭将军问题,使用Objective-C语言,需要使用Xcode开发工具运行并执行演示,演示结果打印在Xcode控制台. 二.示例程序: 程序下载地址: ...

最新文章

  1. POJ - 1358 Housing Complexes(二分图最大匹配)
  2. VMware vCenter Converter 关闭SSL加密,提高35-40%性能
  3. Recycle网格制式之瀑布流的实现
  4. JavaScript:gb2312转unicode -- 形式
  5. 【转】Windows IIS注册asp 此操作系统版本不支持此选项 错误解决方法
  6. url 的正则表达式:path-to-regexp
  7. UVA10945 Mother bear【Ad Hoc】
  8. 利用哈希map快速判断两个数组的交集
  9. c语言程序集合幂集,C语言 生成集合的幂集
  10. 百度万年历接口实现和分析
  11. 中国农业大学计算机专硕2019分数线,中国农业大学2019考研复试分数线已公布
  12. 笔记本无线网卡驱动异常如何解决?
  13. 架构设计基础设施保障(laaS 云虚拟使用 存储 网络 DNS运用 CDN剖析和运用)
  14. 图形编程丨图形绘制基础imgui篇—D3D9 HOOK 创建内部Imgui窗口
  15. C语言口求整除x与y的余数,取余或取模运算小结
  16. liunx检测上下行带宽及丢包率
  17. zk - zookeeper主节点、从节点、客户端三者之间的交互
  18. Markdown语法文档,Markdown教程,Markdown语法大全,
  19. 博客项目(一):API说明文档、用户模块、短信模块、支付模块
  20. 洛谷 | P1226 【快速幂】

热门文章

  1. android 电话拦截短信验证码,全警出击,只为寻找一位正在买新手机的女士……...
  2. html中地图的绘制toolbars,tkinter内嵌Matplotlib系列(二)之函数曲线绘制
  3. java lang runtimeexception什么意思_Java基础之异常
  4. Linux中b设备是什么,linux-将新设备添加到b??trfs卷中,但是可用...
  5. java标识语_Java 基本语法,标识符,修饰符,关键字
  6. oracle update并行,Oracle update 优化方式,tuning update!
  7. 图解TCPIP-HTTP
  8. MongoDB shell
  9. Hadoop HIVE 聚合查询
  10. 3.4 多个例子中的向量化