A. 閃電貸攻擊解讀
如何防範閃貸攻擊?img=' https://P3 . toutiaoimg.com/large/PGC-image/rrzyiw 2 HF 9 Q1 TN '/(奧維的教堂,梵高)
一句話總結,這些攻擊都很「華麗」。在每一次攻擊中模攜,攻擊者都是在不花一分錢的情況下,立即借入數十萬美元的ETH,然後通過一系列脆弱的鏈式協議賺取數十萬被盜資金,最後以巨額歸還所借的ETH貸款。這一切都發生在一瞬間。即在單個以太坊交易中完成。
封面來自卡邁恩因凡蒂諾。
我們不知道這些攻擊者是誰,也不知道他們來自哪裡。他們空手而來,不留痕跡地帶走了價值幾十萬美元的東西。
在這些攻擊之後,我一直在思考閃貸及其對DeFi security的影響。我覺得值得開誠布公的思考。簡而言之,我認為閃貸對DeFi來說是一個巨大的安全威脅。然而,閃貸不會消失,我們需要仔細考慮它們對未來DeFi安全的影響。
什麼是閃貸?
閃貸的概念最早是由Marble Agreement的創始人Max Wolff在2018年提出的。Marble自稱是市場上的「智能合約銀行」。其產品非常簡單,但在DeFi方面極具創新性:通過智能合同實現零風險貸款。(藍狐註:關於什麼是閃貸,請參考之前的文章《加密閃貸:互聯網貨幣的神奇新發明》 《閃貸策略:攻擊者能取走Maker的7億美元抵押品嗎?》 《bZx事件的啟示》)
怎麼會有零風險貸款?
傳統貸款機構承擔兩種形式的風險。第一,違約風險:如果借款人跑路,那就太可怕了。貸款人的第二個風險是流動性不足的風險:如果貸款人在錯誤的時間貸出了過多的資產或未能及時收回還款,貸款人可能會意外缺乏流動性,無法履行義務。
快速貸款減輕了這兩種風險。閃貸基本上是這樣運作的:我在一次交易中借給你你想要的錢數。不過,在這次交易結束之前,你至少要把我借給你的錢還了。如果你不能做到這一點,我會自動回滾您的交易。是的,智能合約可以做到這一點。
簡而言之,你的閃貸是原子性的:如果你不能償還貸款,整個事情就會恢復,就像貸款從未發生過一樣。這種事情只能發生在區塊鏈。比如,你不能在BitMEX上閃付你的貸款。這是因為智能合約平台一次只能處理單筆交易,所以單筆交易中發生的所有事情都是作為批處理按順序執行的。你可以把它想像成事務執行過程中的「凍結時間」。另一方面,集中交易所可能存在競爭,使你的訂單無法履行。在區塊鏈上,可以確保你所有的代碼都按順序運行。
所以讓我們考慮一下經濟學。傳統貸款人的補償方式有兩種:他們所承擔的檔陵風險(違約風險和流動性風險),以及借出其資本的機會成本(比如,如果我在別處可以獲得2%的利息,那麼借款人必須向我支付超過2%的無風險費用)。
閃貸不一樣。從字面上講,閃貸沒有風險,沒有機會成本。這是因為借款人在其閃貸期間「凍結了時間」。所以,在別人看來,體制內的資本從來都是沒有風險和負擔的,在別處賺不到利息(也就是沒有機會行碼戚成本)。
從某種意義上說,這意味著做閃貸的出借人是沒有成本的。這是非常違反直覺的。那麼,在均衡狀態下,閃貸的成本應該是多少?(藍狐註:當我們在這里談論均衡時,我們指的是當我們充分競爭、成熟和穩定時)
基本上閃貸應該是免費的。或者,更恰當地說,支付一小筆費用來分擔包含額外三行代碼的成本,這三行代碼使資產可用於flash lending。
雷姆科布洛曼
閃貸不能收取傳統意義上的利息,因為這類貸款的有效期為零(任意APR*0=0)。當然,如果閃貸人收取更高的費用,他們很容易被其他收取更低利率的閃貸池超越。
快速貸款使資本成為真正的商品。這種競爭必然導致零收費或者微不足道的象徵性收費。DYdX目前對閃貸零手續費。另一方面,AAVE對閃貸收取本金的0.09%。我懷疑這是不可持續的。事實上,他們社區中的一些人已經呼籲將成本降低到零。(請注意,這兩次攻擊都沒有將AAVE作為他們的快速貸款池)
貸款有什麼用?
閃貸最初的宣傳是基本用於套利。大理石的公告聲稱:
「通過閃貸,交易者可以從大理石銀行借錢,然後在一個DEX上買入代幣,在另一個DEX上以更高的價格賣出代幣,然後將錢返還給銀行,在單個原子交易中獲得套利收益。」
事實上,從交易量來看,到目前為止,大多數閃貸都用於此類套利。
快速貸款在AAVE的使用。出發地:AAVE
但是,交易量小。自AAVE閃貸業務推出以來,其貸款金額僅為1萬美元。與DeFi的套利和清算市場相比,這是微不足道的。
這是因為大多數套利者是由運行復雜機器人的競爭性套利者執行的。他們參與連鎖優先天然氣拍賣,並使用天然氣代幣來優化交易成本。這是一個競爭非常激烈的市場,這些人非常樂意在資產負債表上保留一些代幣,以優化他們的回報。
另一方面,從AAVE借錢要花80kgas,並收取本金的0.09%,這對爭奪微小差價的套利者來說是個高價。事實上,在大多數AAVE套利交易中,借款人最終支付給借款池的錢比他們從套利中獲得的錢要多。
長期來看,除非有特殊情況,套利者不太可能利用閃貸進行套利。但在DeFi中,閃貸還有其他更引人注目的使用案例。一個例子是貸款再融資。例如,假設我有一個創客金庫(藍狐註:即抵押債務
務頭寸),其中鎖定了100美元的ETH,我從中借出了40 DAI的貸款,也就是說,除去債務,我還有60美元的凈頭寸。現在,假設我想在Compound再融資以獲得更好的利息。通常,我需要回購40 Dai來關閉我的CDP,這需要一些前期資金。而現在的可替代方法是,我可以通過閃貸借出40 Dai,關閉100美元的CDP,然後將解鎖的價值60美元的ETH存入Compound,通過Uniswap將剩餘的價值40美元的ETH換成Dai,然後用它償還閃貸。Boom!原子性的0資本再融資。
這真是太神奇了。這是貨幣樂高運作的很好例子。1x.ag實際上構建了一個保證金交易匯聚器,該匯聚器使用閃貸自動執行這一切。但是閃貸可以很酷,bZx攻擊者向我們展示了它們不僅是好玩和游戲。
閃貸攻擊對安全性有重大影響
我越來越相信,閃貸真正解鎖的是閃貸攻擊,一種由閃貸提供資金的資本密集型攻擊。在最近的bZx攻擊事件中,我們第一次看到這一現象,而我懷疑這只是冰山一角。
閃貸對攻擊者尤其有吸引力的主要原因有兩個:
很多攻擊需要大量前期資金(例如預言機操縱攻擊)。如果你在賺取價值1000萬美元ETH的正向投資回報,則可能不是套利——你可能會說這是在扯淡。
你可能不太喜歡交易所黑名單是如今區塊鏈安全模型的一部分。這是非常黏糊且中心化的。但這是一個重要的現實,它為這些攻擊提供演算信息。
在比特幣的白皮書中,中本聰宣稱比特幣有免遭攻擊的安全,因為:「攻擊者應該會發現,遵守規則...比破壞系統和其財富的有效性更有利可圖。」
有了閃貸,攻擊者不再需要有利益參與其中。(藍狐筆記:也就是說,破壞系統不會影響攻擊者的自身利益,因為攻擊者沒有利益相關)。閃貸實質上改變了攻擊者的風險。請記住,閃貸可以累積!受制於gas limit,實際上,你可以在單個交易中(最高可達5000萬美元 )匯聚各個閃貸池,並將所有資金集中湧入一個脆弱的合約中。這是一個5000萬美元的攻城錘,現在任何人都可以猛擊任何鏈上的彩陶罐。這實在恐怖。
當然,僅憑你很有錢還無法攻擊協議。如果DeFi堆棧如它宣稱的那樣安全,所有這些都不是問題——什麼類型的協議對巨鯨來說是不安全的?你可能會說,沒有考慮這一點就是過失。
但是,我們承認以太坊自身也可能會遭受51%的攻擊,當前的攻擊成本是每小時不到20萬美元。這不算非常多的資金。如果以太坊自身的安全模型都基本上是構建在資本限制上,那麼,為什麼我們要如此快地去嘲笑可以被1000萬美元成功攻擊的DeFi使用?(明確地說,我不認為這些數字——這一數字方便地忽略了滑點和供應不足——加上共識層安全和使用層安全是兩碼事。但你明白這個意思。)
那麼,如何減輕閃貸攻擊?
假設我是DeFi協議,我想避免被閃貸攻擊。自然的可能問題是,我能否檢測到與我交互的用戶是否在使用閃貸?
簡單答案是:不。
EVM並不允許你從任何其他合約中讀取存儲。因此,如果你想知道其他合約正在發生什麼,則可以通過該合約告訴你。因此,如果你想知道是否閃貸合約在被使用,你必須直接詢問合約。如今,很多借貸協議並沒有對這種查詢做出響應(而且一般來說,也沒有辦法強迫閃貸借貸者的行為)。另外,即便你試圖檢查,通過使用代理合約或通過串聯閃貸池也容易誤導此類查詢。簡單來說,通常很難辨別一個存儲用戶是否在使用閃貸。
簡言之,如果有人拿著1000萬美元敲你合約的前門,你無法判斷這是否是他們自己的錢。那麼,我們有什麼真正的選擇可以防止閃貸攻擊?我們可以考慮如下幾種方法。
說服閃貸借貸池停止提供服務。
哈,開玩笑。這是加密世界,你們懂的!
認真地說,試圖讓借貸池停止提供閃貸就像是試圖停止噪音污染——這是典型的公地悲劇。提供閃貸符合每個協議的自身利益,且出於合理原因,它們的用戶也希望使用這一功能。因此,我們盡可忽視這一條。閃貸並不會消失。
強制關鍵交易跨兩個區塊進行
請注意,閃貸允許你在單個交易時間段內借入資金。如果你需要一個資本密集型交易跨越兩個區塊,那麼,用戶必須取出至少兩個區塊的貸款,由此擊敗任何閃貸攻擊。(注意:為此,用戶必須將其資產鎖定在兩個區塊之間,以防止他們償還貸款。如果你沒有正確地考慮設計,則用戶可能只是在這兩個區塊中實施閃貸攻擊)
顯然,這會帶來巨大的UX權衡:它意味著交易不再是同步的。它對普通用戶來說極其糟糕,這是很難下決心採取的措施。(藍狐筆記:為了防止閃貸攻擊,導致用戶體驗糟糕,顯然是下策)
很多開發者對非同步智能合約操作感到煩惱,例如,與layer 2的交互,以及以太坊2.0的跨分片通信。具有諷刺意味的是,非同步其實讓這些系統在應對閃貸時更安全,因為你無法在單個原子交易中橫跨分片或layer 2。這意味著不會有跨ETH2.0分片或在layer 2針對DEX的閃貸攻擊。
要求提供鏈上證明,以證明用戶的先前余額並沒有因為閃貸而改變
如果能有方法檢測出用戶真實的余額多少(也就是他們獲得借款之前的余額),我們就可以擊敗閃貸攻擊。
無法在EVM中本地執行此操作,不過,你可以做點帶有黑客意味的事情。這就是你要做的:
在用戶與你的協議交互之前,你要求提供可以證明之前區塊末尾的Merkle證明,他們有足夠的余額來解釋他們當前使用的資金。你需要對每個區塊上的每位用戶跟蹤這一點。(Ari Juels向我概述了此方法)
這種方法可能有些效果。當然,它也存在棘手問題:在鏈上驗證這些鏈上證明非常昂貴,並且沒有用戶會想要生成這些證明以及為此支付gas費用。另外,出於完全正當理由,用戶有可能在早些時候在同一區塊中已更改了余額。因此,從理論上它有一些優點,但這不是一個切實的解決方案。
以上提到的三個解決方案沒有一個有特別的希望。我相信,沒有針對閃貸攻擊的全面防禦措施。但是,有兩個特定的使用確實可以緩解閃貸攻擊:基於市場價格的預言機和治理代幣。
對於像Uniswap或OasisDEX這樣的基於市場的價格預言機,閃貸攻擊使得你在任何情況下都不能將當前的中間市場價格用作為預言機。對於攻擊者來說,在單個交易中移動中間市場價格並製造閃崩、破壞價格預言機,這是孩子的玩法。
這里最好的解決方案是通過TWAP或VWAP使用最後X個區塊的加權平均值。Uniswap v2將原生提供這一點。還有Polaris,這是通用的方法,可以為DeFi協議提供移動平均值。具有諷刺意味的是,Polaris也是由Marble的創始人Max Wolff構建的。(Polaris現在已經被拋棄,但Max看到了這一角落的東西,值得贊)
鏈上治理本身就是自己罐頭里的蠕蟲。鏈上治理通常由治理代幣持有者之間的代幣加權投票決定。但是,如果這些治理代幣出現在閃貸借貸池中,那麼,任何攻擊者可以撿起大量的治理代幣並搞出任何他們想要的結果。
當然,大多數治理協議都要求在投票期間鎖定這些代幣,以防止閃貸攻擊。但是,有些形式的投票並不要求這些,例如carbon投票,或Maker的執行合約。如今,隨著閃貸攻擊的出現,這些形式的投票應該認為完全遭到破壞。
理想情況下,如果治理代幣不可用來閃貸,這就很好。但是,這不取決於代幣的發行方,而是取決於市場。因此,所有治理行為應該要求鎖定,以防止閃貸攻擊。Compound的新COMP代幣更進一步,它對所有協議投票都要求基於時間的加權,甚至削弱針對其治理代幣的常規貸款攻擊。
更廣泛地說,所有治理代幣必須有時間鎖。時間鎖要求所有治理決定必須等待一段時間才能生效(Compound的時間鎖是兩天)。這使得系統可以從任何意料之外的治理攻擊中恢復。盡管MKR還無法被大量閃貸,MakerDAO最近因為易受此類攻擊而被號召實施措施。它最近實施了24小時的時間鎖,關閉了此類攻擊向量。
從長遠看,這一切意味著什麼?
我相信bZx攻擊改變了這一切。
這不會是最後一次閃貸攻擊。第二次bZx攻擊是對第一次的模仿,而且我懷疑在未來幾個月會掀起一波攻擊浪潮。現在,來自世界最遙遠角落的成千上萬名聰明少年正在嘲笑所有這些DeFi樂高,他們在顯微鏡下觀察,試圖發現可以實施閃貸攻擊的方法。如果他們設法成功利用漏洞,那麼,他們就可以賺取幾十萬美元,這在世界上的大部分地區都是可以明顯改變生活的。
有人稱閃貸並不會改變任何東西,因為如果攻擊者有足夠資金,這些攻擊總是可能的。這既正確又相當不正確。大多數鯨魚都不知道如何黑智能合約,而大多數聰明的攻擊者也沒有數百萬美元的資產。(藍狐筆記:此處是說,兩者的交集不大。同時具備兩者的是最可怕的攻擊者。但閃貸到來讓攻擊者獲得了免費的利器)現在,任何人僅花費幾分錢就可以租用一個價值5000萬美元的毀滅球。從現在開始這改變了每個建築被構建的方式。
在bZx攻擊之後,被閃貸攻擊就像是在DAO攻擊後被重入攻擊一樣令人尷尬:你不會得到人們的同情。你應該了解這一點。
最後,這些事件讓我想到加密貨幣的一個古老的概念:礦工可提取的價值。礦工可提取的價值是礦工可以從區塊鏈系統中提取的價值。這包括區塊獎勵和交易費用。但它也包括更多惡意形式的價值提取。例如對交易重新排序或將無賴交易插入區塊。
從根本上講,你應該將所有這些閃貸攻擊都視為是在內存池中可以賺取大量金錢的單個交易。例如,第二次bZx攻擊產生了價值64.5萬美元ETH的收益。如果你一位礦工,你打算開始挖新區塊,請想像一下,查看先前的區塊交易,並對自己說:「等等,那是什麼?當最後一個區塊包含64.5萬美元的利潤時,我為什麼還要打算為區區500美元左右的收益挖新區塊呢?」你不會選擇去擴展區塊鏈,而是回去並試圖重寫歷史,以使自己成為閃貸攻擊者。想想看:僅此一筆交易就比4小時誠實地開采以太坊來得多!
這與包含1000倍於常規區塊獎勵的特殊超級區塊是同構的,正如你預期的那樣,這樣的超級區塊的理性結果應該是礦工競相競爭以孤立鏈的打賞並為自己偷取該區塊。
在均衡狀態下,所有閃貸攻擊應該最終會被礦工提取。(請注意,他們也應該會最終竊取所有鏈上套利和清算)具有諷刺意味的是,這會阻止閃貸攻擊的發生,既然它會導致攻擊者無法利用這些漏洞來獲利。或許最後礦工會通過私人渠道徵集攻擊代碼,並向潛在的攻擊者支付發現者費用。從技術上講,可以使用零知識證明無須信任地完成此類操作。
但這一切現在都還是科幻小說。顯然礦工今天還沒有這么做。
他們為什麼不呢?
有大量的原因。它很難,需要很多工作。EVM很難模擬,它有風險,可能會有漏洞導致損失資金或孤塊,流氓礦池可能會面臨PR危機,被人們冠以「以太坊敵人」的烙印。就目前來看,相對於這么做的收益,礦工可能會在業務、R&D以及孤塊上損失更多。
今天是如此。未來不一定永遠如此。
這為以太坊提供了另外一個動力,以加速並過渡到ETH2.0。盡管以太坊上的DeFi總是很有趣,但它是絕對和不可撤銷的。DeFi在PoW鏈上不穩定,因為所有高價值交易都受制於礦工的重新分配(也稱時間劫匪攻擊)。
為了讓這些系統大規模運行,你需要最終性——讓礦工無法重寫已確認的區塊。這將保護先前區塊的交易免遭重新分配。此外,如果DeFi協議存在於單獨的ETH2.0分片中,它們不容易遭到閃貸攻擊。
據我估計,閃貸攻擊給我們一個小的但有用的提醒,那就是現在還很早期。我們還遠沒擁有可持續的架構,一個可為未來金融系統構建的架構。
目前,閃貸會是新常態。也許從長期看,所有以太坊上的資產都可用於閃貸:交易所持有的所有抵押品,Uniswap中的所有抵押品,也許所有ERC-20代幣本身。
誰知道呢?這只是幾行代碼的事。
B. coinbase有哪些幣
coinbase包含BTC比特幣、ETH以太坊、XRP瑞波幣、BCH比特現金、LTC萊特幣、LINK、XLM恆星幣、USDC、WBTC、EOS柚子幣、XTZ、FIL、SNX、MKR、AAVE、DASH、UNI、DAI、ZEC、ETC、COMP、UNA、ATOM、YFI、BAT、REN、LRC、ZRX、REP、BAND、ALGO、KNC、MANA、BNT、OXT、BAL、DNT、CVC、NU、OMG、GRT、LOOM、NMR、GLM,一共有44個幣種。
coinbase是美國的一家數字貨幣交易所,是世界上最大的數字貨幣交易所之一,有很多投資者在該平台進行數字貨幣的交易。
我們通過以上關於coinbase有哪些幣內容介紹後,相信大家會對coinbase有哪些幣有一定的了解,更希望可以對你有所幫助。
C. 加密貨幣是什麼 國內加密貨幣有哪些
加密貨幣不是可以隨身攜帶的有形貨幣,而是可以交換的數字資產。「加密」部分源於在事務期間使用加密技術進行安全性和驗證。
在使用加密貨幣進行交換而不是法定貨幣時,加密所有者不必依賴銀行來促進交易,並且可以成功避免使用金融機構帶來的費用。
通常,加密貨幣交易通過區塊鏈網路處理和完成。區塊鏈被設計為分散的,因此連接到網路的每台計算機必須在能夠處理之前成功確認交易。理想情況下,這會為所有相關人員創建更安全的交易。它也可能導致你等一會兒; 關於比特幣的一個大抱怨是交易需要多長時間才能完成。
國內加密貨幣有比特幣、以太幣、萊特幣和E-DINARCOIN。
(3)mkr幣和比特幣擴展閱讀:
比特幣:比特幣的概念最初由中本聰在2009年提出,是一種P2P形式的數字貨幣,比特幣依據特定演算法,通過大量的計算產生,比特幣經濟使用整個P2P網路中眾多節點構成的分布式資料庫來確認並記錄所有的交易行為,並使用密碼學的設計來確保貨幣流通各個環節安全性。
以太幣:以太幣(是以太坊的一種數字代幣,被視為「比特幣2.0版」,以太幣可以在交易平台上進行買賣。
萊特幣:萊特幣是一種基於「點對點」技術的網路貨幣,它可以幫助用戶即時付款給世界上任何一個人。是目前僅次於比特幣全球流通市值的第二虛擬貨幣。
參考資料:
網路-加密貨幣
D. 解析 DeFi 項目之Uniswap(一):Uniswap 是什麼
本文目錄
前言
Uniswap 是什麼? (白皮書的回答)
Uniswap 是什麼? (我們的回答)
在 Uniswap 上可以交易哪些幣種?
Uniswap 有什麼特色?
什麼是流動性提供者(liquidity provider)?
Uniswap 有什麼缺點?
什麼情況下適合使用 Uniswap?
前言
這篇文章的目的是讓讀者對 Uniswap 有整體、初步的認識,所以不會涉及 Uniswap 中較復雜的設計。
Uniswap 是什麼? (白皮書的回答)
首先來看看 Uniswap 白皮書中是怎麼介紹 Uniswap 的:
Uniswap is a protocol for automated token exchange on Ethereum. It is designed around ease-of-use, gas efficiency, censorship resistance, and zero rent extraction.
翻成中文:Uniswap是一個用於以太坊上自動代幣交換的協議。它圍繞易用性、gas 使用效率、抗審查性和零抽租而設計。
這個介紹非常簡明扼要,只是使用者們可能想要知道更具體的答案。
Uniswap 是什麼? (我們的回答)
Uniswap 是一個在以太坊區塊鏈上運行的交易所,它支援 ETH與 Token 之間、Token 與 Token 之間的快速兌換。(本文的「Token」皆指「ERC20 Token」)
要說 Uniswap 有什麼特色,我覺得最大的特色就是它非常的去中心化,開發團隊沒做 ICO、不抽手續費、也不收上幣費。
更直接地說,Uniswap 開發團隊在 Uniswap 交易所中沒有任何特權。Uniswap 的設計最早可以追溯到 Vitalik 在 2016 年 10 月在 Reddit 發的
「Let』s run on-chain decentralized exchanges the way we run prediction markets」這篇文章,這篇文章描述了一個在區塊鏈上運作的去中心化交易所的雛形,
這個交易所最大的特色是:
它不需要 order book (掛單簿)系統,價格完全根據人們在此交易所進行的買賣自動調節。2017 年底,當時才學習開發智能合約兩個月的 Hayden Adams 開始依照這篇文章的描述著手開發 Uniswap,隔年 8 月 Uniswap 獲得以太坊基金會資助 $100k,並在 11 月被布署上鏈,由於 Uniswap 在許多方面都有良好的設計,在上線之後交易量便一路攀升,在 2019 年 7 月的現在,已經穩居以太坊上交易所交易量的前三名。
在 Uniswap 上可以交易哪些幣種?
目前在 Uniswap 可交易 ETH 和 581 種 ERC20 Token,在 CoinGecko 上可以按交易量排序看到這些 Token:
交易量靠前的都是非常有代表性的項目,我們簡介一下其中比較特殊的幾個:
1. DAI: 由 MakerDAO 發行的去中心化穩定幣,與美元掛鉤。
2. MKR: MakerDAO 的治理代幣。目前 MKR 最大的交易市場就是 Uniswap。
3. USDC: Coinbase 發行的美元穩定幣,可在 Coinbase 上與美元 1:1 互換。
4. WBTC: ERC20 Token 版本的比特幣,由以太坊社群中許多知名團隊共同維護,可與比特幣 1:1 互換。
5. WETH: ERC20 Token 版本的以太幣,由智能合約保證可與以太幣 1:1 互換。
6. cDAI: 在 Compound 放貸 DAI 後會獲得的 token,其價值會因為放貸利息而逐漸上升,可在 Compound 上隨時贖回為 DAI。
Uniswap 有什麼特色?
如白皮書所述,Uniswap 在以下方面有著良好的設計:
1. ease-of-use(易用性)
在 Uniswap 交易所上買賣幣時,你只要決定好賣出的幣種、買入什麼幣、買或賣的數量是多少,按下 Swap 送出交易,在交易上鏈後就能立即取得你應得的幣。而且就算是 Token A 換 Token B,在 Uniswap 也只要發出一筆交易就能完成兌換,在其它交易所中可能需要發兩筆交易(第一筆將 Token A 換成某種中介貨幣(如 ETH, DAI)再發第二筆交易換成 Token B)才能完成。
註:實際上在 Uniswap 也是將 Token A 換成 ETH 再換成 Token B,只是它讓這兩個動作發生在同一筆交易里。
2. gas efficiency(gas 使用效率)
根據白皮書中的資料,Uniswap 交易消耗的 gas 量是以太坊上的幾家主流交易所之中最低的,也就代表在 Uniswap 交易要付的礦工費最少。
這主要得益於它相對簡單的做市機制:
Uniswap 不是採用掛單搓合機制來完成交易,而是根據合約中儲備的資金量算出當下的交易價格,並立刻從資金池中取出對應的金額傳給使用者,整體的運算量相對較少。
3. censorship resistance(抗審查性)
抗審查性體現在 Uniswap 上架新幣的門檻:
就是沒有門檻,任何使用者都能在 Uniswap 上架任何 Token。這點即使在眾多去中心化交易所之中也是少見的,大多數的去中心化交易所雖然不會像中心化交易所那樣向你收取上幣費 ,但還是要申請上幣、通過審查後,運營團隊才會讓你的 Token 可以在他們的交易所上交易。(可參考上幣規則 of IDEX, KyberSwap, Bancor, EtherDelta)
但在 Uniswap,任何使用者只要發起一個 createExchange 的交易,就能讓一個 Token 上架到 Uniswap 的交易對中,上架後也沒有人能迫使它下架。
4. zero rent extraction(零抽租)
在 Uniswap 的合約設計中,沒有人有任何特權,開發團隊也不從交易中抽取費用。但這不代表在 Uniswap 上交易是沒有手續費的。
要讓交易被打包進以太坊區塊鏈就要付 gas fee,這筆錢跟交易的金額大小無關,以近期的幣價和網路擁擠程度估計,大約付 $0.05。
什麼是流動性提供者(liquidity provider)?
「流動性提供者」是一個金融術語,指的是幫助一個金融市場提高流動性的個體。一個擁有越高流動性(市場深度越大)的交易所,其使用者就越能在短時間內以穩定的價格完成大額資產的交換,使用者的交易體驗當然就越好。
反之,在一個流動性不足的交易所,就有可能因為一筆大額的交易導致幣價劇烈波動。
在大部分的交易所中都有流動性提供者或做市商(market maker)這樣的角色存在,做市商會在買、賣兩個方向上掛單,讓想要交易的使用者只需要跟做市商的訂單搓合就能完成交易,而不需要等待擁有相反需求的交易對手出現,市場流動性就能提高。
在 Uniswap,流動性提供者要做的事情是:替一個 ETH - Token 交易對增加 ETH 與 Token 的儲備資金,儲備金越多,ETH ⇄ Token 的交易價格就越穩定,該 Token 的流動性就越高。
但如果「替一個交易對增加流動性」這件事不能帶來利益,應該很少人會自願這么做,所以 Uniswap 的做法是從每一筆 ETH ⇄ Token 交易中抽取「流動性提供者費用」0.3% 分給流動性提供者們,逐利的人們就會自願為 Uniswap 增加流動性以賺取被動收入,交易者們也能享受到更好的交易體驗,達成雙贏。
Uniswap 有什麼缺點?
前面說了這么多 Uniswap 的好話,這里說說它的缺點:
1. 不能自行決定買賣價格
你只能被動接受 Uniswap 給你的價格,不能掛單在你想要的價格。
2. 交易費用不低
0.3% 的費用跟其它中心化、去中心化交易所比起來都算是偏高,如果你的目標是盡量以漂亮的價格完成交易,不建議使用 Uniswap。
3. Front Running(超前交易)
Front Running 在許多去中心化交易所、應用中都是一個問題。簡單地說,
從你發出交易到交易上鏈之前,其他人有機會趕在你的交易完成之前執行另一筆交易,使得你的成交價格偏離預期,你因此吃虧,對方因此得益。
什麼情況下適合使用 Uniswap?
1. 你需要支付某種你未持有的 Token 給其他人
比如你持有 ETH 而不持有 DAI,但突然需要付一筆 DAI 給別人,那你就非常適合用 Uniswap 的 Send 功能,讓兌幣、轉帳一次完成。
2. 你打算長期持有 ETH 和一種 Token
如果你本來就打算長期持有 ETH 和一種 Token,而且相信這兩者的相對價格短時間內不會有太大的變化,那你可以考慮將部分的 ETH 和 Token 放進 Uniswap 來賺取被動收入,放進去的幣也隨時都可以領回。
但是如果你覺得這個 Token 相對於 ETH 的價格可能在近期上漲或下跌很多,你投入 Uniswap 一段時間後再領回,領回的幣的總價值可能比不投入的情況還低。
3. 你發行了一種 Token,想讓它能夠在鏈上交易
那你可以幫你的 Token 創建一個 Uniswap 交易對,然後幫它 Add Liquidity。
4. 你是智能合約開發者,想要在合約里取得幣價或轉換一種幣為另一種幣
例如:你寫了一個智能合約來收 ETH,並且想要根據 ETH 當下的價格決定收取多少 ETH,甚至在收錢的當下立刻把 ETH 換成穩定幣,那你可以去接鏈上的 Uniswap exchange contract 來完成這些功能,合約的介面在此。
另一個一樣能用在這個情境的 DApp 是 KyberSwap,但 KyberSwap 消耗的 gas 量大約是 Uniswap 的 3 倍以上,所以如果你想要盡可能減少 gas cost 的話 Uniswap 就是首選了!
原文鏈接: https://medium.com/taipei-ethereum-meetup/defi-uniswap-1-e36db975e4