链资讯 链资讯
Ctrl+D收藏链资讯

GAS:简析Layer2系统的安全性和效率取舍_KSW

作者:

时间:

前言:

感谢MatterLabs提出关于部分L1数据链上可用性的问题,我们一直以来都非常重视社区的声音,并会根据社区的需求修改方案。因此,我们想借着这次机会向大家分享ZKSwap开发团队辛勤工作所交付的产品背后的一些思考。

经过非常谨慎细致的思考之后,为了TPS和Gasfee的效率,我们决定将ZKSwap的L2转账放在链下。在ZKSwap的设计中,L1相关的数据在链上,L2相关的数据,比如转账和交易,存在链下。尽管存在链下,这部分数据也会被验证者实时公布。

例如,L2区块7831:https://api.zkswap.info/block/7831/pub-data

三种转账类型

ZK-Rollup协议中,一个区块可以包括三种类型的转账:

Beosin:UVT项目被黑客攻击事件简析,被盗资金已全部转入Tornado Cash:金色财经报道,据Beosin EagleEye 安全预警与监控平台检测显示,UVT项目被黑客攻击,涉及金额为150万美元。攻击交易为0x54121ed538f27ffee2dbb232f9d9be33e39fdaf34adf993e5e019c00f6afd499

经Beosin安全团队分析,发现攻击者首先利用开发者部署的另一个合约的具有Controller权限的0xc81daf6e方法,该方法会调用被攻击合约的0x7e39d2f8方法,因为合约具有Controller权限,所以通过验证直接转走了被攻击合约的所有UVT代币,Beosin安全团队通过Beosin Trace进行追踪,发现被盗资金已全部转入Tornado Cash。[2022/10/27 11:48:46]

类型1:来自L1的存款和创建AMM交易对的转账;

安全团队:获利约900万美元,Moola协议遭受黑客攻击事件简析:10月19日消息,据Beosin EagleEye Web3安全预警与监控平台监测显示,Celo上的Moola协议遭受攻击,黑客获利约900万美元。Beosin安全团队第一时间对事件进行了分析,结果如下:

第一步:攻击者进行了多笔交易,用CELO买入MOO,攻击者起始资金(182000枚CELO).

第二步:攻击者使用MOO作为抵押品借出CELO。根据抵押借贷的常见逻辑,攻击者抵押了价值a的MOO,可借出价值b的CELO。

第三步:攻击者用贷出的CELO购买MOO,从而继续提高MOO的价格。每次交换之后,Moo对应CELO的价格变高。

第四步:由于抵押借贷合约在借出时会使用交易对中的实时价格进行判断,导致用户之前的借贷数量,并未达到价值b,所以用户可以继续借出CELO。通过不断重复这个过程,攻击者把MOO的价格从0.02 CELO提高到0.73 CELO。

第五步:攻击者进行了累计4次抵押MOO,10次swap(CELO换MOO),28次借贷,达到获利过程。

本次遭受攻击的抵押借贷实现合约并未开源,根据攻击特征可以猜测攻击属于价格操纵攻击。截止发文时,通过Beosin Trace追踪发现攻击者将约93.1%的所得资金 返还给了Moola Market项目方,将50万CELO 捐给了impact market。自己留下了总计65万个CELO作为赏金。[2022/10/19 17:32:31]

类型2:L2发起且只能被L1验证的转账。比如,公钥转账将需要L1签名来确保L1账户的密钥所有者能将他们的账户与L2账户关联起来,因为电路不能检查确认L1的签名;

慢雾:跨链互操作协议Nomad桥攻击事件简析:金色财经消息,据慢雾区消息,跨链互操作协议Nomad桥遭受黑客攻击,导致资金被非预期的取出。慢雾安全团队分析如下:

1. 在Nomad的Replica合约中,用户可以通过send函数发起跨链交易,并在目标链上通过process函数进行执行。在进行process操作时会通过acceptableRoot检查用户提交的消息必须属于是可接受的根,其会在prove中被设置。因此用户必须提交有效的消息才可进行操作。

2. 项目方在进行Replica合约部署初始化时,先将可信根设置为0,随后又通过update函数对可信根设置为正常非0数据。Replica合约中会通过confirmAt映射保存可信根开始生效的时间以便在acceptableRoot中检查消息根是否有效。但在update新根时却并未将旧的根的confirmAt设置为0,这将导致虽然合约中可信根改变了但旧的根仍然在生效状态。

3. 因此攻击者可以直接构造任意消息,由于未经过prove因此此消息映射返回的根是0,而项目方由于在初始化时将0设置为可信根且其并未随着可信根的修改而失效,导致了攻击者任意构造的消息可以正常执行,从而窃取Nomad桥的资产。

综上,本次攻击是由于Nomad桥Replica合约在初始化时可信根被设置为0x0,且在进行可信根修改时并未将旧根失效,导致了攻击可以构造任意消息对桥进行资金窃取。[2022/8/2 2:52:59]

类型3:由L2签名验证而无法被L1验证的转账。

慢雾:Harmony Horizon bridge遭攻击简析:据慢雾安全团队消息,Harmony Horizon bridge 遭到黑客攻击。经慢雾 MistTrack 分析,攻击者(0x0d0...D00)获利超 1 亿美元,包括 11 种 ERC20 代币、13,100 ETH、5,000 BNB 以及 640,000 BUSD,在以太坊链攻击者将大部分代币转移到两个新钱包地址,并将代币兑换为 ETH,接着将 ETH 均转回初始地址(0x0d0...D00),目前地址(0x0d0...D00)约 85,837 ETH 暂无转移,同时,攻击者在 BNB 链暂无资金转移操作。慢雾 MistTrack 将持续监控被盗资金的转移。[2022/6/24 1:28:30]

ZKSwap安全模型

一个区块内记录的L2转账在L1上只有部分记录。只有区块信息的总结会被记录在L1链上,例如区块哈希、新默克尔根、区块高度等等。

当一个区块的转账被提交到L1上,区块就被创建出来,区块哈希会被验证。由于以太坊内建了sha256算法,所以区块哈希通常也使用sha256进行计算。

为了保持数据可用性,所有的转账数据都应该被提交到L1上,这被称为“公开数据”。一笔转账的公开数据与其在L2上的转账并不完全相同。系统在进入“退出模式”时将使用公开数据,这样任何人都能恢复最近的经过验证的默克尔树。

电路

L2的电路与L1的智能合约能够协同工作,确保ZK-Rollup协议的功能性。L2的电路保证了以下几点:L2转账签名正确、L1/L2转账执行正确、区块信息计算正确、及时有效地更新账户信息——包括默克尔根、账户默克尔树和费用信息等等。

双验证模式

验证模块对与安全性来说十分重要,是ZK-Rollup协议的基础。

公开数据验证——验证第一类和第二类转账的内容和次序。例如,验证存款需要确保存款数额和信息与L1上记录的相同,并且顺序无误。

区块验证——验证一个区块里的转账被正确执行,并且L2的账户默克尔树根被及时恰当地通过零知识证明进行更新。当一个区块被验证之后,更新的默克尔根就取得了最终性。

总结来说,整体的安全假设如下:

·一个区块的所有转账公开数据在链上;

·验证一个区块中第一类和第二类转账被正确执行;

·证明一个区块内的所有转账被正确执行、账户默克尔树被正确更新、一个区块内的所有转账的公开数据能够匹配;

·证明该区块内所有公开数据都被正确计算;

·提交给L1的区块公开数据与零知识证明系统所证明的数据相同。

公开数据不上链时会发生什么?

如果公开数据不在链上,安全假设“提交给L1的区块公开数据与零知识证明系统所证明的数据相同”就不能被验证。这时候,当L2的零知识证明系统阵营所有转账都被正确执行、默克尔树都被正确更新时,只能说明一个区块内的转账有效,而不能证明来自特定区块的其他转账。

大多数第三类转账都是安全的,但是对于提现操作来说,提现的收款人未经验证,不能被零知识证明系统证明。

对于第一类转账来说,所有可能的第一类转账都能被证明,但不能被验证。类如,零知识证明系统能证明一些非L1发起的存款转账。

由于只有验证着能提交公开数据或者区块证明,所以社区必须信任验证者是诚实的。当验证者诚实时,以上所有的风险都不会存在。对ZKSwap来说,所有公开数据都在浏览器中同步公布,任何人都可以验证公开数据和任何链上区块。

将公开数据存在链下不是一个草率的决定。这个选择背后的主要原因是降低Gas费和提高可扩展性。

Gas费用

保持ZK-Rollup协议运行的一个痛点是Gas。为了向L1提交一个区块,需要消耗以下GasLimit):

一个区块中,最多可以包括120笔交易转账。

如果要在L1提交验证一个区块,需要消耗大约23万GasLimit,calldata费用约占31%。

可扩展性

可扩展性是另一个考虑因素。假设一笔L2转账消耗1850.7Gas,那么ZKSwap将消耗10%的以太坊Gas,整体TPS将在51.5。

这是在只有交易、没有提现的情况,所以正常使用中将消耗更多Gas,TPS会更低。

结论

保护用户资金安全对所有区块链项目来说都很重要,也是ZKSwap的核心价值。当转账的公开数据没有提交上链时,安全性就依赖于零知识证明电路。当验证者诚实时,用户的资产就是安全的。从技术角度来说,如果验证者不诚实,安全性将会是一个问题。这是降低Gas、提高TPS的一个权衡。

考虑到Gas消耗和可扩展性,ZKSwap做了一个艰难的决定,将公开数据不上链,换来对L2用户更高的TPS和更低的Gas消耗。

我们愿意倾听开发者和用户的反馈,让ZKSwap系统更好。我们也可以在任何时间将所有数据上链。事实上,在发布ZKSwap之前,我们已经实现了100%数据可用的版本,所以我们可用随时升级至这个100%ZK-Rollup的版本,提供更高的Gas消耗、更低的TPS,但是更安全。

标签:GASSWAPKSWZKSwapUGAS-JUN21AlphaSwapBuckSwapzkswap币未来价值

比特币最新价格热门资讯
SWAP:丁佳永:比特币震荡调整 以太坊上攻失败显颓势_怎么得到以太坊币

今日资讯: 据u.today消息,加密货币资产已被美国SEC检查办公室列入2021年的优先事项清单.

BTC:程博说币:3-3 以太坊实操带单 空单斩获130个点位 你若诚心跟随 我意鼎力相助_obtc币挖矿

看得远才能走的远,格局决定结局,跳出市场看走势。作为当局者或交易者,我们不但要看清或把握好当下,更重要的是洞悉市场把握脉搏引领未来!这个市场里向来都是先知先觉者吃肉,后知后觉者喝汤,不知不觉者垫.

加密货币:在遭公众强烈反对后,泰国SEC澄清拟议的加密监管规则_BIT

泰国证券交易委员会撤销了此前计划,其曾计划规定泰国加密货币投资者的最低年收入为100万泰铢。据《曼谷邮报》周二的一篇报道,该委员会已澄清,公布之前的草案是为了判断投资者情绪.

GAS:3月03日擒牛姐复盘_SWAP

昨天画的线,强支撑,日内直接走反包。指数到20日线附近,反弹大概率还没有结束。 目标先看3600附近。 主线很明朗 这一波扛过调整的,都走成穿越.

大白::3/3晚间凌晨比特币行情分析与操作策略

BTC行情分析 ????比特币日内行情上行至50000一线承压后,多头上攻力度减弱,行情也是如预期进入回调整理,午后走势再度回调测试下方支撑,价格触及48300位置附近反弹.

BTC:龙赫说币:3.2BTC晚间行情分析及操作建议_MAC

BTC行情分析:1小时图来看,MACD空头能量柱持续放量中,快慢线在0轴上方呈死叉形状拐头向下,RSI三线均向下发散,目前成交量持续回落,行情走势明显放缓,由于早间大饼反弹的力度不强.