作者:reddit/u/Loooong_Loooong_Man 2020年 英文版
DeFi(去中心化金融)無疑是此刻加密貨幣世界的熱門話題。它帶來了類似於2017/18年ICO階段的感覺,大量的新項目開始在出現,每個項目都有自己的新創新和使用案例的承諾。 事後看來,這些項目中的大多數最終都失敗了,或者更糟糕的是,是徹頭徹尾的騙局,利用了那些不那麼明智的投資者來賺取金錢。顯然,並不是所有的項目都符合這種描述,今天仍有許多團隊在從事並實現他們的個人願景。畢竟,加密貨幣仍然是一個新技術的大實驗。
進入DeFi:Serum #
在這篇文章中,我將研究一個特殊的項目,名爲Serum。
Serum是世界上第一個完全去中心化的衍生品交易所,由Project Serum帶來的無信任跨鏈交易。
Serum項目的目標是創建一個去中心化的交易所和一個跨鏈交換機制。在這篇文章中,我將只專注於Serum的跨鏈交換方面。 雖然Serum白皮書相當短,而且缺乏細節,但它對跨鏈交換協議應該如何工作有一定的瞭解。在本評論中,我將用它來描述想象中的協議是如何工作的。
概述 #
我們假設Alice想用一些BTC換取ETH,Bob想用Serum用一些ETH換取BTC。這兩個用戶被匹配,並使用Solana區塊鏈上的鏈上訂單簿商定價格(白皮書沒有提供關於如何做到這一點的實際細節)。 一旦這些用戶被匹配,Bob必須將他想要交易的ETH發送到以太坊智能合約,再加上一些價值約200美元的ETH(見下文第4節)到智能合約作爲抵押品。Alice也需要向智能合約發送一些抵押品。一旦這個初始設置過程完成,Alice就必須把她的BTC發送到Bob的BTC地址,如果Bob收到Alice的BTC,他就可以從智能合約中釋放他的ETH,把它發送到Alice的ETH地址。完成後,Alice和Bob都會退還他們的ETH抵押品。
那麼,如果出了問題會怎樣?例如,假設Alice從未向Bob發送過BTC,在一段時間後,Bob可以發起一個爭端。當爭議開始時,Alice和Bob都會向智能合約提交一部分比特幣區塊鏈信息(見第3節)。然後智能合約決定Alice是否真的向Bob發送了BTC。如果她沒有,那麼智能合約將Bob的ETH和抵押品返還給Bob,同時將Alice的ETH抵押品也交給Bob。如果Alice發送了BTC,但Bob從未批准從智能合約中轉移ETH,同樣的情況也會反向發生。
這個方案看起來很簡單,沒有預言機,沒有中心化的各方,然而,它有一些缺點。
用戶提供的抵押品不利於用戶體驗 #
每次用戶進行互換時,他們必須保留一些百分比或固定的金額來支付互換的抵押品。這個抵押金額需要存在,以防止greifing攻擊,在這種攻擊中,用戶發起的互換並不打算貫徹執行,並將資金髮送給備用參與者。
然而,這創造了一個糟糕的用戶體驗,因爲Alice和Bob在進行互換之前,都需要有至少相當於爭議費用價值的抵押品承諾給合同。這與正常的交易所體驗完全不同,在這種情況下,你只需要一個硬幣和一個交易就可以開始交易。例如,如果使用Serum交易比特幣,你需要持有比特幣和~200美元的以太坊,並且在任何交換髮生之前與以太坊鏈互動。這增加了不必要的複雜性和混亂,特別是對於加密貨幣領域的新人。
ETH必須總是在交換的一方 #
雖然Serum的跨鏈交換方法可以在任何有智能合約的區塊鏈上發生,但Serum白皮書明確指出,Serum的仲裁合約將被部署在以太坊區塊鏈上。這意味着一方必須始終使用以太坊智能合約將交易的全部價值鎖定爲ETH。
這使得例如在比特幣和Monero之間做單步交易是不可能的,因爲交換需要先從比特幣到ETH,然後再從ETH到Monero。這與其他提議的跨鏈交換系統如Thorchain和Blockswap相當,但是由於這些網絡使用AMM(自動做市商)和去中心化的金庫來保管資金,用戶根本不需要與中介鏈互動。
相反,在Serum,想要將比特幣換成Monero的用戶需要做以下步驟。
向Serum仲裁合約發送以太坊抵押品
發送比特幣給他們要交換的用戶。
接收以太坊
將以太坊發回給Serum仲裁合約
接收Monero
將Ethereum送出Serum仲裁合約
收回Ethereum抵押品
也許有可能刪除或簡化第4步,這取決於智能合約的構建方式,然而,這意味着在最好的情況下,從BTC到Monero的交換需要2個以太坊和1個比特幣交易。與其他跨鏈交換機制的經驗相比,只需要用戶發送一個交易就可以在兩個資產之間進行交換,這是非常糟糕的用戶體驗。
向智能合約證明任意鏈上的交易並非易事 #
也許Serum跨鏈交換機制最核心的部分在Serum白皮書中完全沒有被髮掘出來,只給出了一個簡單的解釋。
“[智能合約]被編程來解析提議的BTC區塊鏈是否有效;然後它可以檢查Alice和Bob中哪一個發送的區塊鏈更長有效,並以對他們有利的方式結算”
這不是一個微不足道的問題,從Serum白皮書中給出的解釋來看,不清楚這究竟是如何運作的。實際上需要向智能合約提交什麼來證明比特幣交易?通常情況下,當談論SPV時,智能合約需要所有先前區塊的區塊頭和一個Merkle包容證明。這對於在爭議中提交來說太沉重了。相反,Serum可以使用NIPoPoW,然而,這些證明只適用於有固定難度的鏈,而且可能仍然太大(約100KB),無法作爲證明提交給合同。其他的解決方案,如Flyclient,用途更廣,但證明大小更大,而且未能在現實世界中得到廣泛採用。
如果不解釋他們實際上是如何計劃對比特幣交易進行驗證的,用戶就不知道他們的解決方案到底有多安全。
高額的爭議費用迫使小額交易的大量抵押品 #
儘管由於在Serum協議中設計了激勵和懲罰措施,爭議幾乎不應該發生,但它們的設計方式對網絡的使用產生了負面影響。
雖然Serum白皮書沒有說爭議機制是如何運作的,但他們確實說過,對一個掉期交易提出爭議將花費大約100美元的GAS。
/注:請記住,Serum論文是在2020年7月發表的,當時gas價格約爲50Gwei,隨着過去一個月以太坊使用的回升,我們看到gas平均價格高達250Gwei,現在的平均價格約爲120Gwei。
這意味着,在GAS價格的高峯期,用戶可能要花費~500美元來爭議一個交換。
這意味着,爲了確保網絡不發生跨鏈交換,每個用戶必須在每一方部署至少200美元的抵押品。如果我們假設攻擊者沒有經濟動機,也許可以把這個數字降低到抵押值,然而,有一個下限,即贖金攻擊在低價值的交易中成爲可能。
此外,也許更具破壞性的是,這意味着在任何規模的交易中,用戶需要有至少300美元的ETH在身邊。100美元的ETH作爲所需的抵押品,如果他們需要挑戰交易,則需要200美元。
這進一步增加了使用Serum進行跨鏈交換時的不良用戶體驗。
互換不是一勞永逸的 #
在你所交換的區塊鏈上,不是能夠發送交易和接收資金,而是這個過程是高度互動的。在我將ETH換成比特幣的情況下,會發生以下情況。
用我的抵押品向Serum仲裁合約發送一筆交易。
用要交易的資金向Serum仲裁合約發送一筆交易。
等待,直到發送到我的地址的比特幣交易有一個可接受的確認量(最多60分鐘,取決於網絡擁堵情況)。
如果一直沒有收到比特幣交易,那麼我需要等待超時發生,然後才能參與到爭議過程中。
- 向Serum仲裁合約發送交易,解鎖我的資金並將其發送給參與者。
而在比特幣方面(假設賣家準備好了),必須進行以下工作。
發送我的以太坊抵押品給智能合約。
發送比特幣。
等待,直到賣方接受該比特幣。
如果賣家從未接受我發送的比特幣,那麼我需要排隊等待爭議處理。
- 等待收到我的ETH+抵押品的回報。
這就呈現出一種奇怪的用戶體驗,在這整個過程中,賣家或賣家的錢包必須保持在線,如果他們需要對交易進行爭議或從智能合約中解鎖資金,就必須準備簽署新的交易。
這與典型的交換或互換場景不同,在這種情況下,一旦你的資金被髮送,你可以保證你將收到你在互換中預期的金額,而不需要你的任何錢包保持在線。
Serum代幣似乎缺乏使用案例 #
Serum在其白皮書中描述的跨鏈交換協議可以很容易地在以太坊區塊鏈上分叉和啓動,而不需要Serum代幣。在基於Solana的區塊鏈上下單時,Serum代幣似乎將以某種身份被使用,然而,訂單簿也可以很容易地用傳統的利率限制方案來下。
有一些關於代幣持有人的未來治理能力的簡要提及,然而,作爲他們白皮書中的一個共同主題,細節是稀缺的。
Serum預計將包括一個基於SRM代幣的有限治理模式。雖然Serum生態系統的大部分將是不可改變的,但一些沒有大的安全風險的參數(如未來的費用)可以通過SRM代幣的治理投票來修改。
結論 #
在對這些問題給出滿意的答案之前,我會關注其他試圖爲跨鏈互換建立平臺的項目。如前所述,Thorchain和Blockswap在設計上顯示了一些前景,同時也有一些其他項目在這個領域競爭,如Incognito和RenVM。然而,這個領域仍然非常不成熟,所以在我們將這些項目稱爲成功之前,還需要大量的測試和時間。