比特幣交易所 比特幣交易所
Ctrl+D 比特幣交易所
ads
首頁 > AVAX > Info

隱藏在眾目睽睽之下, Solidity 實現密封投標拍賣_AUCTION

Author:

Time:1900/1/1 0:00:00

編者注:這篇文章是我們正在進行的web3拍賣系列的一部分。第一部分是對拍賣設計的概述,以及在無需許可的區塊鏈背景下機制設計的具體技術挑戰。第二部分是關于清理市場和避免GAS戰爭的文章。第三部分分享了對典型拍賣類型的概述、理論如何轉化為實踐的研究,以及我們對一個新穎的、密封投標的Vickrey拍賣的首次實施。

鏈上拍賣是web3中最有趣設計空間之一——從NFT銷售到抵押品拍賣——產生了新的實現和研究景觀。雖然拍賣機制的設計已經存在了幾個世紀,并在最近幾十年隨著網絡和電子商務的出現而不斷發展,但我們現在才將這些方法應用于智能合約。

我們也開始看到更多區塊鏈原生的拍賣設計,包括我們對Vickrey拍賣的開源Solidity實現,以及來自社區的一些有趣的發展。在我們的第一個設計中,我們在隱私和資本效率之間做了一個權衡。我們使用了超額抵押,以便從獲勝的投標人那里強制付款,而不通過抵押品的數量揭示精確的投標價值。通過鎖定更多的資本,你可以在潛在的更大的機會成本下獲得更多的隱私。但是,如果我們可以在沒有過度抵押的情況下擁有投標隱私呢?

這篇文章介紹了一種新的拍賣設計,我們稱之為"SneakyAuction",它結合了CREATE2操作碼和狀態證明來保證投標隱私,而不要求投標人鎖定超過要求的抵押物。我們首先分解了它的工作原理,然后在氣體成本、用戶體驗和隱私方面與我們之前的實現進行比較。我們還將該實現添加到GitHub上的AuctionZoo倉庫中,這樣你就可以分叉它,在它的基礎上構建,并在我們深入研究更多的機制時跟隨我們;與此同時,更多關于它如何工作以及與我們過去的設計進行比較的信息如下。

Circle將87億美元USDC儲備金轉移到回購協議以免受美國政府違約影響:金色財經報道,穩定幣發行商Circle正在重新平衡支持300億美元USDC的儲備金,因為它為美國政府債務違約的風險做準備。根據該基金的網站,由全球投資管理巨頭貝萊德管理的Circle儲備基金,截至5月16日,在投資組合中增加了87億美元的隔夜回購(回購)協議。所謂的三方回購協議涉及法國巴黎銀行、高盛集團、巴克萊銀行和加拿大皇家銀行等銀行巨頭。

Circle發言人在一份說明中表示,雖然這個計劃已經進行了很多個月,但納入這些高流動性資產也為USDC儲備提供了額外的保護,以防萬一出現美國債務違約的情況。[2023/5/18 15:10:13]

工作原理:使用create2提交投標

要在鏈上創建一個"最終公開"的密封投標拍賣,需要滿足兩個要求。首先,出價需要在投標期間保密,然后在投標結束時才公開;承諾-公開方案可以在鏈上復制這種機制。第二個要求是抵押:出價必須有抵押物支持,以確保贏家有足夠的資金來履行他們的承諾。

在我們的超額抵押的Vickrey實現中,潛在的買家通過調用commitBid函數,提供哈希承諾和要托管的抵押物來出價。這種方法滿足了要求,但也有一些缺點。盡管出價本身被哈希值所隱藏,但commitBid交易公開并立即表明了用戶的意圖。"我想在這個拍賣會上出價,這是我出價的抵押品。"如果沒有過度抵押,意圖和抵押品的可見性會暴露出投標價值。但是,如果我們能夠混淆交易的意圖,我們也許能夠在不依賴過度抵押的情況下實現投標隱私。

MetaMask Institutional、Cobo和Gnosis DAO聯合開發靈魂綁定代幣項目“Evolution”:12月14日消息,數字資產托管和區塊鏈技術開發商Cobo于12月13日發布公告宣布,Cobo、MetaMask Institutional和Gnosis DAO聯合靈魂綁定代幣(SBT)項目“Evolution”,旨在幫助用戶定義自己數字身份并了解最新行業趨勢。(cointelegraph)[2022/12/14 21:44:03]

在EIP-1014中引入并包含在君士坦丁堡硬分叉中的CREATE2操作碼為我們提供了一種方法來做到這一點。CREATE和CREATE2操作碼都是用來部署智能合約的,但它們在計算部署地址的方式上有所不同。CREATE部署地址是作為部署者地址和nonce的哈希值計算的;另一方面,CREATE2部署地址是作為合約的字節碼和構造器參數、任意鹽和部署者地址的哈希值計算的。

CREATE2經常被用于工廠模式,將合約部署到可預測的地址--例如,UniswapV3PoolDeployer合約使用CREATE2將每個池子的合約部署到一個地址,這個地址是代幣對和收費層的函數。CREATE2也可用于部署可升級的智能合約,最明顯的是在變質合約模式中。

對我們來說更重要的是,CREATE2的部署地址可以作為對輸入字節碼和參數定義的任何行為的散列承諾。如果構造器參數編碼了一個投標,那么CREATE2地址可以作為一個投標承諾。

Aave DAO已開始對關于以太坊合并的提案進行投票:8月24日消息,Aave DAO已開始對關于在以太坊合并時支持PoS以太坊的提案進行投票。該提案呼吁Aave DAO僅支持在權益證明共識下運行的以太坊主網,而不是任何以太坊分叉。投票將在北京時間8月27日0:45結束。[2022/8/24 12:44:26]

計算Solidity中金庫的地址

此外,合同本身可以作為一個保險庫——投標人可以在合同部署之前向CREATE2的金庫地址發送ETH,以抵押和承諾他們的投標,只需一次簡單的轉賬由于競標者沒有金庫地址的私鑰,抵押物被鎖定,直到競標被公開,這時SneakyAuction合約部署并解鎖金庫。

EVM區塊頭的組成部分。來源:

https://ethereum.stackexchange.com/a/6414

在我們的實現中,拍賣的第一個出價會存儲上一個區塊的區塊鏈。該交易有效地將拍賣從投標階段過渡到揭示階段--所有隨后揭示的投標必須提供Merkle證明,證明他們的金庫在該區塊之前已經有足夠的抵押。請注意,第一次揭示出價交易最好是通過私人交易池提交;否則,觀察mempool的競標者可以提前進行交易并在最后一刻出價。

美國參議員Lummis辦公室:美國SEC在調查美國所有的加密交易所:8月5日消息,據美國參議員Cynthia Lummis辦公室的一名工作人員稱,美國證券交易委員會(SEC)不僅正在調查Coinbase,包括幣安在內的每家美國加密貨幣交易所都處于不同的調查階段。根據加密數據網站CoinGecko的數據,美國有40多家加密貨幣交易所。美國證券交易委員會沒有回應多次置評請求。

這位工作人員說,在美國證券交易委員會采取多項行動表明監管機構對加密貨幣行業的管轄權,以及美國商品期貨交易委員會(CFTC)的強烈回應后,該委員會反對其所謂的“通過執法進行監管”。美國證券交易委員會迫切希望解決其與CFTC關于加密管轄權的爭議。如果此事在內部沒有得到解決,他說立法者將不得不參與進來,而國會很可能會站在CFTC一邊。(福布斯)[2022/8/5 12:04:15]

LibBalanceProof

為了最大限度地降低投標人的成本,我們編寫了一個GAS優化庫來驗證鏈上的余額證明,該庫建立在Aragon團隊編寫的合同,以及HamdiAllam的鏈上RLP解碼的合同。我們的庫使用了一些低級技巧和優化,這些技巧和優化依賴于狀態trie的特殊結構,所以它不能用于通用的Merkle-Patriciatrie證明。作為回報,它允許SneakyAuction合約在不到3萬個氣體中驗證金庫的過去余額。

XCarnival:已暫停智能合約以及存款、借款功能:6月26日消息,XCarnival發推稱,目前智能合約已暫停,暫時不支持存款和借款操作,團隊將盡快確認具體情況。

據此前報道,PeckShield發推稱,NFT借貸協議XCarnival遭到攻擊,黑客獲利3087枚以太坊(約380萬美元),而協議損失可能更高。黑客地址為0xb7CBB4d43F1e08327A90B32A8417688C9D0B800a。PeckShield表示,本次攻擊或由于已解除抵押的NFT仍被作為抵押品所致。[2022/6/27 1:32:57]

我們還為eth_getProofRPC方法寫了一個輕量級的JavaScript包裝器。給定一個地址和區塊號碼,它返回余額證明和RLP序列化的區塊頭,可以用來顯示投標。

它是如何比較的

讓我們把我們新的SneakyAuction方法與我們上次發布的OverCollateralizedAuction設計進行比較,沿著技術設計者或用戶關心的幾個關鍵維度:GAS成本、用戶體驗和隱私。

GAS成本

SneakyAuction的revealBid、endAuction和withdrawCollateral功能需要部署SneakyVault,所以它們比OverCollateralizedAuction的對應功能更昂貴。revealBid尤其昂貴,因為它還需要驗證一個余額證明,這需要花費大約25000個氣體。

用戶體驗

雖然這兩個實現遵循類似的整體流程,但在用戶體驗上還是有一些區別。SneakyAuction有一些小的缺點:

向未部署的金庫發送ETH的體驗,雖然可以由前端抽象出來,但對于在區塊探索器上檢查其投標交易的用戶來說,可能會混淆。在OverCollateralizedAuction中,如果所有的出價都被公開,那么就有可能提前結束拍賣。這在SneakyAuction中是不可能的,因為合同沒有辦法知道已經有多少出價已經被認可。競標者可以通過再次調用commitBid來更新他們的出價,并在OverCollateralizedAuction中補足他們的抵押品。在SneakyAuction中,一旦投標的金庫被抵押,投標人就不能進行更新。隱私

OverCollateralizedAuction的投標隱私依賴于投標人選擇鎖定額外的抵押品。另一方面,SneakyAuction的隱私來自與拍賣本身完全無關的鏈上活動。在拍賣的投標期間發生的ETH轉移。

為簡單起見,我們假設每個投標都是用一個ETH轉賬來抵押的。我們觀察到:

抵押交易應該是第一次有人與鏈上的金庫地址進行互動。我們不希望有任何其他交易在投標期的剩余時間內接觸到金庫地址。任何交易都不能從金庫地址發起。在投標期間,ETH轉移到其他"未觸及"的地址似乎是投標——換句話說,它們是隱藏投標交易的"噪音"。為了幫助量化SneakyAuction的隱私,我們可以看一下這個噪音分布的形狀。

這個直方圖顯示了今年以來每天ETH轉移到未觸及的地址的分布,說明了24小時投標期的噪音分布。我們可以看到,大多數交易都落在ETH范圍內,這意味著預期出價值在該范圍內的拍賣將具有最強的隱私。另一方面,對于預期出價大于10ETH的拍賣,典型的噪音可能無法提供足夠的隱私--在這個范圍內很少有超過100次的轉賬,所以吸引很多出價的拍賣會在分布中產生一個明顯的峰值。

為了從另一個角度看這個數據,這些散點圖描述了2022年10月15日的轉賬情況,與兩個假設拍賣的出價相疊加:

200次出價,正常分布在1ETH左右

200次出價,正常分布在100ETH左右

從直觀上看,觀察者更容易識別來自第二次拍賣的出價。在實踐中,你可以使用一個聚類算法,如期望最大化算法來預測哪些交易是投標。

然而,還有一些其他因素可以使SneakyAuction在實踐中更加私密。

更長的投標期。隱私與投標期的長度成正比--投標期越長,隱藏投標的轉移就越多。同時進行的拍賣。私密性會隨著同時進行的拍賣數量的增加而增加--如果兩個拍賣同時處于投標階段,一個拍賣的出價就會成為另一個拍賣的噪音。SneakyAuction也可以從過度抵押中獲益--因為SneakyVault將任何多余的ETH返還給競標者,競標者可以選擇過度抵押以進一步保護隱私。因此,從某種意義上說,SneakyAuction提供了嚴格意義上比我們之前的實現更強的隱私。

SneakyAuction的隱私機制的一個簡單推論是,它隱藏了投標期間的投標數量。這比OverCollateralizedAuction有優勢,OverCollateralizedAuction只隱藏了出價值--在特定的拍賣中已經做出的出價承諾的數量是完全公開的。

雖然我們對密封出價拍賣的第一個實現將現實世界的特征轉化為鏈上的設計決策,但我們的第二個設計依賴于一種新穎而實用的機制,將區塊鏈的公共性質用于其優勢:密封出價"隱藏"在不相關的區塊鏈活動中。

雖然這種新方法是實現投標隱私而不過度抵押的便捷方式,但它不一定適合所有的拍賣。對于期望出價較小的拍賣,隱私性會得到改善。

責任編輯:MK

Tags:IONUCTAUCTIONAUCThyperionUCTTauction幣黑客AUCT價格

AVAX
Do Kwon 的人生:名利與罪惡_Terra

在DoKwon的推特個人主頁上,他的頭像是這樣一幅形象:一個類似托尼·史塔克鋼鐵俠造型的動漫卡通人物,戴著鑲滿六顆能量寶石的滅霸手套,臉上則是極像機械戰警一樣的面罩.

1900/1/1 0:00:00
BlueMove:Sui上的NFT交易市場_MOV

眾所周知,Aptos、Aleo、SUI,這三個是炙手可熱的新生三大公鏈,無論是熱度、技術、資金都是新生公鏈的佼佼者.

1900/1/1 0:00:00
萬字長文|10年回溯,Crypto 投融資演化史_OIN

FTX,花了兩年時間坐上二把手的位置,只在一夕之間跌落神壇,百億估值如曇花泡影,一朝散盡,放在年輕的加密行業發展史中,它也如一顆巨石,跌落湖中央,讓每一個坐在Crypto航船上的人都心生不安.

1900/1/1 0:00:00
鏈上數據顯示,FTX 似乎已停止處理提款_WPL

根據鏈上數據,加密貨幣交易所FTX似乎已經停止處理提款請求。FTX的最后一筆交易發生在美國東部時間上午6:37,在以太坊區塊鏈上進行.

1900/1/1 0:00:00
向NFT銷售收30%蘋果稅,「圖圈」與蘋果的雙向救贖?_比特幣

去中心化該不該給中心化渠道交稅?前幾個月剛有一些交易平臺推出自定義版稅,因會導致藝術家零版稅收入引發業內爭議,但當iOS16推送后他們都保持了沉默.

1900/1/1 0:00:00
淺析 CZ 和 SBF 對峙起始及其后續影響_EDA

這是一場億萬富翁之間的世紀大戰。中心化交易所老大幣安的創始人CZ和FTX的首席執行官SBF的正在對峙.

1900/1/1 0:00:00
ads