木星链 木星链
Ctrl+D收藏木星链

ROL:引介 | Layer 2 方案概览:从状态通道到 Roll Up

作者:

时间:1900/1/1 0:00:00

虽然区块链得到了日趋广泛的采用,当代协议的负载量却十分有限,因此涌现出了许多Layer2协议,例如状态通道、侧链、Plasma和RollUp。本文深入探究了这些方案各自的技术细节和优缺点。

所有Layer2解决方案的核心思路都是让多个参与方通过某种方式实现安全交互,无需将交易发布在主链上,不过在某种程度上还是要利用主链作为仲裁方来确保其安全性。

不同的Layer2方案有不同的特征和优缺点。我个人最看好的Layer2方案是RollUp,会在下文详细阐述。

感谢Jones(PlasmaGroup)、TomClose(Magmo)、PetrKorolev和GeorgiosKonstantopoulos对本文初稿的审阅。

状态通道

我们先来看看入门级的Layer2方案——支付通道。支付通道是如今最广泛采用的Layer2方案。例如,闪电网络就是建立在支付通道技术上的。

支付通道是状态通道这个大概念下的一个具体实例。关于状态通道的发展史可以参见维基上的概述。状态通道是固定一组参与者之间的协议,用以实现安全的链下交易,其中支付通道专门用来支付。支付通道协议具体如下:两名参与者各自通过链上交易在链上锁定保证金,比方说,价值10美元的比特币。一旦锁定完成,参与者双方即可互相发送形式为的状态更新来实现转账,无需与主链进行交互,只要双方的余额都还为正值即可。

一旦参与者中有一方想要停止使用支付通道,可以执行“退出”操作:将最后的状态更新提交至主链,结算下来的余额会退给发起支付通道的两方。主链可以通过核实签名和最后结余来验证状态更新的有效性,从而防止参与者使用无效状态来退出支付通道。

代币化货币基金总市值今年已增长两倍至近5亿美元:5月20日消息,据CoinDesk编制的数据,代币化货币市场基金总市值今年已增长两倍至近 5 亿美元,包括了规模为 2.76 亿美元的 Franklin OnChain U.S. Government Money Fund、规模为 1.32 亿美元的 OUSG 和规模为 7200 万美元的 SBTB。[2023/5/20 15:15:12]

这种“退出”模式存在一个问题,即主链无法验证支付通道是否提交了全部交易,也就是说,在提交了状态更新之后是否不再出现新的状态更新。我们可以考虑这样一个场景:

假设在初始状态下Alice有11美元而Bob有9美元,Alice向Bob发送了一个状态更新——向Bob转账7美元,并等待Bob向她提供服务,然后在7美元还没到账之前就退出了支付通道。由于主链不知道还有另外的状态更新,会将“退出”交易视为有效。

这个问题的解决方案是,在Alice发起退出交易之后,为Bob留出一段时间的“挑战期”。在此期间,Bob可以提交未完成结算的状态更新,里面包含Alice的签名,而且轮次数也高于Alice在退出时提交的状态更新。在上例中,Bob可以在挑战期内提交最后一个状态更新,也就是Alice向他转账7美元的状态更新,并且索要16美元的余额,而不是被Alice提交的状态搞得只剩下9美元。

虽然目前的退出机制设计非常安全,但是主要麻烦的一点在于:参与者可能得等待比较长的一段时间,通常是24小时,才能退出,而且需要频繁监控主链以确保他们的交易对手方没有使用过去的某个状态退出。可以通过WatchTowers技术将监视全网的任务委托给第三方。更多关于暸望塔的文章可以阅读这篇和这篇。

美联储掉期定价在美联储2023年7月的政策利率峰值将达到5.27%:金色财经报道,美联储掉期定价在美联储2023年7月的政策利率峰值将达到5.27%。[2023/2/14 12:06:42]

为了避免这种不必要的等待,双方可以通过许多实现来达成“协同关闭”。其中,参与者可以签署一个“结束证明”。有了这个证明之后,另一方无需等待挑战期结束即可退出。

支付通道可以广泛应用于任意的状态转换,而非仅仅局限于支付一途,只要主链可以验证这些状态转换的正确性即可。例如,状态通道可以用来下棋,棋手可以将各自的走棋作为交易发送给对方。

虽然存在不便之处,但是状态通道已广泛应用于支付、游戏等用例,因为这种技术具有即时确定性,无需参与者交纳除质押和退出费用以外的其他费用,而且在结构上相对简单。

虽然状态通道的广义定义较为简单,而且考虑到了所有极端情况,可以防止一方非法占有另一方的资产,但是实现起来比较复杂。Whiteboard系列中有一个视频来自Magmo团队的TomClose,深入分析了构建安全状态通道的复杂性。

状态通道网络

状态通道的另一个缺点是只能在两个参与者之间开设。你可以通过N/N多签机制在多个参与者之间维护一条状态通道。不过相比之下,具备相同功能的Layer2方案更为理想,使得彼此之间未开设状态通道的参与者也能直接进行交易。

状态通道还有一种很有趣的架设方法。如果Alice跟Bob之间有一条状态通道,Bob和Carol之间也有一条状态通道,那么Alice就可以通过Carol安全且自动地转账给Bob。这样就可以构建一个完整的状态通道网络,容许大批量的参与者彼此进行交易,无需在每一对参与者之间开设状态通道。

Meta因数据抓取泄漏在欧洲被罚款2.76亿美元:11月28日消息,欧洲主要隐私监管机构爱尔兰数据保护委员会周一对 Facebook 母公司 Platforms Inc. 处以 2.65 亿欧元(约合 2.76 亿美元)的罚款,原因是未能更好地保护超过 5 亿用户的电话号码和其他信息免受所谓的数据抓取工具的侵害。(华尔街日报)[2022/11/28 21:08:04]

这就是闪电网络的设计思路。Whiteboard系列中有一个视频是DanRabinson讲解Interledger,深入分析了闪电网络的设计,可以点击这里查看。

侧链

侧链的核心思路是构建一条完全独立的区块链,有自己的验证者和运营者,可以与主链互相转移资产,而且会选择性地将区块头的快照发送至主链,从而防止分叉产生。有了这些快照,就可以有效防止分叉,即便侧链上的验证者串谋起来发动分叉攻击也没用。

从上图可以看出,侧链会生成区块并将它们的快照发送至主链。所谓的快照就是存储于主链上的区块哈希。侧链上的分叉选择规则是,合法的链必须构建在最近一个进行过快照的区块之上。在上图所示情况下,区块A的快照已经发送至主链,即使侧链上的验证者勾结起来,试图在区块A生成之后生成一条更长的A’<-B’<-C’链来发动双花攻击,侧链上的参与者也会忽略这条更长的链。

如果参与者想要将主链上的资产转移至侧链,他们就要将这部分资产“锁定”在主链上,并向侧链提供锁定证明。如果要解锁主链上的资产,就要在侧链上发起一个“退出”交易,并在该交易被打包上侧链之后提供退出证明。

虽然侧链可以利用主链的安全性来防止分叉,但是验证者依然可以通过串谋来发动另一种叫做无效状态转换的攻击。这种攻击背后的思路是,主链本来就不可能验证侧链上的所有区块。因此,如果有超过50%或66%的验证者串谋的话,他们可以创建一个完全无效的区块,窃取其他参与者的资产,并将这个区块的快照发送至主链,发起并完成一个“退出”交易,就可以成功偷走这些资产。

DeFi Kingdoms将在Klaytn上推出游戏部分Serendale:金色财经报道,DeFi Kingdoms将在以元宇宙为重点的区块链Klaytn上推出名为Serendale的游戏部分。此举是在Harmony区块链网络成为黑客攻击目标后不到两个月的时间。

DeFi Kingdoms的一位发言人证实,这意味着它将完全离开Harmony。新合作伙伴Klaytn是韩国互联网巨头Kakao Corp的产品,自2019年以来一直存在。今年早些时候,它转变成以元宇宙、游戏和以创作者为中心的连锁店。?[2022/8/23 12:43:08]

我们之前写过一篇关于分片机制下无效状态转换问题的概述。这个问题一对一对应到侧链语境下,侧链就相当于概述中的分片,主链就相当于概述中的信标链。

那篇概述中还提到了避免无效状态转换问题的解决方案,不过目前还没有践行。大多数侧链都是基于验证者串谋人数占比不超过50%的设想之上的。

Plasma

Plasma是一种可以实现“无监管”侧链的技术,换言之,即使侧链上所有验证者串谋起来作恶,plasma链上的资产也是安全的,而且可以退回主链。

最简单的plasma设计通常被称为PlasmaCash,只支持简单的非同质化代币,而且每个交易转移的资产只能是一个特定的常量。PlasmaCash的运行方式如下图所示:

每个区块都含有一个稀疏默克尔树,它的叶节点则包含某个代币所有权的变更。以上图为例,一共有4个代币处于流通中。在区块B中,代币1、3和4没有被换手,而代币2被转移到了Alice手中。如果区块D中包含一个由Alice签署的将代币2转移至Bob的交易,则区块D中的代币2会从Alice手中转移至Bob手中。

知情人士:EquitiesFirst欠Celsius 4.39亿美元未偿还:金色财经报道,两位知情人士表示,Celsius首席执行官Alex Mashinsky在周四提交的破产保护文件中指出的 \"私人借贷平台 \"就是EquitiesFirst。法庭文件称,这两家公司之间的关系最初来自于Celsius早在2019年作为借款人的交易。2021年7月,Celsius寻求偿还贷款并取回抵押品,但被告知它无法做到这一点。根据该报告,当时欠Celsius的变成了EquitiesFirst。虽然债务正在稳步偿还,但仍有4.39亿美元--由3765个比特币和3.61亿美元的现金组成--未偿还。(《金融时报》)[2022/7/15 2:16:37]

一个代币从主链转移到Plasma链上之后,如果一方要将这个代币转移给另一方,则需要提供这个代币的完整历史。在上例中,如果Bob想要将代币2转给Carol,那么之前每个区块内的交易情况就会作为条目记录在这个交易内,如果之前发生过所有权变更,需将相关默克尔证明记录在内,反之记为空值。

Plasma链会将所有区块头的快照发送到主链上,Carol可以验证是否所有的默克尔证明都跟之前通过快照发送至主链的哈希值相符,以及每个区块中的所有权变更是否有效。一旦这个交易被打包成区块放到plasma链上,Bob将代币2转给Carol的条目就会记录在默克尔树上,Carol就成了代币2的所有者。

因为Plasma是建立在运营者随时都能串谋作恶的设想上的,所以用户没法做到即时退出,而且需要有一个退出机制。尽管我们上文讨论的架构相对简单,但是退出机制非常复杂。Whiteboard系列视频中有一节是由来自LoomNetwork的GeorgiosKonstantopoulos分享的,深入分析了PlasmaCash的技术细节,介绍了LoomNetwork采用的退出机制,其中还提到了一个例子是,运营者可以通过隐瞒数据从诚实的参与者处窃取代币,或是发起攻击之后,DanRobinson提出了一个较为简单的退出机制,可以解决这个问题,然后又发现通过给区块重新排序可以打破这个机制。

总而言之,Plasma最大的优点是存储在plasma链上的代币安全性很高。无论发生了以下何种情况:plasma运营者创建了一个无效状态转换、plasma运营者发起扣块攻击、plasma运营者彻底停止出块,诚实的参与者都可以确信自己能够取回代币。在上述情况下,或者笼统地说,在任何情况下,代币都不会丢失。

缺点在于,在转移代币之时必须提供该代币的完整历史,另外就是退出机制非常复杂。

想了解更多技术细节的话,可以参见上文提过的LoomNetwork团队人员的分享视频,以及来自Plasma团队的BenJoines的分享视频。其中,Ben谈到了PlasmaCashFlow,这是一个比较复杂的PlasmaCash设计,能够实现任意金额的交易。

RollUp

正如我在讨论侧链时提到的那样,解决侧链的无效状态转换问题的方法之一是提供密码学证明来证明之前每次状态转换都是正确的。最近,MatterLabs就依据这种方法构建了一个叫做RollUp的技术,其构想最初是由BarryWhiteHat在ethresear.ch上提议的。

RollUp实际上是一条侧链,因此它会生成区块,并且将这些区块的快照发送到主链上。不过,RollUp上的运营者是无需信任的。也就是说,RollUp假定运营者可以在任何时候做出停止出块、生成无效块、隐瞒数据等恶意行为。

与一般的侧链相似的是,如果某个区块的快照已经发送至主链,那么RollUp上的运营者只能在这个区块之后发动分叉攻击。因此,一旦某个区块的快照发送到了主链上,这个区块就得到了最终确定,RollUp链上进行过快照的区块也是如此。

为了避免状态有效性问题,每当RollUp运营者要对某个区块进行快照之时,都要提供一个SNARK,证明链已经使用相关的一组交易执行了有效的状态转换。以下图为例:

RollUp链上有三个区块:A、B和C。它们的快照分别对应主链上的区块X、Y和Z。每到一个时间点,主链只需要存储RollUp链上最新状态的默克尔根。在区块A进行快照之时,发送到主链上的交易包括:

新状态S2的默克尔根h(S2)。

S2的完整状态数据,或区块中的所有交易。

一个zk-SNARK,证明在从状态哈希h(S1)到状态哈希h(S2)之间的所有交易都是有效的,并且这些交易都与中提供的数据相匹配。

该交易证实了zk-SNARK是有效的,并在链上存储了新的默克尔根h(S2)。重要的是,该交易虽然不会将A中的完整数据存储在状态中,但是会将其保存在调用数据内,以便日后调用。

事实上,将完整的区块存储在调用数据中的做法在某种程度上是个瓶颈,不过可以解决数据可用性问题。目前,MatterLabs构建的RollUp需要1分钟的时间来计算出一个交易的SNARK,每个交易需要消耗1Kgas,并占用主链上9个字节的调用数据。

在这样的设计下,除了离线之外,运营者不能做其他恶意行为:

不能隐瞒数据,因为对区块进行快照的交易必须提交完整的区块或者完整的状态作为证明,并验证交易内容是正确的,之后交易内容会保存在主网上的调用数据内。

不能生成含有无效状态转换的区块,因为必需提交一个zk-SNARK来证明状态转换的正确性,而无效区块是无法计算出zk-SNARK的。

无法发动分叉攻击,因为分叉选择规则始终认可最新进行过快照的区块所在的那条链,即使这条链不是最长链。

虽然这种Layer2方案没有显著扩大调用数据中的存储空间,但是实际消耗的可写存储量是恒定的,链上验证的gas成本低至1kgas/tx,是主链交易的1/21。

重要的是,假设RollUp上的运营者彼此合作的话,就可以实现即时退出,不会涉及到退出机制。这些特征使得RollUp链成了目前最炙手可热的Layer2方案之一。

结束语

我目前在开发一个名为Near的Layer1分片协议。一个常见的误解是Layer1分片协议与Layer2扩容方案存在竞争关系。实际上并非如此,分片协议的实现不会影响到Layer2扩容方案的使用。

Layer2为特定用例而设计,能够在维持较低成本的同时提供较高的吞吐量,即使是在Layer1区块链的扩展性有了显著提高的情况下。

标签:ROLASMLASSMAroll币出獠牙肩几率jasmy币热度过去了吗BLAST价格smartnetyet

币安app官方下载最新版热门资讯
加密货币:加密货币对“穷人”有何好处?

近几十年来,工业化使许多国家摆脱了贫困,但在亚洲、南美、特别是非洲的大部分地区仍然缺乏先进的基础设施,它们不仅贫困,而且普遍存在通货膨胀和腐败问题.

1900/1/1 0:00:00
GECT:关于ZT GECT交易指数排名赛火热开启的公告

尊敬的ZT用户:GECT交易指数排名赛火热开启!在ZT.com交易所,交易并持有GECT,瓜分超100000枚GECT!!!活动时间:2019年7月9日10:00至7月16日24:00活动期间.

1900/1/1 0:00:00
USD:关于火币全球站FastTrack第二期投票(7月10号)细则

尊敬的用户:火币全球站于新加坡时间7月10日正式开启第二期FastTrack投票上币,本轮将对两个候选项目进行一对一明票PK,上币项目将各出让原价约为50万USDT等值项目代币.

1900/1/1 0:00:00
UST:FOMO3D团队携新作回归 升级版游戏再次燃爆盛夏?

还记得去年下半年引爆整个币圈的资金盘游戏FOMO3D吗?就是这个游戏的开发团队?TeamJust?,近期携新作品Just.Game回归了.

1900/1/1 0:00:00
区块链:区块链专利申请量断崖式下降:阿里腾讯跌出十强 网心逆市晋身前四

经过2018年的抢滩,2019年上半年区块链专利申请有些降温。互链脉搏查询innojoy专利平台,结果显示2019年上半年中国区块链专利申请量909件,仅仅为去年全年5606件的16.2%.

1900/1/1 0:00:00
BTC:链金术丨没有绿叶陪衬的红花能艳多久?

整体市场趋势7月8日,全球加密货币总市值约为3355.69亿美元,整体市值呈现震荡向上的趋势,目前BTC占中市值比重升约62.6%;加密货币24小时总交易量仅652.56亿美元.

1900/1/1 0:00:00