本文意在講解StarkEX為支持快速取款而提出的解決方案。本方案的優點在于,其速度完全獨立于L2的運營者生成有效性證明的速度。
快速取款模塊已經運行在以太坊主網的StarkEx上,并且賦能了DeversiFi交易所和dYdX交易所。
而下文我們講解的方案除了快速取款以外,還有非常多的使用場景。我們先來了解一下需求是什么。
需求
區塊鏈使得兩方之間的免信任交互成為可能。Alice想發布一筆僅在特定條件滿足時才能執行的交易;Bob希望在條件滿足時能直接執行Alice的交易、不必再次獲得Alice的許可。我們把支持此類交互模式的元件稱作“有條件交易”。
在L1上實現CT不需要什么奇思妙想,因為智能合約可以保證時間和交易執行的耦合。但如果要求在L2中實現,那就有些挑戰了。比如,在StarkEx中,交易發起人簽名之后把交易傳遞給運營者,后者有責任來執行這筆交易,可是你用什么辦法來阻止運營者在所需條件滿足之前就執行這筆交易呢?
直播| Dora > 以太坊2.0來了,我們能做些什么:金色財經 · 直播主辦的《 幣圈 “后浪” 仙女直播周》第8期20:00準時開始,本期“后浪”仙女HashQuark CMO Dora 將在直播間聊聊“以太坊2.0來了,我們能做些什么”,感興趣的朋友掃碼移步收聽![2020/7/7]
在本文中,我們只聚焦于在L2上實現依賴于L1事件的CT。也就是說,這種CT要能保證,運營者僅能在某個鏈上事件發生之后才能執行某筆簽過名的交易。更進一步,我們將加入一種依賴于另一個L2中事件的CT,從而支持StarkEx實例之間以及StarkNet中的互操作性。
下面,我們來形式化這種鏈上事件的概念,看看我們如何在StarkEx中的CT如何利用它。
有條件交易簡介
鏈上事件的注冊
現場 | 區塊大陸創始人楊揚:Libra第一次向全世界展示了什么叫區塊鏈:金色財經現場報道,2019年第一財經金融科技峰會12月1日在北京舉行。區塊大陸創始人兼首席科學家楊揚在“區塊鏈與數字貨幣”高峰對話環節表示,Libra第一次向全世界展示了什么叫區塊鏈,幾大互聯網巨頭和獨角獸公司的聯盟非常少見。區別于以太坊、比特幣的獲客生態建設模式,Facebook是一家真正的互聯網區塊鏈公司,它拿手上28億用戶來換場景,這是從來沒有人干過的事情。但它們為什么會有互信基礎,因為大家的利益都被寫在區塊鏈上面。[2019/12/1]
CT使用了FactRegistry合約來跟蹤鏈上事件。實際上,只有在一個FactRegistry合約中注冊了的事件,才能“解鎖”CT。舉個例子,如果Alice直接在以太坊鏈上轉賬了1ETH給Bob,那CT是不能因此滿足執行前提的。
ofo內部員工:不明白公司做區塊鏈要達到什么目的:據《長江商報》消息,一位ofo內部員工表示,區塊鏈項目在公司還是機密,沒有對外公開。“其實我也沒明白,ofo做區塊鏈,具體是要做什么,怎么做,達到什么目的。”此前ofo已確認涉足區塊鏈。5月17日,ofo宣布成立區塊鏈研究院,將在全球范圍內應用區塊鏈技術賦能大數據、物聯網,連接企業、政府、用戶等多方主體,解決共享單車投放、調度、停放、維修等運營痛點,協助解決共享單車的城市治理難題。[2018/6/4]
在上面這個案例中,FactRegistry合約需要一個函數transfer(),Alice傳入Bob的地址作為收款方。transfer()函數做兩件事:把需要轉移的ETH發送給收款方;保存對這筆轉賬的記錄,比如存儲這筆轉賬相關參數的哈希值,到合約的存儲項中。FactRegistry合約還帶有一個isValid()函數,接受一條哈希值作為參數,返回一個布爾值——如果該條輸入的哈希值等于合約中記錄的某條哈希值,就返回True。如此,這個記錄在合約中的哈希值,就可以當成是一個事實的證明。這個為FactRegistry合約引入一個新的事實的過程,通常稱為“事實注冊”。
高西慶:為什么有人恐懼區塊鏈?因為他們的權威沒了:清華大學法學院教授高西慶在“瑞·達利歐(Ray Dalio)中國行”系列活動發表演講稱,政府、大的機構反對區塊鏈“就是因為區塊鏈改變了連接方式之后,使得習慣原來這個運作形式的這些人的權威沒有了,他們所賴以生存的這些基本的東西沒有了,這一點正是人類進步的最大的推動力。”[2018/2/26]
一筆簽過名的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交互。
(完)
原文鏈接:https://medium.com/starkware/conditional-transfers-the-key-to-interoperability-2e1de044fb65作者:StarkWare翻譯:阿劍
數百億美元資金涌入鏈上,參與到DeFi的收益耕作中,解決DeFi挖礦需求及痛點的工具型應用也不斷出現.
1900/1/1 0:00:001944年,經濟學家約翰?梅納德?凱恩斯的提議最終未能在布雷頓森林會議上獲得通過,這也為我們今天所知的以美國為中心的國際貨幣體系奠定了基礎.
1900/1/1 0:00:00這幾天對于UNI來說是利好的,無論是從價格上還是在開發方面上來看都是如此。幾天前,UNI不僅僅大幅上漲并且創下了新高,而且去中心化交易所Uniswap的開發團隊關于V3的設計也在市場引起了轟動.
1900/1/1 0:00:00原標題:Coinbase的主觀估值比特幣已突破1萬億美元的里程碑,Coinbase的估值高達1000億美元,一個卡通貓NFT拍出300ETH的高價.
1900/1/1 0:00:00DeFi時代的無須信任 DeFi是基于以太坊等鏈上的智能合約,而以太坊是去中心化的公鏈,它無須許可、無法篡改,這樣的特性帶來了DeFi時代的無須信任、無須許可和透明.
1900/1/1 0:00:00來源:財聯社 作者:吳斌 比特幣接受度越來越高之際,就連華爾街大行也要入局比特幣了,摩根士丹利將成為首家為客戶提供比特幣基金的美國大型銀行.
1900/1/1 0:00:00