作者:?StarkWare
本文意在讲解StarkEX为支持快速取款而提出的解决方案。本方案的优点在于,其速度完全独立于L2的运营者生成有效性证明的速度。
快速取款模块已经运行在以太坊主网的StarkEx上,并且赋能了DeversiFi交易所和dYdX交易所。
而下文我们讲解的方案除了快速取款以外,还有非常多的使用场景。我们先来了解一下需求是什么。
需求
区块链使得两方之间的免信任交互成为可能。Alice想发布一笔仅在特定条件满足时才能执行的交易;Bob希望在条件满足时能直接执行Alice的交易、不必再次获得Alice的许可。我们把支持此类交互模式的元件称作“有条件交易”。
彭博社分析师:贝莱德比特币ETF可以释放价值30万亿美元的财富:金色财经报道,彭博ETF分析师Eric Balchunas表示,如果美国证券交易委员会批准比特币现货ETF,价值30万亿美元的资金可能会突然释放到比特币市场。这是美国财务顾问控制的资产估计数量,他们愿意通过受监管的交易所交易基金投资比特币。Balchunas表示,全球最大资产管理公司贝莱德的参与足以将比特币现货ETF获得批准的可能性从1%提高到50%。[2023/7/12 10:49:05]
在L1上实现CT不需要什么奇思妙想,因为智能合约可以保证时间和交易执行的耦合。但如果要求在L2中实现,那就有些挑战了。比如,在StarkEx中,交易发起人签名之后把交易传递给运营者,后者有责任来执行这笔交易,可是你用什么办法来阻止运营者在所需条件满足之前就执行这笔交易呢?
dYdX通过“申请660万美元资金启动dYdX运营subDAO V2”的提案投票:6月5日消息,去中心化永续合约协议dYdX社区投票通过“启动dYdX运营子DAO V2”提案,支持率为99.95%。该提案是受托人Joanna与Callen代表的dYdX运营信托基金(DOT)请求从dYdX社区财库中拨款660万美元转入DOT多签钱包,为运营子DAO的运营再提供18个月的资金(DOT 2.0)。
DOT目前剩余87,077.50枚USDC,6月19日DOT 1.0到期后,剩余资金将转入DOT 2.0。DOT 2.0将负责招聘一名运营主管、技术项目负责人与站点可靠性工程师,确定一个索引器运营商,为协议的潜在未来版本部署开源软件和运行iOS、安卓和Web前端版本,聘请第三方审计师来评估DOT财务与业绩,增加DOT多签受托人数,DOT 2.0任务结束时的剩余资金将由dYdX社区决定发送到社区控制的钱包。
此外,Reverie Reserves,LLC和George Beall已决定,将于6月19日DOT 1.0任期届满后,不再担任受托人与执行者。DOT任命三位新受托人与一位执行者。[2023/6/5 21:16:43]
在本文中,我们只聚焦于在L2上实现依赖于L1事件的CT。也就是说,这种CT要能保证,运营者仅能在某个?链上事件?发生之后才能执行某笔签过名的交易。更进一步,我们将加入一种依赖于另一个L2中事件的CT,从而支持StarkEx实例之间以及StarkNet中的互操作性。
KuCoin Labs与区块链企业VAIOT联合成立了数字资产监管研究所:金色财经报道,KuCoin Labs 与区块链和人工智能服务企业VAIOT联合成立了数字资产监管研究所 (DARI),以促进以行业为主导的加密货币监管。VAIOT 是欧洲首批受到全面监管的加密货币公司之一,自 2020 年 9 月起受到马耳他严格法律审查的监管,并由领先的会计和咨询公司 Grant Thornton 进行监督。[2023/4/9 13:52:19]
下面,我们来形式化这种链上事件的概念,看看我们如何在StarkEx中的CT如何利用它。
有条件交易简介
链上事件的注册
CT使用了FactRegistry合约来跟踪链上事件。实际上,只有在一个FactRegistry合约中注册了的事件,才能“解锁”CT。举个例子,如果Alice直接在以太坊链上转账了1ETH给Bob,那CT是不能因此满足执行前提的。
Poly Network推出系统性开发框架,为开发者提供“互操作即服务”:6月21日消息,跨链互操作协议 Poly Network 宣布为基础设施、智能合约、应用程序等所有层级的开发者提供了一个系统性的开发框架,将互操作封装为 API 服务。与现有的跨链解决方案相比,Poly Network 更具包容性,并提供更高的安全性保障。开发人员可以基于该架构在Poly Network上集成任意架构的区块链系统、构建跨链 DApp 应用、在应用界面搭建专属跨链桥等,赋予加密货币和NFT资产更高流动性和利用率。[2022/6/21 4:42:14]
在上面这个案例中,FactRegistry合约需要一个函数?transfer(),Alice传入Bob的地址作为收款方。transfer()?函数做两件事:把需要转移的ETH发送给收款方;保存对这笔转账的记录,比如存储这笔转账相关参数的哈希值,到合约的存储项中。FactRegistry合约还带有一个?isValid()?函数,接受一条哈希值作为参数,返回一个布尔值——如果该条输入的哈希值等于合约中记录的某条哈希值,就返回?True。如此,这个记录在合约中的哈希值,就可以当成是一个事实的证明。这个为FactRegistry合约引入一个新的事实的过程,通常称为“事实注册”。
一笔签过名的CT所包含的链上事件的指纹有两个字段:一个FactRegistry合约的地址;上述合约中应当记录的事实。
StarkEx有条件交易
StarkEx会批量打包Layey-2中的交易,并使用一条发送到链上的STARK证明来结算这些交易。如果某一批次中包含CT,StarkEx将保证相关的事实已经注册,以便能清算该批交易;否则,整批交易都会回滚。
有条件交易的案例
在本部分,我们会提出一些应用场景,并指出CT如何能用在这些场景中。
详细案例——快速取款
在任意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上的1000DAIAlice希望在L2上给Bob10ETH,只要Bob以Alice的名义在Alice指定的dApp中存入9.5ETHAlice希望在DeversiFi的L2上给Bob10ETH,只要Bob在dYdX的L2中给Alice的账户存入9.5ETH总结
CT的第一种用途是快速取款,但StarkEx运营者可以用这一元件实现许多种类的L2-L1交互。
一、行情分析 1、BTC分析 从日线级别来看,BTC再4天前创出新高61800之后,行情整体有所回落,但日线级别MA30和MA60呈向上打开发散的状态,多头趋势一直都在,并且两条中期均线呈平行状态向上运行,这种势头要想扭转.
1900/1/1 0:00:00?小时级别来看,昨日晚间以太触底1741.37一线反弹,一路震荡上涨,脱离了布林轨道,午夜多次插针向上试探遇压回调走宽幅震荡,早间以太再次插针向上试探触及1839一线回调,触底反弹延续震荡,目前币价持续在1820附近整理,技术面来看.
1900/1/1 0:00:00美国银行(Bank?of?America?Corp.)策略师认为:比特币的价格可能比其他一些资产受到资金流入的影响更大.
1900/1/1 0:00:00昨日回顾 昨天白天一直属于震荡行情,到了晚间呈下行状态,夜间触及54000一线支撑,但到了今天凌晨,价格一路攀升,打破56500的压制,早间涨势高位逼近59500,从今日凌晨到现在涨幅已达4000多点,到头趋势升温回暖.
1900/1/1 0:00:00前言:不必羡慕在震荡中来回的人,也不必嫉妒单边中顺势加仓的人,市场就是总有人盈利,总有人亏损,但是不妨碍有人盈利着.
1900/1/1 0:00:001、周一,现货金银维持箱体震荡,美债收益率持稳,自高点略微回落,最终,现货黄金收涨0.26%,报1731.51美元/盎司;现货白银收涨0.22%,报26.22美元/盎司.
1900/1/1 0:00:00