SKALE网络:为什么随机数、节点轮换以及激励对安全性扩容至关重要(上)

关于SKALE 网络及其重要性

SKALE正在基于以太坊开发一层基础设施,为开发者提供更快的开发速度与更好的性能。我们的做法是构建一个弹性区块链网络,它上面有成千上万个独立区块链、侧链、存储链和其他类型的子链——这些区块链都连接着以太坊主网。SKALE网络由上千个独立验证节点组成,结合了一层网络(Layer 1)的安全性,但使用资源的方式更加高效、用途更广。例如,SKALE网络中的1,000个验证节点可以支持8,000个相互独立的区块链。这些区块链可以是小型的侧链,也可以是非常大型的公共和私有区块链

SKALE采用的方法并不是说我们要发明一种新的区块链。我们专注于帮助开发者扩展以太坊智能合约,更快地开发dApp——通过一个安全的二层网络(Layer 2)解决方案来实现,其安全模型紧密联系着以太坊主网。

通过SKALE 弹性区块链或侧链, dApp的区块时间达到亚秒级,并且吞吐量可达每秒2,000笔交易。它们能够执行全状态智能合约,利用复杂的存储和机器学习算法,大幅降低甚至免除gas费用以及其他面向用户的交易成本。SKALE网络还支持链间通讯,让dApp的状态更新与主网保持一致。它们都有着高级别的安全防护。最后,每个SKALE区块链还为dApp提供文件存储功能,支持它们运行端到端的去中心化应用、网站、游戏等。

现阶段,大多数侧链协议安全性不足。原因是现有的大多数解决方案都倾向于使用一小部分节点来验证区块链,而且这些节点通常固定不变。在这个模式中,应用开发者可能会遇到一些严重的共识层风险,包括共谋、贿赂和其他可能影响交易有效性的恶意举动。

消除Layer 2解决方案中的安全风险

第二层侧链或子链中交易的安全性和有效性主要取决于验证节点的性能和表现。为了确保验证层正常运行,某个网络首先要有大量的验证节点。网络节点数量过少会引发潜在的风险和脆弱性。

此外,一个网络要做到安全可靠,它必须提供a)随机选出区块链的验证节点和b) 频繁轮换区块链内外的节点。如果无法确保随机性和轮换性,验证节点相互贿赂和/或勾结的风险就会大很多,从而大大降低了网络中区块链的安全性和完整性。

SKALE网络采用一个联合验证模型

第二层方案最后一个条件是适当的激励结构,来对节点进行惩罚和奖励。为了确保追索权,每个验证节点都应该向网络中投入大量的价值。质押(Staking)是良好行为的催化剂,因为如果验证节点相互串通或实施拜占庭式攻击被抓获后,它就会损失质押的代币,并且从网络中被剔除。对于SKALE,验证者质押的金额级别在10万美元(或者更高,随着代币价格上涨)。

在一个采用随机挑选节点和频繁节点轮换的联合验证模型中,作恶者要强迫或贿赂侧链的验证节点,它就必须收买较大网络中的三分之二节点。而在整个网络中有大量节点的情况下,做到这一点是极度困难的。SKALE的网络设计就是基于这些核心原则,并且会阻止攻击(即使无法完全消灭外来攻击),保持网络中每个区块链交易的完整性。

联合验证模型的工作原理

去中心化网络的设计仍处于起步阶段,因此联合验证模型偶尔出错也不奇怪。同样让人忽视的还有:SKALE此举创新是如何防范共谋和贿赂,以及从安全模型核心延伸出来,它与以太坊主网的密切关系。

如上所述,SKALE网络是一个节点组成的网络,这些节点并行且独立地运行,验证它们所监视的区块链和侧链中的交易。这些节点都使用一组只运行在以太坊主网的SKALE合约。这些智能合约负责SKALE代币的发行、代币通货膨胀以及为验证节点分配奖励。它们还肩负分析网络性能的任务;如果一个或多个节点有不良行为,还会采取纠正措施。

在SKALE网络中创建一个区块链非常简单。首先,开发者需要准备一些SKALE代币。(通过SKALE部署界面中的去中心化部件,ETH很容易兑换为SKALE。)然后他们选择区块链的规格、存储空间和区块链初始持续时长(如3、6或12个月)。接着开发者向网络转入相对应数量的代币。这些代币会通过以太坊上的一个SKALE合约质押到以太坊主网。每个月,这名开发者质押代币中的一部分被转移到奖励池中,分发给网络中的验证节点。同时,代币每个月都会通胀一次,新的SKALE代币通过主网上的智能合约铸造出来(参见下文注释)。这些新代币也被注入奖励池中,支付给验证节点。

有一点需要强调的是,尽管托管是在SKALE侧链中,但SKALE网络的安全性根植于以太坊主网。验证节点的质押、开发者的支付以及代币通货膨胀都是位于以太坊主网,并且由它上面的智能合约所控制,这些合约与每个SKALE节点相辅相成。

这种方法与其他(尝试通过与主网交互,进行验证和/或欺诈证明的)Layer 2模型不同。SKALE使用以太坊主网进行质押和其他操作,以便更好地协助可靠且值得信任第2层网络的创建。SKALE还将为需要完全依赖于主要网络保管的使用场景提供BLS Rollups技术。

关于代币通胀的更多信息

一个位于以太坊主网的智能合约控制着SKALE代币的膨胀。每个月,新代币会按照合约预先设定的计划和速率释放出来。主网上合约的透明性让所有人都能够监督通货膨胀的进度和速率。合约中有一个这样的设定,代币释放在第四年进行一次减半,第七年再减半一次。请注意,社区可以通过链上投票决定调整(提高或者降低)通货膨胀率。

SKALE网络的运行和组织原理

SKALE网络中验证节点的运行和组织都是相互独立的。网络中不存在一个中心化节点控制器来决定者某个节点应该服务于哪个区块链。相反,节点们共同执行随机性和轮换以及决定服务哪个区块链的算法。每个节点都像一台无人机,在主网和节点网络中穿梭,以一种去中心化但相互协调的方式进行通讯。

大量的网络操作由一个节点核心控制,这个节点核心是每个SKALE验证节点的一个组成部分,它负责网络审计、调配和管理。节点核心还承担着以下责任:收集其他节点的运行指标,对指标进行处理,然后将这些数据上传到位于主网的智能合约。

验证节点由虚拟化子节点和节点核心组成

关于如何启动一个区块链,开发者首先要确定区块链的各种参数(尤其是规格、存储容量和持续时间),然后向主网质押一定代币。这些操作通过一个网络接口来实现,该网络接口利用Web3 API连接到SKALE网络。创建一个新区块链的请求会随机传递到某个节点,接着该节点的节点核心会连接主网,主网上的智能合约随机从可利用节点池分配一组节点(给这个新区块链)。主网确认后,这些节点将共同服务于这个新区块链。

每隔一段时间,节点就会从一个或多个区块链中删掉,然后加入不同的节点。节点核心持续检查主网,在得到主网的分配任务后,它们也会进行轮换。轮转会按照主网合约写定的固定时间表进行。节点监视着网络并进行轮换——退出当前区块链,然后连接和服务于新的区块链。

SKALE链中的节点会规律性和随机性地轮换,从而利用整个网络的安全池

请注意,开发者可以随时调整区块链参数。这些调整会下一次设定好的网络轮换生效。(参数调整请求会发送至某个节点核心,节点核心随后将它传播到主网,对应的智能合约把资源调整传到当前管理和运行区块链的节点。)

本文是两篇系列文章中的第一篇。第二篇(即最后一部分)将讨论验证节点的角色、质押的重要性、代币的网络效应等等。您可以点击这里阅读第二部分。