本文意在講解StarkEX為支持快速取款而提出的解決方案。本方案的優點在于,其速度完全獨立于L2的運營者生成有效性證明的速度。
快速取款模塊已經運行在以太坊主網的StarkEx上,并且賦能了DeversiFi交易所和dYdX交易所。
而下文我們講解的方案除了快速取款以外,還有非常多的使用場景。我們先來了解一下需求是什么。
需求
區塊鏈使得兩方之間的免信任交互成為可能。Alice想發布一筆僅在特定條件滿足時才能執行的交易;Bob希望在條件滿足時能直接執行Alice的交易、不必再次獲得Alice的許可。我們把支持此類交互模式的元件稱作“有條件交易”。
在L1上實現CT不需要什么奇思妙想,因為智能合約可以保證時間和交易執行的耦合。但如果要求在L2中實現,那就有些挑戰了。比如,在StarkEx中,交易發起人簽名之后把交易傳遞給運營者,后者有責任來執行這筆交易,可是你用什么辦法來阻止運營者在所需條件滿足之前就執行這筆交易呢?
SoFi新銀行申請獲美國OCC有條件批準,或將托管加密貨幣:金色財經報道,學生貸款和金融服務提供商SoFi有關成立新的國民銀行的申請得到了美國貨幣監理署(OCC)的有條件批準,這為該新銀行托管加密貨幣打開了大門。OCC在周三的公告中表示,初步批準是有條件的,有待對所有可用信息進行全面評估。[2020/10/29]
在本文中,我們只聚焦于在L2上實現依賴于L1事件的CT。也就是說,這種CT要能保證,運營者僅能在某個?鏈上事件?發生之后才能執行某筆簽過名的交易。更進一步,我們將加入一種依賴于另一個L2中事件的CT,從而支持StarkEx實例之間以及StarkNet中的互操作性。
下面,我們來形式化這種鏈上事件的概念,看看我們如何在StarkEx中的CT如何利用它。
有條件交易簡介
Paypal成為首家獲得“有條件的”BitLicense牌照的公司:Paypal在10月22日宣布將支持四種加密貨幣——BTC、ETH、LTC、BCH的買賣和用這些加密貨幣購物的前一天,Paypal從紐約金融服務部門(NYDFS)處獲得了“有條件的”BitLicense牌照。
據悉,Bitlicense牌照于2015年推出,是最難獲得的牌照之一,目前只有24家公司被頒發這一牌照。基于此,紐約監管部門推出了“有條件的”BitLicense牌照,作為一種臨時方案。要獲得這種牌照,申請公司必須與獲得完整BitLicense牌照的公司合作。此次Paypal能獲得這一牌照,主要是因為與完整牌照持有方Paxos達成了合作。[2020/10/22]
鏈上事件的注冊
CT使用了FactRegistry合約來跟蹤鏈上事件。實際上,只有在一個FactRegistry合約中注冊了的事件,才能“解鎖”CT。舉個例子,如果Alice直接在以太坊鏈上轉賬了1ETH給Bob,那CT是不能因此滿足執行前提的。
加拿大Wealthsimple獲CSA有條件批準,將測試其加密貨幣平臺:總部位于多倫多的金融科技初創公司Wealthsimple已獲得加拿大證券管理委員會(CSA)的有條件批準,將對其最近已宣布的加密貨幣平臺進行為期兩年的測試。(Betakit)[2020/8/8]
在上面這個案例中,FactRegistry合約需要一個函數?transfer(),Alice傳入Bob的地址作為收款方。transfer()?函數做兩件事:把需要轉移的ETH發送給收款方;保存對這筆轉賬的記錄,比如存儲這筆轉賬相關參數的哈希值,到合約的存儲項中。FactRegistry合約還帶有一個?isValid()?函數,接受一條哈希值作為參數,返回一個布爾值——如果該條輸入的哈希值等于合約中記錄的某條哈希值,就返回?True。如此,這個記錄在合約中的哈希值,就可以當成是一個事實的證明。這個為FactRegistry合約引入一個新的事實的過程,通常稱為“事實注冊”。
聲音 | 中國銀行前行長李禮輝:須警惕美國有條件批準Libra:在1月13日北大國發院舉辦的“數字貨幣未來”研討會暨《數字貨幣-領導干部讀本》發布會上,中國銀行前行長、第十二屆全國人大財經委委員李禮輝稱:“目前為止,Libra在美國國內也還受到很多質疑,包括來自美國的政客和政府部門。但在法規之外,到底有什么東西是能夠打動美國的政府、政客的?我覺得應該是國家的經濟金融戰略。地緣,或者說大國間的經濟金融競爭,也許會讓美國有條件批準Libra。”(小蔥)[2020/1/13]
一筆簽過名的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
翻譯:?阿劍
尊敬的社區用戶: 由于SERO公鏈升級,霍比特交易現已暫停PFID、SERO、PFIDKEY的充值和提現.
1900/1/1 0:00:00編者按:本文來自?鏈聞ChainNews,撰文:CharlieMorris,ByteTree聯合創始人兼首席投資官,星球日報經授權發布。機構投資者入局比特幣一直是顛覆加密行業格局的大事.
1900/1/1 0:00:00為了慶祝BridgeOracle(BRG)在庫幣重磅上線,BridgeOracle團隊將聯合庫幣發放200,000BRG超大獎池.
1900/1/1 0:00:00Gate.io直播間作為行業內首個交易所內置直播功能,通過多樣性的直播形式為平臺用戶帶來具有深度、有趣、開放的信息內容.
1900/1/1 0:00:00尊敬的用戶: WBF已恢復AQP的提幣,為您帶來不便,敬請諒解。 掃碼加入WBF官方社群 WBF風險提示: 用戶在進行充幣前,建議仔細閱讀該幣充提頁面的提示,以避免因為小于最小上賬金額而無法上賬.
1900/1/1 0:00:00作者簡介 于佳寧,經濟學博士,權威區塊鏈專家,數字經濟學家,曾任工業和信息化部信息中心工業經濟研究所所長等職務,曾參與多項國家政策起草研究工作.
1900/1/1 0:00:00