Traduzione italiana di âImplementing auction projects using Hydra - IOHK Blogâ
Traduzione italiana a cura di Lordwotton di RIOT Stake Pools. Se apprezzi queste traduzioni, per favore valuta di supportare il mio lavoro delegando i tuoi ada a RIOT entra nel nostro gruppo Telegram
Implementazione di progetti di aste utilizzando Hydra
Un documento di IOG e MLabs che presenta un modo per gestire le aste utilizzando Hydra
Questo progetto è una collaborazione tra Input Output Global, Inc. (IOG) e MLabs Ltd. (MLabs) per sviluppare unâimplementazione di riferimento per unâasta che utilizza i protocolli Hydra. Lo scopo è duplice:
- Dimostrare che è possibile sviluppare applicazioni sostanziali per un caso dâuso importante con lâattuale implementazione di Hydra.
- Determinare e allineare in modo costruttivo il design del protocollo Hydra Head con i casi dâuso concreti esistenti nellâecosistema Cardano e semplificare lâadozione del protocollo da parte degli sviluppatori.
La speranza è che questo progetto, e altri progetti simili incentrati su altri casi dâuso, aprano la strada alla comunitĂ di Cardano per iniziare a utilizzare Hydra per la scalabilitĂ nella pratica comune.
Protocollo Hydra Head
Hydra è una famiglia di protocolli destinati a fornire la soluzione di scalabilità di livello 2 (L2) per Cardano. Il protocollo Hydra Head è il primo protocollo di questa famiglia: si tratta di una suite di smart contract e software che consente a qualsiasi gruppo di partecipanti di stabilire canali di stato isomorfi e multi-party (Hydra Heads) tra loro. Il protocollo Hydra Head sarà utilizzato in questo progetto.
Le Hydra Heads consentono ai partecipanti di effettuare transazioni tra loro, utilizzando i fondi che hanno trasferito nei canali di stato, senza doverli inviare alla rete principale di Cardano (L1). Il risultato finale di queste interazioni tra i partecipanti a Hydra Head può essere riportato a Cardano L1 chiudendo lâHydra Head, che libera i fondi al suo interno per essere utilizzati in altri Hydra Head o in altro modo su Cardano L1.
Le transazioni allâinterno di una Hydra Head hanno lo stesso formato e le stesse proprietĂ delle transazioni su Cardano L1 - sono isomorfe. In linea di principio, ciò consente alle DApp Cardano di riutilizzare una porzione significativa della loro base di codice quando passano alcuni dei loro smart contract allâuso di Hydra.
Unâeccezione a questa proprietĂ di isomorfismo è che la coniatura/bruciatura di token allâinterno di una Hydra Head non può influenzare Cardano L1. Lâunica cosa che una Hydra Head può fare su Cardano L1 è la ridistribuzione dei token esistenti dagli UTXO impegnati nella Hydra Head a nuovi UTXO. Questo avviene in base alle transazioni a cui i partecipanti hanno acconsentito allâinterno dellâHydra Head.
Ci sono anche alcune differenze tra i protocolli di consenso di Cardano L1 e Hydra L2. Ciò potrebbe richiedere alle DApp Cardano esistenti di adattare il loro design in modo da poter mantenere il comportamento desiderato allâinterno dellâambiente Hydra Head. In particolare, a differenza di Cardano L1, i partecipanti a Hydra Head devono tutti rimanere online e rispondere lâuno allâaltro, durante il funzionamento di Hydra Head, e tutti i partecipanti devono riconoscere e accettare ogni transazione allâinterno di Hydra Head perchĂŠ questa abbia effetto.
Le applicazioni possono essere eseguite allâinterno di una singola testa, oppure possono essere distribuite su una rete di teste Hydra. Quando unâapplicazione è distribuita su una rete di Hydra Heads, il suo stato globale può essere evoluto sia attraverso la comunicazione tra Hydra Heads (bypassando L1) sia sincronizzando gli stati delle teste locali con L1 e risolvendoli lĂŹ.
Esiste un catalogo in evoluzione di topologie di rete di teste Hydra, ognuna con i suoi vantaggi/limitazioni. Si prevede che il catalogo si espanderĂ man mano che verranno realizzate altre applicazioni su Hydra. Alcune di queste topologie sono utilizzate nei progetti di aste basate su Hydra di cui parliamo qui di seguito.
Ulteriori informazioni su Hydra sono disponibili qui.
Analisi commerciale dei progetti dâasta
Nella fase di scoperta di questo progetto, è stata condotta unâanalisi aziendale per comprendere meglio lo spazio delle aste su Cardano e il modo in cui può sfruttare la tecnologia di scaling Hydra.
IOG e MLabs hanno intervistato un ampio gruppo di progetti Cardano che realizzano aste e marketplace NFT, da cui è stato selezionato un gruppo piÚ ristretto di quattro progetti per interviste approfondite su:
- le specifiche del loro caso dâuso delle aste
- la loro valutazione dei benefici e dei limiti di Hydra
- le loro preferenze su alcuni compromessi che potrebbero essere necessari nella transizione dei contratti smart L1 per le aste allâambiente Hydra Head.
Caso dâuso dellâasta in stile inglese
Abbiamo scoperto che câè un ampio consenso tra gli intervistati sul fatto che lâimplementazione di riferimento di questo progetto dovrebbe puntare su unâasta in stile inglese con caratteristiche standard. Tutti gli intervistati hanno intenzione di utilizzare unâasta di questo tipo allâinterno delle rispettive piattaforme.
Le caratteristiche principali di unâasta in stile inglese sono le seguenti:
- Un venditore fornisce un prodotto da vendere allâasta (il âlotto dâastaâ) - ad esempio un NFT.
- Quando lâasta inizia, gli offerenti possono iniziare a fare offerte, che devono essere superiori al prezzo di partenza definito dal venditore.
- Lâofferente vincente deve pagare la sua offerta. Questo può essere garantito richiedendo depositi per ogni offerta, oppure può essere applicato in modo piĂš debole imponendo sanzioni monetarie o di reputazione agli offerenti che non rispettano le loro offerte.
- Durante lâasta, ogni offerente può aumentare la propria offerta di almeno lâincremento minimo definito dal venditore.
Alla fine dellâasta:- lâofferente con lâofferta piĂš alta deve ricevere il lotto dâasta,
- gli altri offerenti riceveranno il rimborso di eventuali depositi effettuati durante lâasta, e
- il venditore deve ricevere il ricavato dellâofferta piĂš alta, dopo aver dedotto le spese appropriate.
Altre caratteristiche utili possono essere incluse in unâasta allâinglese:
- Prezzo di acquisto immediato - il venditore può fissare un prezzo al quale il lotto dâasta può essere immediatamente acquistato durante lâasta, ponendo fine allâasta a favore dellâacquirente immediato.
- Popcorn bidding - la scadenza dellâasta può essere prorogata se ci sono offerte ancora in corso in prossimitĂ della scadenza.
- Prezzo di riserva segreto - prima dellâinizio dellâasta, il venditore può fissare un prezzo segreto che deve essere superato dallâofferta piĂš alta per aggiudicarsi lâasta. Al termine dellâasta, il prezzo di riserva viene rivelato e se non viene superato da nessuna offerta, il lotto rimane invenduto.
- Una sequenza di lotti dâasta - quando le offerte si chiudono su un lotto dâasta, gli offerenti possono rimanere nellâasta mentre il lotto successivo della sequenza viene messo allâasta.
Uno degli intervistati sta anche cercando di implementare unâasta in stile olandese, oltre allâasta in stile inglese che utilizzerĂ in altre parti della sua piattaforma. In unâasta in stile olandese, il prezzo dâasta inizia alto e poi diminuisce automaticamente nel tempo, fino a quando un offerente accetta di acquistare il lotto dâasta al prezzo corrente - vincendo lâasta. Sebbene gli smart contract per unâasta in stile olandese siano diversi da quelli per unâasta in inglese, essi condividono la maggior parte delle limitazioni di Hydra per le aste. Pertanto, unâimplementazione di riferimento di unâasta in stile inglese che mitighi adeguatamente le limitazioni di Hydra sarebbe utile anche per lâasta in stile olandese.
In definitiva, la preferenza degli intervistati è quella di dare la prioritĂ a unâimplementazione di unâasta basata su Hydra che fornisca le caratteristiche fondamentali dellâasta in inglese e che attenui sufficientemente le limitazioni di Hydra per il caso dâuso dellâasta. Anche le funzionalitĂ aggiuntive sarebbero gradite, ma potrebbero essere aggiunte dai progetti stessi, adattando la nostra implementazione di riferimento alle loro esigenze. Il problema principale che sperano di risolvere è come implementare unâasta inglese funzionale con le caratteristiche principali di Hydra.
Vantaggi e limiti di Hydra per le aste al novembre 2022
Sia nel questionario del sondaggio che nelle interviste approfondite, agli intervistati è stato chiesto quali fossero i vantaggi e i limiti del protocollo Hydra Head per i loro progetti. Nelle interviste approfondite, agli intervistati è stato fornito un briefing standard su Hydra per garantire che fossero adeguatamente informati sul funzionamento della tecnologia quando hanno fornito le loro risposte su benefici e limiti.
Limitazioni di Cardano L1
Gli intervistati hanno individuato i seguenti limiti nellâesecuzione di applicazioni generiche sulla rete principale di Cardano:
- Il throughput delle transazioni è insufficiente per le interazioni ad alta frequenza/volume degli utenti.
- Il tempo di completamento delle transazioni è troppo lento.
- I costi delle transazioni sono troppo elevati.
- La capacità di archiviazione dei dati è troppo bassa per le applicazioni ricche di dati.
- Ă difficile concatenare in modo affidabile le transazioni tra piĂš partecipanti.
Le prime tre limitazioni incidono particolarmente sulla scalabilitĂ e sulla redditivitĂ commerciale dei progetti dâasta su Cardano:
- Il basso throughput delle transazioni può limitare il numero di offerte nelle aste, impedendo loro di raggiungere il prezzo di vendita.
- La lentezza nella finalizzazione delle transazioni può rallentare il ritmo delle aste, riducendo lâeccitazione/il divertimento che gli offerenti provano nel partecipare alle aste.
- Gli elevati costi di transazione possono ridurre i profitti dei venditori e delle case dâasta o aumentare i costi di partecipazione per gli utenti.
Vantaggi di Hydra per le aste
Gli intervistati sperano di ottenere i seguenti vantaggi dallâutilizzo di Hydra nei loro progetti di aste:
- Una maggiore produttivitĂ e una piĂš rapida conclusione delle transazioni consentirebbero di aumentare la frequenza delle offerte nelle aste.
- Commissioni di transazione piĂš economiche (possibilmente zero) ridurrebbero i costi per offerenti, venditori e case dâasta.
- Gli smart contract isomorfi consentirebbero un riutilizzo significativo degli smart contract di L1 in L2 e potenzialmente una distribuzione flessibile tra L1 e L2. Ciò potrebbe ridurre i costi di sviluppo e di revisione.
Limiti di Hydra per le aste
Gli intervistati hanno identificato le seguenti limitazioni che attualmente li scoraggiano dal perseguire unâimplementazione di unâasta basata su Hydra per conto proprio.
In primo luogo, non è chiaro come eseguire giochi a somma zero allâinterno di una testa Hydra. Nel protocollo semplificato della testa (attualmente implementato nel repository GitHub di hydra-poc), ogni partecipante alla testa può in qualsiasi momento porre il veto sullâulteriore evoluzione della testa di Hydra. Esercitando questo potere di veto, gli altri partecipanti non hanno altra scelta se non quella di chiudere lâHydra Head a L1 con lâultimo stato dellâHead che tutti i partecipanti sono riusciti a concordare prima del veto.
Per unâasta condotta allâinterno di una singola testa Hydra, questo potere di veto è particolarmente problematico perchĂŠ può impedire che lâasta abbia offerte riconosciute. Infatti, non câè alcun incentivo intrinseco per un offerente a firmare le offerte presentate da un altro offerente allâinterno della testa dellâidra, perchĂŠ lâofferta dellâaltro offerente aumenta il prezzo che lâofferente dovrebbe pagare per vincere lâasta.
In secondo luogo, solo i partecipanti elencati nellâinizializzazione dellâHydra Head possono partecipare a un Hydra Head (cioè non possono entrare nuovi partecipanti), e ogni partecipante allâHydra Head deve rimanere attivo e rispondere agli altri partecipanti affinchĂŠ lâHydra Head continui a funzionare (cioè nessun partecipante può andarsene senza chiudere lâHydra Head per tutti i partecipanti). Questa è una limitazione significativa per le aste a testa singola, perchĂŠ è altamente auspicabile che nuovi offerenti si uniscano alle aste in corso. Inoltre, gli offerenti preferirebbero non rimanere bloccati in aste a cui non sono piĂš interessati, il che potrebbe persino portarli a esercitare il loro potere di veto per chiudere prematuramente lâHydra Head - un risultato indesiderabile per le aste a testa singola.
In terzo luogo, i partecipanti allâHydra Head possono utilizzare solo i fondi che hanno impegnato nellâHydra Head prima della sua apertura. Questa limitazione esiste nellâattuale implementazione di Hydra (repository hydra-poc), ma sarĂ eliminata quando gli impegni/disimpegni incrementali saranno implementati piĂš avanti nella roadmap di Hydra. Per ora, questa limitazione limita di fatto il prezzo massimo raggiungibile in qualsiasi asta basata su Hydra che richieda che le offerte siano interamente sostenute dai depositi degli offerenti. Inoltre, rivela lâofferta massima possibile di ciascun offerente, che può essere sfruttata da altri offerenti che hanno piĂš fondi impegnati nella Hydra Head.
Gli intervistati hanno indicato che tutte e tre queste limitazioni dovrebbero essere sufficientemente attenuate perchĂŠ unâasta basata su Hydra sia un prodotto fattibile da lanciare su Cardano, ma che è particolarmente importante superare la prima limitazione perchĂŠ possano prendere in considerazione la possibilitĂ di fornire unâasta basata su Hydra sulle loro piattaforme.
Progetti dâasta su una singola testa
Asta di base su testa singola
In questo progetto di base per unâasta a testa singola, il venditore e tutti gli offerenti formano lâinsieme dei partecipanti di una testa Hydra che aprono per lâasta. Sono stati presi in considerazione diversi modi per mitigare le limitazioni di Hydra per unâasta a testa singola.
Il potere di veto dei partecipanti con una singola testa dâasta Hydra può essere mitigato da:
- commercializzando le aste a testa singola come un servizio premium che consente di fare offerte piĂš frequenti
- inserendo in queste aste un numero maggiore di prodotti interessanti o di valore.
Lâaccesso a questo servizio premium verrebbe fornito a utenti sufficientemente controllati da KYC, con unâalta reputazione e un deposito che può essere ridotto dal banditore in caso di comportamento scorretto. Gli offerenti sono incentivati a partecipare in buona fede alle aste a testa singola, per evitare di degradare la loro reputazione, di perdere lâaccesso a questo servizio premium e/o di vedersi ridurre il deposito.
Il requisito di essere sempre attivi e reattivi nei confronti di tutti i partecipanti allâinterno di una testa Hydra può essere mitigato utilizzando la topologia della testa gestita, in cui il banditore fornisce lâinfrastruttura per trasmettere le transazioni e le firme della testa Hydra tra i partecipanti alla testa e persino per eseguire parte del software della testa Hydra per conto dei partecipanti. In questa topologia, i partecipanti mantengono il diritto di negare il consenso a qualsiasi transazione allâinterno dellâHydra Head, ma ora il banditore può potenzialmente censurare la comunicazione tra i partecipanti.
Per mitigare gli effetti del fatto che solo i fondi pre-impegnati sono disponibili nellâasta (prima che gli impegni/disimpegni incrementali diventino disponibili su Hydra):
- Richiedere a tutti gli offerenti di depositare la stessa quantitĂ di fondi nella testa di Hydra, in modo che nessun offerente abbia un vantaggio informativo sugli altri offerenti in termini di capacitĂ di pagamento.
- Utilizzate la funzione âprezzo di acquisto immediatoâ e impostate tale prezzo sul deposito fisso richiesto agli offerenti per partecipare allâasta. Nessun offerente razionale farebbe comunque unâofferta superiore al prezzo di acquisto immediato, quindi unâasta di questo tipo non sarebbe di fatto condizionata da questa limitazione di Hydra.
Alcuni intervistati hanno indicato che questa variante attenuata del progetto di asta a testa unica potrebbe essere potenzialmente praticabile sulle loro piattaforme.
Asta segreta su testa singola
Questo progetto sarebbe probabilmente utile solo in unâapplicazione piuttosto di nicchia di unâasta, ma è stato incluso qui come esempio illustrativo perchĂŠ tecnicamente può eliminare la maggior parte degli incentivi razionali per un offerente a esercitare il suo potere di veto nei confronti di altri offerenti allâinterno di una testa Hydra.
In questo caso, gli offerenti sono tenuti a fissare le rispettive offerte segrete iniziali durante la preparazione dellâasta prima dellâapertura della testa dellâidra. Allâapertura della testa dellâidra e fino alla chiusura dellâasta, gli offerenti possono modificare le proprie offerte segrete con nuove offerte, che possono essere inferiori o superiori a quelle precedenti. In questo modo, gli offerenti dovrebbero in generale avere pochi incentivi a porre veti sulle offerte degli altri, perchĂŠ non sanno se le nuove offerte sono piĂš basse o piĂš alte delle precedenti.
Naturalmente, la segretezza delle offerte in questâasta è limitata (come limite superiore) dai fondi che ogni offerente impegna nella testa dellâidra. Tuttavia, questa limitazione può essere mitigata con le stesse tecniche utilizzate per la normale asta a testa singola.
Gli intervistati non sono stati particolarmente entusiasti di questo progetto, perchĂŠ non permette ai partecipanti di sapere qual è lâofferta piĂš alta in qualsiasi momento prima della fine dellâasta e perchĂŠ non è chiaro quanto sia importante per gli utenti poter modificare le offerte segrete durante un certo periodo di tempo.
Asta a custodia delegata
In questo disegno, un gruppo di delegati prende in custodia il lotto dâasta e i depositi degli offerenti nellâasta. Gli offerenti inviano le loro offerte allâHydra Head per delega attraverso i delegati, e tutti i delegati devono firmare unâofferta perchĂŠ questa abbia effetto. Ogni offerta deve essere sostenuta dai fondi dellâofferente allâinterno dellâHydra Head.
Un vantaggio significativo di questo design è che elimina lâobbligo per il venditore e gli offerenti di essere sempre online e di rispondere ai partecipanti dellâHydra Head affinchĂŠ lâasta continui a svolgersi. Inoltre, ogni offerente deve solo firmare le offerte che presenta allâasta. Solo i delegati che gestiscono il consenso di Hydra Head per lâasta devono essere online e reattivi durante lâasta e possono essere pagati per fornire questo servizio in modo affidabile.
Gli offerenti possono essere offline e inattivi finchĂŠ non desiderano fare nuove offerte e la partecipazione del venditore non è necessaria dopo che il lotto dâasta è stato depositato nellâHydra Head. Questa può essere unâesperienza molto piĂš piacevole per lâutente rispetto alle aste non custodiali basate su Hydra, dove il venditore e gli offerenti devono firmare ogni transazione che ricevono allâinterno della loro testa Hydra.
Un altro vantaggio di questo design è che elimina il potere di veto degli offerenti, in quanto questi ultimi non partecipano direttamente allâHydra Head e quindi non possono negare la loro firma per il consenso sulle offerte degli altri offerenti allâinterno dellâasta.
Sfortunatamente, dare in custodia ai delegati il lotto dâasta e i depositi degli offerenti permette ai delegati di colludere per sottrarre questi fondi allâasta. Gli utenti potrebbero essere riluttanti a vendere NFT di alto valore o a partecipare con depositi elevati a unâasta con custodia. Lo stesso servizio di casa dâaste può trovarsi ad affrontare ulteriori oneri normativi e potenziali responsabilitĂ legali se gestisce aste in custodia.
Alcuni intervistati non erano favorevoli allâesecuzione di aste custodiali su Hydra, sostenendo che queste aste non sono molto diverse dallâesecuzione di aste Web2 tradizionali. Altri intervistati hanno dichiarato che potrebbero prendere in considerazione la gestione di aste con custodia se i miglioramenti nellâesperienza dellâutente superassero gli svantaggi della custodia.
Buono dâasta
Questo progetto è descritto sul sito web di Hydra. Non impone il pagamento dellâofferta vincente, ma consente agli offerenti di fare offerte che superano i fondi che hanno rispettivamente impegnato nella testa di Hydra.
Il banditore forgia e distribuisce a ogni offerente un " token di offerta" NFT che gli consente di fare offerte allâinterno della testa Hydra dellâasta. Lâasta procede secondo le regole standard in stile inglese, senza richiedere depositi di offerte, e lâofferente vincente riceve un buono su L1 alla chiusura dellâasta. Lâaggiudicatario può scegliere di riscattare il suo buono in cambio del lotto dâasta su L1, pagando lâimporto dellâofferta vincente.
Uno dei principali vantaggi di questo progetto dâasta è che richiede pochissime transazioni per aprire e chiudere lâHydra Head, con conseguenti costi di setup molto bassi e la possibilitĂ di supportare un maggior numero di partecipanti allâHydra Head:
- Solo i token di offerta devono essere depositati in Hydra Head durante la fase di commit. I fondi dellâofferente e il lotto dâasta del venditore rimangono fuori da Hydra Head, anche se il lotto dâasta deve essere bloccato da uno smart contract in modo da poter essere riscattato dal voucher.
- Lâunica transazione di pagamento necessaria alla chiusura di Hydra Head è il pagamento del voucher al vincitore dellâasta su L1.
Il riscatto del buono è facoltativo per lâofferente vincitore, il che significa che il venditore non ha la garanzia di essere pagato dallâasta. Inoltre, permette agli offerenti di fare offerte frivole e irragionevolmente alte che non intendono onorare, interferendo con gli offerenti onesti e potenzialmente sabotando completamente lâasta.
Un modo per attenuare il problema delle offerte insincere è quello di richiedere a ogni offerente di versare una cauzione che sia deducibile dal prezzo di aggiudicazione se lâofferente vince e altrimenti rimborsabile se lâofferente perde. Se lâofferente vince ma non riscatta il suo buono, il venditore trattiene il deposito deducibile. Il deposito deducibile può eliminare lâincentivo razionale degli offerenti a fare offerte insincere, a meno che il loro profitto dalle offerte insincere non superi la franchigia.
Il problema delle offerte insincere nellâasta a voucher può essere ulteriormente attenuato nello stesso modo in cui il potere di veto degli offerenti è attenuato nellâasta a testa unica di base. Se lâasta di voucher è commercializzata come un servizio premium accessibile solo agli utenti con KYC e reputazione elevata, gli utenti possono evitare di fare offerte insincere se il disconoscimento dellâofferta vincente comporta una sanzione reputazionale sufficientemente grave per la piattaforma. In effetti, secondo uno degli intervistati, che partecipa regolarmente alle aste NFT basate su Discord, il rischio di una sanzione reputazionale è di solito sufficiente a far sĂŹ che gli offerenti vincitori onorino le loro offerte.
Asta a voucher delegata
Questo progetto combina lâasta a voucher con una testa Hydra gestita da delegati. In questo modo si attenua il rischio che i delegati possano colludere per rubare direttamente i fondi al venditore e/o agli offerenti, perchĂŠ il lotto dâasta e i fondi degli offerenti rimangono al di fuori della Hydra Head.
Lâasta in questo progetto funziona allo stesso modo dellâasta con voucher, tranne per il fatto che gli offerenti inviano le loro offerte allâasta per procura attraverso i delegati della testa di Hydra, e la firma multipla dei delegati è necessaria affinchĂŠ le offerte influenzino lo stato dellâasta allâinterno della testa di Hydra. Alla chiusura dellâasta, lâofferente vincente riceve un voucher che può essere riscattato per il lotto dâasta su Cardano L1.
Questo progetto dâasta eredita i vantaggi di comoditĂ per lâutente dallâasta con custodia delegata ed eredita i bassi costi di configurazione di Hydra Head e lâalta capacitĂ degli offerenti dallâasta con voucher. Inoltre, con impegni/disimpegni incrementali, i delegati possono inviare il voucher al vincitore di unâasta e poi riutilizzare i token di offerta per i nuovi offerenti in unâasta successiva, senza chiudere lâHydra Head. In questo modo, i delegati possono avere un modello di business redditizio gestendo una testa persistente e affittando il tempo sulla testa Hydra a varie aste.
Come nellâasta a voucher semplice, il problema delle offerte insincere può essere mitigato richiedendo a ogni offerente un deposito che è deducibile dal prezzo di aggiudicazione se lâofferente vince e riscatta il lotto dâasta, rimborsabile se lâofferente perde e incamerato dal venditore se lâofferente vince e non riscatta il lotto dâasta.
Una differenza sostanziale tra questo progetto e lâasta a voucher semplice è che gli offerenti non partecipano piĂš direttamente alla testa Hydra. Ciò significa che le firme degli offerenti non sono necessarie per autorizzare alcuna transizione di stato allâinterno di Hydra Head, e quindi i delegati possono autorizzare transazioni che dichiarano falsamente offerte che gli offerenti non hanno presentato. Naturalmente, lâofferente vincente può scegliere di non onorare tale offerta falsa; tuttavia, se il requisito del deposito deducibile è stato incluso nellâasta per combattere le offerte insincere, lâofferente vincente dovrebbe incamerare il suo deposito quando rifiuta unâofferta falsa. Ad esempio, i delegati potrebbero colludere con il venditore per dividere il deposito incamerato dallâaggiudicatario.
Per eliminare il rischio di offerte false da questo progetto, ogni transazione dâofferta allâinterno della testa Hydra potrebbe produrre un dato UTXO che include la firma dellâofferente per quellâofferta, e la firma dellâofferente vincente dovrebbe essere conservata nei dati fino allâemissione del voucher allâofferente vincente su L1. Il voucher sarebbe valido solo se il suo dato UTXO contiene la firma valida dellâofferente per lâofferta corrispondente; in caso contrario, il voucher non sarebbe valido e lâesito dellâasta verrebbe annullato.
Un altro rischio che emerge dallâaffidare ai delegati lâesecuzione dellâasta allâinterno di Hydra Head è che essi possano truccare lâasta in modo che unâofferta diversa da quella piĂš alta vinca lâasta. Tuttavia, i delegati andrebbero incontro a significative penalizzazioni in termini di reputazione per aver agito in questo modo, il che comprometterebbe la loro capacitĂ di continuare a offrire servizi di auction-hosting in futuro.
Unâulteriore attenuazione del rischio di manipolazione delle aste da parte dei delegati consisterebbe nellâimporre loro di conservare una copia del registro delle transazioni dâasta della testa dellâidra che hanno portato al particolare esito dellâasta che è stato finalizzato su L1. Questa copia del libro mastro dellâasta potrebbe anche essere archiviata per un periodo di tempo sufficiente su blockchain ottimizzate per lo storage (ad esempio Arweave) o su soluzioni L2 (ad esempio Logosphere). Se un offerente contesta lâesito dellâasta con unâaccusa di manipolazione dellâasta, i delegati potrebbero presentare il registro dellâasta come prova in un processo di risoluzione delle controversie fuori dalla catena.
Complessivamente, questo progetto raggiunge il giusto equilibrio tra il design dellâasta delegata e quello dellâasta a voucher.
Modelli dâasta su reti di Hydra Heads
Asta a forma di stella
Questo progetto utilizza la topologia della rete di teste a stella descritta sul sito web di Hydra. In questo caso, un banditore centralizzato apre una testa separata a coppie con ogni offerente nellâasta. Lâofferente impegna nella testa Hydra i fondi che desidera utilizzare nellâasta, mentre il banditore non impegna alcun fondo nella testa Hydra, ma si limita a testimoniare e a marcare con la propria firma le offerte dellâofferente. Il banditore può decidere di addebitare una tariffa per fornire questo servizio agli offerenti dellâasta.
Il caso dâuso dellâasta può essere implementato sulla topologia di rete Hydra a forma di stella senza richiedere trasferimenti di fondi tra le teste tramite contratti hash time-locked (HTLC). Invece, al termine dellâasta, ogni testa a coppie viene chiusa con lâofferta piĂš alta del suo offerente riportata a Cardano L1 e quindi lâofferta vincente può essere risolta in modo efficiente durante il fanout da ogni testa. Potenzialmente, potrebbe esistere un meccanismo per risolvere le offerte perdenti allâinterno delle teste Hydra durante lâasta, consentendo agli offerenti perdenti di uscire dallâasta in anticipo se non desiderano piĂš continuare a fare offerte.
I principali vantaggi dellâasta a stella rispetto allâasta a testa singola sono:
- Nessun potere di veto degli offerenti. Gli offerenti non possono piĂš porre il veto sulle reciproche offerte perchĂŠ sono distribuiti in teste dâasta separate.
- Banditore non custode. Il banditore in queste teste Hydra a coppie non può rubare i fondi degli offerenti, perchÊ la firma di ogni offerente è richiesta per ogni transazione nella sua rispettiva testa.
- Requisiti di reattivitĂ meno rigidi. Gli offerenti non devono essere sempre attivi e reattivi allâinterno delle loro teste Hydra, perchĂŠ il banditore stesso non invia mai le sue transazioni nelle teste Hydra e quindi non aspetta mai che gli offerenti firmino le sue transazioni. Se un offerente va offline per un poâ, il banditore può tranquillamente rimanere inattivo finchĂŠ lâofferente non si riconnette.
Al contrario, poichĂŠ la firma del banditore è richiesta anche per ogni testa a due, il banditore ha il potere di truccare lâasta:
- Censura. Il banditore può impedire a un offerente di fare offerte rifiutandosi di firmare le sue offerte, truccando lâasta a sfavore di quellâofferente e a favore degli altri offerenti che il banditore non sta censurando. Questo è simile al potere di veto dellâofferente nellâasta a testa singola, ma è detenuto solo dal banditore nellâasta a stella.
-
Collusione per disonorare unâofferta. Il banditore può consentire a un offerente di disonorare le proprie offerte, in questo modo
- permettendo allâofferente di sostituire la sua offerta con una piĂš bassa durante lâasta; oppure
- non contestando il tentativo dellâofferente di chiudere il testa a coppia con unâofferta diversa da quella piĂš alta che lâofferente ha fatto nel testa a idra durante lâasta.
- Collusione per fare offerte segrete. Il banditore può consentire a un offerente di fare segretamente unâofferta piĂš alta di quella che è stata trasmessa fino a quel momento a tutti gli offerenti. Ciò significa che gli altri offerenti si sbaglieranno su quale sia lâofferta piĂš alta e su chi sia il miglior offerente fino alla chiusura dellâasta o fino a quando lâofferente segreto non si rivelerĂ come il miglior offerente.
I due poteri di collusione del banditore non esistono nellâasta a testa singola. Nellâasta a testa unica un offerente non può disonorare le sue offerte perchĂŠ il venditore non firmerebbe una transazione che abbasserebbe lâofferta corrente dellâofferente. Un offerente non può fare offerte segrete nellâasta a testa singola, perchĂŠ ogni partecipante allâHydra Head deve vedere e firmare lâofferta perchĂŠ questa abbia effetto. Pertanto, il potere di collusione centralizzato del banditore nellâasta a stella è il suo principale svantaggio rispetto allâasta a testa singola.
Asta con schema a costellazione
Questo progetto è una generalizzazione dellâasta a stella che divide il banditore in piĂš parti neutrali nella testa di ogni offerente. Inoltre, richiede solo M di N parti neutrali (M < N) per firmare le transazioni allâinterno della testa dellâofferente, oltre alla firma dellâofferente stesso.
Ad esempio, supponiamo che Alice, Bob e Charlie siano offerenti in unâasta e che Oskar, Patricia, Quentin, Rupert e Sally siano potenziali parti neutrali. Se impostiamo (M = 2) e (N = 3), potremmo impostare le teste di idra degli offerenti per lâasta come segue:
- La testa di Alice comprende Alice, Oskar, Quentin e Rupert. Ogni transazione in questa testa richiede la firma di Alice e 2 delle 3 firme di Oskar, Quentin e Rupert.
- La testa di Bob comprende Bob, Patricia, Rupert e Sally. Ogni transazione in questa testa richiede la firma di Bob e 2 delle 3 firme di Patricia, Rupert e Sally.
- La testa di Charlie comprende Charlie, Oskar, Patricia e Sally. Ogni transazione in questa testa richiede la firma di Charlie e 2 delle 3 firme di Oskar, Patricia e Sally.
Questo design attenua il potenziale di manipolazione centralizzata dellâasta a stella:
- La collusione con lâofferente per disonorare o non rivelare unâofferta è ridotta perchĂŠ lâofferente deve colludere con piĂš parti neutrali per truccare collettivamente lâasta a suo favore.
-
D'altra parte, lo schema di firma M di N rende piĂš facile la collusione dell'offerente con le parti neutrali rispetto al consenso unanime, quindi M non dovrebbe essere molto inferiore a N.
- La censura delle offerte è ridotta perchĂŠ richiede che (N - M + 1) parti neutrali rifiutino di firmare unâofferta.
Inoltre, lo schema di firma M di N può allentare i requisiti di reattivitĂ delle parti neutrali, perchĂŠ fino a (N - M) parti neutrali possono andare brevemente offline senza necessariamente impedire che unâofferta venga firmata piĂš volte nella testa Hydra.
Potremmo anche rinunciare alla selezione casuale delle parti neutrali per la testa Hydra di ogni offerente, utilizzando invece un gruppo fisso di parti neutrali indipendenti in ogni testa. Ad esempio, potrebbe trattarsi di una federazione di case dâasta indipendenti che si mantengono reciprocamente oneste nelle aste che ospitano per gli utenti.
Per ridurre ulteriormente il potenziale di manipolazione delle aste da parte delle parti neutrali, queste possono essere selezionate casualmente per ogni testa di offerente da un ampio pool di potenziali parti neutrali, forse in modo simile alla lotteria basata su funzioni casuali verificabili (VRF) utilizzata su Cardano L1 per selezionare i leader degli slot per aggiungere blocchi alla catena.
In un certo senso, questa lotteria Hydra Head potrebbe essere vista come una naturale generalizzazione della lotteria degli slot leader di Cardano da L1 a L2. Nel primo livello, gli slot leader vengono selezionati in modo casuale per aggiungere blocchi di transazioni firmate dagli utenti alla catena principale. Nel secondo livello, le parti neutrali sono selezionate casualmente per mediare le transazioni transitorie allâinterno di una Hydra Head e poi per contribuire a riportare il risultato finale alla catena principale. In effetti, lâampia rete di stake pool di Cardano potrebbe essere sfruttata per fornire anche servizi di parti neutrali sul livello 2, come ulteriore flusso di entrate che sfrutta le loro risorse informatiche esistenti.
Il progetto dâasta basato su Hydra selezionato per la fase di implementazione
Per la fase di implementazione di questo progetto, è stato scelto il design di asta a voucher delegati perchĂŠ attenua in modo significativo le tre principali limitazioni del protocollo Hydra Head che, secondo gli intervistati, li scoraggiano dal perseguire soluzioni basate su Hydra. In base alla nostra analisi commerciale, lâimplementazione di riferimento basata su questo progetto potrebbe essere adattata in modo fattibile a un servizio dâasta sulla rete principale di Cardano.
Inoltre, questo progetto può dimostrare alla comunitĂ di Cardano che, se si supera il modello di base a testa singola, una piĂš ampia gamma di casi dâuso diventa fattibile applicando tecniche quali:
- Gestione delle informazioni piuttosto che dei fondi allâinterno di una Hydra Head (ad esempio, buoni riscattabili).
- Delegare gli obblighi di partecipazione a Hydra per ridurre lâonere e la scomoditĂ per lâutente.
Per quanto riguarda i progetti di asta a forma di stella e di schema a costellazione, si tratta di progetti interessanti che hanno incuriosito gli intervistati. Tuttavia, sono anche significativamente piĂš complessi del progetto dellâasta di voucher delegati. Inoltre, richiedono la disponibilitĂ di funzioni di Hydra Head non ancora implementate, affinchĂŠ i vantaggi di questi progetti siano evidenti in una dimostrazione dellâimplementazione di riferimento. Pertanto, si raccomanda di prenderli in considerazione per un futuro progetto dâasta basato su Hydra, forse anche da parte di alcuni dei partecipanti allâanalisi aziendale, se il nostro progetto attuale dĂ loro la certezza di poter portare avanti i propri progetti di DApp basati su Hydra.
Oggetto della fase di implementazione
Nella fase di implementazione, IOG e MLabs daranno prioritĂ allâimplementazione delle sole caratteristiche principali dellâasta in stile inglese allâinterno del progetto dei voucher delegati. Una volta implementate, le altre caratteristiche dellâasta in stile inglese potranno essere perseguite come caratteristiche âda avereâ. La ragione di questa priorità è che i partecipanti e gli intervistati nellâanalisi aziendale hanno indicato che preferiscono vedere le limitazioni di Hydra adeguatamente risolte per il caso dâuso dellâasta, supervisionando le funzionalitĂ non essenziali implementate nellâasta basata su Hydra.
Al termine di questa fase, lâimplementazione dellâasta dovrebbe fornire le seguenti funzionalitĂ :
- Un gruppo di delegati può aprire una testa Hydra in grado di ospitare unâasta per un asset NFT fornito da un venditore.
- Il venditore può distribuire il diritto di partecipare allâasta (ad esempio tramite token di partecipazione) ai potenziali offerenti che hanno bloccato i loro depositi deducibili per lâasta.
- Ogni offerente può presentare unâofferta allâasta inviandola a uno dei delegati, che la trasmetterĂ al resto dei delegati.
- I delegati possono confermare collettivamente le offerte con una firma multipla tramite il protocollo Hydra Head, includendo cosĂŹ le offerte nello stato del ledger di Hydra Head.
- Allo scadere del termine dellâasta, i delegati possono risolvere in modo deterministico le offerte allâinterno dellâHydra Head per determinare lâofferta vincente.
- I delegati possono chiudere lâHydra Head:
- Se lâasta viene risolta, può essere emesso un voucher per lâofferente vincente, che gli consente di riscattare lâattivitĂ NFT del venditore in cambio dellâimporto dellâofferta.
- Se lâasta non viene risolta, le offerte possono essere regolate su L1 per determinare lâofferta vincente e quindi il voucher può essere emesso allâofferente vincente.
- Gli offerenti perdenti possono riscattare i loro depositi deducibili quando lâHydra Head dellâasta si chiude e lâasta viene risolta.
- Lâofferente vincente può utilizzare i fondi del suo deposito deducibile per pagare il bene NFT al venditore.
- Quando il voucher viene emesso allâaggiudicatario, viene fissata una scadenza per riscattare il bene NFT del venditore. Se lâaggiudicatario non riscatta il bene NFT del venditore entro la scadenza, il venditore può richiedere il deposito deducibile dellâaggiudicatario.
- Il voucher UTXO può essere speso solo dallâofferente vincente per riscattare il NFT del venditore o dal venditore per richiedere il deposito deducibile dellâofferente vincente dopo la scadenza del termine di riscatto.
Svilupperemo inoltre una specifica tecnica per migliorare lâimplementazione di cui sopra con offerte firmate dallâofferente, in base alla quale:
- Gli offerenti firmano il contenuto delle loro offerte (ID dellâasta, importo dellâofferta, ora dellâofferta) quando si presentano allâasta.
- La firma di ogni offerta da parte dellâofferente viene conservata allâinterno di un dato UTXO sul ledger di Hydra Head, finchĂŠ lâofferta è attiva nellâasta.
- Un buono valido può essere emesso solo in un UTXO che contiene la firma dellâofferta dellâofferente vincente nel suo dato. * Solo un voucher valido può essere utilizzato per riscattare lâattivitĂ NFT del venditore.
Potenziali miglioramenti futuri dellâimplementazione dellâasta
Lâimplementazione dellâasta di cui sopra risolve in modo significativo le tre principali limitazioni di Hydra Head per il caso dâuso dellâasta. Tuttavia, potrebbero essere apportati diversi ulteriori miglioramenti per renderla ancora piĂš adatta a un prodotto reale. Non ci impegniamo a implementarli nellâambito di questo progetto, ma li menzioniamo qui e continueremo a pensare ad altri miglioramenti, in modo che i futuri sviluppatori possano avere una visione chiara di come realizzare la migliore asta basata su Hydra per i loro utenti.
Lâimplementazione dellâasta richiederĂ le firme degli offerenti per autorizzare le offerte, per impedire ai delegati di falsificare le offerte, ma non può impedire ai delegati di truccare collettivamente lâasta in modo che lâofferta piĂš alta non vinca lâasta. Un miglioramento futuro dellâimplementazione dellâasta sarebbe quello di fornire strumenti che preservino il ledger Hydra Head dei delegati sulle transazioni dâasta, per facilitare la risoluzione delle controversie fuori dalla catena con il venditore e gli offerenti. Inoltre, forse ulteriori informazioni (ad esempio una prova ZKP) derivate dal libro mastro di Hydra Head potrebbero essere riportate a L1 durante il regolamento dellâasta e lâemissione dei voucher.
Un altro miglioramento dellâasta consisterebbe nel permettere a Hydra Head di rimanere aperto mentre lâesito di unâasta viene regolato in L1 e unâaltra asta viene inserita per lâofferta. Ciò richiederebbe probabilmente la funzione di commit/de-commit incrementale prevista nella roadmap del protocollo Hydra Head.
Un terzo miglioramento dellâasta consisterebbe nel permettere a ogni offerente di bloccare unilateralmente i propri fondi su L1 come depositi ad hoc per lâasta, fornendo poi la prova di questi fondi bloccati quando si presentano le offerte allâinterno dellâasta. Questi depositi variabili potrebbero fornire una garanzia completa per tutte le offerte nellâambito dellâasta, eliminando cosĂŹ la necessitĂ di un deposito iniziale fisso deducibile da parte di ciascun offerente.
Infine, lâimplementazione dellâasta potrebbe essere migliorata consentendo lâallentamento della soglia di consenso dei delegati per alcune aste, passando dallâunanimitĂ a uno schema di firme M su N. Questo renderebbe lâasta piĂš robusta contro i rischi di unâeventuale perdita di valore. Questo renderebbe lâasta piĂš robusta contro la perdita della connessione da parte di un singolo delegato o il sabotaggio doloso della testa Hydra, anche se sarebbe leggermente meno sicura di una soglia di consenso unanime contro la collusione collettiva dei delegati contro il venditore e/o gli offerenti.
Miglioramenti suggeriti al protocollo Hydra Head per facilitare ulteriormente le aste
Mentre IOG e MLabs esploravano lo spazio di progettazione per le aste basate su Hydra, ci si è resi conto dellâimportanza di alcune caratteristiche del protocollo Hydra Head per facilitare la progettazione di aste migliori. Alcune di queste sono giĂ presenti nella roadmap di Hydra Head come funzionalitĂ pianificate, mentre altre sono nuove funzionalitĂ che abbiamo scoperto durante il brainstorming dei progetti dâasta.
La seguente caratteristica non è ancora stata implementata nel protocollo Hydra Head, ma è sulla tabella di marcia:
-
Il commit/de-commit incrementale di UTXO in una Hydra Head consentirebbe di progettare DApp che utilizzano Hydra Head di maggiore durata. Per le aste, invece di aprire e chiudere una Hydra Head (o una rete di Hydra Head) ogni volta che viene ospitata unâasta, le stesse Head potrebbero essere mantenute in funzione, con i risultati di ogni asta disimpegnati nella catena principale e gli UTXO per lâasta successiva impegnati nella Hydra Head.
- Questa funzione sarebbe vantaggiosa per le aste senza voucher, che consentono agli offerenti di fare offerte solo con i fondi che hanno impegnato nella testa Hydra durante lâinizializzazione. Gli impegni/disimpegni incrementali consentirebbero agli offerenti di aumentare tali fondi durante lâasta, permettendo loro di fare offerte piĂš alte.
- Questa funzione sarebbe vantaggiosa anche per lâasta dei voucher delegati, in quanto permetterebbe alla testa Hydra di rimanere aperta mentre chiude unâasta (inviando il voucher al vincitore su L1) e si prepara a ospitare lâasta successiva.
Le seguenti caratteristiche dovrebbero essere prese in considerazione per la roadmap di Hydra Head, in quanto faciliterebbero alcune proprietĂ desiderabili per le aste e le DApp simili costruite su Hydra:
-
appartenenza dinamica allâinterno di una Hydra Head. In particolare per le aste, i partecipanti dovrebbero essere in grado di entrare e uscire liberamente dallâHydra Head, quando non sono obbligati a rimanere come il miglior offerente dellâasta. Se i partecipanti si sentono bloccati allâinterno di una testa Hydra, potrebbero essere incentivati a chiudere la testa Hydra per poterne uscire. Se invece potessero andarsene con grazia, senza chiudere la testa per gli altri partecipanti, sarebbe un miglioramento della UX dellâapplicazione.
- Questa funzione sarebbe utile per la maggior parte delle aste, in particolare per quelle in cui gli offerenti partecipano direttamente alle Hydra Heads.
-
Ruolo di parte neutrale in una testa Hydra, con soglia di firma M di N per le parti neutrali. Come spiegato nel progetto dello schema di costellazione, questa funzione ci permetterebbe di dividere una parte fidata centralizzata allâinterno di una testa Hydra (ad esempio il banditore in unâasta a stella) in un gruppo di parti neutrali, calibrando al contempo la robustezza contro la collusione e la censura da parte delle parti neutrali.
- Questa caratteristica sarebbe vantaggiosa per la progettazione di aste con schema a costellazione. Può essere utile anche per i progetti di aste delegate, dove una soglia di firma M su N può migliorare la robustezza contro la perdita della connessione da parte di un singolo delegato o il sabotaggio della testa dellâidra con lâomissione della sua firma.
Delle caratteristiche sopra elencate, solo il commit/de-commit incrementale migliorerĂ sostanzialmente lâasta di voucher delegati che abbiamo scelto per lâimplementazione. Le altre caratteristiche amplificherebbero lâefficacia dei progetti alternativi che abbiamo considerato.