区块链学习区块链技术研究共识算法

**(邹均)互联网下半场,区块链会是主角吗?

2017-05-10  本文已影响1415人  大圣2017

2017-03-06 中关村区块链产业联盟 "洞见区块链技术沙龙" 活动圆满落幕
2017-03-09 中关村区块链产业联盟 区块链现状和发展(图片)
2017-03-09 人大IMI财经观察 邹均做客第六期“IMI-瀚德Fintech沙龙”
2017-04-12 人大IMI财经观察 IMI-瀚德Fintech沙龙(全文)
2017-05-03 华章计算机 洞见区块链技术沙龙(全文)

作者介绍

邹均:海纳云CTO、中关村区块链产业联盟专家、服务合约(Service Contract)方向博士,关注与实践区块链技术与应用。擅长云计算、大数据、软件定义存储。曾任IBM澳洲金融行业首席软件架构师、多个云计算公司高管,是融智北京高端外国专家。在国际会议、期刊发表论文20余篇,获2015年澳中校友会ICT和媒体类别杰出校友奖,区块链相关论文获2016年IEEE ICWS最佳博士论文奖。

0.摘要

3月4日,由华章、中关村区块链产业联盟等单位联合举办的洞见区块链技术沙龙活动在北京圆满落幕。邹均博士作了主题为《互联网下半场,区块链会是主角吗》的分享。互联网近20年来的发展,并没有解决安全、信任的问题。区块链的出现,使得解决这个问题呈现曙光。区块链的防伪,防篡改,可追溯,为合规监管提供了有效的自动化技术手段。本次交流活动,邹均博士详细为大家分析与解密了区块链将是否会成为互联网的下半场主角之一。


作者邹均在“洞见区块链”技术沙龙的现场演讲

3月8日,海纳云CTO、中关村区块链产业联盟专家邹均受邀参加“IMI-瀚德Fintech沙龙”,并发表“互联网下半场,区块链会是主角吗?”主题演讲。他在演讲中指出区块链作为信任机器,为解决互联网存在的信任问题应运而生,成为互联网构建诚信体系的关键。他从技术层面界定了区块链的基本概念以及技术现状,围绕区块链核心的共识机制介绍了区块链目前发展的现状,针对全行业范围详细阐述了区块链的应用场景。他认为区块链的未来发展将会与互联网的基础设施深度结合,在互联网基础设施上面建立信任机制,进一步地,区块链技术将深入到物联网、人工智能等行业,通过区块链技术架构构建诚信平台解决现有存在的信任问题。


作者邹均在“IMI-瀚德Fintech沙龙”的现场演讲

本文根据两次演讲内容进行整理汇总。

区块链是信任机器,由共识产生信任,共识算法是区块链的核心。

1.区块链产生背景

区块链是互联网发展到一定阶段,人们不满足于互联网的信息传递功能,而希望互联网能承载价值传递的需求驱动产生。

人类进入信息化社会时代之后,经济活动也逐渐转到线上,而线上的经济活动需要线上支付的支持。线上支付主要通过电子货币的方式进行。常见的电子货币包括信用卡、银行储蓄卡、预付卡、第三方支付等,不同形式的电子货币应用于不同的场景,优缺点也各有不同。比如说:

现金作为独立货币,不依赖第三方机构即可实现支付,因此它具有便捷性和匿名性。但不能用于线上交易。然而20世纪八十年代,国外很多人开始寻求用加密货币代替现金。David Chaum首先提出了加密货币的概念,他于1989年成立了Digit Cash公司,推出eCash,即电子现金。90年代Master Card推出Mondex,Visa推出Visa Cash等基于Smart card的电子现金,但是这些尝试最后都没有成功。因为:

2008年以美国为首的货币超发及有毒资产证券化引发了全球危机,全球多个国家相继采用货币宽松政策来刺激经济。在这样的背景下,一位化名中本聪的作者发表了比特币论文,从论文题目来看,“A Peer-to-Peer Electronic Cash System”,比特币是一个P2P对等的电子现金系统。注意这里并没有说是电子货币,中本聪希望找到一种电子现金,既可以做线上支付,也能满足便捷性、交易的匿名性的要求,同时不受中心化的机构影响,而且这种电子现金的设计必须保障不会产生通货膨胀。从金融的角度来说,电子货币属于M2范畴,而现金属于M0。从最近央行科技司司长姚前先生的观点来看,也印证了数字货币属于M0范畴,也就是电子现金。

2009年1月3日比特币电子现金系统上线。上线的第一个区块——创世纪区块,其中写了一段备注,是“Chancellor on brink of second bailout for banks”, 中文意思是“财长处于第二轮银行紧急救助的悬崖边缘”。当天为英国财政金融危机最为严重的一天,每日邮报报道英国的财长忙于救助那些银行,这段头条被写在了创世纪区块,很多人分析认为这反映了中本聪非常反对中心化央行超发货币,通过通胀稀释毒资产的行为。比特币作为电子现金,特点在于不依赖银行,而是个人对个人,另外它的半匿名性使得无须提供身份认证即可交易,它是通过挖矿也即工作量证明机制来解决双花问题的。

比特币在2010年5月的第一笔实体交易是由一个叫Laszlo的程序员用10000个比特币买了一个价值25美元的比萨饼。此后,比特币价格不断走高,特别是在2013年得到非常快速地增长,但随着中国央行发布关于比特币风险的指引之后,比特币价格一路下跌到300多美元一个。从2016年开始,比特币价格重拾升轨。2017年初,比特币价格已刷新2013年高点,达到8890多人民币一个,现在维持在8100元左右,可以说比特币的面值增长的非常快。

比特币价格增长曲线

互联网经过20年的发展已经到了一个十字路口,互联网改变了世界,现在我们拥有高效的支持信息流动处理的泛在通信网络、跨越时空的电子商务,包括我们每天使用的移动社交、娱乐、新媒体,我们今天已经离不开互联网。但是互联网发展到今天也面临着很大的挑战,人口红利的逐渐消失,互联网企业普遍感到流量增长的乏力,业务增长停滞不前。

2016年,美团CEO王兴提出来“互联网下半场”的提法,很快得到各个互联网大佬的回应和认可。

互联网下半场到底什么是增长点,什么技术将成为主角?

在互联网时代,实际上有三个问题一直没有得到很好的解决,这三个问题包括

我们需要一些新技术,更准确的说,需要一种新的架构去解决这些问题。而区块链能够解决互联网没能解决的三个问题:

区块链成为一个构建诚信体系的利器。

所以说区块链作为一个新兴的技术架构解决了互联网没能解决的三个关键问题,是构建诚信体系的利器。

2.区块链基本概念

区块链的概念被提的较多的是它是一个分布式账本,区块链在某种程度上被很多人贴上了完全去中心化的标签,但金融行业可能对完全去中心有一定的抗拒,所以现在金融圈多数仍称之为分布式账本。分布式账本不同于传统的银行或公司的账本,传统公司各有各的总账,而分布式账本则是一个共享账本,它没有一个中心来控制,而是在对等的网络里面从多个节点共同来维护,然后每个交易实际上是由交易发布者建立,并用自身的私钥签名,所以它不能伪造。严格来说,区块链是分布式账本的一种形式

区块链目前没有一个明确的定义或者是标准的定义,我们实际上是根据目前的一些区块链平台的关键特征,把符合这些特征的技术架构作为区块链的定义。

我们认为符合这种特征的技术架构就是区块链的架构。

大家现在谈得多的几个区块链概念,很容易产生误区。一个误区是认为区块链完全去中心,这其实不是特别正确的观点。如果从标准的定义来说,分布式实际上是一种计算模式,是在一个网络里面各个节点通过相互传递信息协调通信,能够达到一个共同的目标,这个是分布式的定义。完全去中心实际上是一个网络的架构模式,在这个架构下面网络没有拥有者,它对外开放,所有的参与者都可以有相同的权限,而且可以完全自由的进出,这就是完全去中心化的一个架构。但实际上区块链可以有部分去中心的架构,即在这个网络的架构里面,这个网络为联盟所拥有,网络的各个节点赋予不同的权限。区块链还有部分中心的架构,即这个网络属于一个所有者,也只对这个所有者内部成员开放。这几种不同的架构实际上对应于区块链的不同部署形式,公共链它是一个完全去中心的架构,部分去中心的为联盟链,比如一些银行共同构建一个联盟,通过共享一个账本做到清算支付结算,如现在的R3就是做联盟链。部分中心是私有链,可以理解成在一个企业内部采用区块链技术,应用于防篡改或审计等方面,采用的架构为部分中心私有链的架构。

从计算机科学的角度来说,“信任”是对交易对手能够履约的主观的期望的一个概率表示。如在一些电商平台上,我们怎么看待不认识的交易对手,这实际上是一个主观的期望,在互联网上建立信任往往是通过交易对手过往的记录或者是公众的评论,产生所谓的信誉来给出一个交易对手履约的概率值,比如eBay的一些打分,或者是淘宝的信用评级等等,这些都是互联网上建立信任的模式。

在互联网上建立信任是有局限的,过往的记录不代表未来发生的情况,而且互联网上也没有有效的措施去防范刷单的行为,所以在互联网上建立信任实际上是有局限的。例如传统的金融机构对信用风险的评级,大多都是以类似这种方式建立信任或评判信任。

2015年10月《经济学人》发表了一篇文章,主要论点是 "区块链是互联网的信任机器"

那么区块链是怎么建立信任的呢?

所以区块链上的信任,是通过一个共识算法得出来的。在很多情况下特别是在公有链的情况下,存在很多破坏者,这个信任的概率值不是绝对的。

另外比特币是基于什么来建立信任?

比特币上的信任到底是信任什么,归根结底是第一信任交易的比特币不能伪造,第二是信任交易的比特币不能双花。当破坏者算力低于50%的情况下,同一笔比特币双花的概率小到可以忽略,后面会讲到它实际上是解决一个概率性拜占庭将军问题

PoW:一种概率性拜占庭协议

谈到区块链,很多人会提到拜占庭将军的问题。

拜占庭将军问题是分布式系统里面比较重要的一致性的问题,这是一个叫Lamport的科学家在1982年提到的一个假想问题:在东罗马时期,很多拜占庭的将军们去攻打敌方城池,这些将军是靠信使传递消息来协调行动的,信使传递消息有可能不可靠,最大的问题是这些将军里面也有叛徒,诚实的将军们希望统一行动,要都进攻,要都撤退。而少数叛徒则会破坏统一行动,使得诚实将军采用错误的计划。解决拜占庭将军的问题就是找到一个方法,使得占少数的破坏者不能阻止诚实的将军们采用错误的计划。Lamport把拜占庭将军问题简化成一个指挥官发一个命令给N-1个副官,希望所有忠诚的副官都执行同一个命令,如果指挥官是忠诚的,每个忠诚的副官都执行该命令。

Lamport最后提出了一个论断,只要叛徒不多于1/3,就可以找到一个办法能够使忠诚的将军都能够协调行动。

在分布式系统里,表现出任意错误形态的故障节点就类似叛变的拜占庭将军,因此也叫拜占庭故障节点。

区块链网络一般采用P2P的形式,没有中心的节点,全网的状态由分布式的记账节点通过共识算法来形成共识,通过共识算法解决拜占庭将军问题,能够在破坏者占少数的环境下建立全网状态的共识,或是通过经济激励诚信的行为减少拜占庭节点的出现。

比特币是通过工作量证明(POW)共识算法,加上挖矿的经济激励使得网络诚实方在共识算法中形成优势。还有所谓的价值传递,是因为共识建立了信任,信任的流通是会产生价值的,它是传递价值的过程。区块链跟传统的计算模式不一样,传统的计算模式不会有金融的概念,而现在很多区块链的平台需要有交易费用,如果没交易费用或者所谓的燃料,它这个交易是不能执行的,所以它是把价值融入了计算,这样的好处在于可以更好的保障网络的安全性。如今在网络上,很多人可以发起拒绝服务的攻击,把一个网站给堵塞,能这样做是因为它攻击的成本很低。区块链上面要这样做必须有交易费用,这样就提升了攻击的成本。此外,区块链的技术平台可以提供可编程的智能合约,智能合约通过在共识节点自动化执行合约代码,能够保证双方责任跟权益进行原子交易的可能。

3.区块链技术现状

自从2008年中本聪发表比特币论文,2009年实现比特币虚拟货币的平台,比特币现在已经走过了差不多八年的时间。在这八年时间里,从比特币的应用来看,运行得还较为稳定,在没有拥有者也没有实际控制人的前提下,实现了虚拟货币的发行、流通、交易和支付,这算是比较成功的一个区块链应用。比特币我们称作区块链1.0,最初的场景是虚拟货币的场景,可编程的虚拟货币。到2015年,区块链这个概念慢慢的从虚拟货币单独剥离出来,大家对区块链的架构更为感兴趣,把它变化为一个平台——智能合约的可编程平台,它可做将不仅仅是虚拟货币,而可以通过这种平台来注册、确认或者是转移各种不同类型的资产或者合约,这就是数字资产的发行流通平台

这个平台以以太坊开源项目为代表,即区块链2.0的架构,包括一些可以共同的制定智能合约参与的合同方,可以进行托管交易的第三方仲裁等等。

区块链3.0是国外的一个专家梅兰妮-斯万提出来的,她认为区块链3.0会变成一个超越货币经济的可编程的去中心化的组织,包括数字身份验证、公众系统,都可以用可编程的平台实现,这是比较超前的提法,目前我们见的比较多的还是区块链1.0、2.0的这种架构平台。

整个区块链的发展最早可以追溯到1962年。

正如前面所说,八十年代在电子现金方面,有了一些尝试。

2008年席卷全球的金融危机后,比特币产生,后面出现的很多所谓的代币系统,提供这种虚拟货币系统的创业公司都相继推出区块链的平台和相应的算法,由此看来,一部区块链发展的历史最主要的是共识算法发展的历史。今天的这些区块链平台,如比特币、以太坊等,都有他们自身的共识算法,如果我们把它们梳理,共识算法分很多类别,

这些所谓的共识算法就是在区块链一个相互不信任的环境里面,大家如何选出一个记账人来把当前的这个状态记录在区块链中。

刚才提到paxos在共识算法上也有广泛使用,另外还有名为拜占庭容错的共识算法。刚才提供所谓的拜占庭节点就是在分布式系统中出现严重故障的节点。一般分布式系统中的一些服务器出现宕机故障并不会造成太大问题,但如果被病毒、木马侵害就会变成拜占庭节点,会对网络造成破坏。

共识算法里面有一些容忍拜占庭故障,有一些只能容忍非拜占庭故障,像宕机故障

目前来看凡是涉及到区块链核心技术的公司,往往是以它们的共识算法为代表。

共识算法可以根据它的一些属性,像一致性、正确性、可终止性、性能、扩展性、安全性来评判它的优劣

我们下面来看区块链的现状。

从业界来说,现在有像Linux基金会和IBM推出的超级账本(Hyperledger),一个致力于构建企业级区块链平台的联盟、中国的chinaledger、国际上的R3CEV、PTDL Group等。

现在区块链在很多领域都已经开始尝试很多不同的应用,比如贸易金融、跨境支付、票据交易、资产抵押、虚拟货币等。这一块实际上就是采用不同的共识机制和区块链平台于不同场景,可以看到很多不同平台技术提供商的共识机制不一样,他们各自采用不同的共识算法。此外还有基础设施的提供商,比如公有云或者是由内部的数据中心提供区块链的服务,如IBM、微软、亚马逊的云服务等等。

区块链主要的技术核心是在共识机制,共识算法有一些属性,必须能够达到一定的标准才能够成为一个比较好的共识算法.

区块链里面最核心、最难的是共识算法,它有个理论限制fischer-lynch-paterson定律(编者按:FLP不可能定律)。

FLP定理指出,在一个多进程异步系统中,只要有一个节点不可靠就不存在一个协议,这个协议能保证有限时间内所有进程达到一致。

这其实是非常严苛的一个限制,一个网络上面只要有一个节点挂了,或者是拜占庭的节点,其他的通信则很难达到共识。

为什么在这么严格的限制下,还有不同的共识算法?

这些共识算法实际上对一些条件做了一些放松

区块链根据不同的架构,会有不同的共识算法

比特币的工作量机制证明,这种共识算法它解决的是个概率性的拜占庭协议,而不是百分之百的解决这些容错,概率随着区块的增加会呈指数型的递减,就是说区块链越长,出错的概率就非常的小,也就是说这不是强一致性的共识协议,实际上是概率性的共识协议。在这种虚拟货币的场景下,有一些小量的交易,即使亏了也不是很大的问题,但银行的大资金的交易或者结算就有很大问题。

现在公有链上面的共识算法也存在很大的问题,我们看到目前除了比特币之外还没有特别多成功的公有链的应用

另外在权益证明机制POS下,破坏者的攻击成本非常小,不像挖矿需要非常多的电,因此安全性有问题。另外它是按照权益大小来衡量获得记账机会的大小,所以它公平性也有问题,越富的人更富,就变成一个循环

另外被很多人忽视的是公有链上一个块里的交易的顺序是没有办法保证一个正确顺序,只有块与块之间能够保证顺序。块里面一个块里面可能有上千个交易,交易排序完全由记账者自己的意愿排列,有时交易费给的多可以排前面,或者谁的时间比较多排前面,但基本没有太大保障。

最后一个是有用工作量机制,别像比特币这样做无用功。有用工作量机制很难找,找这些条件要容易验证,难度可以随时调,挖到矿的机遇与贡献工作量成正比,显然比较难找。

私有链和联盟链上,共识算法也有很多问题

智能合约其实并不是特别智能

另外一个误区是很多人认为区块链上面的数据都是真实的,这是很大的误区,很多区块链上面的数据是来源于线下的,线下的数据怎么真实的转到链上面则是个大问题。实际上它需要一个oracle机制,Oracle不是指Oracle公司或Oracle数据库,而是“预言机”,指可信任的某种机制,通过这个oracle验证线下的数据真实的转到区块链上面。所以怎么去寻找这个预言机的机制也是很大的问题,是不是又的要回到中心化的信任机制来建立这个Oracle机制。这个问题在比特币上不存在,因为比特币是完全线上的,没有从线下获取任何数据,所以它的数据是真实的。今天我们碰到的很多区块链的应用的时候,都需要考虑它数据的来源,如何把数据搬上链并保证数据的真实性就是很大的问题。

4.区块链应用场景

最后我们把它放长远来看,区块链现在的问题归根结底是计算通讯存储的问题。大部分区块链目前还不能存太多数据,只能存数据的指纹,存太多数据将难以支撑。

区块链主要是两大类的应用场景,一个是金融场景,另外一个是非金融场景。金融领域,包括一些数字货币、支付汇款,借贷微金融,而博彩、托管支付、股权都是泛金融的,利用的是区块链防篡改的这种特性,也包括健康护理权属登记、所有权投票、知识财产这种记录的保全等,做这块要解决预言机机制怎么把线下的数据真实的转到线上。

目前正在验证或者实施的区块链应用,大多数是金融的应用,基本上可以涵盖到所有的金融领域,包括KYC了解客户、反洗钱或者是电子商务、众筹、资产的转移、汇款、支付、结算、清算、FX、外汇、CDS等,也包括贵重物品、一些非金融的资产阶段、遗产等等,很多方面都在应用区块链的技术。

区块链比较适应的场景总结如下

5.区块链未来发展

目前大家的观点是,区块链是互联网下一代颠覆性的技术,它的意义在于,互联网实现了信息的传播,区块链则实现了价值的这种转移。区块链在各个政府引起了高度重视,包括中国、英国。英国把区块链提升到一个战略的高度,美国很多州在做立法,区块链做交易平台登记平台,还有关于虚拟货币的一些立法,其他几个国家都很重视。

我们认为

小结

最后小结一下。区块链是信任机器,由共识产生信任,共识算法是区块链的核心,它有强力一致性和最终一致性,联盟链、私有链、公有链有不同的架构,从架构的发展来看,1.0可编程货币,2.0可编程金融,3.0可编程社会,应用场景我们认为主要是金融。互联网经过二十年的野蛮生长,来到下半场。我们看到今天的诈骗、造假,包括学术造假、商业上的造假行为,已经形成比较大的信任危机,怎么解决这些问题?我们认为通过区块链这种技术架构构建一个诚信平台可以解决这些问题。所以说,区块链将是互联网下半场的主角

新书推介

《区块链技术指南》新书介绍本书和其他描述应用场景的书不同,重点介绍各类区块链技术的特征和开发方法,包括比特币、以太坊、超级账本、共识算法、闪电网络、比特币开发技术、以太坊智能合约开发,等等。对区块链技术感兴趣的朋友,请参考邹均博士、张海宁先生、唐屹博士、李磊博士和陈晖先生等作者合著的新书:《区块链技术指南》,由机械工业出版社出版。

上一篇 下一篇

猜你喜欢

热点阅读