比特幣行情 比特幣行情
Ctrl+D 比特幣行情
ads

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

Author:

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

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

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

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

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

Stability AI開源其AI驅動的設計工作室:金色財經報道,元宇宙及數字媒體工具開發公司Stability AI本周宣布發布StableStudio,這是DreamStudio的開源版本,DreamStudio是Stability AI的商業人工智能驅動的設計套件。DreamStudio最初被設想為開源生成AI藝術模型Disco Diffusion的動畫工作室。去年,隨著Stable Diffusion的出現,DreamStudio的焦點轉向了圖像生成,這使DreamStudio與MidJourney和Nightcafe等生成性圖像平臺的競爭更加一致。

此前報道,元宇宙及數字媒體工具開發公司Stability AI完成1.01億美元種子輪融資。[2023/5/19 15:12:35]

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

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

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

CZ:香港作為中國的加密試驗場是非常明智的做法:5月1日消息,Binance 創始人 CZ 在 AMA 中發言表示,我認為銀行的支持與教育特別是金融教育真的很重要,我們在這上面花了很多時間和精力。香港對加密貨幣非常開放,這是一個很好的變化。我認為香港作為中國的加密試驗場是非常明智的做法。[2023/5/1 14:37:31]

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

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

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

法院文件顯示:Alameda?Research列出的資產和負債估值在100億至500億美元之間:金色財經報道,法院文件顯示,貨幣對沖基金Alameda?Research列出的資產和負債估值在100億至500億美元之間。[2022/11/12 12:53:07]

計算Solidity中金庫的地址

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

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

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

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

Bitfinex已集成 Digivault ExchangeConnect:金色財經報道,Bitfinex 已集成 Digivault ExchangeConnect,以允許在英國托管機構 Digivault 內持有資產的客戶與加密交易平臺進行交易。Digivault是EQONEX 在 FCA 注冊的子公司,提供加密資產托管服務。[2022/10/11 10:30:25]

LibBalanceProof

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

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

它是如何比較的

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

38,262枚BTC在過去30天里從交易所撤出:金色財經報道,WatcherGuru發推表示,在過去30天里,有38,262枚BTC(價值約8.0233億美元)從交易所撤出。[2022/7/18 2:20:39]

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:IONUCTAUCTCTIEjection MoonAUCTION價格privacyandprotection

比特幣交易
KEY:對話王一石和超級君:還要 CeFi 暴雷多少次,持幣者才肯用自己的錢包?

注:本文為線上AMA對話實錄,主持人為子魚,嘉賓為OneKey王一石、本末社區主理人超級君。子魚:今天的話題就正式開始。我是子魚,也是一個老韭菜了.

1900/1/1 0:00:00
TUB:盤點Web3去中心化視頻平臺

我們已經聽過很多關于Web3創作者經濟是如何更好地為創作者服務的論調。但是創作者應該如何進入這個領域卻是一直都存在的問題。除了NFT,創作者其實還有很多方式進入這個領域.

1900/1/1 0:00:00
以太坊:Linda Xie 談加密生態的可組合性

雖然技術界內外有很多人都聽說過比特幣、加密貨幣和區塊鏈的概念,但智能合約作為以太坊的主要創新卻不太出名。智能合約是任何人都可以編寫并部署在公鏈上的程序,它使各種創新成為可能.

1900/1/1 0:00:00
MEV:Multicoin Capital:MEV中的價值流

在閱讀本文之前,請確保你對MEV有一定的了解。關于礦工可提取價值以及搜索者和區塊生產者之間市場結構的入門知識,請參見TokenizingMEV這篇文章.

1900/1/1 0:00:00
WEB:【聚焦】大潮起香江,新政開啟香港加密之都?(持續更新)

一、香港虛擬資產發展政策宣言10月31日,香港財政司正式發布《有關香港虛擬資產發展的政策宣言》就在香港發展蓬勃的虛擬資產行業和生態圈,闡明政府的政策立場和方針.

1900/1/1 0:00:00
區塊鏈:一文讀懂區塊鏈互操作性

區塊鏈是去中心化的計算機網絡,可以在數字賬本中追蹤用戶賬戶余額和數據。區塊鏈沒有中心化的管理者,而是采用去中心化共識對賬本更新達成一致協議,并最終執行更新.

1900/1/1 0:00:00
ads