邹均在分享中,谈到区块链的发展现状、发展制约、发展的驱动因素,以及区块链技术发展的多重方向,提出了区块链的完美世界是:去中心化的可信、安全、公正、可以保护隐私、高效、可问责、自治组织,甚至自治社会。而为什么这么难实现区块链的愿景呢?他认为主要是因为在一个分布式的环境中,没有办法同时达到完全去中心、高扩展性和安全性的三个目标。这个就是所谓的区块链不可能三角。因此,未来区块链技术和应用的发展,需要根据不同的需求做不同的取舍、权衡,需要把问题领域分解,不同的问题用不同的方式解决,不能眉毛鼻子一把抓。
最后,邹均谈到了对未来区块链发展的思考,他认为:区块链未来的发展是区块链基础设施的深度结合,与法律深度结合,与监管深度结合,与互联网人工智能做结合。
邹均,澳大利亚麦考瑞大学计算机博士,麦考瑞商学院MBA,海纳云任CTO,兼中关村区块链联盟副秘书长。邹均在领先的国际会议和期刊上发表论文20余篇;主编《区块链技术指南》。2015年荣获澳中校友会“杰出校友奖”, 2016区块链论文在IEEE ICWS获最佳论文奖。2017年获麦考瑞大学“校长奖”。2018年共识算法论文被国际顶级期刊《Transaction on ServiceComputing》接受。
以下,为邹均关于区块链技术发展的详细分享,希望对你有所启发:
非常高兴跟大家分享一下区块链的心得,我今天的题目有些特别,讲区块链技术在我们所处的不完美的世界的发展情况。为什么是不完美呢?是因为今天是3月的最后一天,春天即将结束吗?答案我们先按下再表,留个悬念。
首先自我介绍一下,我以前是做云计算这一方面的架构师。在这个行业做了很多年,我发现云计算这个行业不单是不完美,而且可能是有些令人失望,因为我们看到这个行业越来越高度集中。云服务提供商,很多时候都是寡头垄断了,当我们去用他们的服务时,必须签他们给出的霸王条款,出了任何问题都是你的责任,否则你就不能用他们的服务。这是云计算非常中心化的一个现象。后面发现区块链是解决这个问题非常好的一个技术,所以有兴趣转到研究区块链领域。
今天我主要讲的内容是以下几方面:
区块链技术发展现状
发展制约—不完美世界
区块链技术发展的驱动因素
区块链技术发展的多重方向
未来发展的思考
区块链技术发展现状
很多人认为目前区块链是炒作,没有落地应用,杀手级应用只有一个,就是比特币。我们认为稍微乐观一点,目前杀手级应用应该有两个。一个是比特币,一个是以太坊。
比特币两天前活跃的全球节点数有一万二千多个,美国排第一,中国排第二。以太坊也是两天前全球节点一万六千多个,也是中国排第二,美国排第一。题外话,中国现在真的超过美国了吗?看看实际的数字我们跟美国还是有些差距。
大家谈的最多的就是区块链到底是不是一个炒作,从killer App(杀手级应用)的定义来看,至少有超过活跃的上万的节点,比特币两天前市值1300多亿美金,钱包2千万个,这个是很大的数字。以太坊的地址三千万,上面发行的ERC20代币合约超过6万多。假设每个代币发行过亿人民币的资产,总共就是6万亿。我们现在一直记得很多年前我们国家发了4万亿刺激经济,而以太坊上不到一两年的时候发了个6万亿,所以这个以太坊平台作为杀手级发币应用应该无需置疑。
从宏观的局面来看一下区块链技术发展,现在的阶段,第一个Gartner新技术热度周期大家比较熟悉。可以看到区块链在去年7月份的时候已经走向下坡路,未来可能会跌向失望的深渊,明年这个时间相信今天的会就不会有今天这么多人了(开玩笑),这是现在的预测。
从另外一个侧面来看,这个Gartner是比较超前,从去年7月说现在是个下坡路,而真正的最高点是去年12月,我们知道比特币最高点去年12月17号,接近两万美金。看起来GoogleTrend比较接近实际,高点是去年11月,我们现在看热度确实是往下走。
发展制约——不完美世界
我们认为区块链是个比较有意思的系统,如果从热力学第二定理来看,是熵值减少的开放系统。我们认为区块链是一个分布式的确定性共识有限状态机,再加上不可篡改的状态档案,这个是区块链比较接近它本质的东西。如果说定义的话,目前来看,最精确的定义是以太坊黄皮书里面,它实际上完全用数学语言描述了以太坊,任何公司按照黄皮书可以完全的去实施实现一个以太坊的节点,那个是准确的一个定义。
我这儿笼统的把它作为一个普通的区块链的数学定义。基本上来说,区块链实际上我们叫分布式的确定性有限状态机,他们要达成一个共识。什么叫有限状态机呢?实际上我们见到的很多东西,我们可以理解为有限状态机。我们常用的ATM就是一个有限状态机的例子。严格的定义就是说实际上是响应外部触发的一些事件,按一定的规则转换自身的状态的系统。我们可以看到包括自动售货机、咖啡机都是有限状态机。人可能不是,因为有些状态机分两种,一种是确定性的有限状态性,一种是非确定性的。人有意识,能主动行动而不是被动的接受外界条件触发。所以人有可能不是有限状态机,即使是,也是非确定性的。
我们每个人出生希望这个世界是个完美的世界,美国有美国梦,中国有中国梦,确实有美好的事情,美好的东西。区块链的完美世界是什么呢?区块链的完美世界我们叫去中心化的可信、安全、公正、可以保护隐私、高效、可问责、自治组织,甚至自治社会。这里面有个比较重要的概念叫去中心化的应用,这跟我们传统的应用有比较大的区别。
去中心化的应用,是指运行在去中心化的多个网络节点,没有一个节点或者机构去控制它,运行的结果需要通过共识确认。
以太坊当初提出来宏伟的构想,提供一个图灵完备的智能合约平台、一个永不停止的计算机来支持去中心化的应用。在永不停止的世界计算机里面实际上是三个方面:
第一个去中心化的计算,就是今天大家谈论的智能和约;
第二个去中心化的存储,这一块还在继续开发中的Swarm;
第三个去中心化的通信Whisper。这是大致它当时设想的完美世界。
这个愿景为什么这么难实现?恰恰回到刚才区块链的本质是分布式的确定性有限状态共识的有限状态机,我们来看,拿它跟云计算做比较,我们发现它有很大的不一样。
云计算把服务器虚拟成多个虚拟机,将多个虚拟机构建成一个资源池再把任务切分,把任务切分之后发给这些资源池里面多个虚拟机同时的运行,最后运行的结果来进行汇总来进行处理,最后反馈给客户,这是云计算的方式。
而区块链则是同一个任务,放在每个共识节点同时运行,然后做共识确认。也就是说把多个计算机变成一个虚拟计算机来执行同一个任务,结果需要共识确认,可想而知它的效率不会太高。
所以传统的技术它实际上我们常说提升生产效率,区块链实际上是改善生产关系。
我们说现实世界确实是不完美的,刚才我们也看到,而且特别是对分布式系统它存在所谓不可能三角。包括我们看到经济系统有蒙代尔不可能三角,大家也知道在分布式处理里面我们也有CAP的理论,可用性、一致性、分区容错性,三者取二,不能得兼。
区块链这一块在共识机制这一块我们也知道有FLP理论,确定性的共识、有故障存在的异步通信、活性这三者也是不可得兼的。活性就是它在有限的时间内总能达到共识,不至于陷入死循环。
大家现在比较公认的区块链的不可能三角理论,去中心化,或者说完全的去中心、扩展性、安全性形成一个不可能三角,只能三者取其二。所以这个就是区块链的现实世界,我们也看到一个区块猫就把以太坊弄的很堵,也是这个不完美的世界的体现。
我们现在总结一下,目前区块链技术在当前这个不完美世界一些限制,难点主要是在分布式系统里面所有的节点步调一致,体现在第一个大家熟知的就是性能限制,大家都在讨论多少tps才能支撑应用。
拓展性限制,特别在联盟链,能否支持很多个共识节点。共识节点少,那人们会问这个链到底有没有公信力,到底是中心化的还是去中心化的,这个是一个问题。
易用性限制,指的是一般用户实际上是写不了,也部署不了智能合约,也看不懂,易用性也包括应用怎么方便的调用区块链的功能。
兼容性、跨链互联限制,我们现在可以看到区块链的本质去中心,未来会有很多链,不可能一条链主打天下,链与链之间怎么做打通,不同链上资产如何跨链流转,现在确实存在这个限制。
存储的限制,区块链的数据每天都在增长,每时每刻都在增长,你怎么去满足不断增长的存储需求。
另外一个限制就是,大部分的白皮书现在对共识算法缺少一个很严格的数据证明,在假设条件下面做到一致性和正确性,又能够保持活性,这个在很多区块链的白皮书都没有涉及。
缺少形式化证明,智能合约一部署上去你就改不了,你有Bug只能看着黑客去破坏而无能为力。智能合约一部署上去就不受你的控制,那我们怎么在部署之前对它做形式化的证明,证明它没有漏洞,证明它的功能正确,这也是一个非常大的一个研究领域,现在目前没有特别好的区块链平台能做这个。去年国外第二大的ICO项目Tezos,提了一个要做智能合约形式化证明的许诺,现在项目团队出现分裂,能不能做下去也是个问号。
区块同步的限制,今天同步一个以太坊的区块链,你拿你的笔记本同步你可能同步一个月也同步不了。
治理的限制,我们的区块链很难去修改它,通过什么机制去对它的一些工作共识机制来进行修改,怎么样去制定这个规则,治理架构是怎么样的。很多项目在治理这一块,基本上是一个空白,
软件升级的限制,现在大部分需要通过分叉来做这个软件升级。
刚才我们说了一下制约的因素,现在我们从积极的层面来看,区块链的技术毫无疑问会继续发展,而且会发展的很快,我们主要看一看它的驱动因素在哪里?
区块链技术发展的驱动因素
其实从某个角度来说,它的驱动因素正是前面我们说的痛点,这些痛点恰恰又是我们的应用需求,我们的客户需求,这些就是驱动区块链技术发展的最大动力,包括刚才说的性能,拓展性包括链上的安全性,隐私保护,数据的真实性都是用户的刚需。
我们很多人知道区块链上面的数据不能篡改,但当你把链下的数据上传到区块链过程中怎么保证你链下的数据没有被篡改,你是假的数据上来区块链也只能是假的数据,不可能变成真的数据。所以如何保证数据安全真实上链也是一个重要的应用需求。
密码安全无需置疑是一个区块链重要的需求。还有就是兼容性、跨链互联也是当下热门的话题,另外一个有用的工作量证明也是比较重要的需求。比特币非常安全,但是它浪费能源,做的这种工作量证明基本上没用,浪费很多电。有没有更好的既能做工作量证明,又有效有用,又能够做这种安全性保障的这种工作量这种机制,这个也是比较大的需求。
另外一个是身份认证权限管理,在企业级的应用非常重要,怎么去保证这些上链的身份,是真正的身份,并赋予他们合适的权限。治理和监管也是非常重要的一个需求,怎么去保证整个区块链的平台能够可持续的发展。这个是防止中心化,无论是从整个架构共识机制来设计,怎么去防止中心化。
下面我们来看一下目前大家对区块链发展阶段的一些比较公认或者比较流行的看法。
大家都听说区块链1.0可编程数字货币,以比特币为代表,非图灵完备脚本引擎来控制UTXO交易的执行。
区块链2.0,可编程金融。以以太坊为代表,提出图灵完备的智能合约平台,不单管理账户体系支付这样的状态,还可以包括“世界状态”,你所有能想象的状态都能支持。架构往前迈了很大的一步。现在也是因为迈的步子太大出现很多问题。但我们人类的需求是无止境的,2.0没做好,很多人已经开始想3.0。
区块链3.0可编程组织,可编程社会。其实我们今天看以太坊,它其实更像个是发布虚拟资产的平台,我们或者叫ICO平台,离所谓的世界状态,支持世界状态智能和约还差很远。现在有很多这种区块链的平台号称以太坊杀手,或者叫区块链3.0,我们有EOS,IOTA,还有很多新的,DFINITY,Hashgraph等都冒出来,号称是区块链3.0。但大部分都还在白皮书或开发阶段,所以这个是很多不确定性在这里面,到底谁最终胜出也不知道。
总的来说我们还是认可我们处在2.0到3.0的过渡阶段,驱动因素我们刚才说的应用的需求。下面我们就来谈谈根据这些应用的需求,区块链技术的发展方向,注意由于需求是多方面,因此技术发展也不是一个方向,而是在多个方向上齐头并进。
区块链技术发展的多重方向
首先最早应该算是EOS提出区块链操作系统的概念,到底它的含义是什么?是我们传统的操作系统加上区块链,加区块链的功能?还是我们现在说的区块链+,去加传统的操作系统?还是最后它实际上很简单,就是一个支持Dapp的操作系统?我们更相信是最后这个支持Dapp的区块链操作系统。
具体来说,区块链操作系统就是要提供DApp开发运行所需要的功能和服务,包括身份认证,包括授权,数据库、调度、云存储,异步通信;非功能需求包括支持水平扩展能力,包括负载均衡、交易并行,智能和约的并行执行。这样交易性能才能超过每秒千笔的交易。这是我们对支持去中心化应用的OS的期望。
这个是比较有名的是EOS。大约6月上线,我们可以拭目以待,看看它最后它是否能够实现它的很多承诺。从Github上来看,它还是处在不断变化的过程中,包括最近也在修改它的白皮书2.0,它的机制现在也稍微改变了,原先的不能够有效防范拜占庭的节点,现在实际上加入了一些惩罚机制来提供拜占庭的容错。出块时间,也从3秒到0.5秒,每个见证人从出一个变成现在出6个,顺序实际上也是通过一种共识机制来定谁先出谁后出。
交易能在秒级内得到最后确认,具体细节由于时间关系我就不细说了。
传统中间件提供的是一个把底层功能通过简单易用的方式提供给上层应用的中间层。这个概念用在区块链上,就是上层应用通过中间件来打通不同的区块链底层,这里面有些比较典型的例子,本体区块链就是类似这样概念。
链下的网络,主要用于支付场景,其思想是在不影响主链架构为主链扩容。比特币上的闪电网络自去年十二月正式上线,目前已经有过一千多节点。以太坊上的类似闪电网络版本是雷电网络,而Splend的Flash network则是解决雷电网络成本比较高的以太坊链下扩容方案。
由Blockstream提出的侧链概念,也是基于在不改变主链架构的前提下来扩展主链功能。例子像Rootstock,它既支持与比特币的双向挂钩,也支持智能和约,而且兼容以太坊的智能和约。而以太坊黄皮书作者Gavin领衔开发的Polkadot既自成一区块链网络,又可以作为侧链去桥接像以太坊这样的主链。它有多条平行链,和一条中继链,组成自成一套区块链网络,其中平行链之间的跨链经由中继链来实现。而桥接则是一种桥接主链的侧链机制。
Tendermint Cosmos也是区块链的网络,Tendermint第一个提出支持拜占庭容错的POS共识算法,Cosmos通过Hub来对并行多链做跨链整合。
瑞波提出InterLedger账本互联协议,从协议的角度来构建账本的互联网,互联账本。InterLedger可以用来构建开放的不同区块链上的资产转移协议,甚至也可以用来构建区块链账本与非区块链账本之间的资产转移协议。
而另一方面,以太坊也不甘落后,从多方面开启区块链3.0之旅。总的说来,它通过两类扩容机制。第一类也就是平台核心扩容,叫第一层扩容,这个需要hardfork硬分叉升级。这个包括Casper共识算法的引进。Casper第一阶段将在目前PoW的共识机制加上POS,把它变成POW和POS的混合,也就是说每100个区块中,前99个仍然采用PoW机制出块,第100个采用PoS出块,并最终确认前100个区块的交易。
另外一个第一层扩容机制是分片(Sharding)。Sharding就是用局部共识代替全局共识,比如把地址分段,不同地址段上的交易分开共识。分片带来的复杂性在跨分片的交易的共识。
以太坊第二层的扩容,一般可以通过软分叉来实现,它包括Plasma子链系统,Truebit和状态通道。其实质是把一部分计算移到链下,链上只用来做结算见证。这些都是以太坊扩容机制。最近也由JosephPoon和V神提出一套链下子链扩展方案,叫Plasma,与侧链类似,把链上计算转到链下,但与侧链不同的是它但可以层级性扩展,因此扩展性更好。
TrueBit是另一个链下扩容方案,通过外包方式把大的计算任务和验证认为转移到链下。状态通道则在原先支付通道的基础上,进一步支持智能合约,管理“世界状态”。
还有新的企业级的区块链平台号称是区块链3.0。在共识机制上面各有特点。例如Cardano就是一个最有学术范的区块链。其白皮书或者重要设计文件都要经过类似学术界的同行评审的机制。
Fabric在企业级区块链这一块目前是一骑绝尘。
另外也有和场景适用性的区块链,例如为金融场景设计的号称不是区块链的R3 Corda。
另一个不是像区块链的DAG,有向无环图系统。特点非常独特,交易不用打包,一个交易来就做共识确认。
另外一个比较新的Swirlds Hashgraph也是完全不同于区块链的结构,有着非常独特的共识机制。
还有一个方向是解决存储这一块的存储区块链项目,我们大家都知道基于IPFS的Filecoin会在今年6月正式上线,以太坊上面的存储有Swarm。
其他有名的sia,maidsafe,Storj,Burstcoin等等。
密码学是区块链生命线。
量子计算,并不像大家现在想象的这么可怕,第一是目前量子计算离商业应用还很遥远,第二个也有很多的方法应对量子算法的威胁。
时间关系,很多方面不能讲得太细。最后是区块链未来发展的思考,区块链之道,在区块链上面是共识即存在,只有共识才被认可,架构上面我们做到分而治之。第二个是传统的中国的哲学,不要走极端,去中心化和中心化是阴阳互补,最后要根据应用需求在去中心、安全性和扩展性上做权衡取舍,不能所有的都要。这才是解决区块链受不完美世界限制的唯一方法。
未来发展的思考
未来的发展我们认为区块链基础设施的深度结合,与法律深度结合,与监管深度结合,与互联网人工智能做结合。谢谢大家!
原文发布时间为:2018年04月05日
本文作者:区块链大本营
本文来源:CSDN区块链大本营,如需转载请联系原作者。