什么是有条件转账?实现 L1-L2 互操作性的关键

本文意在讲解StarkEX为支持快速取款而提出的解决方案。本方案的优点在于,其速度完全独立于L2的运营者生成有效性证明的速度。

快速取款模块已经运行在以太坊主网的StarkEx上,并且赋能了DeversiFi交易所和dYdX交易所。

而下文我们讲解的方案除了快速取款以外,还有非常多的使用场景。我们先来了解一下需求是什么。

需求

区块链使得两方之间的免信任交互成为可能。Alice想发布一笔仅在特定条件满足时才能执行的交易;Bob希望在条件满足时能直接执行Alice的交易、不必再次获得Alice的许可。我们把支持此类交互模式的元件称作“有条件交易”。

在L1上实现CT不需要什么奇思妙想,因为智能合约可以保证时间和交易执行的耦合。但如果要求在L2中实现,那就有些挑战了。比如,在StarkEx中,交易发起人签名之后把交易传递给运营者,后者有责任来执行这笔交易,可是你用什么办法来阻止运营者在所需条件满足之前就执行这笔交易呢?

AltTab Capital高管:新加坡新出台的加密新规必须对什么是信托进行定义:金色财经报道,针对新加坡要求加密平台将客户资金存放在信托中,AltTab Capital投资者关系主管?Michael Silberberg评论道,虽然将客户与企业资产分开的意图是正确的,但必须对什么是信托、什么不是信托有一个经过深思熟虑的定义。在上一个周期中,我们看到托管机构和交易所都解散了。法规中将对合格托管人进行认证流程,并定义加密密钥管理和运营结构。我们看到了全球范围内受监管托管人的趋势,其中许多是在住所拥有机构分类账和类似Metamas的小公司,其中监管仅意味着作为公司备案。更多的交易对手并不一定意味着更多的安全性。[2023/7/5 22:18:25]

在本文中,我们只聚焦于在L2上实现依赖于L1事件的CT。也就是说,这种CT要能保证,运营者仅能在某个链上事件发生之后才能执行某笔签过名的交易。更进一步,我们将加入一种依赖于另一个L2中事件的CT,从而支持StarkEx实例之间以及StarkNet中的互操作性。

麻省理工学院教师Robert Pozen:无论比特币发生什么,以太币都会存在很长时间:金色财经消息,麻省理工学院教师Robert Pozen称,无论比特币发生什么,以太币都会存在很长时间。(CNBC)[2022/6/23 1:27:02]

下面,我们来形式化这种链上事件的概念,看看我们如何在StarkEx中的CT如何利用它。

有条件交易简介

链上事件的注册

CT使用了FactRegistry合约来跟踪链上事件。实际上,只有在一个FactRegistry合约中注册了的事件,才能“解锁”CT。举个例子,如果Alice直接在以太坊链上转账了1ETH给Bob,那CT是不能因此满足执行前提的。

在上面这个案例中,FactRegistry合约需要一个函数transfer(),Alice传入Bob的地址作为收款方。transfer()函数做两件事:把需要转移的ETH发送给收款方;保存对这笔转账的记录,比如存储这笔转账相关参数的哈希值,到合约的存储项中。FactRegistry合约还带有一个isValid()函数,接受一条哈希值作为参数,返回一个布尔值——如果该条输入的哈希值等于合约中记录的某条哈希值,就返回True。如此,这个记录在合约中的哈希值,就可以当成是一个事实的证明。这个为FactRegistry合约引入一个新的事实的过程,通常称为“事实注册”。

大咖零距离 | 投资指南之牛市什么时候来:3月17日18:00,金色盘面邀请实盘大V币圈栋哥做客金色财经《大咖零距离》直播间,将分享《投资指南之牛市什么时候来》,敬请关注,欲进群观看直播扫描海报二维码报名即可![2020/3/17]

一笔签过名的CT所包含的链上事件的指纹有两个字段:一个FactRegistry合约的地址;上述合约中应当记录的事实。

StarkEx有条件交易

StarkEx会批量打包Layey-2中的交易,并使用一条发送到链上的STARK证明来结算这些交易。如果某一批次中包含CT,StarkEx将保证相关的事实已经注册,以便能清算该批交易;否则,整批交易都会回滚。

有条件交易的案例

分析 | 比特币现在处于什么位置?:据Huobi数据显示,BTC现报9348美元,日内跌幅1.81%。针对当前走势,金色盘面特邀分析师老张的投资课表示:针对当前走势老张认为目前比特币的多头依然是强势的,但是短期有回调的需求是正常的,而且下方有MA60日均线的支撑,也就是9000美金位置,消息面的话是一直在发酵,技术面大级别的周线MACD即将形成水上金叉,K线运行在均线系统之上,所以只要币价回调到9000美金我们可以放心大胆的去做,而且上方空间非常大,总结现在比特币的位置处于9000美金附近震荡消化上方套牢盘,为下一步的拉升做准备,我们可以看成是一个积蓄力量的过程。

合约可以考虑9100附近轻仓做多,激进者9830美金做空,同时带好止盈止损。

因为现在大家处于牛市的初期所以老张不太建议做合约,币价上窜下跳还是会以爆合约为主,所以合约就不做过多的分析。

老张给大家建议接下来的战略布局第一梯队以:BTC ETH BCH为主,XRP可以放在第二梯队,瑞波将会是年底的一匹黑马,大家可以多关注。[2019/10/28]

在本部分,我们会提出一些应用场景,并指出CT如何能用在这些场景中。

声音 | 吴忌寒:想知道什么时候可以将BSV存入交易所并出售:吴忌寒发推文称,想知道什么时候可以将其BSV存入交易所并出售。[2018/11/18]

详细案例——快速取款

在任意L2方案中,最初级的从L2转出资金到L1中的办法便是终局化一次L2的状态更新。在基于有效性证明的系统中,终局化一次L2的状态更新需要在链上提交一个相应的有效性证明,一般来说需要10分钟。这就意味着,如果用户使用这种方式来取款,就不得不等待至少10分钟。

而快速取款的用意正是为了解耦这种依赖,让用户能够在“区块时间”内免信任地将资金取出,也即,就像使用普通的以太坊合约一样。

那到底是怎么个流程呢?如果Alice想要从L2中取出1ETH到L1,Alice可以在L2上签名一条将1ETH转移给流动性提供者的CT,条件是LP在L1上转移1ETH给Alice。Alice的CT仅能在她收到L1上的转账之后才能执行,所以她不会面临对手方风险。

我们来看一个能够协助CT的简易的FactRegistry合约:

我们可以看到这个合约有一个payabe函数transfer(),它的功能有两个:

转移一定数量的ETH到某个地址

登记keccack(amount,address,nonce)

Alice签发的CT只有keccack(1ETH,Alice,nonce)在FactRegistry中注册之后才能执行。而这个事实,也只有在给Alice的1ETH转账发生了之后才能成功注册。Alice可以无需信任地取出1ETH,整个过程只需她的前面,和LP在以太坊链上发起的一笔交易。

更多应用场景

类似的流程可以捕捉到下列类型的事件,从而L2的CT也可以有更多的用途,例如:

如果ETH的价格跌到了1010DAI,Alice希望在L2卖出1ETH,换回在L1上的1000DAI

Alice希望在L2上给Bob10ETH,只要Bob以Alice的名义在Alice指定的dApp中存入9.5ETH

Alice希望在DeversiFi的L2上给Bob10ETH,只要Bob在dYdX的L2中给Alice的账户存入9.5ETH

总结

CT的第一种用途是快速取款,但StarkEx运营者可以用这一元件实现许多种类的L2-L1交互。

(完)

原文链接:https://medium.com/starkware/conditional-transfers-the-key-to-interoperability-2e1de044fb65作者:StarkWare翻译:阿剑

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

银河链

以太坊价格今日行情一文了解NFT估值的7种方式

毫无疑问,NFT迎来了爆发时刻。Beeple在佳士得拍卖会上以6900万美元的价格卖掉了他的作品,一个AlienCryptoPunk收藏品以720万美元的价格成功售出,Fewocious则打破了SuperRare的销售记录.

MATICNFT 为什么火了?有哪些机会与风险?

半年之前,写过一两篇关于NFT的文章。当时的判断是:这是个挺有趣的领域,只是发展尚早,有待风来。半年之后,重新审视NFT生态,新增了一些项目,且随着造富效应起势,NFT在媒体和用户心中的关注度也大幅提升,尤其在加密艺术和收藏品领域.

[0:0ms0-1:785ms