買以太坊 買以太坊
Ctrl+D 買以太坊
ads
首頁 > OKB > Info

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

Author:

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

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

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

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

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

loropiana.eth以34870 USDC的價格售出:11月16日消息,OpenSea數據顯示,loropiana.eth以34870枚USDC的價格售出,為該域名自3年前注冊以來首次成功出售。Loro Piana為意大利奢侈品品牌。[2022/11/16 13:12:52]

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

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

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

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

美國10月季調后非農就業人數增加26.1萬人,失業率為3.7%:11月4日消息,美國10月季調后非農就業人數增加26.1萬人,預期為20萬人,前值為26.3萬人。美國10月失業率為3.7%,預期3.6%,前值3.5%。(金十)[2022/11/4 12:17:51]

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

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

計算Solidity中金庫的地址

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

數據:2,039枚BTC 從Kraken轉移到未知錢包:金色財經報道,WhaleAlert監測數據顯示,2,039枚BTC(價值約39,993,453美元)從Kraken轉移到未知錢包。[2022/10/4 18:39:07]

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

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

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

LibBalanceProof

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

觀點:比特幣與華爾街“不需要”彼此,但它們相處可能會更好:金色財經報道,據研究分析師發文稱,華爾街不需要比特幣,因為沒有比特幣它會繼續賺錢。在華爾街公司不接觸比特幣的情況下,咨詢和交易費用仍將帶來持續的收益。

其次,比特幣不需要華爾街,因為它會在沒有第三方的情況下繼續存在。比特幣將繼續為生活在獨裁統治或兩位數通貨膨脹下的人們提供選擇。

但實際上,雖然他們不需要彼此,但他們不會完全傷害對方。華爾街全面接受比特幣意味著華爾街可以獲得更多收入,從而獲得更多資金;這種擁抱也可能意味著通過提高比特幣價格為比特幣持有者帶來更多的回報。(CoinDesk)[2022/9/12 13:23:23]

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

它是如何比較的

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

GAS成本

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

澳大利亞Web3抽獎公司為其NFT持有者提供太空旅行機會:金色財經報道,總部位于澳大利亞的Web3抽獎公司Crypto Competitions最近與太空旅行公司World View達成合作伙伴關系,為其NFT持有者提供在2024年贏得World View太空飛行的優先席位的機會(七千分之一)。Crypto Competitions總經理Harls Cannard在接受采訪時表示,他的Web3公司希望使用區塊鏈為其太空飛行抽獎項目提供幫助,因為該技術使抽獎活動“安全、可靠和透明”。

據悉,Crypto Competitions的模型與傳統的NFT彩票相似,后者使用NFT來代表抽獎“票”。但它采用了一個逐步淘汰的過程,在7,000張NFT中決定最后的贏家。(Cointelegraph)[2022/8/31 12:59:57]

用戶體驗

雖然這兩個實現遵循類似的整體流程,但在用戶體驗上還是有一些區別。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:IONAUCTIONAUCAUCTholdjubilationEOS Auctionauction幣黑客auction幣值得投資嗎

OKB
NCE:大事件:幣安擬收購FTX 原因是什么?還有哪些障礙?后續有什么影響?_BAR

11月8日下午,FTX的相關熱錢包突然出現異樣,近多個小時幾乎沒有幣轉出。同時FTXUS的熱錢包仍在持續轉幣。有人說:FTX是不是快要發公告?誰知道卻等來了一個幣圈歷史系的公告.

1900/1/1 0:00:00
NFT:NFT新項目Art Gobblers引發爭議,加密世界有真正的公平嗎?_GOB

內容速遞 “Rick&Morty”聯合創始人JustinRoiland于本周一推出了一個全新的以太坊NFT項目ArtGobblers,該項目二級交易價格在短時間內飆升.

1900/1/1 0:00:00
USD:BUSD 如何成為 Binance 的戰略武器?_binance

TL;DR: Binance是一家全球性公司,一直受到世界各國政府,主要是西方鄰國政府的嚴格審查.

1900/1/1 0:00:00
加密貨幣:加密貨幣的終局已經到來了嗎?我們將何去何從?_SUI

有沒有人能告訴你明年會發生什么?下一個十年呢?也許是下個世紀?當然沒有,否則他們就會被鎖在某個地堡里,一天24小時為CIA或其他一些三個字母的機構工作.

1900/1/1 0:00:00
WEB:10月最值得關注的Defi項目_YFDOT幣

10月最值得關注的Defi項目Defi現在有什么值得關注的項目嗎?每個月,我都會根據資金走向來判斷市場的方向,找到有價值的項目。基本上,能在熊市中融到資的項目就很有可能強勢進入牛市.

1900/1/1 0:00:00
INB:代幣發行的三個最新趨勢_coinbase買的USDT不能發送

代幣設計的創新落后于更大的生態系統;研究人員將重點一直放在擴展、智能合約優化和其他更多技術主題上,而代幣設計似乎是事后才想到的.

1900/1/1 0:00:00
ads