老牌扩容方案 SKALE 在主网上线后,有了一系列的生态进展。

撰文:ZKSwap 团队

侧链是什么?这里援引 Barry Whitehat (Rollup 概念提出者)对侧链的定义。

其基本含义是:由一组验证者,把一条链的最新状态提交给一个(主链上的)智能合约,如此推进的一类系统。这些(最新状态的)检查点可被一个桥接合约(Bridge Contract)使用,以支持用户的存款和取款。一般来说,在该组验证者之间也会有一个领袖选举流程,来决定某时某刻由谁来创建侧链区块,例如 PoA 权威证明算法和 PoS 算法 [1]。

Barry 同时提到,随着一些 Layer2 扩展方案的成熟,可以考虑侧链如何与其他方案更好地结合。并且在一些特定场合下,侧链的特点能够大放异彩。

目前,主流侧链方案主要有:Polygon (原 Matic Network)、xDai Stable Chain 以及 SKALE Network。本文将梳理 SKALE 的技术方案、扩展包、IMA 跨链桥、SKALE 通证与治理以及 SKALE 生态发展与投融资情况。

SKALE 简介

SKALE 网络的定位是作为以太坊的「弹性侧链网络」,能够支持成千上万个独立区块链、侧链、存储链和其他类型子链。这些区块链都与以太坊主网相连接,并且完全兼容以太坊生态。

SKALE 网络中的侧链由一组从网络节点集合中选出的虚拟子节点(Virtualized Subnodes)所运作。每一条侧链都是高度可配置的,用户可自由选择侧链的规格、共识协议、虚拟机、母链以及定制化的安全措施。

SKALE 网络使用 Solidity 作为智能合约的编程语言,运行模型完全兼容 EVM,支持主流的以太坊代币标准,同样可以通过 web3.js 和 web3.py 连接网络,以及使用 Truffle 和 Remix 等工具,实现了开发者友好。

SKALE 网络构成

详解弹性侧链网络 SKALE:技术方案、跨链桥与代币经济图片来源:SKALE Network Whitepaper

SKALE 网络由 SKALE 节点和 SKALE 管理员两部分组成,其中 SKALE 管理员是部署在以太坊主网上的智能合约。SKALE 管理员合约起着「入口」的作用,承担节点的创建与销毁、弹性侧链的创建与销毁、虚拟子节点轮换和 SKALE 奖励发放等任务。

详解弹性侧链网络 SKALE:技术方案、跨链桥与代币经济图片来源:SKALE Network Whitepaper

其中,虚拟子节点是弹性侧链的参与者,负责执行 SKALE 共识、运行 SKALE EVM 以及促进链间通讯。

节点的创建与销毁

潜在节点转变为 SKALE 网络的节点需要进行如下步骤: (1)首先运行 SKALE 后台程序,由后台程序评估潜在节点是否满足网络的硬件要求; (2)如果评估通过,潜在节点可以向 SKALE 管理员提交申请以加入网络。提交申请需要质押网络保证金,并提供其 IP 地址、端口、公钥等节点元数据; (3)提交完毕后,潜在节点加入系统,并称为「全节点」或「轻节点」(两种节点的区别在于:全节点为某一弹性侧链提供所有资源,而轻节点则参与到多条弹性侧链中)。

当节点创建后,SKALE 网络会为其分配一组对等节点(目前为 24 个)。对等节点将定期审查该节点的宕机时间与延迟,以此决定每个网络周期发放给该节点的奖励。

如果节点想要退出网络,需要先向网络广播退出消息,并等待一段终止期。之后节点可以取回其质押的网络保证金。

弹性侧链的创建与销毁

可定制化的「弹性侧链」是 SKALE 的创新点之一。「弹性」意味着区块链并不是固定不变的,用户可以根据其需要,按照 1/128 (小型)、1/16 (中型)或 1/1 (大型)的节点资源和 3、6 和 12 个月的时长选项,以及网络的存储容量来选择区块链的配置,并使用 SKALE 通证支付相应的租金。(目前 SKALE 网络中消耗资源的成本取决于链的规格与生命周期,并将在未来按照当前网络条件和系统负载来进行成本的动态计算。)

用户将申请提交给 SKALE 管理员后,一条新的弹性侧链也就随之创建。

详解弹性侧链网络 SKALE:技术方案、跨链桥与代币经济图片来源:SKALE Network Whitepaper

如果用户支付的租金已消耗完,或是用户将其弹性侧链删除,此时弹性侧链就会被销毁。此外,用户还可以对弹性侧链的虚拟子节点进行轮换,来避免其互相勾结,确保弹性侧链的去中心化。

整体看来,SKALE 的弹性侧链的创建与销毁类似于我们平时租赁云服务器的模式,即按需选择资源和按资源付费。在租金消耗完后,用户可以选择续费或是删除服务器 (也即弹性侧链)。就像 Docker 和 Kubernetes 允许轻松定制且可扩展的云服务一样,SKALE 的愿景是提供去中心化的「链服务」。

SKALE 奖励发放

在每个 SKALE 网络周期结束之后,该时期内所释放的 SKALE 通证会平等地分配给该周期开始前参与到网络的所有节点。

分配给每个节点的通证数量取决于其 24 个对等节点中的 16 个 (剔除最高与最低的 4 个指标) 所提交的平均指标。由于运行时间不足 / 延迟而未分发给节点的通证将流向 N.O.D.E 基金会。

弹性侧链与共识过程

弹性侧链是由 SKALE 网络中的虚拟子节点组成的,这些虚拟子节点通过一种异步、无领导和可证明安全性的协议参与到区块的创建与确认。只要超过 2/3 的虚拟子节点验证集合处于在线状态,它们就会在链上持续创建与确认新的区块。SKALE 的共识过程如图所示:

详解弹性侧链网络 SKALE:技术方案、跨链桥与代币经济图片来源:SKALE Network Whitepaper

区块提案

虚拟子节点需要遵照以下原则来创建一个区块提案: (1)检查其待办交易队列; (2)如果待办队列中的交易规格小于等于 MAX_BLOCK_SIZE,则虚拟子节点取出其中所有交易加入到区块提案中; (3)如果待办队列中的交易规格大于 MAX_BLOCK_SIZE,则虚拟子节点按接收的先后顺序取出其中的待办交易,加入到 MAX_BLOCK_SIZE 的区块提案中; (4)之后,根据 SHA-256 根节点从最小值到最大值排序的交易,虚拟子节点收集区块提案。 (5)如果待办队列为空,虚拟子节点会等待一个 BEACON_TIME 。如果之后队列仍为空,则创建一个不包含任何交易的区块提案。

在某个虚拟子节点创建了区块提案后,它将按照数据可用性协议通知其他的虚拟子节点。数据可用性协议保证了信息能够传递至绝大多数的虚拟子节点。

共识与轮次

对区块提案的共识采用异步二进制拜占庭协议(ABBA)。目前 SKALE 使用来源于 Mostefaoui et al 的 ABBA 协议的变体。

提案阶段结束后,每个收到提案 P 的绝大多数签名 S 的虚拟子节点 A 立即会在一个共识轮次 R 中对 ABBA 进行投票。协议如下: (1)对于每一轮 R,虚拟子节点会执行 N 个 ABBA 实例; (2)每个 ABBA[i] 相当于虚拟子节点 I 在区块提案中的一次投票; (3)每个 ABBA[i] 以一次「是」或「否」结束共识投票; (4) ABBA[i] 全部结束后,会有生成投票向量 v[i],它包括每次提案的「是」或「否」; (5)如果投「是」的仅有一票,相关的区块提案 P 则被提交至弹性侧链; (6)如果投「是」的有多票,则会用伪随机的数字 R 从「是」的投票提案伪随机性选出 P。选出的提案对 R 除以 N_WIN 剩下的部分进行索引,其中 N_WIN 为投「是」提案的总数; (7)随机数 R 是 ABBA 所有 COMMON_COIN(一种随机数源) 的总和。 (8)如果所有投票全是「否」,则向该区块链提交一个空的区块。所有投票都为「否」的可能性非常小,随着 N 的增加而降低。

一旦共识在任意虚拟子节点 A 上成功选出区块 P,虚拟子节点将执行以下算法以确定提案,并提交至区块链。 (1) A 会检查其是否收到选出的提案 P; (2)如果 A 未收到提案,它将向其对等的虚拟子节点提出申请,进行下载; (3) A 将对 P 签署一个签名碎片 S,并将其发送至其他全部的虚拟子节点; (4) A 等待接收来自包括其自己的绝大多数虚拟子节点的签名碎片; (5) A 一旦接收到绝大多数的签名碎片,就会把它们组合成一个阈值签名; (6)最后,A 把 P 与阈值签名 S 一同提交至区块链。

此外,SKALE 的容器化结构还为 dApp 开发者提供了企业级性能与选项选择,旨在实现中心化系统同等级别的灵活性、可配置性及模块化特性,提供 SKALE 管理服务、节点监控服务、虚拟子节点调配服务,并整合了一系列的应急策略和故障恢复方案,以应对网络攻击和故障等紧急情况。

SKALE 网络扩展

SKALE 开发了两个扩展包:文件存储与链间通讯。

文件存储

详解弹性侧链网络 SKALE:技术方案、跨链桥与代币经济图片来源:SKALE Network Blog

SKALE 网络的文件存储依赖于其内置的数据可用性协议,它确保了数据至少存储在每个弹性侧链 2/3 的虚拟化子节点上。fileStorage.js 是一个 npm 包,用户只需几行代码即可将 SKALE FileStorage 集成到他们的 dApp 中。并通过调用 uplodaFile、downloadFileIntoBrowser/downloadFileIntoBuffer、deleteFile 方法来对文件进行上传、下载和删除。
SKALE 网络用户可以把文件划分成 1MB 的「组块」,并提交至 fileStorage 智能合约,以连续的方式存储在每个节点的文件系统里。

链间通讯

详解弹性侧链网络 SKALE:技术方案、跨链桥与代币经济图片来源:SKALE Network Whitepaper

SKALE 网络采用了 BLS (Boneh–Lynn–Shacham)阈值签名。BLS 签名算法是一种可以实现签名聚合和密钥聚合的算法(即可以将多个密钥聚合成一把密钥,将多个签名聚合成一个签名),能够避免签名者之间的多余通信 [2]。

SKALE 网络中的每个弹性侧链都支持该签名,藉此能够实现快速安全的链间通讯。即 SKALE 网络中一条独立的弹性侧链能够验证另一条弹性侧链签名并提交的区块,使 SKALE 网络可以实现智能合约的执行及弹性侧链之间的加密资产转换。

IMA 跨链桥

详解弹性侧链网络 SKALE:技术方案、跨链桥与代币经济图片来源:SKALE Network Blog

SKALE 于今年七月推出了 IMA (Interchain Messaging Agent)跨链桥,允许用户在以太坊和任意一条 SKALE 链之间转移支持主流 ERC 标准的数字资产以及通用消息数据。

如果用户需要将资产从以太坊转移至 SKALE 网络,IMA 跨链桥会将以太坊上的资产存入到 Deposit Box 合约中,等待 10 个以太坊区块的确认,之后发送一个传输请求到一个称为 SKALE IMA Agent 的代理,该代理将轮流调用在 SKALE 网络中运行的 SKALE TokenManager 来在各自的 SKALE 链中处理这笔传输。

如果需要将资产从 SKALE 链转移到以太坊,则代币将在 SKALE 链上被燃烧并在以太坊主网上解锁。如果需要转移的代币是在 SKALE 链上铸造的,则作为转账的一部分,它将在以太坊上进行铸造,以保留该代币所有权。

SKALE 通证与治理

SKALE Token 代表作为验证节点参与到网络中的权力,或者作为开发者在某一段时间内部署和租用弹性侧链所获得资源的一部分。
(1)用户以弹性侧链的形式,在一段预先确定的时间内,通过订阅模式租用(计算、存储、带宽)资源。 (2)验证节点向网络中质押 SKALE 通证,然后获得运行节点、赚取交易费用和通货膨胀通证的权力。

通常来说,SKALE 治理采用委托质押模型,即利益相关者既可通过质押投票直接参与治理,也可将其投票权力委托给其他的利益相关者。SKALE 所采用的默认投票模型是一种简单的少数服从多数投票。提案通常包括一个为期 14 天的投票阶段。超过 90 天「忠诚而正式质押」的 SKALE 通证有资格就 SKALE 委员会提出的关键问题进行投票。

生态发展与投融资情况

SKALE 在去年 6 月上线了其主网的第一阶段。今年 5 月,在完成 Denali (德纳里峰)升级后,SKALE 链宣布其升级后的主网正式上线。此次网络升级将多链引入到以太坊,并为 SKALE 网络引入模块化架构,允许其包含本地和第三方链服务,包括文件存储、链间消息传递、Oracles、Rollups 等。并且引入了高性能 App-specific,这意味着每个 dApp 和协议都可以在它们自己的 EVM 兼容链上运行,这些链与其他网络流量隔离,但会继承以太坊主网的安全性。

详解弹性侧链网络 SKALE:技术方案、跨链桥与代币经济图片来源:SKALE Network Blog

今年七月底,SKALE 宣布了第一批在 SKALE 主网上运行的 dApps,包括:Boot.Finance (去中心化流动性协议)、Covey (投资组合分享应用)、CurioDAO (现实资产代币化平台)、Human Protocol (去中心化劳动力市场框架)、Ivy (NFT 和代币交易协议)、Minds (去中心化社交网络平台)。 此外,据 SKALE 官方消息,除了已经加入 SKALE Innovator 计划并正在平台上构建的 dApp 外,SKALE 还与 40 多个伙伴和验证者建立了合作关系。

SKALE 网络得到全球顶尖的 Validators 平台支持,包括 01NODE、Ankr、Anonstake、Audit One、Blockdaemon、Blockware、Chainflow、Chainode、Chorus One、Cypher Core、Dokia Capital、Figment Networks、FreshSkale、Hashed x DELIGHT、Hashquark、Staked、Stakin、StakedWithUs、WolfEdge Capital,以及 Staking Facilities。目前 SKALE 网络共有 48 个验证人,运行 160 个节点。

融资方面,SKALE Labs 早在 2019 年 10 月宣布筹集总共 1710 万美元的融资额,获得了 Arrington XRP Capital、Blockchange、ConsenSys Labs、Hashed、HashKey、Multicoin Capital、Recruit Holdings 等超过 40 个天使投资人和风投机构的支持。

小结

对比火热的 Rollup 扩容方案和 Polygon、xDai 等侧链项目,SKALE 似乎显得有些无人问津。作为 2017 年开始运作的老牌项目,SKALE 在 Denalis 升级的主网上线后有了一系列的生态进展,例如上线第一批 dApp、与其他项目和验证者平台建立合作关系等。随着各类扩容方案的纷纷落地,SKALE 多年的积累使其技术面上有相对稳定的优势,但仍需要在生态建设方面迎头赶上。

参考材料

[1] 侧链到底是什么?以及不是什么?以太坊爱好者

[2] 理解 BLS 签名算法,以太坊爱好者

[3] SKALE Network Whitepaper

[4] SKALE Network Blog