《火币研究院:2020区块链产业专题报告:区块链技术可扩展方案分层模型(39页).pdf》由会员分享,可在线阅读,更多相关《火币研究院:2020区块链产业专题报告:区块链技术可扩展方案分层模型(39页).pdf(39页珍藏版)》请在三个皮匠报告上搜索。
1、火币区块链产业专题报告火币区块链产业专题报告 区块链技术可扩展方案分层模型区块链技术可扩展方案分层模型2018年年8月月22日日 摘要摘要 本报告通过对本报告通过对27个典型区块链项目分析,借鉴计算机网络分层管理、各层标准化设计的思想,将区块链与传统互联网个典型区块链项目分析,借鉴计算机网络分层管理、各层标准化设计的思想,将区块链与传统互联网OSI模型结合,建立区块链技术可扩展方案分层模型三个一级层级模型结合,建立区块链技术可扩展方案分层模型三个一级层级:Layer 0层数据传输层,Layer 1层On-Chain公链自身(底层账本)层和Layer 2层Off-Chain扩展性(应用扩展)层。
2、在一级层级的基础上,结合区块链架构又可以进一步分解成七个二级层级来详细研究。在一级层级的基础上,结合区块链架构又可以进一步分解成七个二级层级来详细研究。 Layer 0层数据传输层与传统层数据传输层与传统OSI七层模型对应,优化区块链与传统网络的结合问题七层模型对应,优化区块链与传统网络的结合问题。区块链是整个互联网协议层中的最上层,本身还是要依赖于底层的协议为它工作,虽然在比特币P2P网络设计的时候已经考虑了节点之间的发现、节点连接的握手协议、节点间地址广播和数据通信等,鉴于已经有部分项目开始探索P2P网络与传统OSI模型的结合,甚至将改进延伸到数据链路层,本报告倾向将P2P网络和传播机制并
3、入到Layer 0层和传统OSI模型一起作为一类可扩展方案进行研究。 Layer 1层解决底层账本问题,主要负责安全,妥协性能,注重于记账功能层解决底层账本问题,主要负责安全,妥协性能,注重于记账功能。结合区块链架构,Layer 1层可以分解成四个二级层级,从网络层的验证机制上使用诸如分片技术去改进,从数据层的数据区块使用诸如隔离见证和链式结构上使用DAG等技术去改进,从共识层的共识机制上去改进; Layer 2层解决广义应用问题,主要负责性能,妥协去中心化,注重于计算功能。层解决广义应用问题,主要负责性能,妥协去中心化,注重于计算功能。结合区块链架构,Layer 2层可以有两个二级层级,从跨
4、链、状态通道等多链并行、链上链下结合甚至是中心化的方式来满足性能需求,借助Layer 1层来保证安全。 通过阅读本研究报告,读者可以充分了解到当前区块链技术发展趋势,尤其是可扩展方案的基本原理、思考方向和主要技术,并结合对应的项目案例加深理解,提升体系分析、辨别项目的能力。读者可以充分了解到当前区块链技术发展趋势,尤其是可扩展方案的基本原理、思考方向和主要技术,并结合对应的项目案例加深理解,提升体系分析、辨别项目的能力。 区块链技术的本质是一个服务于现实场景的底层账本,不可盲目万能化,Layer 1层就是作为这个底层账本的主要载体充分服务于Layer 2层,根基于更适合的Layer 0层。 相
5、关报告 相关报告 1.全球区块链数字资产行业专题报告-公链平台篇2018 年 6月2.火币区块链产业专题报告-游戏篇2018 年 7 月3.火币区块链产业专题报告-钱包篇2018 年 8 月作者 袁煜明 刘洋 火币区块链应用研究院 产业专题报告 产业专题报告 2 / 39 目录 第一章 当前区块链技术主要瓶颈 . 3 1.1 区块链技术发展概述 . 3 1.2 区块链的三元悖论 . 4 1.3 当前区块链技术主要瓶颈 . 5 第二章 区块链技术可扩展方案分层模型 . 11 2.1 区块链技术可扩展方案分层模型综述 . 11 2.2 Layer 0 层数据传输层 . 14 2.3 Layer 1
6、 层 On-Chain 公链自身改进 . 16 2.4 Layer 2 层 Off-Chain 扩展性改进 . 17 第三章 Layer 0 层数据传输层可扩展方案 . 19 3.1 中继网络(Relay Network) . 19 3.2 OSI 模型改进 . 20 3.3 Blockchain Distribution Network(BDN) . 21 3.4 其他 . 22 第四章 Layer 1 层 On-Chain 层可扩展方案 . 23 4.1 网络层改进分片(Sharding) . 23 4.2 数据层改进 . 25 4.2.1 增加数据区块大小 . 25 4.2.2 改进数据
7、区块结构隔离见证(SegWit) . 25 4.2.3 改进链式结构DAG . 26 4.3 共识层改进 . 27 第五章 Layer 2 层 Off-Chain 层可扩展方案 . 28 5.1 跨链 . 28 5.1.1 公证人机制 . 29 5.1.2 侧链/中继 . 29 5.1.3 哈希锁定 . 30 5.1.4 分布式密钥 . 30 5.2 状态通道 . 30 5.2.1 闪电网络 . 31 5.2.2 雷电网络 . 32 5.3 其他 . 32 5.3.1 TrueBit . 32 5.3.2 Plasma . 33 第六章 总结 . 35 火币区块链研究院 火币区块链研究院 3
8、/ 39 第一章第一章 当前区块链技术主要瓶颈当前区块链技术主要瓶颈 1.1 区块链技术发展概述区块链技术发展概述 2009 年 1 月, 比特币网络正式运行, 比特币的成名造就了区块链技术。 如今,从区块链技术的发展上看,普遍公认的主要有两个阶段: 一是以比特币(BTC) ,莱特币(LTC)等为代表的作为支付货币的第一代区块链; 在第一代的基础上,第二代区块链的发展其实有几个方向:具备图灵完备的智能合约功能是大家说的最多的一个方向,典型代表有以太坊(ETH)和柚子(EOS)等;隐私加密保护相对于第一代区块链也是一个很重要的改进,典型代表有环签名技术的门罗币 (XMR) 和零知识证明的大零币
9、(ZEC) 等; 除此之外,一个区别传统区块链概念的有向无环图 DAG 也是一个重大的改进方向,典型代表如 IOTA 等。 而第三代区块链目前并没有普遍的共识,这也是当前区块链发展的一个迷茫期,大家都在摸索中,有将 DAG 和跨链技术作为第三代的,也有将 Layer 理论(后文将具体介绍)作为第三代发展方向的。其中,如果将 DAG 作为并行于狭义区块链(注:广义区块链技术是包含 DAG 技术的)的一种技术来看时,我们也能做出另一种类比:第一代 DAG 项目和第一代狭义区块链项目都以支付货币功能作为第一代,当 DAG 系列出现支持智能合约的突破后,便可以类比于第二代狭义区块链的阶段。 区块链技术
10、发展阶段可以用图 1 来表示: 产业专题报告 产业专题报告 4 / 39 图1 区块链技术发展阶段 1.2 区块链的三元悖论区块链的三元悖论 从比特币问世,区块链行业的发展也有 10 年了,之所以说到当前处于区块链发展的一个迷茫期,与区块链技术突破和落地应用紧密相关。在技术上,区块链的三元悖论是最基本的法则:区块链系统最多能在去中心化、安全性、可扩展性三属性中取其二;换句话说,区块链系统在去中心化、安全性、可扩展性三属性必须有所取舍,划分出优先级,或者达到动态最优。区块链系统最多能在去中心化、安全性、可扩展性三属性中取其二;换句话说,区块链系统在去中心化、安全性、可扩展性三属性必须有所取舍,划
11、分出优先级,或者达到动态最优。 火币区块链研究院 火币区块链研究院 5 / 39 图2 区块链系统三元悖论 1.3 当前区块链技术主要瓶颈当前区块链技术主要瓶颈 理解了区块链的三元悖论,就能理解为什么大家一直说区块链公链项目不能满足商业需求的论述了。当前区块链技术主要瓶颈就在于公链项目的可扩展性有限,而可扩展性最直接的表征一般采用 TPS(Transactions Per Second)来间接描述。 TPS 是一个有成熟定义的计算机术语,代表了系统每秒钟能够处理的业务数量系统每秒钟能够处理的业务数量,是衡量一个系统吞吐量的核心指标。简单地说,TPS 越高,这个系统的事务处理能力越强,越不容易造
12、成网络拥堵,在高并发的业务领域和商业级应用场景中有很大的优势。TPS 越低,意味着系统每秒能够处理的事务数量越低,如果是在一个支付系统中,交易速度会越慢,对应的交易成本也会越高。由于 TPS 是一个量化指标,所以其计算公式是确定的,即: TPS = 系统并发数系统并发数/ 平均响应时间平均响应时间 其中系统并发数指系统同时处理事务的最大数量,平均响应时间为系统处 产业专题报告 产业专题报告 6 / 39 理一个事务平均花费的时间,所以不论是区块链结构还是传统结构,系统的TPS 都由系统的并发数和平均响应时间决定。 在区块链中,TPS 可以理解成每秒钟处理的交易数。众所周知,BTC 平均每平均每
13、 10 分钟出一个块,每个块大小分钟出一个块,每个块大小 1MB,平均每笔交易的大小为,平均每笔交易的大小为 600 字节,那么每个块平均能够处理字节,那么每个块平均能够处理 1600 笔交易,即笔交易,即 TPS=1600/(10*60)=2.67,即使是高峰数据统计,比特币的,即使是高峰数据统计,比特币的 TPS 也是个位数的,很多资料会以也是个位数的,很多资料会以 57TPS 做为做为 BTC的的 TPS 值值。 图3 BTC每个块的平均交易数1 而 ETH 目前仍然是 POW 的挖矿方式,所以处于 2030TPS 区间,即不到 1图为 blockchain 的统计数据 火币区块链研究院
14、 火币区块链研究院 7 / 39 百位 TPS 档位。热门的 EOS 一直以并行百万级宣传,主网上线后,研究员们搭载的服务器测试结果并不足 1000,随着 DPOS 的正常运作,最新资料显示已经达到 3000+,在不考虑并行的情况下,相对中心方式的 EOS 最终 TPS 应该也是在千位档,而并行实现百万级的概念在看完本报告后相信大家会有一个新的见解。理论上,在相对同等状态下,ETH POS+sharding 应该和 EOS 的DPOS+LMAX 同处于千位档。 看完区块链项目的数据,我们对比一下 Visa 的数据:Visa 平均处理平均处理2000TPS,每日平均峰值可以达到,每日平均峰值可以
15、达到 4000TPS,理论上最高能够支持,理论上最高能够支持 5.6 万万TPS;而;而 Paypal 全年处理全年处理 490 万笔交易,性能可达万笔交易,性能可达 10 万万 TPS;淘宝;淘宝 2017 年双十一交易创峰值年双十一交易创峰值 32.5 万万 TPS,支付峰值,支付峰值 25.6 万万 TPS。 项目项目 是否区块链是否区块链 TPS BTC 是 57 ETH 是 2030 EOS 是 1000 Visa 否 56,000 Paypal 否 100,000 支付宝双支付宝双 11 否 256,000 2数据有效日期为2018年7月 在传统集中式系统中,客户端和服务器端的角色
16、是分离的,即用户所在的客户端负责发起请求,然后中心服务器负责接收、验证、处理等一系列工作, 2Visa、Paypal 和支付宝双十一数据由网络大量数据反复对比整理所得 产业专题报告 产业专题报告 8 / 39 整个系统的数据储存和记录也都由中心服务器负责。所以在传统的集中式系统中,事务处理流程很简单,由客户端发出请求,由服务器处理后更新数据库,即可返回客户端,是一种集中式数据库系统。 服务器端客户端数据库发送请求确认请求访问、操作提取数据 图4 传统集中式系统单个事务请求的确认流程 因此在传统的集中式系统中,不论是系统的并发量还是事务的平均处理速度都和中心服务器的性能有着直接的关系。中心服务器
17、性能越强,内存越大,数据库访问速度越快,整个系统的 TPS 就会越高。此外,传输过程中带宽的增大,客户端和服务器端物理距离的减少也可以使得系统平均响应时间减少, 从而增大TPS。 而在区块链分布式系统中没有一个中心服务器来处理事务,每个节点都是一个中心, 所以就必须要解决数据分布式存储的公平性和一致性问题。 所谓公平性,就是确保每个节点都能拥有记账的权利,而不会出现某些节点垄断记账。所谓一致性,就是每个节点的数据账本保持同步更新,这就要求每一条数据都需要经过多个节点甚至全网节点的验证和确认。 火币区块链研究院 火币区块链研究院 9 / 39 图5 区块链的分布式 概括地说,在区块链分布式系统中
18、,一笔交易从发出请求到确认需要经历以下步骤: 1) 由节点发出交易请求,并且广播至整个网络; 2) 其他节点接收交易请求,并且验证,如果验证通过,则放入待记录交易列表(交易池) ; 3) 各个节点争抢记账权(即抢夺新的区块) ,成功获得记账权的节点将待记录的交易请求记入新的区块中,然后将区块广播至整个网络; 4) 网络中其他节点接收区块,并且验证,如果验证通过,则该节点确认区块的合理性,将该区块记录自己的数据库; 5) 当有超过一定数量的节点都记录了该区块,表明整个区块链系统认可了,此时最初的交易请求才算被确认。 在区块链这种分布式系统中,一个事务的记账权首先需要各个节点基于共识机制进行争抢,
19、这就需要消耗大量时间。其次,一笔事务还需要经过多个甚至全部节点的反复验证和确认才能被写入数据库,这大大减慢了事务的处理速度。如果某个节点的响应速度很慢,整个系统的处理速度都会被拉低。而在传统集中式 产业专题报告 产业专题报告 10 / 39 系统中,事务永远由中心服务器处理,也不需要多个节点的反复验证和确认,所以区块链的 TPS 相较于传统集中式系统的 TPS 普遍要低, 并且我们无法单纯用强化中心服务器性能的方式来提升整个区块链的 TPS。同时,前文也提到淘宝双十一 TPS 是有两个数值的,一个是交易创建峰值,一个是支付峰值,在区块链中,支付峰值才是确认的过程,会显得更加重要和实际,严格的讲
20、,区块链严格的讲,区块链 TPS的评估应该参考每秒确认交易数量的评估应该参考每秒确认交易数量 CTPS (Confirmed Transactions Per Second)来描述一个系统的真实性能)来描述一个系统的真实性能, 不过鉴于公开资料并不严格区分TPS的细分定义,也不属于本报告的重点,所以本报告也只采用 TPS 来整体描述,仅作对比参考之用。 由此可见,即使中心化的系统由于硬件等各种问题的制约,即使中心化的系统由于硬件等各种问题的制约,TPS 的峰值不超过的峰值不超过 10 万级别,而正常日平均万级别,而正常日平均 TPS 也不超过也不超过 1 万级别(参考万级别(参考 Visa)
21、,作为一个底层分布式账本的区块链项目一味追求高) ,作为一个底层分布式账本的区块链项目一味追求高 TPS 或者是宣传极高或者是宣传极高 TPS 就值得大家仔细思考一下了。就值得大家仔细思考一下了。 考虑到日常应用的需求, 区块链主流公链项目BTC、 ETH以当前最高1000TPS的目标也落地困难, 于是便产生了可扩展性的讨论。 至于众多号称 TPS 破万, 甚至百万的项目,在阅读完本报告后,相信大家会有个更清晰的认识和理解。 火币区块链研究院 火币区块链研究院 11 / 39 第二章第二章 区块链技术可扩展方案分层模型区块链技术可扩展方案分层模型 2.1 区块链技术可扩展方案分层模型综述区块链
22、技术可扩展方案分层模型综述 要系统的考虑区块链技术可扩展方案,首先必须理解区块链技术框架,如图6 所示: 图6 典型区块链架构 当前主流的区块链架构包含六个层级:网络层、数据层、共识层、激励层、合约层和应用层。六个层级:网络层、数据层、共识层、激励层、合约层和应用层。图中将数据层和网络层的位置进行了对调,主要用途将在下一节中详述。 网络层网络层:区块链网络本质是一个 P2P(Peer-to-peer 点对点)的网络,网络中的资源和服务分散在所有节点上, 信息的传输和服务的实现都直接在节点之间进行,可以无需中间环节和服务器的介入。每一个节点既接收信息,也产生信息,节点之间通过维护一个共同的区块链
23、来同步信息, 当一个节点创造出新的区块后 产业专题报告 产业专题报告 12 / 39 便以广播的形式通知其他节点,其他节点收到信息后对该区块进行验证,并在该区块的基础上去创建新的区块,从而达到全网共同维护一个底层账本的作用。所以网络层会涉及到 P2P 网络,传播机制,验证机制等的设计,显而易见,这些设计都能影响到区块信息的确认速度, 网络层可以作为区块链技术可扩展方案中的一个研究方向; 数据层数据层:区块链的底层数据是一个区块+链表的数据结构,它包括数据区块、链式结构、时间戳、哈希函数、Merkle 树、非对称加密等设计。其中数据区块、链式结构都可作为区块链技术可扩展方案对数据层研究时的改进方
24、向。 共识层共识层:它是让高度分散的节点对区块数据的有效性达到快速共识的基础,主要的共识机制有 POW(Proof Of Work 工作量证明机制) ,POS(Proof of Stake权益证明机制) ,DPOS(Delegated Proof of Stake 委托权益证明机制)和 PBFT(Practical Byzantine Fault Tolerance 实用拜占庭容错)等,它们一直是区块链技术可扩展方案中的重头戏。 激励层激励层:它是大家常说的挖矿机制,用来设计一定的经济激励模型,鼓励节点来参与区块链的安全验证工作,包括发行机制,分配机制的设计等。这个层级的改进貌似与区块链可扩展
25、并无直接联系。 合约层合约层:主要是指各种脚本代码、算法机制以及智能合约等。第一代区块链严格讲这一层是缺失的,所以它们只能进行交易,而无法用于其他的领域或是进行其他的逻辑处理,合约层的出现,使得在其他领域使用区块链成为了现实,以太坊中这部分包括了 EVM(以太坊虚拟机)和智能合约两部分。这个层级的改进貌似给区块链可扩展提供了潜在的新方向,但结构上来看貌似并无直接联系。 应用层:应用层:它是区块链的展示层,包括各种应用场景和案例。如以太坊使用的 火币区块链研究院 火币区块链研究院 13 / 39 是 truffle 和 web3-js.区块链的应用层可以是移动端,web 端,或是是融合进现有的服
26、务器,把当前的业务服务器当成应用层。这个层级的改进貌似也给区块链可扩展提供了潜在的新方向,但结构上来看貌似并无直接联系。 由此可见, 单从结构上分析, 区块链技术可扩展方案可以直接从网络层 (单从结构上分析, 区块链技术可扩展方案可以直接从网络层 (P2P网络、传播机制和验证机制) 、数据层(数据区块和链式结构)以及共识层进行改进达到优化。网络、传播机制和验证机制) 、数据层(数据区块和链式结构)以及共识层进行改进达到优化。 以太坊社区在区块链可扩展性上曾提出过 Layer 分层改进的概念:Layer 1 层改进和 Layer 2 层改进。Layer 1 层改进是指通过对某条公链本身的改进来提
27、升它的可扩展性,即 On-Chain 链上改进;Layer 2 层改进是指不影响该公链本身,通过其他方式来实现可扩展性的提升,即 Off-Chain 链下改进(此处链下的含义仅仅指脱离该公链) ,如后文将会介绍的侧链、跨链和状态通道等。 在这个理解的基础上,我们借鉴计算机网络分层管理、各层标准化设计的思想, 将区块链与传统互联网 OSI 模型结合, 建立区块链技术可扩展方案分层模型三个一级层级:Layer 0 层数据传输层,Layer 1 层 On-Chain 公链自身(底层账本)层和 Layer 2 层 Off-Chain 扩展性(应用扩展)层。在一级层级的基础上,结合区块链架构又可以进一步
28、分解成七个二级层级来详细研究,具体如图 7 的划分: 产业专题报告 产业专题报告 14 / 39 图7 区块链分层研究构架图 2.2 Layer 0层数据传输层层数据传输层 要理解 Layer 0 层, 先得回顾一下开放系统互连参考模型 OSI 七层模型 (Open System Interconnect) ,它是国际标准组织(ISO)和国际电报电话咨询委员会(CCITT)联合制定的开放系统互连参考模型,为开放式互连信息系统提供了一种功能结构的框架。它从低到高分别是:物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。在实际使用中,由于理论研究和现实落地的时差,广泛使用的是 TCP/I
29、P 协议,不过两者在本质上是可以一一对应的。 火币区块链研究院 火币区块链研究院 15 / 39 图8 OSI模型、TCP/IP协议、区块链分层模型对应关系 大部分的区块链项目所使用的底层网络协议就是 TCP/IP 协议,少部分支持UDP 协议。从协议层角度看,区块链是基于 TCP/IP 协议的,也就是在传输层之上,属于最上面的应用层。从这个角度来看,区块链本身只是整个互联网协议层中的最上层,它本身还是要依赖于底层的协议为它工作。对应的接口就是区块链的网络层,这也是本报告将数据层和网络层位置对换的主要原因,虽然在比特币P2P 网络设计的时候已经考虑了节点之间的发现、节点连接的握手协议、节点间地
30、址广播和数据通信等,鉴于已经有部分项目开始探索 P2P 网络与传统 OSI 模型的结合, 甚至将改进延伸到数据链路层, 本报告倾向将 P2P 网络和传播机制并入到 Layer 0 层和传统 OSI 模型一起作为一层进行可扩展方案研究。 这样, Layer 0 层数据传输层改进的主要思路就是通过加快全网节点之间的传播速度来提升全网的确认共识, 改进主要体现在上图中标红的传输层 (层数据传输层改进的主要思路就是通过加快全网节点之间的传播速度来提升全网的确认共识, 改进主要体现在上图中标红的传输层 (TCP/IP)和网络层()和网络层(IP)上)上,且不论这样的效果究竟有多大,从逻辑上这样的一个思路
31、是具有合理性的。 具体改进可以有:具体改进可以有: P2P 网络拓扑结构改进, 节点之间的快速发现,节点之间的快速广播和通信等网络拓扑结构改进, 节点之间的快速发现,节点之间的快速广播和通信等。 产业专题报告 产业专题报告 16 / 39 2.3 Layer 1层层On-Chain公链自身改进公链自身改进 Layer1 层层 On-Chain 公链自身改进的主要思路的出发点是将区块链技术底层账本和上层应用分离, 底层账本的重心放在安全性和去中心化上, 在性能上有所取舍。只是将需要共识确权的数据上链,从而降低对公链自身改进的主要思路的出发点是将区块链技术底层账本和上层应用分离, 底层账本的重心放
32、在安全性和去中心化上, 在性能上有所取舍。只是将需要共识确权的数据上链,从而降低对 TPS 的需求的需求,从目前技术发展来看,可能千位级别(10003000)TPS 即可满足。结合前文介绍的区块链的架构可以看出, 能够提升的地方有共识层的机制改进和数据层的数据区块大小调整、链式结构的优化以及网络层的验证机制改进等方法。 所以,Layer 1 层改进的思路是做好一条底层账本公链,将其他的事情交由层改进的思路是做好一条底层账本公链,将其他的事情交由Layer 2 层来互补处理。层来互补处理。这里对于隐私加密技术的需求对 Layer 1 层会是一个不错的附加属性,但不属于可扩展方案讨论范畴,在没有很
33、好的处理方案前,在Layer 2 层考虑也是个能接受的选择。 图9 Layer 1层三元优先级 火币区块链研究院 火币区块链研究院 17 / 39 2.4 Layer 2层层 Off-Chain扩展性改进扩展性改进 Layer2 层层 Off-Chain 扩展性改进是基于区块链的底层账本技术之上的应用型扩展,可以是基于区块链技术的应用,也可以是中心化的应用结合,它的重心放在性能和安全上,对去中心化有所取舍。最终关键数据传输给扩展性改进是基于区块链的底层账本技术之上的应用型扩展,可以是基于区块链技术的应用,也可以是中心化的应用结合,它的重心放在性能和安全上,对去中心化有所取舍。最终关键数据传输给
34、 Layer1 层上链,本身利用高性能处理大量数据, 达到现实世界对性能的需求层上链,本身利用高性能处理大量数据, 达到现实世界对性能的需求。 该类型的改进有跨链基于区块链技术的多链生态扩展; 状态通道链下数据处理来提升性能;Plasma 通过一系列的智能合约,来构建多种应用场景达到多链并行的结果;Truebit 一种帮助以太坊在链下进行繁重或者复杂运算的技术等。 所以,Layer 2 层作为层作为 Layer 1 层的互补来解决与现实世界的需求,并将必要的数据上链到层的互补来解决与现实世界的需求,并将必要的数据上链到 Layer 1 层层。 图10 Layer 2层三元优先级 综上,我们可以
35、将区块链技术可扩展方案分层模型以及当前比较典型的研究项目整理成下面一张思维导图,并在下一节结合具体项目来阐述。 产业专题报告 产业专题报告 18 / 39 图11 区块链技术可扩展方案分层模型下典型项目思维导图 火币区块链研究院 火币区块链研究院 19 / 39 第三章第三章 Layer 0层数据传输层可扩展方案层数据传输层可扩展方案 3.1 中继网络(中继网络(Relay Network) 比特币设计的 P2P 网络是个节点随机连接的网络, 交易和块的信息传输都是通过这些节点,直到全网所有的节点都收到最新的交易和块信息。原本上,这个设计在不考虑性能需求时是非常完美的, 但是随着比特币的关注度
36、和使用性的提高,2014 年 Bitcoin Core 贡献者 Matt Corallo 提出了 Bitcoin Relay Network 的创意,旨在解决两个问题: 优化比特币 P2P 网络数据和块传输速度, 提升比特币整个网络的安全性,降低攻击风险; 减少整个比特币网络的延时。 当网络存在延时时,矿工往往需要 10-15 秒的时间才能收到新挖出来的区块信息,以 10 秒为例,10 分钟挖出一个块,相当于丢失了 1.6%潜在时间收益,在挖矿规模化时这也是不能接受的。 尤其大的矿场还可以利用自己的优势搭建私有网络,利用挖矿和传播的优势完全碾压小矿场。Bitcoin Relay Network
37、 的本质是建立网络对话中枢(hub-and-spoke) ,它通过 8 个位于纽约,西雅图,阿姆斯特丹,北京,东京,新加坡,香港和俄罗斯的新西伯利亚的服务器枢纽构成的节点网络来组成区块数据传播铁路,矿工们通过这个铁路快速的传播着自己的共识,然后能够立刻开始挖新的区块。但是,这个提议的最大问题是从某种意义上讲,Corallo 控制着这个网络, 尤其是对网络的维护, 不过这只是一个更快的选择, 传统的 P2P 网络传播方式仍然是可以是使用的。目前该系统已被描述为比特币的血管或神经系统一个在整个身体传递信息的关键组成部分。 产业专题报告 产业专题报告 20 / 39 2016 年, Corallo
38、在 Bitcoin Relay Network 的基础上又提出快速互联网比特币传播引擎(Fast Internet Bitcoin Relay Engine,FIBRE)的改进,FIBER 是一种基于 UDP (User Datagram Protocol)的中继网络,可以解决 TCP 模式下小数据的丢包问题,提升了去中心化性,同时实现了压缩数据,以进一步减少传输的数据量和网络延迟,改善信息传播的速度,矿工可以减少孤儿块(orphan block)的数量,或者被网络拒绝的交易区块数量。 同样,康奈尔大学的 Soumya Basu, Ittay Eyal 和 Emin Gn Sirer 研究了另
39、一个中继网络 Falcon Relay Network。Falcon 使用“直通路由(cut-through routing)”而不是“存储转发”来减少延迟, 接收到块时仅仅初步验证块的头部信息就传播出去,而不是等待直到接收到完整的块。当然,这种处理方案有个显著的问题就是如不诚信的矿工可以传播无效的数据浪费竞争对手的资源,为了解决这个问题,康奈尔大学的这个团队得自己扮演把关者的角色,但正常情况下,它提升的速度效率会更高。 3.2 OSI模型改进模型改进 FIBRE3和 Falcon4是目前在比特币中继网络(Relay Network)上落地并显著改善的代表,在它们的基础上,又有许多新的项目开始
40、了自己的探索,这些探索将视角进一步深化到传统互联网的架构上,试图从 OSI 模型去进行优化,如Blockchain Distribution Network (BDN) ,该思路灵感来自于 Content Distribution Network (CDN) , 重点在于对于 OSI 第四层传输层的改进, 也有试图将整个 OSI 3 http:/bitcoinfibre.org/ 4 https:/www.falcon-net.org/about 火币区块链研究院 火币区块链研究院 21 / 39 模型与区块链结合改进的项目,思路都很开放,但唯有落地才能解决问题,这里仅挑选个别项目作简要的介绍
41、用于直观了解 Layer 0 层的设计思路。 OSI七层网络模型七层网络模型 TCP/IP四层概念模型四层概念模型 对应网络协议对应网络协议 应用层(应用层(Application) 应用层 HTTP、TFTP, FTP, NFS, WAIS、SMTP 表示层(表示层(Presentation) Telnet, Rlogin, SNMP, Gopher 会话层(会话层(Session) SMTP, DNS 传输层(传输层(Transport) 传输层 TCP, UDP 网络层(网络层(Network) 网络层 IP, ICMP, ARP, RARP, AKP, UUCP 数据链路层(数据链路层
42、(Data Link) 数据链路层 FDDI, Ethernet, Arpanet, PDN, SLIP, PPP 物理层(物理层(Physical) IEEE 802.1A, IEEE 802.2到IEEE 802.11 3.2.1 Blockchain Distribution Network(BDN) BDN 是 BLOXROUTE LABS 首先提出来的概念,团队中有两位创始人就是Falcon 的发起人。项目的主旨思想是通过自己提供的 BDN 网络来提升节点之间通讯的速度,也是从提供专属网络的角度来改善节点同步情况,各节点通过 产业专题报告 产业专题报告 22 / 39 BLOXROU
43、TE 提供的对等节点(Peer Node)接入 BDN 网络,对等节点作为区块链应用程序和 BDN 的中间网关,它会针对不同的区块链节点制定专属的接口协议,更具体的技术细节尤其是 BDN 网络的设计思路批露较少,核心可以用白皮书中的系统架构图表示: 图12 BLOXROUTE架构图5 3.2.2 其他其他 Marconi 协议是一个试图增强乃至取代现有网络基础设施的项目,体系上包括网络协议、区块链协议、去中心化网络管理等,采用向下延伸覆盖至以太网的设计,并且支持去中心化网络堆栈,在 OSI 模型第二层建立的安全通信管道提供数据包级加密。 这是一个试图在以太网级别上去构建去中心化的点对点的网络
44、5 https:/ 火币区块链研究院 火币区块链研究院 23 / 39 协议,最终是否能够落地挑战也是非常大的,白皮书中展示了其 OSI 模型内的Marconi 通道架构。 图13 OSI模型内的Marconi管道6 Toda Network7也是一个定位新一代区块链版“TCP/IP”协议的项目,愿景未来任何区块链项目都可以在 TODA 上运行,目前官网虽然没有提供白皮书,但却有十几个区块链项目使用了它的技术。 以上案例,仅仅用来表明在 Layer 0 上进行区块链可扩展研究的一些思路和项目的探索。 第四章第四章 Layer 1层层On-Chain层可扩展方案层可扩展方案 4.1 网络层改进网
45、络层改进分片(分片(Sharding) Layer 1 层上网络层是连接 Layer 0 层 OSI 网络层的,由上节不难发现,Layer 0 层的改进有些是贯穿 Layer 1 层网络层的整体改进;有些是通过增加一道 6 https:/marconi.org/cn.html 7 https:/work/ 产业专题报告 产业专题报告 24 / 39 协议来支持 Layer 1 层网络层,重点改进 Layer 0 层。除此之外,针对 Layer 1 层的改进还可以从验证机制入手,典型代表就是分片(Sharding)技术。 分片其实是一种传统数据库的技术,它以前用作将大型数据库分成更小、更快、更容
46、易管理的部分,以此增加数据库的操作效率。而在区块链中,分片技术的运用会更为繁琐, 不过主要思想都是通过缩小验证规模和大量事务并行处理来达到性能提升的效果, 主要难点在于各分片之间数据的一致性和分片内部的防作恶,由于验证规模的大大缩小,所以 BFT(Byzantine Fault Tolerance,拜占庭容错) 类共识会是分片内主要使用的共识机制。 目前主流的分片技术分为网络分片、交易分片和计算(状态)分片等三个层级,其技术难度也随之递增,但是网络分片还是最主要的。 网络分片:通过利用随机性,网络可以随机抽取节点形成分片,达到防止网络攻击如女巫攻击等和恶意节点串谋作恶的情况, 由于诚实节点验证
47、是整个分片网络的安全之本,所以网络分片是其他所有分片的基础。 交易分片:交易分片的思想是将交易进行预处理,将相干的交易分配到同一个分片内进行验证,而将不相干的交易分到其他分片中验证,最终到达并行处理同时又防止了双花的情况; 当然解决思路也有从增加各片之间的通讯和确认来进行研究的。 计算(状态)分片:计算(状态)分片是迄今为止最具挑战性的分片技术提案,它主要用来并行处理智能合约的计算问题,如一些片主要用于矩阵计算,一些片主要用于排序,一些片用于最终结果聚合,每个片独立计算自己的工作,并进行交叉验证来确保最终结果的一致性,其复杂性可以想象。 火币区块链研究院 火币区块链研究院 25 / 39 在分
48、片研究方向,可以关注以太坊的 Casper8,Zilliqa 项目9,Radix 项目10和Rchain11等。 4.2 数据层改进数据层改进 Layer 1 层上对数据层的改进是最直接的改进方向之一,我们分别从数据区块,链式结构来看看技术上的研究状况。 4.2.1 增加数据区块大小增加数据区块大小 通过增加数据区块大小来达到扩容效果最有名的案例莫属于 BCH 比特现金12了,它是比特币于区块高度 478558 的硬分叉产物,旨在通过将比特币区块的1M 太小限制提升到 8M(2018 年 5 月 15 日提升到 32M,8 月份 nChain 提议再次提升到 128M) , 是一种典型的链上扩
49、容方法, 通过区块容量的增加来提升交易处理能力, 从而能够保证在交易量非常大的情况下也能快速交易并保持较低的手续费。但是,更大的区块会造成更多孤块产生的风险,影响系统的整体性能和安全性,同时对矿工的带宽也可能提出新的要求,造成加剧中心化的风险等。 4.2.2 改进数据区块结构改进数据区块结构隔离见证(隔离见证(SegWit) 隔离见证(SegWit)13就是把比特币脚本签名(ScriptSig)信息从基本结构(base block)里拿出来, 放在一个新的数据结构当中。 通过隔离见证, 独立出脚本签名, 8 https:/ 9 https:/ 10 https:/ 11 https:/www.
50、rchain.coop/ 12 https:/www.bitcoincash.org/ 13 https:/ 产业专题报告 产业专题报告 26 / 39 其签名的大小不会计算在交易区块内, 因此比特币区块在不改变大小的情况下可以容纳更多的交易,进而达到扩容的效果。 4.2.3 改进链式结构改进链式结构DAG 传统区块链技术是一种链式数据库结构, 每个区块就像铁链一样, 环环相扣,块与块之间是完全的串行,这样的链式结构注定了效率的瓶颈,如下图所示: 图14区块链的链式结构 所以,很多研究也从并行的角度去思考可扩展方案,如典型的 DAG 有向无环图技术就在一定程度上将链式结构改进成网状结构, 达到