邹均:解构区块链——区块链视图



  • 消息来源:零壹财经
    原文链接:https://www.01caijing.com/article/33608.htm

    2月17日—18日,由数字资产研究院、零壹财经和石榴财经联合举办的2018国际区块链数学科学会议在京举行。会上,数字资产研究院学术与技术委员会学术委员邹均做了主题为“解构区块链–区块链视图”的报告。

    邹均认为,当前区块链危机主要体现在两方面:其一,币圈由原来的非零和理性博弈走向零和非理性博弈;其二,区块链技术落地时都会遇到不可能三角问题。他表示,区块链共识机制设计里要用到很多博弈论知识。理论上,区块链是一个达到纳什均衡的共识系统。但问题在于,区块链的共识机制是一个静态设计,而博弈论是动态的,所以这里存在矛盾。基于这一矛盾,邹均提出了动态共识机制的设计猜想,希望构建动态机制适应社群发展。

    以下为演讲正文:

    尊敬的各位老师、各位专家!今天非常荣幸在这里跟大家分享最近的一些想法。今天的会议是第一次区块链与数学会议,从前面的讲演中我也是受益良多。

    在我的讲演中,首先会对区块链做一个解构,再看区块链与数学的关系,然后谈论一些数学问题和猜想,最后做小结和展望。

    首先,我们看大众视图。这是Google的网络搜索图,从去年到高峰到现在,可以看到热潮退去。

    从精英视图的技术发展成熟的曲线中不难发现,现在区块链正在滑向失望的低谷。

    那在我眼中,区块链视图是什么样呢?

    第一,要回归区块链的本质。我同意朱嘉明老师的观点,区块链是跨学科的一个科学分支。区块链的特点中,有一个Token视图。区块链的第一应用比特币就是一个Token。我们需要从Token的角度去看区块链和数学的一些关系。

    第二,区块链是一个有限状态提机,所以我们会从状态的视图来看区块链。

    第三,区块链具备一个社群的特性,所以我们会从社群视图来看区块链。

    第四,区块链本质是一个分布式帐本,所以我们从结构视图来看区块链。

    最后,是互联视图,涉及到不同的区块链、不同的帐本结构,怎么去做跨链。

    从Token视角解构区块链。我们知道Token有Token模型、Token交易、Token安全、Token合规,还有Token标准,特别是以太坊Token的标准,像最终确定阶段的ERC20、ERC721和ERC165,包括还在提议阶段的ERC827、支持STO的ERC1400、ERC1410等。如果将其上升到一个经济形态,实际上就会谈到Token经济。这里面包括组织模型、激励模型、治理模型、财务模型、金融模型。分类有证券型Token、功能型Token,可以不断分类下去。

    这些内容简单过一下,因为大家都很懂区块链,所以我就不详细说。

    从状态视图来看,我们要看到状态机的一些特性,像图灵完备性、安全性、状态机共识(也叫状态机复制)。怎么实现状态机?可以通过虚拟机或者容器,根据状态转换规则,满足触发条件,提供输入等,最后状态转换执行后是输出以及对这个状态的影响。另外一方面是状态存储,包括不同的存储结构和存储方式。而在应用方面,去中心化状态机有智能合约和链上代码。合约如果跟法律对应,有两方合约、多方合约和格式合约。

    从社群角度来看区块链。这里有社群的类型,包括开源社区、应用社区、投资人社区。每个社群涉及到治理,治理的章程涉及到对成员的要求、组织的形式和一些决策机制。社群的运营机制,包括怎么发展成员,如何营销和管理。这里面肯定会涉及到博弈,社群内有博弈,社群与社群之间有博弈。此外社群会有基金会、协会等不同的组织形式。

    社群也有一些经济要素,包括分配机制、激励机制、价值交换机制等等,还有社群会使用一些平台来进行管理、协同。社群经济的一些特点,包括共享经济、普惠经济、项目发起机制。这是从一个社群的视图来看区块链。

    回到最根本的,我们要看区块链的结构视图。简单来说,区块链是一种分布式帐本,这里面的数据结构、存储结构,怎么做到不可篡改、怎么查询、怎么做隐私保护。帐本是用来记帐的,这里面包括记帐人选举、帐本验证、交易验证、交易发起。在区块链上记帐和选举涉及到共识算法,有一堆不同的场景下使用的共识算法。还有帐本的同步,怎么让大家的帐本能够同步,这里面首先有帐户的地址,依托一个P2P网络和一些通信的协议。这是一个结构视图。

    在结构上,我们把区块链跟计算机对比。计算机是计算、通信跟存储的三元组。映射到区块链上,记帐可以对应计算,帐本同步是通信,帐本是存储。这是一一对应的关系。

    当然,仅仅把区块链作为一个分布式帐本,可能说的有些小。区块链是支撑一个中心化应用的平台。所以,我们从帐本这一层可以延展出7层来,从最下面的网络层到数据层、共识层、激励层、合约层,治理层,最后是应用层。由于时间限制,我就不一一说了。

    下面讲一下互联视图,主要链与链之间如何交换价值与整合。这块最早提出来的是侧链技术,像闪电网络、状态通道等。最后发展到区块链网络,我们也列出两个比较有名的区块链网络项目:Polkadot、Cosmos。当然,以太坊也有子链的项目。

    跨链协议,主要包括跨账本协议和跨区块链协议。这里主要看跨区块链协议,像Atomicswaps都是这样的项目。跨账本协议有Ripple的Interledger。从广义上来说,去中心化交易所也可以看成是一种跨链的价值交换支撑。此外,一些类似的链外计算,都属于互联的视图部分。

    下面我想紧扣今天的主题,在简单地将区块链从各种不同视图做解构之后,分析一下会有什么问题和猜想。

    首先,我们现在承认也好,不承认也好,现在区块链处于一场危机之中。危机包括两方面:

    一方面,币圈由原来非零和理性博弈,逐渐走向零和非理性博弈。我们说现在的区块链就像处于战国时代,标志是2017年的比特币现金BCH分叉。就像我国历史上韩魏赵三家分晋事件,打破了周朝的分封建制,后面还得到周朝天子的认可,那个事件标志着战国时代的开始。2017年BCH分叉之后,接连出现了几十个分叉项目,开启了非零和博弈向零和博弈的发展的战国时代。后面2017年空气币的大爆发,项目方割韭菜这些零和、非理性博弈成为主流。最近BCH分叉大战,我们看到连社群里面的博弈,也趋向了非零和博弈。

    另一方面,我们看应用落地,是碰到了区块链三难(BlockchainTrilemma)问题。从2017年加密猫事件,触发了以太坊性能讨论。后面以太坊开发社区提出了三难问题,去中心、扩展性、安全性,基本上三者只能取其二。三难问题没有严格形式化描述,也缺乏数学的证明。但目前我们看到基本上所有区块链项目,都遇到类似的三难问题。

    我这里想类比一下,把区块链的危机,跟数学史上发展的三次危机做一个对比。2000多年前,毕达哥拉斯学派认为宇宙的一切可以归结为整数或者整数比。但他们发现,等腰三角形直角边与斜边之比,如果是整数比,会产生一个数同时是奇数和偶数的矛盾。

    为了解决这个问题,当时毕达哥拉斯学派提出了单子论,来解决这个问题,单子是不可度量的,但有无限个单子可以成为一种长度单位。后来碰到一个芝诺悖论:一个单子或者是0,或者不是0,无限个0不会产生长度,无限个非0会产生无限的长度。所以有把单子论驳倒了。最后要引入无理数才能解决这个危机。

    第二次危机是微积分创立。莱布尼茨在深入研究单子论基础上创立了微积分,牛顿按流数法方式创立了微积分。英国的主教贝克莱反对流数论,提出贝克莱悖论。最后要靠柯西的极限理论来解决微积分的危机。

    第三次危机是集合论的危机,包括康托尔悖论、罗素悖论、说谎者悖论等等,最终解决这个问题要公理化集合论来解决危机。

    今天早上朱嘉明老师、王飞跃教授也谈到希尔伯特的二十三个数学问题跟哥德尔不完备定理,实际上哥德尔不完备定理给我们的一个启发:形式系统的一致性,不能在系统内得到证明,可以通过增加新公理的方法,扩大原有形式系统方式来证明。所以有时候问题的答案不能在系统内找得到,可能在系统外,这是给我们走出区块链危机,提供一个启发。

    回到前面说的几个视图,每个视图里有一些什么问题和猜想。从Token视图来讲,Token的供应量模型怎么样?货币类我们知道有供应量模型,叫FisherEquation,是不是Teken也要按这个模型?至少对货币类Token,能否参考这个模型这是一个问题。这就需要留给像朱嘉明、朱建明老师这样的经济学家去研究。另外,证券类的Token是不是按照相应的传统模型估值?我们知道股权类有DCF、FCF、CAMP等等比较成熟的定价模型,债权类有Malkiel、衍生类像期权有BlackScholes公式等。我这里没有答案,包括功能型的Token估值模型是什么,也是一个问题。

    从状态机试图来看,今天很多老师提到,包括白硕老师、斯雪明老师提到的智能合约的形式化证明,涉及到一些数学问题,包括状态转换的死锁、活锁、状态可达性问题等等。更重要的是,刚才袁勇老师提到,法律效应的智能合约是一个猜想。我们认为可能需要跟现实生活更相近的智能合约。因为现在的智能合约其实并不智能,只是链上的一串代码。法律效应的智能合约首先涉及的问题,就是怎么去找到一个合约的表达语言。如果我们用一阶谓词逻辑,这是不可判定的。描述逻辑(DescriptionLogic)的表达能力又比较弱,而且主要是表达静态的状态,不能表达动态的状态。过去也有PropositionalDeonticLogic,把像义务、禁止、权利这种法律上的语义在逻辑表达式里构建起来。这里面包括动态逻辑。目前看这些都有问题,一个是表达能力,一个是计算复杂度。目前看,我们还没有看到一个非常合适的合约表达语言,还有合约仲裁。怎么证明物理世界的义务已经实现,如何提供证据?提供证据是非常困难的事情,特别是在链上提供链下世界发生事件的证据。

    社群主要是从博弈角度来看。首先看区块链社群的博弈特点是多方博弈。这里面涉及项目发起方、矿工、矿池、开发社区、交易所、钱包开发商、投资人,而且是一个动态的、重复的博弈。原先的设计很多时候是非零和的博弈为主,理性博弈为主,像比特币最早的设计。同时,社群博弈也应该属于不完全信息博弈,因为在社群里有很多信息是不对称的。但对已发生的信息是完美信息,大家可以在区块链上查得到,是已发生信息的完美信息博弈。

    区块链共识机制的设计里,涉及很多博弈论应用。理论来说区块链是达到纳什均衡的共识系统,问题是它的共识机制是一个静态的设计。但博弈是动态的,所以这里存在矛盾。我的猜想是,有没有可能进行动态共识机制的设计?有没有可能引入一些进化的思想,让共识机制动态适应社群发展,包括一些遗传算法的应用?

    结构视图中是一些数学问题,主要是密码学,计算复杂性问题,单向函数、非对称加密、抗量子密码;包括隐私保护中的同态隐藏、环签名和安全多方计算(MPC)等问题。这些很多老师像白硕老师、陈钟老师都讲过,我不再赘述。崔老师等下也会讲抗量子密码。我主要谈一下共识算法,结构视图里面的主要问题是共识机制设计。我认为共识问题是区块链危机的核心问题。共识有一些基本属性和延伸属性,大家更多注意到的就是基本属性:一致性、正确性、活性。延伸属性,是一些比较难被顾及的属性。因为有很多目标,很难所有目标都达到。延伸属性包括去中心化,需要至少记帐节点不集中在少数节点或集团上;性能,要求高TPS;扩展性,需要节点增多但效率基本保持不变;安全性最难,特别是公链环境,要防止串谋、防止女巫攻击、DDoS、重放、双花等很多安全问题;还有大家不太重视的公平性,要求算法具备随机性,还要防ASIC、防算力外包,因为算力外包能形成大矿池;最后是环境友好性,这要引入有用工作量证明机制思想。

    共识问题的猜想,主要聚焦于有用工作量证明。这是一个难题设计选择。一般来说,工作量证明机制易于证明结果,但是非常难于计算。没有高效的算法,只能穷搜枚举。我们需要找到一个调节难度的杠杆。像比特币,能动态调节挖矿难度。每次生成的难题必须是全新的,具备随机性,而且每次尝试成功与否,要呈伯努利的随机分布,这也是展现公平性的要求。此外,还需要防止算力中心化。现在比较少是防止算力外包,这个很容易形成矿池,形成算力中心化,这一点难度非常大。

    这里最关键的是,特别在公链环境中,构建一个非交互零知识证明。因为在公链环境里,做交互式证明很费劲,性能各方面都会很差。这里有一些例子,包括一些存储的项目,像PermaCoin、KopperCoin提出ProofofRetrievability,Filecoin和SpacMint并做了一定的尝试,如何用有用的存储消耗,来做工作量的证明机制,而且提供非交互的零知识证明方式。

    共识问题进一步猜想,是要设计更创新、灵活的共识机制,提升性能和安全性。我们觉得,区块链中要引入灵活的共识机制,包括软件定义共识、共识进化机制等。软件定义在云计算、网络方面挺流行。软件定义共识,至少可以让共识的参数可配置。共识的进化机制,能够让共识算法自适应、自学习、进化,使得稳定的组织和治理机制能涌现。

    博弈论在治理层、激励层和共识层的应用,主要是避免可能出现的零和博弈和分叉。另外,未来区块链技术还要融合一些区块链、DAG或其它的数据结构,例如Spectre、Blocklattice等创新的一些数据结构来提升性能,更好的发挥各自不同结构的优越性。最后,还可以通过加密抽签来提升安全性。

    最后是小结与展望,共识机制是区块链平台的核心,共识机制的设计要考虑到如何避免中心化,避免零和博弈,使得纳什均衡点有利于社区发展。另外,共识机制要考虑如何提升性能、扩展性、环境友好性,特别重要的是安全性。

    共识机制的创新是走出区块链危机的关键。这里的创新指的是引入灵活的共识机制、博弈论研究和有用工作量证明。特别强调的是,构建有用工作量证明机制,很重要是构建一个非交互的零知识证明,提供公平性(随机性)、安全性、环境友好性、反ASIC性、反外包性,同时要找到一个难度调节的杠杆,保持活性。

    这是今天我的演讲,谢谢大家!


Log in to reply
 

Popular Topics

|

Looks like your connection to SCC was lost, please wait while we try to reconnect.