Sunteți în căutarea unei primitive de schimb echitabil (reconstituirea corectă a acțiunilor este o variantă puțin mai complexă, mă voi concentra pe primul în acest răspuns). Au fost multe cercetări pe acest subiect. Concluzia este:
- În modelul standard de calcul fără majoritate onesta și fără vreo parte terță de încredere, schimbul echitabil este imposibil (rezultat seminal Aici, niște lucrări mai recente Aici).
- Cu toate acestea, cu o formă foarte limitată de TTP (care nu vede nimic și este folosit doar atunci când lucrurile merg prost), devine fezabil. Cuvântul cheie este schimb echitabil optimist (Aici sau Aici).
- Cu o majoritate strictă onestă a părților, este posibilă calcularea generală corectă și sigură.
Apoi, există și alte soluții ingenioase, care se abat de la modelul standard de calcul:
- Puteți utiliza ipoteze de sincronizare și primitive, cum ar fi puzzle-uri cu blocare în timp sau angajamente cronometrate. Permiteți-mi să vă dau un exemplu simplificat: să presupunem că Alice și Bob au secretele respective $a$ și $b$. Mai întâi schimbă angajamente $c_a$ și $c_b$ la intrările lor. Atunci o vor face slăbește treptat deschiderea angajamentului - gândiți-vă de ex. eliberând bit cu bit informațiile de deschidere, în runde. Apoi, obțineți următoarea garanție, care nu este tocmai corectitudine, dar poate fi suficient de bună: să presupunem, de exemplu, că Bob avortează devreme și reușește să se recupereze $a$ prin forțarea în timp a părții lipsă a deschiderii $T$. Atunci Alice are întotdeauna aproape la fel de multe informații ca și Bob, până la un singur bit (din moment ce părțile schimbă un singur bit pe rundă). Prin urmare, ea se poate recupera singură $b$ cel mult în timp 2 mil dolari.
Construcțiile mai implicate încearcă să se asigure că „timpul de forță brută” este în mod necesar secvenţial, astfel încât, chiar dacă trișorul are o cantitate mare de putere de calcul, ele nu o pot accelera semnificativ. Vezi mai multe detalii Aici - sunt multe urmăriri.
Un dezavantaj al acestei soluții este că nu există o limită superioară a puterii pe care părțile cinstite ar trebui să o investească: dacă adversarul este dispus să petreacă un timp foarte mare $T$, atunci părțile cinstite trebuie să petreacă de două ori mai mult timp decât atât. Acest lucru poate fi oarecum reparat, dacă sunteți dispus să vă mulțumiți corectitudine parțială, unde ești de acord cu o mică probabilitate $1/n$, Unde $n$ este polinom, că adversarul încalcă corectitudinea. În această setare, am apărut în această hârtie că puteți obține un protocol de schimb (parțial) echitabil, cu o limită clară a calculului maxim pe care participanții ar putea avea de investit (chiar și atunci când cineva trișează).
Sau puteți înlocui TTP-ul folosind un blockchain ca ipoteză de încredere. Acest lucru, într-un anumit sens, descentralizează TTP. Unele propuneri în acest sens pot fi de fapt implementate în practică pe blockchain-ul Ethereum. Un punct de plecare pentru această linie de lucru este această hârtie.
Variantele celor de mai sus folosesc stimulente monetare, cu contracte inteligente care vă garantează fie că jucați cinstit și corect, fie că pierdeți bani (Aici este o mostră din această linie de lucru, deși nu cred că abordează în mod explicit corectitudinea).
Introducerea în lucrarea mea Aici oferă discuții și indicații mai extinse, pe care le puteți găsi de interes.