火星链 火星链
Ctrl+D收藏火星链
首页 > BNB > 正文

SMA:引介 | 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美元的比特币。一旦锁定完成,参与者双方即可互相发送形式为的状态更新来实现转账,无需与主链进行交互,只要双方的余额都还为正值即可。

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

Beosin:civfund的ETH合约遭到攻击,损失18万美元:金色财经报道,据Beosin监测,civfund的ETH合约遭到攻击,损失18万美元。受害者合约0x7CAEC5E4a3906d0919895d113F7Ed9b3a0cbf826不是开源的。攻击者调用uniswapV3MintCallback来转移其他用户批准的资金。请尽快撤销对受攻击合约的批准。[2023/7/8 22:25:30]

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

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

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

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

数字银行平台TymeBank完成7700万美元pre-C轮融资,腾讯参投:金色财经报道,南非数字银行平台 TymeBank 宣布已完成 7700 万美元 pre-C 轮融资,成长阶段基金 Norrsken22 和瑞士投资公司 Blue Earth Capital 领投,知名科技集团腾讯参投并成为了 TymeBank 的第三大股东,此前腾讯是 TymeBank 在 2021 年 12 月进行的 7000 万美元 B 轮 + 融资的主要投资者。据悉,TymeBank 已将“部分”总部设在新加坡,拟专注于新兴市场开发和数字银行运营,推动其客户从传统现金存款向数字支付方式进行转变。(bitcoinke)[2023/6/1 11:52:13]

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

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

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

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

状态通道网络

Astra获得1000万美元的A轮融资并获得3000万美元的信贷额度:金色财经报道,即时卡对卡融资服务供应商Astra今天宣布获得1000万美元的A轮融资,由FPV Ventures领投,Slow Ventures和Allegis Capital以及通过Co Venture提供的3000万美元信贷额度,以支持该公司在支付行业的快速扩张。据Nacha称,仅在2021年,处理全国金融交易的ACH网络就转移了72.62万亿美元。

本轮A轮资金将支持Astra团队的扩展,特别关注工程和合规资源,以进一步实现从任何来源到任何目的地的更快支付。(businesswire)[2022/10/14 14:27:52]

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

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

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

侧链

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

瑞典金融科技公司Klarna宣布新一轮裁员:金色财经报道,瑞典金融科技公司Klarna在其首席执行官表示通过裁员削减成本的几周后,该公司宣布了新一轮裁员。公司发言人表示,在夏季任命新的首席运营官后,做出改变是很自然的。最新的裁员“调整”力度将小于5月份,最新的裁员将影响全球约100名员工。

此前5月,该公司解雇了大约700名员工,约占当时员工总数的10%。(the block)[2022/9/22 7:14:33]

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

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

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

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

日本金融厅年度金融行政政策发布,包含针对数字货币、Web 3.0等措施:9月2日消息,日本金融厅近日发布关于2022年度金融行政政策,其中包含推动数字货币、加密资产等环境的发展,从金融角度推动Web 3.0和元宇宙的发展的计划。文件称,日本将稳步实施和运营稳定币系统,并将简化自律组织对加密资产交易所处理的加密资产的预审查,明确对区块链上发行的项目和内容的加密资产资格的解释。

此外,日本金融厅将开发一个系统来处理与发行人持有的部分加密资产的税收相关的问题,并允许信托银行托管加密资产。此外,将努力改善在日本自营交易系统(PTS)上交易证??券代币的环境,继续考虑去中心化金融等。[2022/9/2 13:04:51]

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

Plasma

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

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

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

一个代币从主链转移到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币是什么意思Phantasma EnergyFlashswapsmars币官方推特

BNB热门资讯
PRIME:抽签 高持仓要求 火币Prime的真实目的是?

7月16日20:00,火币Prime四期项目Akropolis(AKT)将正式启动上线交易。近几日,比特币横盘迹象明显,似乎是想让广大人在前些日的狂飙突进之后可以适时地舒缓一下,正好可以在这个时.

1900/1/1 0:00:00
BAN:LBank Solar「Neptune」项目?CYE? ( Cyber Nerve ) 认购结果公布

尊敬的LBank用户:LBankSolar「Neptune」项目?CYE?(CyberNerve)于2019年7月5日14:00-16:00内认购下单,2小时内下单同等对待.

1900/1/1 0:00:00
数字货币:重磅|央行王信:Libra必然冲击法币 央行如何应对?(附今日演讲全文)

在7月8日举办的数字金融开放研究计划启动仪式暨首届学术研讨会上,中国人民银行研究局局长、货币经营局负责人王信关于央行对于国际上主要的组织和央行对数字金融、对金融科技的一些关注点以及从政策的角度分.

1900/1/1 0:00:00
MAT:Matrix首度亮相 吴忌寒隐身幕后

7月8日,蛰伏7个月的Matrix正式上线。官网显示,Matrix全名为Matrixport,是一个一站式数字资产金融服务平台,主要为企业、个人用户提供数字资产的交易、借贷、托管以及支付服务.

1900/1/1 0:00:00
OTCoin:关于Hotcoin Global韩语正式上线公告

尊敬的用户:????HotcoinGlobal已于2019年7月3日18:00正式上线韩语版。官网及APP会同步支持韩语界面和韩语的显示.

1900/1/1 0:00:00
BTC:BTC处于三角收敛末端 随时迎来变盘走势

日线走势,BTC目前仍处于前期5200美元启动至目前的长期上行趋势线上方运行,在最高向上插针至14000美元阶段高点后然后币价进入下降三角形区间内一路震荡下行,日线反弹高点逐步降低.

1900/1/1 0:00:00