本文發布于以太坊愛好者,作者:Starkware,翻譯:阿劍。
本文意在講解StarkEX為支持快速取款而提出的解決方案。本方案的優點在于,其速度完全獨立于L2的運營者生成有效性證明的速度。
快速取款模塊已經運行在以太坊主網的StarkEx上,并且賦能了?DeversiFi?交易所和?dYdX?交易所。
而下文我們講解的方案除了快速取款以外,還有非常多的使用場景。我們先來了解一下需求是什么。
需求
區塊鏈使得兩方之間的免信任交互成為可能。Alice想發布一筆僅在特定條件滿足時才能執行的交易;Bob希望在條件滿足時能直接執行Alice的交易、不必再次獲得Alice的許可。我們把支持此類交互模式的元件稱作「有條件交易」。
以太坊Layer2解決方案Linea推出主網Alpha版本:7月18日消息,由ConsenSys推出的以太坊Layer2解決方案Linea宣布向整個Linea社區開放對Linea主網Alpha版本的訪問,開發人員可以訪問該Rollup和ETH橋UI以及Infura和MetaMask和Infura中的RPC端點。支持ERC20代幣的規范代幣橋將在未來幾周內推出。[2023/7/18 11:02:18]
在L1上實現CT不需要什么奇思妙想,因為智能合約可以保證時間和交易執行的耦合。但如果要求在L2中實現,那就有些挑戰了。比如,在StarkEx中,交易發起人簽名之后把交易傳遞給運營者,后者有責任來執行這筆交易,可是你用什么辦法來阻止運營者在所需條件滿足之前就執行這筆交易呢?
在本文中,我們只聚焦于在L2上實現依賴于L1事件的CT。也就是說,這種CT要能保證,運營者僅能在某個_鏈上事件_發生之后才能執行某筆簽過名的交易。更進一步,我們將加入一種依賴于另一個L2中事件的CT,從而支持StarkEx實例之間以及StarkNet中的互操作性。
Binance Labs對Layer2跨鏈協議Zecrey進行600萬美元戰略投資:5月17日消息,Binance Labs宣布對Layer2跨鏈協議Zecrey進行600萬美元戰略投資。Zecrey是一個基于ZK Rollup的Layer2隱私跨鏈協議,可實現不同公鏈(以太坊、NEAR、Solana、BNBChain等)的數字資產的跨鏈聚合和管理。3月份,Zecrey完成400萬美元天使輪融資,Spartan Group與Shima Capital領投。[2022/5/17 3:22:49]
下面,我們來形式化這種鏈上事件的概念,看看我們如何在StarkEx中的CT如何利用它。
有條件交易簡介
鏈上事件的注冊
CT使用了FactRegistry合約來跟蹤鏈上事件。實際上,只有在一個FactRegistry合約中注冊了的事件,才能「解鎖」CT。舉個例子,如果Alice直接在以太坊鏈上轉賬了1ETH給Bob,那CT是不能因此滿足執行前提的。
歐易OKEx Layer2概念幣板塊播報:Layer2板塊普遍上漲:據歐易OKEx平臺數據顯示,受市場行情影響,幣幣交易專區-Layer2概念幣板塊呈普遍上漲趨勢,最大漲幅為LRC(60.25%)。據了解,Layer 2 通常被稱為“鏈下”解決方案,其主要目的是擴展區塊鏈的性能,同時保留分布式協議的去中心化優勢。Layer2板塊幣種行情如下。[2021/5/12 21:53:46]
在上面這個案例中,FactRegistry合約需要一個函數?transfer(),Alice傳入Bob的地址作為收款方。transfer()?函數做兩件事:把需要轉移的ETH發送給收款方;保存對這筆轉賬的記錄,比如存儲這筆轉賬相關參數的哈希值,到合約的存儲項中。FactRegistry合約還帶有一個?isValid()?函數,接受一條哈希值作為參數,返回一個布爾值——如果該條輸入的哈希值等于合約中記錄的某條哈希值,就返回?True。如此,這個記錄在合約中的哈希值,就可以當成是一個事實的證明。這個為FactRegistry合約引入一個新的事實的過程,通常稱為「事實注冊」。
LayerX與xID合作為日本加賀市開發區塊鏈投票系統:日本區塊鏈公司LayerX正與數字身份應用程序xID合作,為日本西南部的加賀市開發一個區塊鏈投票系統。新投票系統的開發是加賀在2018年5月宣布的“區塊鏈城市”倡議的最新進展。(Finance Magnates)[2020/12/7 14:26:46]
一筆簽過名的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交互。
本文發布于律動Blockbeats。“我決定將余下的職業生涯轉向加密。”今年2月,AngelList聯合創始人兼CEO、被公認為全球股權眾籌的鼻祖NavalRavikant在Clubhouse上.
1900/1/1 0:00:00本文系鏈捕手原創文章,作者Alyson。IOSG在2020年年度復盤與展望中提到,對于想參加數字資產交易的圈外用戶,DeFi的基礎架構還不夠完善,而傳統金融業務由于監管限制無法直接參與到加密世界.
1900/1/1 0:00:00鏈捕手消息,Bitfinex宣布,為了提供最佳的交易體驗,Bitfinex將下架28種代幣,分別是AirSwap(AST),Aventus(AVT),Contentbox(BOX).
1900/1/1 0:00:00鏈捕手消息,加密貨幣稅務自動化平臺TaxBit宣布完成1億美元A輪融資,此輪融資由Paradigm和TigerGlobal領投.
1900/1/1 0:00:00撰文:Ming?Ng、Andrew?Lee、Cassandra?Shi編譯:Perry?Wang火星財經編者按,由于最近幣安智能鏈上的DNS被劫持,導致一度讓不少資金處于險境.
1900/1/1 0:00:00本文來源于黑馬社區。 波卡生態首個跨鏈DEX協議Zenlink將于4月13日11:30正式上線基于本地測試網的Beta版本,并啟動首次公開測試.
1900/1/1 0:00:00