a16z: Từ giấy lên chuỗi, lý thuyết đấu giá được thực hiện như thế nào?
Tiêu đề gốc: 《Từ Giấy đến Chuỗi: Lý thuyết Đấu giá Thông tin cho Việc Triển khai》
Tác giả: Michael Zhu, a16z
Biên soạn: Lão Nhã Phí
Đấu giá có mặt ở khắp nơi trong tiền điện tử. Từ đấu giá tài sản thế chấp Maker đến đấu giá không gian khối đấu thầu kín của Flashbots và đấu giá NFT trên OpenSea, đấu giá áp dụng cho nhiều tình huống cần phát hiện giá, thanh khoản hoặc phân bổ tài nguyên khan hiếm, dù là trên chuỗi hay ngoài chuỗi.
Tuy nhiên, bên cạnh một lượng lớn (và ngày càng tăng) nghiên cứu học thuật về đấu giá, rõ ràng là chúng ta chỉ mới chạm vào bề mặt của những chức năng mà các cơ chế này có thể cung cấp trên chuỗi — chẳng hạn như tối ưu hóa quyền riêng tư, hiệu quả, thặng dư của người mua và các mục tiêu thiết kế quan trọng khác. Với sự bùng nổ thiết kế nhà tạo lập thị trường tự động (AMM) sau Curve và Sushiswap vào năm 2020 — cùng với sự bùng nổ của blockchain thế hệ thứ ba — đấu giá trên chuỗi dường như đã trưởng thành, có thể xuất hiện một đợt tiến hóa tương tự.
Mặc dù các hình thức đấu giá trước đây đã được áp dụng một cách lỏng lẻo (và bị hạn chế bởi) các ràng buộc công nghệ của blockchain, nhưng giờ đây chúng ta bắt đầu thấy nhiều thiết kế mới đặc biệt phù hợp với blockchain. Theo truyền thống của thị trường, bài viết này chủ yếu nhằm thu hẹp khoảng cách giữa lý thuyết đấu giá và thực tiễn: các nguyên tắc lý thuyết cung cấp thông tin cho việc thực hiện quyết định như thế nào? Ngược lại, việc thực hiện trên chuỗi lại cung cấp hướng đi mới cho nghiên cứu lý thuyết như thế nào? Mặc dù lý thuyết có thể hướng dẫn chúng ta đến một thiết kế đấu giá nào đó, nhưng việc phân tích chi tiết thực hiện từ góc độ lý thuyết có thể rất thú vị.
Chúng tôi sẽ so sánh bốn loại đấu giá điển hình dọc theo ba trục: công bố thông tin, chiến lược đấu thầu và các cân nhắc thực hiện trên chuỗi. Sau đó, chúng tôi sẽ đặc biệt chú ý đến định dạng đấu thầu kín, đi sâu vào các chi tiết thực hiện tương đối chưa được khám phá của chúng trên chuỗi, và giới thiệu việc triển khai Solidity mã nguồn mở của đấu giá Vickrey của chúng tôi — chúng tôi hy vọng rằng những người khác có thể sử dụng nó làm tài liệu tham khảo và đặt nền tảng cho các thí nghiệm tiếp theo.

Giới thiệu ngắn gọn về các hình thức đấu giá
Chúng tôi đã thảo luận trước đây với các đối tác nghiên cứu tiền điện tử a16z (và giáo sư Harvard) Scott Kominers và người đứng đầu nghiên cứu tiền điện tử a16z (và giáo sư tại Đại học Columbia) Tim Roughgarden. Với chuyên môn của họ trong việc tư vấn cho các giao thức tiền điện tử, họ đã phác thảo các loại đấu giá và thiết kế động lực trong lý thuyết và thực tiễn — bao gồm giá thanh lý thị trường và những khác biệt của Cuộc chiến Gas.
Nhưng để đặt một số bối cảnh cho các thực hiện bên dưới: lý thuyết đấu giá lịch sử đã xoay quanh bốn loại đấu giá điển hình, được William Vickrey phân loại lần đầu tiên vào năm 1961 và được mô tả ở đây trong bối cảnh đấu giá hàng hóa đơn lẻ.
Bảng tóm tắt thiết kế đấu giá có sẵn ngoài chuỗi. Nguồn: Wikipedia
Đấu giá kiểu Anh (tăng giá): Trong đấu giá kiểu Anh hoặc đấu giá tăng giá, người đấu giá bắt đầu với một mức giá giữ lại (tối thiểu), và những người đấu giá dần dần nâng giá cho đến khi chỉ còn lại một người sẵn sàng trả giá hiện tại, lúc đó người đấu giá cuối cùng sẽ thắng. Đây là hình thức đấu giá phổ biến nhất trong văn hóa đại chúng và truyền thông, thường diễn ra trong bối cảnh bán đồ cổ, tác phẩm nghệ thuật hoặc đá quý chưa cắt.
Đấu giá kiểu Hà Lan (giảm giá): Trong đấu giá kiểu Hà Lan hoặc đấu giá giảm giá, giá mở đầu giảm theo một lịch trình quy định. Trong đấu giá kiểu Hà Lan, người đầu tiên đưa ra giá sẽ là người thắng, và đấu giá sẽ kết thúc ngay lập tức. Lịch sử cho thấy, phiên bản đa đơn vị của đấu giá kiểu Hà Lan thường được sử dụng để bán một số lượng lớn hàng hóa có thời hạn sử dụng hạn chế, chẳng hạn như hoa cắt, cá hoặc thuốc lá. Gần đây, Bộ Tài chính Hoa Kỳ đã giới thiệu đấu giá chứng khoán kiểu Hà Lan (năm 1974), và vào năm 2004, Google đã bán cổ phiếu của mình thông qua đấu giá kiểu Hà Lan trong lần phát hành công khai đầu tiên.
Đấu giá kín giá đầu tiên: Mỗi người đấu giá gửi một đấu giá kín cho người đấu giá (ví dụ trong một phong bì kín). Sau khi tất cả các giá thầu được gửi, người đấu giá sẽ đọc chúng một cách riêng tư và công bố người thắng (người có giá thầu cao nhất). Sau đó, người thắng sẽ trả số tiền mà họ đã đấu giá. Khi tài sản thu hút sự quan tâm của nhiều người mua, đấu giá kín giá đầu tiên thường được sử dụng trong bất động sản.
Đấu giá kín giá thứ hai (「Đấu giá Vickrey」): Đấu giá mang tên Vickrey tương tự như đấu giá kín giá đầu tiên, chỉ khác là người thắng trong loại đấu giá này sẽ trả giá trị của giá thầu cao thứ hai. Mặc dù có những đặc tính lý thuyết thú vị, nhưng đấu giá Vickrey rất hiếm khi xuất hiện trên chuỗi (một phần do khó khăn trong việc thực hiện đấu thầu kín).
Bốn loại đấu giá này có những thuộc tính và động lực khác nhau, và khi chuyển đổi thành thực hiện hợp đồng thông minh sẽ trở nên phức tạp hơn (chúng tôi sẽ đi vào chi tiết hơn sau).
So sánh các loại đấu giá qua công bố thông tin
Một cách tự nhiên hơn để so sánh mỗi loại đấu giá là thông qua khả năng nhìn thấy giá thầu (giá thầu công khai so với giá thầu kín). Ngay cả khi tất cả các điều kiện khác đều giống nhau, sự thay đổi trong khả năng nhìn thấy giá thầu cũng sẽ có tác động sâu sắc đến động lực và kết quả của đấu giá.
Đấu giá kiểu Anh và kiểu Hà Lan là đấu giá công khai, có nghĩa là giá được công bố bằng lời khi tăng hoặc giảm, và giá thầu (bao gồm cả số tiền của nó) là công khai đối với tất cả các người mua tiềm năng. Tuy nhiên, đấu giá kín có thể áp dụng một số cách riêng tư khác nhau:
Cuối cùng công khai: Tất cả các giá thầu được công khai sau khi đấu giá kết thúc
Giá công khai: Chỉ công khai giá trúng thầu, không công khai các giá thầu khác
Hoàn toàn bí mật: Không có công bố nào về giá thầu hoặc giá trúng thầu
Những giả định về khả năng nhìn thấy giá thầu này có nghĩa là đấu giá cũng khác nhau về công bố thông tin. Các hình thức đấu giá khác nhau tiết lộ một số lượng thông tin khác nhau về đánh giá của người đấu giá (giới hạn trên hoặc dưới) ở các giai đoạn khác nhau của quá trình. Trong đấu giá kiểu Anh, giá thầu hiệu quả xác định giới hạn dưới của đánh giá của người đấu giá đó. Ngược lại, trong đấu giá kiểu Hà Lan, giá hiện tại có thể được hiểu là giới hạn trên của tất cả các đánh giá của người đấu giá. Đấu giá kín chỉ công bố thông tin sau khi đấu giá kết thúc.
Cần lưu ý rằng đấu giá kiểu Hà Lan có thể kết hợp các phẩm chất của đấu giá công khai và đấu giá kín. Đấu giá kiểu Hà Lan đơn lẻ có những thuộc tính riêng tư tương tự như đấu giá kín giá công khai (bởi vì người đầu tiên đưa ra giá sẽ thắng, tất cả các giá thầu thấp hơn đều được giữ bí mật). Nhưng như chúng ta sẽ thấy sau này, khi đấu giá kiểu Hà Lan hoạt động trên chuỗi, những thuộc tính này sẽ thay đổi đáng kể.
Giá trị chung và giá trị riêng
Kiểm tra việc bán hàng hóa có giá trị chung và giá trị riêng trong đấu giá công khai và đấu giá kín có thể cung cấp một góc nhìn khác để so sánh các định dạng này. Trong đấu giá hàng hóa có giá trị chung, hàng hóa đó có một số giá trị nội tại được chia sẻ giữa tất cả các người đấu giá, nhưng các người đấu giá có thể có thông tin khác nhau hoặc không đầy đủ về giá trị đó. Một ví dụ điển hình về giá trị chung từ nhà kinh tế học hành vi đoạt giải Nobel Richard Thaler là một lọ tiền xu đang được đấu giá; không một người đấu giá nào biết giá trị chính xác của các vật phẩm trong lọ, nhưng mỗi người đều có ước tính riêng của mình. Trong đấu giá hàng hóa có giá trị riêng, mỗi người đấu giá có một giá trị riêng cho hàng hóa đấu giá, độc lập với các đồng nghiệp của họ. Ví dụ trong Web3, NFT được mua chỉ vì sở thích cá nhân (không có ý định bán lại hoặc mong đợi tiện ích trong tương lai) là một hàng hóa có giá trị riêng, trong khi tài sản thế chấp từ kho Maker là một hàng hóa có giá trị chung.
Đồng thời, một nghiên cứu khác về dữ liệu đấu giá gỗ cho thấy rằng, so với đấu giá công khai, đấu giá kín "thu hút nhiều người đấu giá nhỏ hơn, sẽ được phân bổ cho những người đấu giá này, và cũng có thể "tạo ra doanh thu cao hơn". Cần lưu ý rằng, tác giả phát hiện ra rằng những kết quả này có thể được giải thích bằng mô hình giá trị riêng (giá trị riêng thay đổi tùy thuộc vào đặc điểm của đấu giá gỗ, chẳng hạn như "sự khác biệt về chi phí và thỏa thuận hợp đồng của người đấu giá"), hoàn toàn bỏ qua giá trị chung trong mô hình của họ. Điều này cho thấy rằng, trong các trường hợp động lực, bối cảnh hoặc mục đích của hàng hóa khác nhau, người bán có thể thu được lợi ích từ việc chọn đấu giá kín.
Đấu giá kiểu Anh rất hữu ích trong các trường hợp mà giá trị chung chiếm ưu thế và phát hiện giá là mục tiêu — như đã đề cập trước đó, người đấu giá có thể điều chỉnh chiến lược của mình tương ứng khi biết cách mà những người khác đánh giá hàng hóa. Trong một nghiên cứu về đấu giá ngược trên thị trường lao động trực tuyến, tác giả phát hiện rằng, mặc dù đấu giá kín thu hút nhiều người đấu giá hơn, nhưng kết quả của đấu giá công khai lại dẫn đến những người mua này có được giá tốt hơn (hoặc nhiều thặng dư hơn). Phân tích cho thấy rằng những khác biệt này "phần lớn phụ thuộc vào tầm quan trọng tương đối của phần giá trị chung (so với giá trị riêng) trong đấu giá dịch vụ CNTT." Nói cách khác, định dạng đấu giá công khai cho phép người đấu giá điều chỉnh động lực hiểu biết của họ về giá trị dịch vụ, điều này thường không rõ ràng vào thời điểm bắt đầu đấu giá. (Cạnh tranh)
Trong thực tiễn, đấu giá thường thể hiện sự kết hợp giữa các đặc điểm giá trị chung và giá trị riêng. Sự tương tác giữa các đặc điểm của những hàng hóa này, cũng như cách mà hình thức đấu giá (và khi nào) hiển thị thông tin có ảnh hưởng phức tạp đến chiến lược đấu thầu. Điều này đặt ra một câu hỏi: liệu chúng ta có thể chính thức hóa khái niệm "chiến lược đấu thầu đơn giản" (tôi không cần phải suy nghĩ quá nhiều về cách mà khách hàng có thể đấu thầu); có tồn tại đấu giá nào tối ưu cho các chiến lược như vậy không?
So sánh các loại đấu giá theo chiến lược đấu thầu
Cho đến nay, trong bốn loại đấu giá điển hình, rõ ràng là thiếu phân tích về đấu giá Vickrey. Những độc giả tinh ý có thể sẽ ngạc nhiên về quy tắc thanh toán của đấu giá Vickrey: người thắng trả giá trị của giá thầu cao thứ hai, thay vì giá thầu của chính họ. Điều này dường như trái ngược với trực giác. So với đó, đấu giá kiểu Anh kết thúc với mức giá tối thiểu mà không có người đấu giá nào khác sẵn sàng đáp ứng; người thắng không có lý do gì để đấu thầu thêm, ngay cả khi đánh giá của họ cao hơn nhiều. Thực tế, đấu giá kiểu Anh và đấu giá Vickrey có những lợi thế lý thuyết tốt so với đấu giá kiểu Hà Lan và đấu giá kín giá đầu tiên: tính tương thích của động lực chiến lược (DSIC).
Nói một cách đơn giản, điều này có nghĩa là chiến lược tối đa hóa tiện ích của mỗi người đấu giá chỉ là đấu thầu theo giá trị mà họ thực sự nghĩ rằng hàng hóa đấu giá có giá trị (trong đấu giá giá trị chung, đây chỉ là giá trị kỳ vọng của hàng hóa, có điều kiện theo thông tin của người đấu giá). Để hiểu sâu hơn, các tài liệu này có thể là tài liệu nhập môn xuất sắc.
Trong đấu giá giá đầu tiên, không có chiến lược đấu thầu ưu việt như vậy. Người đấu giá cần phải giảm giá thầu của họ xuống dưới giá trị của họ để có được tiện ích dương. Cụ thể, họ cần phải xem xét số tiền mà họ có thể tiết kiệm được trong trường hợp giá thầu cao hơn những người tham gia khác, đó là một trò chơi Bayesian. Đấu giá kiểu Hà Lan về mặt chiến lược cũng tương tự. Để có được tiện ích dương, người đấu giá phải đợi đến khi giá thấp hơn giá trị của họ, nhưng thời gian chờ đợi sau ngưỡng đó là một trò chơi Bayesian khác. Có thể đáng ngạc nhiên hơn, doanh thu kỳ vọng của tất cả bốn loại đấu giá là giống nhau (dưới một số giả định; xem định lý 1).
Mặc dù đấu giá Vickrey có lợi thế lý thuyết, nhưng trong thực tiễn lại không phổ biến. Tại sao lại như vậy? Trong bài viết "Đấu giá Vickrey Đáng yêu nhưng Cô đơn", các nhà kinh tế học Lawrence Ausubel và Paul Milgrom đã đưa ra một số giải thích. Các tác giả chỉ ra rằng, mặc dù về mặt chiến lược là tương đương, nhưng đấu giá kiểu Anh trực quan hơn nhiều so với đấu giá Vickrey để người đấu giá suy luận. Trực giác này được hình thức hóa trong một cơ chế chứng minh chiến lược rõ ràng, cho thấy rằng đấu giá kiểu Anh không chỉ là DSIC mà việc đấu thầu trung thực là "rõ ràng có lợi thế".
Để cung cấp một ví dụ thực tế, Google đã thông báo vào năm ngoái rằng một nhà quảng cáo đấu thầu cho không gian quảng cáo nội dung của dự án AdSense — sẽ chuyển từ đấu giá giá thứ hai sang đấu giá giá đầu tiên, với lý do đơn giản và phù hợp với hệ sinh thái quảng cáo kỹ thuật số khác. Ngoài những cân nhắc về khả năng sử dụng này, các nền tảng như AdSense cũng đã có một lập trường tin cậy khi thực hiện đấu giá giá thứ hai: bằng cách ước lượng quá cao giá thầu cao thứ hai, người đấu giá không trung thực có thể thu được nhiều hơn từ người thắng.
Mặc dù những lo ngại này ảnh hưởng đến việc áp dụng, nhưng đấu giá Vickrey có thể tìm thấy những trường hợp sử dụng mới khi mở rộng sang các môi trường mới. Đặc biệt, blockchain công cộng cung cấp một nền tảng trung lập đáng tin cậy có thể giúp tránh các vấn đề như người đấu giá không trung thực. Điều này, cùng với sự đa dạng của các ứng dụng trên chuỗi tiềm năng, cho thấy rằng hợp đồng thông minh có thể cung cấp một nền tảng thử nghiệm độc đáo và hiệu quả cho cơ chế đấu giá Vickrey.
So sánh các loại đấu giá qua các cân nhắc thực hiện
So với các đồng nghiệp ngoài chuỗi, việc đưa đấu giá lên chuỗi đôi khi sẽ mang lại những thách thức mới. Trong phần tiếp theo, chúng tôi sẽ khám phá bối cảnh hiện tại của đấu giá trên chuỗi và các cân nhắc thực hiện cho mỗi loại đấu giá.
Đấu giá kiểu Anh trên chuỗi
Ngày nay, hầu hết các đấu giá trên chuỗi thuộc loại đấu thầu công khai (tức là đấu giá kiểu Anh hoặc đấu giá kiểu Hà Lan). Điều này bao gồm các đấu giá OpenSea tăng giá, đấu giá tài sản thế chấp Maker và hợp đồng thông minh Zora Auction House.
Trong OpenSea, các giá thầu là thông điệp ngoài chuỗi mã hóa giá trị đấu thầu, được ký bởi người đấu giá. Khi người mua tiềm năng đưa ra giá thầu, giao diện OpenSea sẽ hiển thị giá thầu cho người bán và các người đấu giá tiềm năng. Tuy nhiên, trong đấu giá tài sản thế chấp Maker và đấu giá Zora, người đấu giá gửi giao dịch để chỉ ra giá thầu của họ; sau đó, giao dịch giá thầu được lưu trữ trong hợp đồng đấu giá tài sản thế chấp của họ. Vì đây là một giao dịch trên chuỗi không bị làm mờ, giá thầu về cơ bản là công khai — bất kỳ ai cũng có thể xem những gì mà người đấu giá đã cung cấp bằng cách xem các giao dịch đến của hợp đồng đấu giá (dù là trong bộ nhớ công cộng hay khi chúng được đưa vào chuỗi).
Tổng thể, khi chuyển đổi thành hợp đồng thông minh, động lực của đấu giá kiểu Anh vẫn tương đối nguyên vẹn. Một sự khác biệt đáng chú ý là, giá thầu trên chuỗi sẽ phát sinh chi phí Gas, chi phí này được tính vào giá trị thực tế của giá thầu. Do giá Gas dao động trong suốt thời gian đấu giá, những người đấu giá có thể có giá thầu cao nhất có thể bị loại tạm thời do chi phí Gas đắt đỏ.
Đấu giá kiểu Hà Lan trên chuỗi
Từ việc thúc đẩy doanh số NFT đến việc cân bằng TokenSet (cũng như các biến thể khác nhau như Đấu giá Giảm dần và GDA Tỷ lệ Biến đổi), đấu giá kiểu Hà Lan trên chuỗi đã đạt được sức hút lớn. Sự phổ biến này là có lý do chính đáng — đấu giá kiểu Hà Lan đơn giản tương đối dễ thực hiện dưới dạng hợp đồng thông minh và chỉ cần hai giao dịch trên chuỗi (một để tạo đấu giá, một để đưa ra giá thầu đầu tiên và cũng là duy nhất). Quan trọng nhất, nó không khóa vốn của người đấu giá, điều này khác với các đấu giá khác có giá thầu trên chuỗi.
Động lực của đấu giá kiểu Hà Lan ngoài chuỗi phụ thuộc vào việc đấu thầu ngay lập tức có hiệu lực. Đấu giá kiểu Hà Lan kết thúc ngay khi giá được công bố, không cho phép bất kỳ giá thầu nào khác. Tuy nhiên, khi thực hiện trên chuỗi, có một khoảng thời gian giữa việc phát sóng giá thầu và việc đưa nó vào chuỗi, điều này có thể dẫn đến một số hậu quả không mong muốn. Nếu giá thầu đầu tiên được phát sóng đến bộ nhớ công cộng (thay vì một bể giao dịch riêng như Flashbots), nó có thể kích hoạt một cuộc chiến Gas, khi những người mua tiềm năng khác phát sóng giá thầu với giá Gas ngày càng cao. Do đó, khi đơn đặt hàng giao dịch của đấu giá tăng giá ngoài chuỗi vượt quá đấu giá kiểu Hà Lan, giá đã điều chỉnh theo Gas có thể tăng đột ngột.
Tính phụ thuộc vào thời gian của cơ chế giảm giá cũng mang lại những nhược điểm khác. Giả sử một hàm giảm giá liên tục, người đấu giá phải chính xác trực tuyến để đấu thầu ở một mức giá cụ thể khi cần thiết, hoặc thiết lập một bot (ví dụ sử dụng Gelato Network) để đấu thầu. Sự tắc nghẽn mạng xảy ra tình cờ (hoặc ác ý) cùng lúc với việc phát sóng giá thầu đầu tiên có thể làm giảm giá thanh toán cuối cùng, từ đó làm tổn hại đến doanh thu của người bán. Tệ hơn nữa, cuộc tấn công DoS có thể khiến người thắng hợp pháp mất đấu giá.
Đấu giá kín trên chuỗi, được chứng minh bằng việc thực hiện mã nguồn mở mới
Việc sử dụng nền tảng đấu thầu ngoài chuỗi (chẳng hạn như OpenSea) có thể dễ dàng thực hiện đấu giá kín, nhưng họ cần tin tưởng vào người đấu giá (a) không tiết lộ bất kỳ giá thầu nào, (b) không xem xét bất kỳ giá thầu nào, và (c) xác định đúng kết quả của đấu giá. Lý tưởng nhất, hợp đồng thông minh sẽ thúc đẩy đấu giá một cách không tin cậy, đồng thời giữ lại một mức độ riêng tư nhất định cho các giá thầu.
Để minh họa, chúng tôi đã mã nguồn mở một thực hiện đấu giá kín siêu thế chấp trên github.com/a16z/auction-zoo, như một đấu giá Vickrey đơn lẻ (ERC721) được định giá bằng ETH. Chúng tôi đã xem xét ba yêu cầu của hợp đồng thông minh đấu giá kín trong quá trình thực hiện:
Quyền riêng tư: Giá trị đấu thầu nên được giữ bí mật, có nghĩa là người quan sát không thể suy luận giá trị trong khi đấu thầu diễn ra. Chúng tôi cho phép một số thông tin bị rò rỉ (ví dụ, tiết lộ rằng giá thầu nằm trong một khoảng lớn nào đó), nhưng nên có một mức độ mơ hồ hợp lý.
Kháng kiểm duyệt: Điều này thường có thể đạt được bằng cách công bố giá thầu trên chuỗi.
Cam kết giá thầu: Người mua tiềm năng không nên rút lại giá thầu. Người thắng nên bị khóa để thanh toán giá thanh toán, tương tự, người bán nên bị khóa để bán hàng hóa cho người có giá thầu cao nhất (có thể bị giới hạn bởi giá sàn).
Đầu tiên, theo hai yêu cầu đầu tiên, chúng tôi cần giải quyết vấn đề công bố giá thầu riêng tư trên chuỗi. Giải pháp cam kết công bố áp dụng cho các giá thầu "cuối cùng công khai" (khi giá thầu được công bố sau khi đấu giá kết thúc). Người mua tiềm năng có thể cung cấp cam kết băm cho giá thầu của họ cho hợp đồng đấu giá trong khoảng thời gian giá thầu quy định, thay vì công khai giá thầu. Sau đó, sau khi thời gian giá thầu kết thúc, mỗi người mua tiềm năng sẽ tiết lộ giá thầu mà họ đã cam kết. Khi giá thầu được công bố, hợp đồng thông minh có thể xác định người thắng. Trong thực hiện của chúng tôi, cam kết băm được tính toán bằng keccak256(abi.encode(nonce, bidValue)) và được truyền đến hàm. Để tiết kiệm Gas, chúng tôi chỉ lưu trữ 20 byte đầu tiên của băm này. Sau khi thời gian giá thầu kết thúc, người dùng gọi và hợp đồng commitBidrevealBid kiểm tra xem nonce và bidValue đã cung cấp có khớp với cam kết đã lưu trữ hay không.
Khi chuyển sang yêu cầu thứ ba, chúng tôi phát hiện ra nhiều phức tạp hơn. Để đảm bảo người thắng thanh toán, hợp đồng thông minh phải khóa giá thầu. Chúng tôi có thể yêu cầu người đấu giá gửi ETH để đảm bảo giá thầu của họ — lưu ý rằng chức năng commitBid là có thanh toán và ghi lại số lượng ETH mà người dùng đã khóa — nhưng ETH gắn liền với các giao dịch này là công khai và không thể bị làm mờ; trong "giá thầu khóa", chúng tôi đã mất quyền riêng tư.
May mắn thay, có một cách đơn giản để hỗ trợ ý tưởng của chúng tôi: cho phép (và khuyến khích) người đấu giá thế chấp vượt mức cho giá thầu của họ, tức là khóa nhiều ETH hơn mức cần thiết cho giá trị đấu thầu. Vì giá thầu có thể được thế chấp vượt mức, người quan sát chỉ có thể biết giới hạn trên của giá trị đấu thầu. Lưu ý rằng chức năng của chúng tôi cho phép người dùng khóa bất kỳ số lượng ETH nào trong giao dịch commitBid của họ; vào cuối đấu giá, bất kỳ phần nào vượt quá sẽ được hoàn trả cho người thắng (nếu thế chấp không đủ, giá thầu sẽ bị bỏ qua).
Thật không may, giải pháp nhanh chóng này có một nhược điểm: việc thế chấp vượt mức tạo ra một sự đánh đổi trực tiếp giữa quyền riêng tư và hiệu quả vốn. Chi phí cơ hội của việc khóa một lượng lớn vốn có thể vượt quá biên, và người đấu giá có vốn hạn chế sẽ ở thế bất lợi.
Điều đó nói rằng, khi chúng tôi tiếp tục khám phá các phương pháp khác nhau, việc thế chấp vượt mức là một tiêu chuẩn hữu ích. Sự tiến hóa của thực hiện này có thể đặc biệt hữu ích trong bối cảnh mà người dùng có thể đấu thầu trong nhiều đấu giá và có thể tái sử dụng tài sản thế chấp cho mỗi đấu giá. Trong trường hợp này, tài sản thế chấp sẽ tự nhiên lớn hơn bất kỳ giá thầu nào trong một đấu giá cụ thể.
Chúng ta có thể tìm thấy giải pháp tốt hơn trên chuỗi không? Mặc dù trong một số trường hợp, thế chấp vượt mức có thể là phù hợp, nhưng sự đánh đổi giữa hiệu quả vốn và quyền riêng tư của giá thầu có thể đặt ra một quyết định khó khăn cho người đấu giá: khóa nhiều vốn hơn để có quyền riêng tư mạnh mẽ hơn, hoặc hy sinh một số quyền riêng tư để giải phóng vốn cho các mục đích khác. Nhưng khi đấu giá trên chuỗi tiếp tục gia tăng và xây dựng dựa trên công việc trước đó, chúng tôi dự đoán rằng các nhà thiết kế đấu giá sẽ chọn nhiều định dạng và thực hiện hơn dựa trên những đánh đổi mà họ sẵn sàng thực hiện.













