加载中...请稍后..

金地毯商业 区块链专题报告——区块链公链项目研究报告

发布日期:
2018-07-06
浏览量:
147163

前言

公链是区块链的底层协议,是区块链世界的“操作系统”。经历了第一代公链比特币和第二代公链以太坊的探索,第三代公链正着眼于解决系统的扩展性、安全性和监管兼容性问题,以承载大规模的商业应用。同时,第三代公链仍需保留区块链的开放、自治等特性。与互联网的架构不同,区块链底层协议的价值远远超过应用层,因此,区块链的研发和投资更关注底层公链技术。金地毯商业预计底层公链仍将是现阶段区块链行业的攻关重点,各公链在可扩展性、应用性、共识哲学,以及应用生态搭建上的角逐将长期延续。


1.区块链公链的定义

公链是区块链的底层协议,是区块链世界的“操作系统”。公链为区块链搭建分布式数据存储空间、网络传输环境、交易和计算通道,利用加密算法保证网络安全,通过共识机制和激励机制实现节点网络的正常运行。公链提供的API接口可供开发者调用,以开发符合公链生态的应用。
2.区块链公链的发展阶段

比特币是区块链上的第一代公链。比特币在设计之初定位为支付工具,只能进行价值传输。中本聪因此大幅删减了许多脚本指令,所以其安全性极高。但比特币的脚本语言是图灵不完备的,不能执行循环语句,可扩展性差,许多高级应用无法建立在比特币脚本之上。

区块链上的第二代公链以太坊,是一个具备图灵完备脚本的公共区块链平台,被称为“世界计算机”。除进行价值传递外,开发者还能够在以太坊上创建任意的智能合约。以太坊通过智能合约的方式,拓展了区块链商用渠道,比如众多区块链项目的代币发行,智能合约开发,以及去中心化DAPP的开发,目前基于以太坊的DAPP已经超过1000个1。然而,当前的以太坊网络存在扩展性不足、安全性差、开发难度高以及过度依赖手续费等问题,区块链的大规模商用遭遇了发展瓶颈。

第三代公链定位于能大规模商用,与实际资产和真实价值相关联,推动实体经济发展。目前正在竞争区块链3.0时代的公链项目有EOS,Cardano,Bytom等,但这些公链项目多数处于理论论证及测试阶段,少数主链完成开发的项目也仍处于早期探索阶段。而技术储备充足、财力雄厚的以太坊仍在不断地自我迭代,区块链3.0时代的公链之争群雄逐鹿。


3.区块链公链的核心要素

互联网世界里的核心资源要素包括存储资源、传输资源、运算资源三个方面,区块链技术作为互联网世界的延伸,其核心资源要素与互联网有很大的相关性。同时,区块链是信任的机器,在互联网传递信息的功能之外,还承载着价值传输的使命,因而区块链世界的核心资源要素可归结为存储资源、传输资源、运算资源和共识机制所产生的信任资源四个方面。

金地毯商业将区块链的架构分为五个层面,分别为数据层、网络层、共识层、合约层和应用层,我们将其中的核心技术要素提炼成五个维度,包括可扩展性和传输技术、系统安全、分布式存储、监管兼容性和共识机制。

图:区块链公链的核心资源要素和技术要素

可扩展性和传输技术:可扩展性包括系统节点数和交易吞吐能力两个方面,由区块容量、出块时间和节点间的传输速度等因素决定,可扩展性和传输技术相辅相成。
系统安全:包括双花攻击、交易及合约漏洞的防范机制,身份识别和匿名性,数据库安全等方面。

分布式存储:充分利用节点存储资源,解决区块链系统中日益增长的数据存储需求,提高系统传输效率,保证分布式账本的安全可靠运行。

监管兼容性:区块链最核心的理念是去中心化,许多区块链技术在设计之初即将中心化的政府视为对立面。但不容否认,中心化依然是目前社会运行的主体模式,区块链的去中心化思维难免会和中心化的传统监管之间产生冲突和摩擦。因此,公链架构中与现实中心化世界的兼容性设计将是公链大规模应用的前提。

共识机制:共识机制是区块链的灵魂,共识机制的设计决定了一条公链能否建立完善的激励机制,鼓励更多的节点参与其中,增加系统的去中心化属性。而在多数公链中,节点数量与传输速率呈负相关关系,节点数量和系统性能的平衡是共识机制需要考虑的另一个要素。


4.区块链公链的技术实现形式和共识机制

目前,研发中的区块链公链项目众多,每条公链的设计哲学和应用场景各有千秋,下文将对主流公链从可扩展性和传输技术、系统安全、分布式存储、监管兼容性、共识机制五个维度的技术实现展开分析。

表:主流公链的技术特性

4.1可扩展性和传输技术

4.1.1扩容技术

比特币、以太坊等公链将区块大小设计得很小,以降低普通设备成为全节点的门槛,保证系统的去中心化属性。

然而过小的区块大小限制了每个区块的交易承载量,给公链系统带来运算瓶颈。目前,比特币系统的TPS仅7笔/秒,以太坊系统的TPS仅约13笔/秒。

公链的扩容技术分为链上扩容和链下扩容两大体系。其中链上扩容技术包括大区块、隔离见证、分片技术等,链下扩容技术包括侧链技术、状态通道技术等。

各主流公链对扩容技术的已经开展了以下实践:
针对比特币的扩容方案:BCH分叉(大区块)、闪电网络Lightning Network(状态通道技术)。

针对以太坊扩容方案:Sharding(分片)、Plasma(侧链)、雷电网络Radien Network(状态通道技术)等。

针对NEO的扩容技术有Trinity提供的状态通道技术。

Bytom实行的类隔离见证技术,在区块设计中将数据和见证、签名部分分离,在一定程度上提升了每秒交易速率。同时,还采用了基于多资产的状态通道技术,基于BUTXO的分片机制。

4.1.2跨链技术

区块链之间的互通性问题极大程度地限制了区块链的应用空间,而跨链技术能让价值跨过链与链之间的障碍直接流通,是区块链实现价值互联网的关键。知名的跨链技术有连接比特币与以太坊的BTC Relay、Cardano的NIPoPoW和Bytom的X Relay技术等。

BTC Relay是一种基于以太坊区块链的智能合约,将以太坊网络与比特币网络以一种安全去中心化的方式连接起来。BTC Relay通过使用以太坊的智能合约功能可以允许用户在以太坊区块链上验证比特币交易。BTC Relay使用区块头创建一种小型版本的比特币区块链,以太坊D App开发者可以从智能合约向BTC Relay进行API调用来验证比特币网络活动。BTC Relay进行了跨区块链通信的有意义的尝试,打开了不同区块链交流的通道。

Cardano的跨链技术通过NIPoPoW(Non-interactive Proofs of Proof of Work)侧链实现,它可以让CSL与任何其他的区块链链协议进行交互。

Cardano能够成为其它数字货币的粘合剂,通过侧链和快照技术让不同的货币都可以通过Cardano相互流通。

Bytom上的资产互通采用X Relay技术(与比特币的BTC Relay类似),以此来支持不同形式的区块链数字资产在比原链上流动。

4.1.3点对点传输技术

从系统性能角度而言,现有的区块链网络节点,除了见证系统账本之外,对系统的性能提升没有贡献,反而降低了系统的活跃度,因为节点越多,账本同步至所有节点所需的时间也越长。

Cardano采用了一种类似于Bit Torrent的点对点传输协议一样,参与的节点数量越多,传输的速度越快。随着系统节点的增多,Cardano每秒可以处理非常庞大的交易量。

4.2系统安全性

以太坊计算层的计算和存储没有分离机制,只是采用了Gas机制(以太坊网络的执行的每个操作、交易或合同执行都要求支付其相应的费用)来平衡主网上的算力资源,这种架构设计存在两个方面的问题:

主网计算资源不分隔。一个热门DAPP可能占据以太坊主网的绝大多数计算资源,导致网络拥堵,其他DAPP或交易无法执行。

合约行为和交易行为不分离。太坊Parity钱包中15万ETH被盗,就是因为合约计算和价值传输不分离导致的。针对以太坊主网没有分离机制的问题,许多后起公链以计算层分层、侧链或多链架构等方式解决。实行合约层分层的有量子链和Cardano,这种分层机制一般将计算层分为交易层和合约层,而交易层仍模仿比特币采用UTXO链式结构,保证价值传输的安全可靠;实行多链或侧链隔离架构的有Aelf和EOS等。

4.2.1分层

(1) Cardano

Cardano将计算层分为两层。一层专注于交易和结算,另一层专注于智能合约的计算。

第一层,Cardano Settlement Layer(CSL)加密货币结算层,是整个Cardano系统的基础,其代币ADA只在结算层内流动,主要用来处理数字货币价值转移。CSL的脚本结构与比特币的UTXO类似,只支持交易,虽然简单,但可确保复杂可编程脚本的漏洞不会出现。

第二层,Cardano Computation Layer(CCL)智能合约层,允许智能合约相关的所有高级可编程功能存在。

Cardano结算层与合约层分开运行的方式,可以针对不同的分层进行有针对性的部署和升级。针对结算层,可以通过软分叉对数字货币交易中遇到的问题进行升级和换代,而对于合约层,则可以根据DAPP的运行需求进行针对性的拓展和改良。因此,分层的方式实现了在一个生态内建立清晰、有边界的系统运行秩序,实现更好的可拓展性和交互性。

(2) 量子链(Qtum)

量子链将系统中的交易行为和合约行为分离。在量子链系统中,除了基于UTXO模型的可追溯的Transaction Ledger,还将构建一个合约内容的Contract Ledger。账户抽象层(Account Abstract Layer,AAL)对UTXO账户和EVM合约账户之间进行了适配,使得量子链兼容符合EVM规范的智能合约,为Dapp提供一个新的基础平台,同时UTXO的安全、稳定、隐私性等优点能得以保留。

4.2.2多链或侧链隔离

(1) EOS

与以太坊不同,EOS是一个多链并行的区块链架构。开发者可以自由地在EOS上创建公链,链与链之间不会影响彼此的资源。使用EOS系统中的计算不会消耗费用,也不会出现因个别应用资源消耗而造成网络大面积拥堵的情况,EOS以此来解决底层公链的性能和系统安全问题。

(2) Aelf

Aelf系统采用“主链+多侧链”结构,每条侧链都可对应一个特定的计算场景,这种设计对主网的计算资源进行了有效的隔离。Aelf还可以用侧链去链接其他的主链,扩展Aelf的边界。

4.3分布式存储

区块链的数据以分布式账本的形式存储,分布式的存储能力是区块链的发展瓶颈之一。对于目前大部分的基础公链而言,如何让大量的数据存储在自己的主链上是急需解决的问题。

4.3.1Filecoin

IPFS是Inter-Planetary File System的简称,由Protocol Lab提出,是一个P2P的分布式文件系统。与现有Web不同的是,对于一个存放在IPFS网络的文件资源,通过这个文件资源的内容生成的唯一编码去访问。IPFS可以将数据分片存储到分布式的存储节点,与Bit Torrent类似,在访问时不需要关心存储在哪里,可以从多个存储节点分片获取。

Protocol Lab提出了与IPFS相辅相成的File coin,这是一个公有的区块链,是IPFS的经济激励系统。世界各地的数据中心和硬盘中有大量闲置存储空间,File coin网络允许全球任何一方作为存储提供商参与其中,通过“桥接”功能与其他区块链公链相连接,为区块链提供了巨大的存储规模。

4.3.2NeoFS

除File coin之外,NEO也有其专属的分布式文件存储技术NeoFS。NeoFS是一套利用了Distributed Hash Table技术的分布式存储协议。NeoFS通过文件内容(Hash)而非文件路径(URI)来对数据进行索引。大文件将被分割为固定大小的数据块分布式地存储在众多节点中。

该类系统的主要问题是需要在冗余度和可靠性之间寻找平衡点。NeoFS计划通过代币激励机制和建立骨干节点的方式来解决这一矛盾。用户可以选择文件的可靠性要求,低可靠性的文件可以免费或几乎免费的被存储和访问,高可靠性的文件将由骨干节点提供稳定可靠的服务。

4.4监管兼容性

区块链最核心的理念是去中心化,以太坊等公链在设计之初是以现实世界的挑战者的姿态出现的。然而,区块链技术最终要应用到解决社会问题,提升生产效率中去。如果要实现商业化应用和社会价值,公链的架构设计必须要考虑如何与现实社会的融合。NEO、量子链、Cardano等公链在架构设计上都考虑到了区块链与监管的兼容性问题。

4.4.1NEO

NEO的愿景是普及区块链技术,帮助企业和政府完成区块链技术落地,最终实现智能经济。NEO通过数字资产、数字身份和智能合约这三者来构筑智能经济体系,同时从合规和可审查性角度,让数字身份和数字资产能获得现有法律的许可和政府监督。

4.4.2量子链

许多现有公链不被政府或金融机构所采纳的重要原因之一是,没有设计身份认证或者准入环节。量子链定位于符合行业监管的区块链去中心化应用开发平台,在设计之初就为监管者的角色设计了很多可选项。

在量子链中引入数字身份(Identity)和第三方征信平台,第三方服务商可以通过智能合约标记量子链参与者的身份,从而区分已验证和未验证的Qtum地址,已验证的地址有权优先使用基于Qtum的金融服务DAPP。

在智能合约(Smart Contract)之外,量子链引入新的主控合约(Master Contract),主控合约的执行逻辑可以通过链下执行,把监管者的角色引入,从而避免类似以太坊DAO事件的悲剧再次重演。

监管者可以作为Qtum系统中的喻言和数据源的提供者(Oracle和data feed),比如某一合约的执行结果取决于当季的GDP增长速度,那么监管者可以作为可信数据的提供者。

4.4.3Cardano

与量子链类似,在Cardano的设计哲学中,充分考虑了监管需求,同时也尽可能考虑用户的隐私性,并设法达到二者之间最优平衡点。比如,在必要且用户自愿的情况下,可以针对性的选择提交KYC(客户身份)和AML(资金流向)等信息,满足最基本的监管需求。这一切的目的都是希望让区块链金融被社会主流群体更容易接受和使用。

4.5共识机制

共识机制是区块链的核心基石,是区块链系统安全性的重要保障。区块链是一个去中心化的系统,共识机制通过数学的方式,让分散在全球各地成千上万的节点就区块的创建达成一致的意见。共识机制中还包含了促使区块链系统有效运转的激励机制,是区块链建立信任的基础。

区块链公链常用的共识机制有POW、POS、DPOS、BFT以及多种机制混合而成的共识机制等。共识是指系统节点达成一致的过程,而分布式系统的一致性体现在三个方面:

最终性(Termination):所有进程最终会在有限步数中结束并选取一个值,算法不会无尽执行下去。

统一性(Agreement):所有进程必须同意同一个值。

合法性(Validity):输出内容是输入内容按照系统规则生成的,且输出内容合法。

最终性衡量了达成共识的效率,在一些对交易确认的实时性要求高的场景显得非常重要,而统一性和合法性表征了共识的安全性。在区块链系统中,去中心化程度表征了分布式系统的大规模协作程度。因此,我们从效率、安全性和去中心化程度这三个维度去评价各种共识机制,也就是长铗提出的著名的“不可能三角”理论。

4.5.1POW共识机制

比特币采用的POW工作量证明共识机制,在生成区块时,系统让所有节点公平地去计算一个随机数,最先寻找到随机数的节点即是这个区块的生产者,并获得相应的区块奖励。由于哈希函数是散列函数,求解随机数的唯一方法在数学上只能是穷举,随机性非常好,每个人都可以参与协议的执行。由于梅克尔树根的设置,哈希函数的解的验证过程也能迅速实现。因此,比特币的POW共识机制门槛很低,无需中心化权威的许可,人人都可以参与,并且每一个参与者都无需身份认证。

同时,中本聪通过工作量证明的机制破解了无门槛分布式系统的“女巫攻击”问题。对系统发起攻击需要掌握超过50%的算力,系统的安全保障较强。

POW共识的优点可归纳为:

算法简单,容易实现,节点可自由进入,去中心化程度高。

破坏系统需要投入极大的成本,安全性极高。

区块生产者的选择通过节点求解哈希函数实现,提案的产生、验证到共识的最终达成过程是一个纯数学问题,节点间无需交换额外的信息即可达成共识,整个过程不需要人性的参与。

比特币系统的设定在保证安全性的的前提下,牺牲了一部分最终性。因此,POW共识算法也存在一些问题:

为了保证去中心化程度,区块的确认时间难以缩短。

没有最终性,需要检查点机制来弥补最终性,但随着确认次数的增加,达成共识的可能性也呈指数级地增长。

由于这两个方面的问题,一笔交易为了确保安全,要在6个新的区块产生后才能在全网得到确认,也就是说一个交易的确认延迟时间大概为1小时,这无法满足现实世界中对交易实时性要求很高的应用场景。

力强大的ASIC芯片矿机将挖矿算法硬件化,而ASIC芯片矿机在淘汰后,没有其他的用途,造成了大量的硬件浪费。

4.5.2POS共识机制

POS(Proof of Stake)共识机制,是一种由系统权益代替算力决定区块记账权的共识机制,拥有的权益越大则成为下一个区块生产者的概率也越大。POS的合理假设是权益的所有者更乐于维护系统的一致性和安全性。如果说POW把系统的安全性交给了数学和算力,那么POS共识机制把系统的安全性交给了人性。人性问题,可以用博弈论来研究,POS共识机制的关键在于构建适当的博弈模型相应的验证算法,以保证系统的一致性和公平性。

POS共识机制没有像POW那样耗费能源和硬件设备,缩短了区块的产生时间和确认时间,提高了系统效率。但存在的缺点也有很多,包括:

实现规则复杂,中间步骤多,参杂了很多人为因素,容易产生安全漏洞。

与POW共识机制一样没有最终性,需要检查点机制来弥补最终性。

(1) POS共识机制的最早实践

早期POS共识机制的实现一般是结合了POW共识机制,如点点币(Peer Coin)、黑币(Black Coin)等。其主要思想是区块记账权的获得难度与节点持有权益的币龄成反比。相比于POW共识机制,一定程度减少了数学运算带来的资源消耗,达成共识的时间也相应地缩短,出块效率提高。

但这种POS共识机制的致命弱点在于币龄依赖问题,攻击者在积累长时间币龄后,挖矿的难度大大降低,容易对系统发起双花攻击。

(2)纯POS共识机制

另一方面,POW共识算法带来了硬件设备的大量浪费。随着比特币价值的增长,比特币算力竞赛经历了从CPU到GPU,再到ASIC专用芯片的阶段。算纯POS共识机制由节点所持权益(持有数量乘以持有时间)决定区块生产者,权益比例越高,被选为区块生产者的概率也越大,区块生产者选举过程中没有挖矿。这种机制的践行者有未来币(NXT)和量子链(QTUM)等。

纯POS共识机制没有引入外部资源,仅仅依靠自身的权益来维护网络安全,因此其不需要消耗能源来进行计算;而且由于其没有引入外部的资源,因此不会担心外部攻击,例如外界的算力攻击。但是,这种POS共识依然存在很多问题:

无利害关系攻击(Nothing-at-Stake attack)

基于权益的挖矿不需要像POW共识一样投入物理算力和能源的消耗,只需要持有权益。假设系统中出现了两个分支链,那么对于持有币的“挖矿者”来讲,矿工的最佳的操作策略就是同时在两个分支上进行“挖矿”,这样无论哪个分支胜出,对币种持有者来讲,都会获得本属于他的利益,而不会有利益损失。

这导致的问题是,只要系统存在分叉,“矿工们”都会同时在这几个分支上挖矿;因此在某种情况下,发起攻击的分叉链是极有可能成功的,因为所有人也都在这个分叉链上达成了共识;而且甚至不用持有51%的权益,就可以成功发起分叉攻击。

马太效应

POS共识机制下的权益累计由持币数量乘以持币时间得到,它势必形成赢家通吃的局面。假设电力成本均为3币,大户持有100币天获得100利息币,小户持有1币天,获得1利息币。这样大户会倾向于开机获得更多的币天,而小户倾向于关机,(97,0)是最终博弈的选择。如此,大户获得的币越来越多,造成富者愈富,贫者愈贫的局面。

表:POS博弈收益矩阵

记账节点激励问题

尽管POS中的“挖矿”不用消耗算力,运行成本很低,但是也存在如何激励POS矿工的问题。因为一般的POS系统是没有新币产生的,矿工只能赚取交易费,而且在交易费不高的情况下,对矿工的激励十分有限。

(3)改进的POS共识机制

针对纯POS共识机制存在的问题,改进的POS共识机制通过设立惩罚制度来保证系统安全,区块验证者以存入押金的形式参与,对系统恶意攻击的惩罚力度要比奖励大成百上千倍。

POS共识的这种改进方便区块链进行分叉选择和在链上设置检查点,解决了纯POS共识机制的分叉问题,并使共识结果获得了最终性。但是对于如何判定恶意攻击依然是个备受争议的问题5,POS共识的实行过程始终是一个复杂的人性博弈过程。

以太坊的Casper FFG版POS机制将于以太坊第三阶段Metropolis中的第二部分Constantinople(君士坦丁堡)中投入使用,这是一种融合了改进的POS共识和POW共识的混合共识。以太坊Casper FFG版本的记账人选择和出块时间都由POW共识完成,POS共识在每100个区块处设置检查点,为交易确认提供最终性,也是这种POW-POS混合共识机制优于POW共识机制的地方。

4.5.3DPOS共识机制

DPOS(Delegated Proof of Share),代理权益证明共识机制,是一种基于投票选举的共识算法,类似代议制民主。在POS的基础上,DPOS将区块生产者的角色专业化,先通过权益来选出区块生产者,然后区块生产者之间再轮流出块。

DPOS共识由Bit Shares(比特股)社区首先提出,它与POS共识的主要区别在于节点选举若干代理人,由代理人验证和记账。DPOS相比POS能大幅度提升了选举效率,在牺牲一部分去中心化特性的情况下得到性能的提升。DPOS共识机制不需要挖矿,也不需要全节点验证,而是由有限数量的见证节点进行验证,因此是简单、高效的。由于验证节点数量有限,DPOS共识被普遍质疑过于中心化,代理记账节点的选举过程中也存在巨大的人为操作空间。

(1) EOS

EOS系统中共有21个超级节点和100个备用节点,超级节点和备用节点由EOS权益持有者选举产生。区块的生产按21个区块为一轮。在每轮开始的时候会选出21个区块生产者。前20个区块生产者由系统根据网