LOADING...
LOADING...
LOADING...
当前位置: 玩币族首页 > 币圈百科 > 为 Wisdom Chain引入Optimistic Rollup6.20

为 Wisdom Chain引入Optimistic Rollup6.20

2020-07-21 智慧链技术社区 来源:火星财经
加入Wisdom Chain社区,共建价值互联网!

加入Wisdom Chain社区,共建价值互联网!

本文来自Wisdom Chain公链文档知识库(Wisdom Chain.Doc).

Rollup是以太坊Layer2的一个重要概念

作为一种提高区块链吞吐量的技术,Rollup可以在有效提高网络吞吐量的同时,避免对协议层进行大量的更改,部署Rollup也不需要对网络发起硬分叉升级。

目前已有许多以太坊上的项目(如Celer,ANON等)采用了Rollup协议来替提高Dapp的吞吐量和用户体验。虽然Wisdom Chain本身已有数倍于以太坊的交易吞吐量,但对于更高频率的交易需求(如链上合约交易平台),目前的交易吞吐量还无法满足,或许Rollup协议会是一个不错的解决方案。

概述Rollup

Rollup协议有多种实现,我们以其中一种实现:Optimistic Rollup为例。

我们假设有一家公司,这家公司的每个员工会定期向Wisdom Chain发送交易,内容大概是今天做了XX事情。这里我们假设这家公司有2000名员工,每天需要发送两笔交易到Wisdom Chain上。该公司每天会为Wisdom Chain贡献约4000笔交易,每笔交易手续费约0.005WDC,那么每天的手续费消耗就是20WDC,每月手续费可达600WDC。

尽管目前WDC相对较低的价格和手续费设置让每月的交易费用似乎还可以接受,但随着Wisdom Chain知名度提高,使用人数的不断增多,势必会提高手续费成本。参考以太坊,这个公司每月的交易费用会接近200ETH,折合近38万rmb,对于公司而言如此高昂的手续费显然是不合理的。解决这个问题的方法之一,便是将交易从链上转移到链下,由一个可信的节点来负责收集交易并签署签名,如果这个节点能收集到该公司所有的交易内容,那么节点只需要付出一次交易手续费便能完成数据上链的过程,这便是Optimistic Rollup方案。

细节与步骤

在Optimistic Rollup中,首先我们需要设立一个可信任的节点,这个节点负责收集所有的交易信息、验证然后打包,打包后的信息集合将带上该节点的签名发送到区块链网络中。

当一个可信节点设置成功后,该节点将成为Rollup节点,这个节点需要同全节点一样,下载整个区块数据并实时更新区块状态。我们仍旧以之前那个公司为例子,假设目前有2000笔交易正在等待执行,公司的员工会将2000笔交易发给Rollup节点。之后,Rollup节点需要根据已有的状态和区块数据,对交易进行验证,并保存以下数据集(交易内容,交易前状态,交易后状态)。

当Rollup节点对所有交易完成了验证与执行并生成数据集后,节点需要对这个数据集进行签名,即 Sig Rollup节点|(交易内容,交易前状态,交易后状态)。最后将签名与数据集整合到一笔交易中,这个交易被称作断言Assertion,发送到区块链网络等待其他节点验证即可。需要注意的是网络中的其他节点并不会验证Rollup节点发来的数据集,仅仅只验证其签名,验证完毕后将根据数据集更新区块链网络状态。

正如其名Optimistic Rollup,实际上所有的Rollup协议由于将交易验证从链上转移到了链下,因此都是一种基于“乐观”的假设——假设大多数情况下Rollup节点不会作恶。但光有乐观假设是不足的,节点总会因为各种各样的原因出现问题。为了避免节点恶意行为,提高作恶成本,Optimistic Rollup中还有如下机制:

①Rollup节点需要向网络质押一定额度的代币,这些代币有一定的解锁时间,并会在Rollup节点做出恶意行为时被罚没。

②Rollup节点所提交断言不会被网络立即认可,存在一定时间的窗口期(一般是1周),如果其他节点认为该Rollup节点提交的断言存在恶意行为,节点可以质押一定押金并对该断言发起挑战,且区块链中的出块/验证节点会对该断言中的所有内容(包括数据集)进行重新验证、执行,比对交易状态的差距。如果的确存在恶意行为,那么Rollup节点的押金会被罚没,而发起挑战的节点则会获得一定奖励;如果不存在恶意行为,则发起挑战节点的押金会被罚没。另外,在窗口期结束时没有其他节点对断言发起挑战的话,断言中的状态信息将会被系数更新至区块链状态中。

Optimistic Rollup可以将多个交易信息经可信第三方聚合为单笔信息,由于交易中的状态变更情况是由链下节点验证而非链上节点验证,因此降低了区块链上节点的验证难度(仅需要验证Rollup节点所提交的签名,并更新由该节点提交的状态信息即可)。数据集虽然看起来并没有较单个交易的叠加更小,但数据集因为不会受链上节点的验证,故不需要为其支付高昂的手续费。依靠这种Layer2处理方案,可以很容易的提高区块链的有效吞吐量。

如何用在Wisdom Chain中?

结合WIsdom Chain的交易组成结构和验证规则,除了将Optimistic Rollup协议硬编码为规则来验证以外,交易自带的Payload空间也可用于该协议。

如果将Rollup协议编码为规则,那么该规则至少需要有以下元素:

事实上,由于Optimistic Rollup可以包含有其他事务或者智能合约的执行内容,单纯采用规则验证形式需要进行更深层面的设计(例如包含其他事务执行结果的Rollup交易应当如何进行等),这里仅仅只是一个粗浅的例子。

如果将Optimistic Rollup协议的内容聚合在Payload空间中,不形成规则验证,则需要单独设立Rollup协议的验证节点来根据Rollup节点发起的交易更新和验证状态信息。虽然这种方式可以很好的兼容其他事务的执行结果,但也复杂化了Rollup协议,提高了被攻击风险。具体的执行方法还需要进一步的探索和讨论。

不置可否的是,Rollup协议的简单构造能令其兼容许多区块链项目,Wisdom Chain也不例外。虽然目前WIsdom Chain链上交易尚不能说“拥堵”,但未雨绸缪,未病先防的思想是值得参考的,当Wisdom Chain的知名度提升,使用人数增多后,如果依然维持目前的情况,那么交易手续费和验证难度将会是不得不面对的难题,这也是Optimitic Rollup大显身手的地方。

本文来源:智慧链技术社区
原文标题:为 Wisdom Chain引入Optimistic Rollup6.20

—-

编译者/作者:智慧链技术社区

玩币族申明:玩币族作为开放的资讯翻译/分享平台,所提供的所有资讯仅代表作者个人观点,与玩币族平台立场无关,且不构成任何投资理财建议。文章版权归原作者所有。

LOADING...
LOADING...