本文发布于以太坊爱好者,作者:Starkware,翻译:阿剑。
本文意在讲解StarkEX为支持快速取款而提出的解决方案。本方案的优点在于,其速度完全独立于L2的运营者生成有效性证明的速度。
快速取款模块已经运行在以太坊主网的StarkEx上,并且赋能了?DeversiFi?交易所和?dYdX?交易所。
而下文我们讲解的方案除了快速取款以外,还有非常多的使用场景。我们先来了解一下需求是什么。
需求
区块链使得两方之间的免信任交互成为可能。Alice想发布一笔仅在特定条件满足时才能执行的交易;Bob希望在条件满足时能直接执行Alice的交易、不必再次获得Alice的许可。我们把支持此类交互模式的元件称作「有条件交易」。
Mintlayer CEO:比特币ETF可以成为人们通往加密货币的门户:金色财经报道,前Tether/Bitfinex开发商、Mintlayer现任首席执行官Enrico Rubboli表示,比特币ETF可以成为人们通往加密货币的门户。我们希望它将成为采用BTC的门户[2023/7/23 15:53:00]
在L1上实现CT不需要什么奇思妙想,因为智能合约可以保证时间和交易执行的耦合。但如果要求在L2中实现,那就有些挑战了。比如,在StarkEx中,交易发起人签名之后把交易传递给运营者,后者有责任来执行这笔交易,可是你用什么办法来阻止运营者在所需条件满足之前就执行这笔交易呢?
在本文中,我们只聚焦于在L2上实现依赖于L1事件的CT。也就是说,这种CT要能保证,运营者仅能在某个_链上事件_发生之后才能执行某笔签过名的交易。更进一步,我们将加入一种依赖于另一个L2中事件的CT,从而支持StarkEx实例之间以及StarkNet中的互操作性。
Web3游戏公司SKYPLAY获LDA Capital Limited的1000万美元承诺:金色财经报道,Web3游戏公司SKYPLAY已获得全球投资集团LDA Capital Limited的1000万美元承诺,通过发布更多游戏和获取新用户来加速其游戏平台的发展。[2023/7/17 10:59:07]
下面,我们来形式化这种链上事件的概念,看看我们如何在StarkEx中的CT如何利用它。
有条件交易简介
链上事件的注册
CT使用了FactRegistry合约来跟踪链上事件。实际上,只有在一个FactRegistry合约中注册了的事件,才能「解锁」CT。举个例子,如果Alice直接在以太坊链上转账了1ETH给Bob,那CT是不能因此满足执行前提的。
V神:以太坊Layer 1尚未准备好迎接直接大规模采用:1月4日消息,Vitalik Buterin(V神)重申了对以太坊扩容解决方案的迫切需求。
在最新的Bankless播客中,V神讨论了过去一年以太坊网络的发展,以及未来的扩容计划。虽然以太坊在2021年取得了重大进展,比如伦敦硬分叉,其中包括费用销毁机制EIP-1559,但它仍然面临高额的gas费用。
V神承认,“为了让区块链被主流采用,它必须便宜。”然而,他也承认当前的费用是以太坊最紧迫的问题之一。他解释说:“目前的以太坊,即Layer 1,还不是一个可以迎接直接大规模采用的系统。”他接着强调了对rollups等第二层扩容解决方案的需求。(Crypto Briefing)[2022/1/5 8:25:20]
在上面这个案例中,FactRegistry合约需要一个函数?transfer(),Alice传入Bob的地址作为收款方。transfer()?函数做两件事:把需要转移的ETH发送给收款方;保存对这笔转账的记录,比如存储这笔转账相关参数的哈希值,到合约的存储项中。FactRegistry合约还带有一个?isValid()?函数,接受一条哈希值作为参数,返回一个布尔值——如果该条输入的哈希值等于合约中记录的某条哈希值,就返回?True。如此,这个记录在合约中的哈希值,就可以当成是一个事实的证明。这个为FactRegistry合约引入一个新的事实的过程,通常称为「事实注册」。
ZKSwap测试网激励发放完成,Layer2转账成本为以太坊的1%:官方消息,基于ZK Rollup扩容技术的AMM去中心化交易所 ZKSwap (ZKS)表示,其测试网激励的ZKS在ZKSwap的 Layer2 发放完成,在Layer2发送9000笔转账合计消耗的Gas成本(Layer2 到 Layer1 的上链费用)为1500美金。
对比而言,在以太坊主网完成9000笔转账需要消耗18万美金的成本,ZKSwap上Layer2的转账成本只有以太坊的1%左右。官方预计,ZKSwap将在2月17日开启代付Gas费用挖矿活动(Proof of Gas)和智能合约锁仓挖矿活动。并在2月19日开启流动性挖矿活动和交易即挖矿活动。[2021/2/16 19:52:20]
一笔签过名的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上的1000DAI
Alice希望在L2上给Bob10ETH,只要Bob以Alice的名义在Alice指定的dApp中存入9.5ETH
Alice希望在DeversiFi的L2上给Bob10ETH,只要Bob在dYdX的L2中给Alice的账户存入9.5ETH
总结
CT的第一种用途是快速取款,但StarkEx运营者可以用这一元件实现许多种类的L2-L1交互。
链捕手消息,据慢雾区情报,知名的链上机池yearnfinance的DAI策略池今日遭受攻击,慢雾安全团队第一时间跟进分析,并以简讯的形式给大家分享细节.
1900/1/1 0:00:00本文首发于星球日报,作者谷燕西。波卡和Cardano是以太坊之后出现的公链项目。两个项目的创始人也都是以太坊基金最初8个创始人之中的创始人。两者的目的都是提供一个比以太坊更好的公链.
1900/1/1 0:00:00链捕手消息,新浪科技报道,周五,美国加州地方法官已经同意他所称的“有史以来最大规模的隐私诉讼和解”,同意Facebook向约160万名用户支付共6.5亿美元的赔偿.
1900/1/1 0:00:00本文发布于律动Blockbeats。“我决定将余下的职业生涯转向加密。”今年2月,AngelList联合创始人兼CEO、被公认为全球股权众筹的鼻祖NavalRavikant在Clubhouse上.
1900/1/1 0:00:00本文来自于NFT实验室。Flow是什么?Flow是一个快速、去中心化、对开发者友好的区块链,为解决区块链的可扩展性问题而推出,旨在作为新一代游戏、应用以及为其提供动力的数字资产的基础.
1900/1/1 0:00:00链捕手消息,DeFi协议Sommelier宣布获得StandardCrypto领投的350万美元融资.
1900/1/1 0:00:00