如何打造一条全水平扩展的基础公链 - TOP Network CTO Taylor Wei分享

一、什么是全水平扩展 & 为什么我们需要全水平扩展

所谓全水平扩展,就是只要有更多的资源加入系统,系统就能动态地接近线性的方式提升业务处理能力。这里资源可以是节点,网络, 或CPU, Memory, Disk, Bandwidth等。

经过几十年的发展,中心化技术系统的全水平扩展解决方案已经相当完善和可靠了, 所以为阿里的电子商务,Google搜索,Facebook的社交业务,微信和Whatsapp的通信业务等等这样超大规模的业务奠定了技术基础 。

而区块链行业和20年前中心化系统有点像,都是技术瓶颈制约了业务和行业的发展。区块链行业现有吞吐量,实时性,确定性都无法支撑大规模真实业务,导致只能在一些有限的领域发挥有限的价值。

近10年来区块链技术有了飞速发展,但仍然没有出现面向公共领域的大规模商业化应用; 即使在最容易发挥区块链价值的数字金融领域,相比传统金融也只有很小份额。从技术看下面的2个关键限制大大制约了区块链的应用:

确定的一致性
商业化产品和普通用户都要求在明确的有限时间内,获得交易成功失败的明确结果。 也就是要求Consistency(一致性) 和 Availability(可用性) 这2个维度要达到高标准。根据分布式基础理论, 只要节点间的网络是无序无组织,那么就会导致节点间分区不可控,那意味着一致性或可用性就要受损。因此常规的Permission-Less链过于无序无组织,只能牺牲一部分一致性或一部分可用性。而Permissioned或超级节点组成的链虽然一致性可以达到很高,但牺牲了去中心化也背离了区块链的核心价值。

无法支撑大规模业务的性能
绝大部分区块链可以很好的垂直扩展(Vertical Scale-up),但不能很好的水平扩展(Scale-out)和并行(Parallel). 基于网络分片或计算分片的链,能带来一定的性能提升但最终受制于全量数据全同步到每个节点造成的网络和存储等瓶颈, 最终只能靠把节点提升成超级节点来获得性能上的垂直扩展。 基于状态分片的链可以很好的水平扩展,但状态分片必须要解决跨片交易,跨片智能合约,分片、分层安全,数据裁剪和同步等带来各种高难度挑战。

以比特币和以太坊为例子,其吞吐量可以理解等同于一台计算机的能力,无论节点多少和强弱都无助于解决这个问题。 而类似EOS的半中心化的系统,只能靠有限几个超级节点的垂直扩展来提升能力,这一条路的空间是有限的。过去计算机行业已经证明了即使是超级计算机也无法支撑好大规模的业务系统,要靠廉价的分布式系统才是最终的解决之道。

目前区块链行业技术的核心挑战,就是如何用廉价的节点,以去中心化方式,安全地实现全水平扩展,而且是需要在计算,网络,存储,共识等各个层面上扩展能力。

TOP Network 已经是实现了全水平扩展的公链。大家可以先简单了解下TOP Network,(TOP官网www.topnetwork.org),感知全水平扩展的公链的一些特点和概念。

1· 什么是TOP Network:
TOP Network (TOP) 是基于区块链的分布式通信网络,提供安全、高质量、低成本的通信云服务。TOP Network也是一个高性能的基础公链平台,创新地应用了三层账本、双层Lattice-DAG、双层分片、并行PBFT等技术,具有极高的TPS,可以支持海量复杂业务上链,能为任何DApp提供服务。而TOP Token是使用TOP Network所有网络和服务的凭证。

TOP Network致力于打造一个分布式通信网络,用以支持消息、语音、Proxy、流媒体、CDN和物联网数据共享与存储等诸多分布式通信服务。其基于P2P 通信和存储技术,打破了传统的客户端/中心服务器模式,让网络中每个有闲置带宽/硬盘的节点充当服务器,为用户服务。

2· TOP核心创新和独特优势如下:
1.) 采用独特的 PBFT-DPoS* 共识,结合VRF算法,实现更安全、公平的节点选择与不可逆的确定性共识机制。区别于传统的 DPoS中仅代表资产的权益(Stake),TOP 所采用的权益综合了资产权益、节点历史信誉、信任度及节点算力等多个维度。

2)独创双层分片机制,分成Zone 和 Shard 两级,实现了真正的全状态分片; 解决过多分片带来的大量跨片交易引起的阻塞问题,支持TPS水平扩展。

3)通过Lattice-DAG构建的独特的双点阵数据结构来管理交易,支撑不同账号下交易共识的并发,同时保障了同一账号下的交易有序,交易确认速度快。
4)采用独特的三层架构,系一条主链、多条服务链、链下处理构成的多层次分布式账本; 组合了Layer 1 和 Layer 2 优势,能支撑海量高频业务。
5)构建多层共识网络,分别为边缘接入层、交易分发和同步层以及核心的交易共识层三层,实现共识网络的安全性。

3· “如何打造一个全水平扩展的基础公链”
区块链行业目前的扩展技术,主要集中在分片,侧链,跨链,闪电网络/State-Channel, DAG等这些方向。侧链,跨链广义上说也是分而治之思想的具体应用,而闪电网络/State-Channel是在链高度的垂直扩展技术,DAG是让所有节点并行无序地开展业务,最后靠DAG的各种约束把并行收敛成有序。其中分片技术是潜力最大,应用范围最广的。实际上计算机系统里解决系统吞吐量和性能的大部分手段和技术,都属于广义的分片技术范畴。

二、这些技术的问题和解决方案

1· 分片带来的挑战和解决方案
分片包括计算分片,网络分片,存储/状态分片等, 核心必然是有限的节点在执行局部运算,局部传输和局部存储。从分布式和计算机理论上看, 在去中心化环境里共识的安全,网络安全,和数据可用性都是极大的挑战。

具体来说,只实现计算分片或网络分片因为不涉及状态分割和同步,实现确实相对容易。但不实现状态分片,这个系统本身不可能持久运行的。一个很高TPS的系统,每天产生的区块和数据是海量的,这些数据的存储最终会压垮节点; 一个TPS越高的系统,每一秒要同步的数据需要的带宽,最终会是99%的节点无法承受的,最后就变成中心化系统了。

所以分片本质上是把网络,数据,传输隔离;还要在分离后还能保证足够的安全。而这2个方向本质上是矛盾的:越分片能力提升越大但安全性越低,要安全性高那就不能分片太多;通俗讲这是区块链的不可能三角的表现形式。这些矛盾从计算机的CAP理论也同样可以得到推演佐证。

但CAP限制或区块链不可能三角的理论限制是有前提的,理论推演的结论是在同一个环境内无法都兼顾3者。但工程上可以构建多个层(环境),每一层只兼顾其中2个要素,那么几个层叠加起来形成的总系统,就可以在系统宏观层面突破CAP限制或区块链不可能三角的理论限制。

正是基于这样的思想,TOP Network 特别设计了3层网络,2层分片。

(1)Two-Layer State-Sharding (2层状态分片)
a.) 2层分片的设计,一层进行交易共识,另外一层进行审计,相互制约和二权分立 ,即使shard 全部被攻陷,还是能保证系统的安全。大大提高了安全性。
b)2 层网络,相互保护。大大增强了网络层面的抗攻击能力
c.) 数据可用性大大增加。2层网络可以对数据逐层压缩和备份,shard 一层的数据理论上存在全部被破坏的可能性,这就需要另一层能够来保证复原。
d.) 让shard间的load(承载)可以调节。非常忙的和非常闲的shard的资源在保证安全前提下,可以平衡。
e.) 跨shard的交易和流量,可以进行有序的分流,路由和传播。效率大大提高。

(2)Three-Layer Network(3层网络)
TOP Chain由3层网络组成,分别为Edge-Network, Routing Network和执行共识的 Core Consensus Network,这3层网络相互制约和监督。这样的3层网络为整个系统的安全和网络能力提供了保障,让数据可以快速在全球节点间传输,也允许大量的节点参与服务。

• Edge Network
由Edge Node(边缘接入节点)组成的 Network,起到保护核心的共识网络和路由网络的作用。Edge Node 提供边缘接入服务,传输消息和交易,但不能产生交易,也不能执行交易共识。用户和Client只能和Edge Node直接交互。

• Routing Network
由Advance Node(高级节点)组成的 Network, 路由交易和和同步块到共识网络的节点 ,可审计交易,但不能产生交易也不能对交易做共识。 Routing Network 上接Edge Network和下通Core Consensus Network。

• Core Consensus Network
由共识节点组成的Network, 对交易进行有效性和一致性检查并达成共识结果。

三、DAG 的缺陷和改进方向

DAG-Chain和传统Block-Chain核心区别是:前者是先无序上车后逐一查票,并行写入链非常快但并行对交易的完全有效性和一致性的检验就没有那么快,而传统的Block-Chain是先逐一检票后上逐一车,交易的有效性和一致性被打包在固定时间间隔内执行检查。 公平的说DAG好称 百万的TPS只是从写入和简单有效性检查看到的吞吐量指标而已,从一个交易的视角看整个交易流程被最后确认(settled)的时间不短,而且最后交易确认的时间有不确定性。

所以传统的DAG可以理解第一阶段是无序和无组织并发,但第二阶段要为第一阶段的无序和无组织买单,合并起来总体并没有产生大的增益。但DAG 也有不少的好的点是可以借鉴:
• 提升吞吐量: 把完整的完成一个交易的给拆分到几个步骤,每个步骤内部尽可能并行,步骤间满足时间顺序性,进行流水线作业;
• 一切以交易为中心运作,交易宣布,交易进入链,交易被确认,而不是以block为单位。颗粒度越细,那么并发并行能力越强。

而要解决DAG的混沌,无序的缺陷,其中的一种方式就是采用Lattice-DAG(点阵DAG),点阵DAG在数学上是DAG形态的极致有序的确定性表达, 是对状态分片非常友好的系统结构,同时其确定有序的结构充分解决了混沌性DAG的弊病,保留了DAG的并发写入和并发共识的好处。

这就是为什么TOP Network 设计了特有的2层点阵结构:
• Account Lattice-DAG可以理解为每个account都有一条自己的有序一致的unit链,这些unit链在空间和时间上有序有组织, 构建出第一层点阵。
• Block Lattice-DAG - 可以理解为各个Shard的都有一条自己的有序一致的block链。这些block链在空间和时间上有序有组织,构建出第二层点阵。

这样的设计带来3大好处:
a.) 大大增强了分片里共识的安全性。 因为Lattice-DAG 本质上可以理解每一个账号有一条mini链,属于这个账号的交易在这个mini链层级首先进行共识,然后在shard 这一级会对管辖的这些账号打包再做共识,再出shard block。 这样相当于有2层共识 在相互保驾护航 。
b.) Lattice-DAG 因为在数学上是非常有序和一致的,非常适合状态分片, 可以用来管理整个链的数据的,对交易和状态分片的划分是非常确定和有序的。每个shard 就相当于是一批Unit Lattice链构建的空间。
c.) Cross-Shard的数据同步非常清晰直观,支撑好了跨shard的数据同步才能支撑起来节点在各个shard 不断轮换,允许新节点快速进入shard和离开shard。本身对分片的安全性有很大的帮助。

四、Layer2 扩展的限制和优化

闪电网络和 state-channel 技术在大部分场景下体验不好, 甚至成本大于其获得收益。本来是为加快交易的,但实际上最后锁定和解锁过程繁琐,时间成本不小。

Layer2退出解锁,进行最终结算很复杂的原因在于,交易是双向的;双方的所有数据和凭证放在一起才能证明,最终的余额是多少。 但实际上大量的业务并不是双向交易的,比如一方提供VPN 流量服务,另一方消耗流量,是典型性的消费模式,是一方为另一方支付来获得服务的。

所以TOP Network里我们就对state-channel的layer2 方案进行优化设计,简化成单向通道,就解决了解锁和锁定的弊病也体现state-channel的在频繁交易上的好处。特别适合去中心化分布式通信中高频小额的特点。

基于这些改进,我们设计特别的3层账本架构:用简化的State-Channel 支撑 Session级别的服务共识,用Side-Chain实现用户级别的结算共识,用Main-Chain 完成去中心化金融支付共识,逐级提升Capacity。

Q & A

A:请问怎么解决节点的成本和延迟问题?
Taylor :这个其实正好是我今天讨论的主题之一。要建立可信可以是不同维度的,不同方向的。比特币这种要靠海量节点的算力保护,其成本肯定是非常昂贵的。既然成本是昂贵的,那么应用的必然是昂贵的,所以就智能定位在大宗价值存储/传递。
所以归根到底是一个系统的效能比。经济基础决定了上层建筑。只要系统的效能不够,就只能是非常昂贵的。所以要采用很多技术设计,让整个系统的吞吐量等能力可以水平线性扩展,那么系统的单位产出就高,那么平均到节点的成本和收益才能正向,这样的系统才能具有更大的应用范围,造福更多的人。
至于节点的延迟问题,其实是个分布式网络传输问题。因为是去中心化或permission-less的,节点的部署和未知不受控制,导致节点间延迟可能很大。这个是可以通过分布式路由,分布式多层网络,并行来大大改善的。TOP 之所以采用2层分片,就是为了让网络能力接近的节点内聚,再用我们虚拟多层网络来组织,最后用的smart-routiing来路由。

B:代码开源吗?
Taylor :我们6月底主网上线时,就会把代码开源。目前我们在github上的代码还都是处于private 管理下。

C:任何的分片都要解决double spending问题,TOP是如何解决的?
Taylor :Double-spend的核心问题在于:其account的下信息是否是强一致的,而分片常常导致只能最终一致性,就给人有可乘之机。 所以TOP 采用的2层点阵和2层分片,每个账号下有一条自己的mini链,每个账号又是在一个确定的shard来执行共识,这样账号信息的更新是强一致的。在加上我们采用2层分片后,上一层会对下一层的交易进行审计。这样即使下一层shard的被全部攻陷或多数作弊了,也无法最终作恶。

D:群聊的端到端加密
Taylor :我这里分享三点:
1.)单对单的端到端加密系统,已经非常成熟了,无论是中心化还是去中心化下,大家都可以信任了。
2.)但全世界群聊端到端加密都没有做到最高安全性。原因是实现全标准的要求会损失用户体验,所以通常会在中心化系统下会降低实现的难度,靠中心化把一些corner case 给补全了。
3.)但在去中心化系统里,是没有退路的。目前去中心化环境下安全的key就会把代码交换和产生,业界和学术界正在快速前进,百花齐放,发展很快;大家可以后续关注我们TOP要发布的TOP Messager ,这个将会是满足群聊端到端加密全标准的实现。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值