Un curs de Crash în proiectarea mecanismelor pentru aplicații criptoeconomice

Înțelegerea fundamentelor de bază ale „criptoeconomiei”

Notă: Această postare a fost scrisă de Alex Evans și a fost editată de Steven McKie pentru BlockChannel

Dacă ați petrecut o perioadă de timp în lumea criptocurrency în 2017, probabil că ați găsit termenul „criptoeconomie”. Dacă nu, puteți fi, poate, scuzat că l-ați lipsit printre unele creații lingvistice mai amuzante din cryptocurrency spaţiu. Această postare de Nick Tomaino și acest videoclip de Vitalik Buterin ar trebui să te ridice la viteză.

Pe scurt, criptoeconomia descrie combinația de criptografie și stimulente economice pentru a proiecta protocoale și aplicații descentralizate robuste. Conform acestei tulburări de gândire, Bitcoin a reușit acolo unde alte protocoale descentralizate nu au reușit, nu din cauza Proof-of-Work, a ideii de numerar descentralizat sau chiar a unui consens tolerant la erori, ci pentru că a încorporat criptoeconomia în centrul protocolului său de consens. Prin urmare, marea viziune a criptoeconomiei este extrapolarea acestui succes pentru încorporarea stimulentelor criptoeconomice în orice - tranzacții, calcul, stocare, predicție, putere.

Blockchain-urile ne permit să aplicăm deficitul și să facilităm transferul de valori în zonele în care altfel ar fi imposibil și, prin urmare, să extindem radical gama de probleme la care stimulentele economice pot fi aplicate cu succes. Privite prin această prismă, sistemele criptoeconomice sunt în mod fundamental modalități noi de stimulare a comportamentului uman. Iar potențialul lor este masiv.

Deși acest lucru poate fi ușor de observat în teorie, proiectarea stimulentelor economice este greu. De fapt, există o întreagă subdisciplină a economiei dedicată studierii modului de proiectare a protocoalelor care stimulează actorii raționali să se comporte în moduri dezirabile social. Aceasta se numește proiectarea mecanismului. Deși în ultimele câteva luni s-a vărsat multă cerneală pe tema criptoeconomiei, avem puține dovezi că metodele formale din proiectarea mecanismelor sunt încorporate în dezvoltarea celor mai noi protocoale blockchain (cu câteva excepții notabile despre care se va discuta).

Cu alte cuvinte, aceasta reprezintă o oportunitate ratată. Alții au afirmat-o mai afirmativ:

Scopul acestei postări este de a introduce conceptele de bază ale proiectării mecanismului și de a oferi un gust pentru utilitatea lor în lumea criptomonedei. Dacă lucrați la un protocol sau o aplicație blockchain, acest lucru vă va oferi în mod ideal câteva resurse introductive pentru accesarea literaturii de proiectare a mecanismului. Sper că vă îndepărtați de acest post, 1) convins că proiectarea mecanismului este extrem de importantă pentru construirea unor sisteme robuste descentralizate și 2) dotate cu resursele de bază pentru a începe să învățați cum să folosiți instrumente din proiectarea mecanismului în propria lucrare. Vă rugăm să rețineți că nu sunt expert nici în proiectarea criptografiei, nici a mecanismului și mi-ar plăcea feedback-ul la această postare din partea celor care sunteți.

Pentru început, ofer o scurtă descriere a conceptelor și definițiilor cheie din proiectarea mecanismului. Obiectivul este de a introduce vernacul de bază al proiectării mecanismului în cel mai accesibil mod posibil, pentru a face înțelegerea discuțiilor ulterioare despre aplicațiile de criptomonedă. Aceasta nu este menită să ofere o introducere formală a proiectării mecanismului. Aceasta se realizează mai bine revizuind una sau mai multe dintre următoarele:

Acest capitol de Vincent Conitzer; Acest articol de Matthew Jackson și cursul său în două părți cu colaboratori; Capitolul 7 din acest text introductiv despre Teoria jocurilor de Fundenberg și Tirole

Rețineți că acestea sunt doar câteva resurse pe care le-am găsit utile pentru a fi introduse în subiect. Întrucât proiectarea mecanismului este un domeniu consacrat al cercetării economice, sunt sigur că există multe altele. Dacă știți despre orice materiale suplimentare pe care le-ați recomanda, vă rugăm să le enumerați în secțiunea de comentarii.

Ce este proiectarea mecanismului?

O caricatură utilă este să ne gândim la proiectarea mecanismelor ca la teoria jocurilor inverse. În teoria jocurilor, luăm jocul ca dat și analizăm rezultatele acestuia în funcție de utilitățile jucătorilor. În proiectarea mecanismului, începem prin definirea rezultatelor dezirabile și lucrăm înapoi pentru a crea un joc care să stimuleze jucătorii spre acele rezultate. Un alt mod (similar caricaturizat) de a privi este acela de a considera teoria jocului ca partea pozitivă și designul mecanismului ca latura normativă a aceleiași monede.
 
De exemplu, este posibil să proiectați o licitație în care obiectivul este să alocați un bun participantului cu cea mai mare utilitate pentru acesta. Presupunând că toată lumea are o anumită utilitate pentru bine, participanții au un stimulent să mintă. Deci, cum proiectați un joc care să încurajeze pe toți să-și raporteze cu adevărat utilitățile? Ar trebui să implementați oferte deschise sau sigilate, ascendente sau descendente? Câștigătorul ar trebui să plătească cel mai mare preț anunțat sau alt preț? În mod echivalent, atunci când proiectați un proces de votare care alege întotdeauna candidatul pe care toți alegătorii îl preferă față de toți ceilalți candidați, ar trebui să alegeți câștigătorii pe baza pluralității sau a majorității? ar trebui să existe una sau mai multe runde de vot? Alegătorii ar trebui să depună o singură alegere sau o comandă de preferințe? Acestea sunt întrebări tipice în proiectarea mecanismului.

Câteva definiții

Formal, un mecanism include un set finit de jucători și un set de decizii sociale potențiale. Gândiți-vă la un set de alegători și la grupul de potențiali candidați care pot fi aleși de societate. Jucătorii dețin informații private, denumite și semnale sau tipuri. Tipul fiecărui individ poate reprezenta preferințele sale - cum ar fi preferința sa pentru candidatul A față de B sau evaluarea pentru un bun vândut într-o licitație - dar tipul poate fi folosit și pentru a codifica alte tipuri de informații private - de exemplu, ea singură poate știu dacă bunul vândut este de calitate înaltă sau scăzută. Este posibil să avem și o prioră comună, care este o distribuție a probabilităților pe tipuri. Gândiți-vă la acest lucru în contextul pokerului: poate nu cunoașteți mâinile jucătorilor, dar știți probabilitatea ca fiecare mână să apară într-un pachet de 52 de cărți. Deoarece decizia „optimă” va depinde în mod inevitabil de tipurile persoanelor fizice, de asemenea, definim în mod obișnuit o regulă de decizie, care adaptează tipurile de decizii sociale.

Utilitățile persoanelor fizice vor fi astfel funcționale ale tipului raportat (adică ceea ce spun tipul / agregatorul de preferințe, care poate să nu fie adevărat), tipul lor real și rezultatul regulii decizionale. Mai mult, includem frecvent funcții de transfer, unde un bun transferabil (în mod convenabil ca un jeton) este folosit pentru a stimula jucătorii, de obicei prin surprinderea externalităților pe care acțiunile lor le impun altora. Astfel, putem imagina funcția de alegere socială, care tipărește tipurile raportate la rezultate ca fiind componente monetare și nemonetare segregate. Despre aceasta se vorbește atunci când vedeți referințe la utilitățile „cvasi-liniare”, adică preferințele sunt liniare în componenta monetară / de transfer.

În practică, ca designer, ajungi să controlezi alegerea mecanismului, dar nu și jucătorii sau tipurile acestora. Puteți vedea aceste elemente „date” menționate ca setare. Adăugarea unui mecanism transformă această setare bayesiană într-un joc (denumit și „formă de joc”). În mod formal, un mecanism este o pereche de spații de mesaje / strategie și o funcție care mapează mesaje / strategii către deciziile și transferurile sociale rezultate. Mecanismul poate fi determinist, oferind întotdeauna aceeași decizie și plăți pentru un anume, sau poate fi probabilistic / randomizat conform unei reguli.

Sarcina centrală în proiectarea mecanismului este de a specifica un mecanism care stimulează agenții raționali să se comporte în anumite moduri, pe baza informațiilor lor private, care să conducă la rezultate dorite social.

În general, se spune că un mecanism „implementează” o funcție de alegere socială, dacă, în echilibru, maparea de la tipuri la rezultate este aceeași cu maparea care ar fi aleasă de funcția de alegere socială (s-ar putea să vedeți proiectarea mecanismului denumită „ teoria implementării ”). Putem solicita ca aceasta să fie o implementare în strategii dominante (în cazul în care acest lucru este valabil pentru agent indiferent de strategiile altor agenți) sau pur și simplu o implementare în echilibrul Bayes-Nash (unde niciun jucător nu are abateri profitabile bazate pe convingerile lor despre ceilalți jucători ” tipuri și strategiile acestor plătitori). Primele sunt, evident, o presupunere mult mai puternică (și, prin urmare, mai limitată).

Principiul Apocalipsei

Unul dintre rezultatele fundamentale în proiectarea mecanismului este Principiul Revelației. Cu lovituri foarte largi, aceasta afirmă că orice funcție de alegere socială care poate fi pusă în aplicare prin orice mecanism arbitrar, poate fi pusă în aplicare și printr-un mecanism veridic, de revelație directă, cu același rezultat de echilibru. Aici, un mecanism de revelație directă este unul în care agenții își declară pur și simplu tipurile de mecanism, ceea ce duce la o decizie și un set de transferuri. Un mecanism de revelație directă este veridic dacă raportarea în mod veritabil a preferințelor este o strategie dominantă (deși, în cazul general, putem cere ca acest lucru să fie adevărat într-un echilibru Bayes-Nash). Veți găsi astfel de mecanisme menționate drept veridice, compatibile cu stimulente sau care dovedesc strategie. Principiul revelației are implicații excepțional de puternice. Pe scurt, dacă puteți dovedi ceva adevărat pentru aceste mecanisme, ați dovedit că este adevărat pentru toate mecanismele! Pentru a vedea de ce acest lucru este adevărat, imaginați-vă un mecanism aleatoriu neadevărat cu un strat de interfață, care vă ia preferințele și interacționează strategic cu mecanismul pentru a vă maximiza plata (ca un fiduciar). Apoi, nu veți dori să raportați greșit preferințele dvs. reale către interfață sau veți primi plata sub-optimă. În esență, nu trebuie să minți, pentru că mecanismul te găsește! Observația că nu există nicio pierdere în general, concentrându-se doar pe mecanisme veridice, de revelare directă, este rezultatul cheie care face ca proiectarea mecanismului să funcționeze. În caz contrar, ar trebui să dovediți că teoremele sunt adevărate pentru setul masiv de mecanisme indirecte sau neadevărate, ceea ce ar face subiectul practic inutil.

Proiectarea mecanismului ca optimizare constrânsă

Acum că am definit câțiva termeni de bază, care sunt tipurile de rezultate pe care le putem folosi proiectarea mecanismului pentru a aplica? Ce este un mecanism „bun” și cum ne asigurăm că îl selectăm? Vă puteți gândi că aceasta este o problemă de optimizare, în care încercați să maximizați o funcție obiectivă (cum ar fi veniturile dvs.), sub un set de constrângeri. Este logic să introduceți unele dintre restricțiile mai frecvente pe care le veți întâlni.

Compatibilitatea stimulativă este poate cea mai frecventă constrângere pe care o veți întâlni. Alte constrângeri comune includ raționalitatea individuală, în care niciun agent nu pierde prin participarea la mecanism și eficiență, unde suma utilităților individuale este maximizată (fără a include transferurile monetare). Soldul bugetar constrânge mecanismul de a transfera acea netă la zero între persoane, în timp ce echilibrul bugetar slab (denumit și fezabilitate) necesită pur și simplu ca mecanismul să nu plătească mai mult decât primește. O problemă cheie care apare în teoria proiectării mecanismului este aceea că constrângerile, astfel încât echilibrul bugetar, eficiența și raționalitatea individuală sunt adesea imposibil de satisfăcut simultan sub compatibilitatea stimulentelor și au fost dovedite mai multe teoreme de imposibilitate. În general, caracteristicile mecanismelor pot fi menținute pentru agenții ex-post (indiferent de tipurile de agenți), ex-interimari (dat orice tip pentru agent și în așteptarea tipurilor de alți agenți) sau ex. ante (adică în așteptare față de propriile lor și alte tipuri de agenți). Revenind la analogia noastră de poker, vă puteți gândi la ce afirmații puteți face înainte ca orice cărți să fie trase de pe punte (ex-ante), când știți propria mână (ex-interimară) și când toate mâinile sunt dezvăluite (ex. post).

Impunerea constrângerilor vă va lăsa în mod obișnuit cu un set de mai multe mecanisme din care puteți alege, transformând proiectarea mecanismului într-o problemă (restricționată) de optimizare a rezultatelor. De exemplu, într-o licitație este posibil să căutați un mecanism rațional compatibil cu stimulente, care să maximizeze veniturile. Este posibil să aveți nevoie de mecanismele dvs. pentru a fi eficient calculabil sau pentru a satisface obiective sociale mai complicate, cum ar fi distribuirea echitabilă a valorii. Acestea sunt doar câteva exemple, iar lista este practic infinită. După cum vom vedea în unele exemple, afirmarea oficială a obiectivului mecanismului poate fi ea însăși una dintre problemele mai dificile în conceperea mecanismului.

Vickrey-Clarke-Groves Mecanisme

Un set de mecanisme foarte puternice pe care le veți întâlni frecvent sunt cunoscute sub numele de mecanisme Vickrey-Clarke-Groves. Pentru a explica aceste lucruri, să ne gândim mai întâi la o licitație în care se vinde un singur bun. Poate, cel mai evident design ar fi ca toți participanții să scrie prețul pe care îl vor plăti pe o bucată de hârtie. După dezvăluirea ofertelor, jucătorul care a oferit cel mai mare preț va primi bunul și va plăti prețul oferit de ea. În mod evident, acest lucru nu ar fi compatibil cu stimulentele, deoarece orice jucător care și-ar licita adevărata valoare pentru bun ar primi o utilitate de zero. Un mecanism mult mai bun pentru compatibilitatea stimulentelor ar fi să alocăm bunul jucătorului cu cea mai mare ofertă, dar să plătească doar valoarea următoarei celei mai mari oferte. Aceasta se numește licitație Vickrey. Fiecare jucător din această setare are un stimulent să-și ofere evaluarea exactă pentru bine.

O generalizare a licitației Vickrey este mecanismul pivot (numit și mecanism Clarke sau „mecanismul” VCG, deși VCG se poate referi uneori la clasa mai generală a mecanismelor). Mecanismul funcționează după cum urmează. Pentru fiecare individ, rulăm mecanismul fără ea și alegem rezultatul care maximizează utilitatea tuturor celorlalți jucători având în vedere tipurile lor raportate. Apoi includem individul și rulăm din nou mecanismul. Acesta din urmă este rezultatul ales. Fiecare jucător plătește (sau încasează) diferența dintre suma utilităților pentru ceilalți jucători din cele două cazuri. În mod efectiv, această plată este echivalentă cu costul sau beneficiul social al individului. Întrucât individul nu are cum să afecteze suma utilităților care apar fără ea, încearcă efectiv să maximizeze suma propriei utilități și a tuturor celorlalți. Dar aceasta este exact aceeași cu maximizarea utilității sociale totale! Alinierea stimulentelor în acest mod asigură nu doar compatibilitatea stimulentelor, ci și eficiența. De asemenea, este ușor să găsești versiuni ex-post raționale și echilibrate slab bugetar ale acestui mecanism, cu unele presupuneri suplimentare ușoare. De asemenea, putem adăuga termeni arbitrari la plata pe care individul nu o poate influența (cum ar fi oferirea fiecărui individ o sumă constantă indiferent de rezultat), fără a modifica stimulentele de bază. Acest ansamblu mai general de mecanisme se numește Scheme Groves, care sunt întotdeauna compatibile cu stimulentele strategiei dominante. De asemenea, se întâmplă să fie singurele mecanisme eficiente în care adevărul este o strategie dominantă.

Cu toate că schemele Groves sunt în mod clar o clasă puternică de mecanisme, ele sunt foarte sensibile la coluziunea între actori. Vom vedea mai târziu cum acest lucru poate fi extrem de problematic într-un cadru criptoeconomic.

Aplicații simple

Acum că am asamblat ingredientele de bază din proiectarea mecanismului, să ne uităm la câteva aplicații potențiale pentru lumea criptomonedelor. Încep prin a menționa (un set non-exhaustiv) de aplicații directe, înainte de a ne afunda în zone de cercetare mai implicate.

Una dintre cele mai evidente și directe aplicații ale proiectării mecanismului este vânzările de jetoane. Teoria licitațiilor este de departe cel mai dezvoltat spațiu de aplicații pentru proiectarea mecanismelor. Mecanismele pentru licitații au fost, de asemenea, studiate pe larg în domeniul informaticii, în mică parte datorită faptului că marile companii tehnologice precum eBay și Google obțin cea mai mare parte a veniturilor lor din licitații online. Dacă plănuiți o vânzare cu simboluri, aici puteți găsi adevărate soluții „în afara raftului”, studiind proiectarea mecanismului (deși vom întâlni unele dintre eșecurile teoriei tradiționale a licitațiilor într-o setare criptografică mai târziu). Puteți găsi câteva argumente cu privire la modelele de vânzare cu jetoane în concurență, aici, aici și aici. Multe dintre acestea pot fi formulate în mod trivial în termenii teoriei tradiționale a licitațiilor.

Piețele de predicție, care au văzut recent mai multe variante descentralizate, sunt un alt exemplu de domeniu în care cercetarea tradițională a proiectării mecanismelor are multe de spus. Aici, obiectivul ar putea fi specificarea unor mecanisme compatibile cu stimulente care să extragă adevăratele credințe ale agenților despre probabilitatea diferitelor evenimente pentru a face predicții exacte. Ca și în cazul licitațiilor, teoria are instrumente pentru a face față presupunerilor mai sofisticate, cum ar fi situațiile în care agenții se comportă strategic și / sau pot căuta să manipuleze convingerile altor agenți pentru a modifica prețurile pieței în favoarea lor. Există, de asemenea, unele probleme mai incomode, cum ar fi faptul că informațiile private ale agenților nu sunt întotdeauna ușor convertibile în probabilități discrete. De exemplu, să spun că am un prieten în echipa de antrenori pentru Golden State care mi-a spus că Steph Curry i-a rănit glezna. Nu este clar cum o informație privată de genul acesta poate fi transformată într-o probabilitate precisă dacă Golden State va câștiga următorul lor joc (P.S., eu nu am nicio rea voință pentru Steph Curry sau glezna lui). Ca și în cazul licitațiilor, un set special de probleme apare atunci când se ia în considerare o versiune descentralizată a acestor piețe. Mă refer la proiecte precum Augur sau Gnosis, deși tratamentul mai teoretic al temei piețelor de predicții descentralizate poate fi găsit aici și aici.

Analizând Namecoin

Această lucrare de Carlsten et al este un excelent exemplu al modului în care poate fi utilizat designul mecanismului atunci când se discută despre sisteme descentralizate. Autorii susțin că, în timp ce Namecoin rezolvă o problemă tehnică critică (pătrund efectiv triunghiul lui Zooko), sistemul se confruntă cu o serie de provocări economice spinoase. Articolul arată că aproape 0,02% din domeniile înregistrate au aparținut unor persoane care nu au ochi și au afișat un conținut non-banal la momentul scrierii, în timp ce piața secundară pentru domenii era practic inexistentă. Cred că acest lucru consolidează faptul că, în calitate de creator de protocol, nu poți pur și simplu să neglijezi proiectarea stimulentelor corespunzătoare pentru utilizatori, indiferent de meritele tehnice ale proiectului tău.
 
Ceea ce face ca Namecoin să fie potrivit pentru proiectarea mecanismului este lipsa intrinsecă a domeniilor cu sens uman, care necesită un proces adecvat de alocare a resurselor. Prin urmare, autorii implementează gândirea de proiectare a mecanismului pentru a explica eșecurile și motivarea Namecoin despre obiectivele spațiilor de nume descentralizate, sub diferite modele de utilități ale utilizatorilor. Acest lucru demonstrează una dintre cele mai dificile provocări ale proiectării mecanismelor în practică: specificarea modelului utilităților utilizatorilor și derivarea obiectivelor clare ale proiectării. De exemplu, dacă presupunem că agenții au preferințe fixe și independente pentru fiecare nume, atunci o licitație Vickrey va avea ca rezultat un rezultat eficient (așa cum este discutat în introducere). Dacă, mai realist, presupunem diminuarea utilităților marginale pentru nume (de exemplu, utilitatea lui John Doe pentru domeniul „JohnDoe” este semnificativ mai mică după ce a primit deja domeniul „John_Doe”), atunci poate fi obținute rezultate similare prin mecanismul prioritar. Cu toate acestea, atunci când încorporează preferințe care variază în timp, problema de proiectare a mecanismului devine prea complexă pentru a articula în mod clar care ar trebui să fie obiectivele sistemului.

Analiza analizează, de asemenea, efectele diferitelor opțiuni în spațiul de proiectare: Cât de puternic ar trebui să fie controlul individului asupra unui nume? Cum ar trebui să aloce numele de piață primară? Cum ar trebui sistemul să redistribuie veniturile din vânzările de nume? Stabilirea metodică a spațiului de proiectare în acest mod și analiza compromisurilor economice este un instrument indispensabil în proiectarea oricărei aplicații blockchain. Dincolo de a servi ca studiu de caz pentru modul în care poate fi folosit proiectarea mecanismului pentru a analiza sistemele descentralizate, analiza relevă, de asemenea, mai multe căi practice de înaintare pentru îmbunătățirea Namecoinului: taxe mai mari pentru a descuraja ghearele, implementarea licitațiilor / scheme de prețuri algoritmice pentru a reduce decalajul dintre preț pentru un nume și adevărata sa valoare de piață și un mecanism pentru ca utilizatorii să recupereze investițiile prin returnarea numelor neutilizate pe piața primară.

Provocări deschise: Fundația Ethereum

Poate cea mai activă cercetare despre aplicațiile de proiectare a mecanismelor în lumea criptocurrency este activitatea fundației Ethereum. Pentru a avea un sens, mă refer din nou la videoclipul lui Vitalik legat de introducere, precum și la acest set. O importanță deosebită sunt modelele de securitate pe care le propune și ipotezele utilizate, astfel încât are sens să le revizuim pe scurt aici pentru completitate.

Un model comun utilizat în cercetarea tradițională privind toleranța la erori este modelul cu majoritatea onestă, care presupune că cel puțin 51% dintre participanți sunt fundamental onesti. Vitalik și compania susțin că aceasta poate fi o presupunere problematică. Ca atare, cercetătorii ar trebui, în schimb, să motiveze securitatea, în ipoteze specifice despre 1) Nivelul de coordonare între participanți; 2) Bugetul atacatorului (suma maximă pe care ar trebui să o plătească atacatorul) și 3) Costul atacatorului (costul real suportat de atacator). În mod corespunzător, ne putem gândi la mai multe modele de securitate diferite, în afara majorității oneste. Putem apoi privi toleranța la erori și marjele de securitate criptoeconomice (adică costul economic al încălcării anumitor garanții de protocol) în conformitate cu ipotezele fiecărui model.

Modelele cu majoritate necoordonată presupun că participanții la protocol fac alegeri independente și niciun actor nu controlează mai mult decât un procent dat din rețea (aici participanții sunt interesați de sine și nu sunt neapărat sinceri). Modelele de alegere coordonată, pe de altă parte, presupun că majoritatea sau toți actorii se ciocnesc prin intermediul unui agent sau al unei coaliții de agenți, deși uneori putem presupune intrarea gratuită de la actori care nu colaborează. Modelul atacatorului de luare de mită este unul în care actorii iau decizii independente, dar există un atacator care poate încuraja alți actori să ia anumite alegeri prin mită condiționată. Din motive ilustrative, aruncă o privire la exemplul Shellingcoin pe care Vitalik îl folosește în ambele prezentări. Pe scurt, într-un model în care plățile se fac doar către actorii care votează cu majoritatea, un atacator poate garanta o plată fixă ​​mai mare decât cea a votului cu consensul actual față de cei care se abat de la consens și ajung în minoritate. Atacatorul poate astfel să corupe efectiv jocul cu un buget ridicat, dar un cost real de zero, întrucât niciunul dintre defecțiunii mitați nu ajung în majoritate. Bitcoin și alte protocoale de probă a muncii sunt, cel puțin în teorie, sensibile la acest tip de atac (deși cineva ar trebui să demonstreze credibil un buget masiv).

Introducerea teoriei jocurilor cooperatiste

Ca supliment, am descoperit că această poveste a lui Vlad Zamfir este deosebit de interesantă. Cronizează evoluția gândirii în cercetarea „Proof-of-Stake” care a determinat echipa să ajungă la setul său actual de metodologii criptoeconomice, precum și la depozitul de securitate și mecanismul de penalizare în versiunea actuală a lui Casper. Recomand în special a patra și a cincea parte a seriei în care discută teoria jocurilor cooperatiste. Nu pentru a strica povestea, dar punchline-ul (pentru mine) este observația că „arhitectura blockchain este un design al mecanismului pentru piețele oligopoliste”. Indiferent de gândirea dvs. pe această temă, este greu de argumentat că centralizarea atât în ​​exploatațiile criptocurrency, cât și în puterea minieră nu este o presupunere realistă în practică. Ceea ce face ca acest lucru să fie extrem de provocator din punct de vedere al modelării este faptul că majoritatea lucrărilor de proiectare a mecanismelor veți găsi setări de adrese din teoria jocului necooperant. Indicativ, unele dintre cele mai studiate mecanisme (cum ar fi Mecanismul Groves introdus mai sus), se prăbușesc în ipotezele de coluziune între agenți.

Din fericire, teoria jocurilor de cooperare / de coaliție este un domeniu bine dezvoltat și puteți găsi multe introduceri bune online. În general, obiectivul este de a analiza ce tipuri de coaliții pot fi create, care sunt plățile sub fiecare (printr-o funcție numită funcție caracteristică) și modul în care coaliția ar trebui să își împartă plata pentru a atinge obiective precum stabilitatea. Adesea, ne gândim la marea coaliție la care participă toți agenții (de exemplu, toți cei care minează pe cel mai lung lanț de consens) și ne gândim să distribuim rambursările sub un concept de sistem de transfer / soluție numit Valoarea Shapley, în care fiecare individ primește contribuția sa marginală la coaliție . De asemenea, am putea să ne gândim adesea la „nucleul” set de imputări (plăți individuale raționale și eficiente), în care coalițiile agenților nu au un stimulent să devieze și să analizeze stabilitatea pe baza dacă acest set este gol față de necomplet, unic vs. nu. După Vitalik și colab., Ne putem gândi la stimulente în două mari categorii. Una fiind plăți, cum ar fi recompense miniere (care se potrivesc bine cu ideea noastră de transferuri), iar cealaltă fiind privilegii, care permit deținătorilor lor să extragă chirii, cum ar fi comisioanele de tranzacție.

Aplicații inteligente de contact

Dincolo de analizarea stratului de consens, prezentarea lui Vitalik discută despre aplicațiile directe ale proiectării mecanismelor pentru contractele inteligente. De exemplu, licitația Vickrey despre care am avut atât de multe lucruri frumoase de spus poate suferi de provocări într-un cadru criptografic. De exemplu, utilizatorii ar putea depune mai multe sume licitate și să-l deschidă selectiv pe cel care garantează cea mai mare plată. Apoi, puteți răspunde sugerând un depozit pentru a descuraja astfel de actori. Însă, atunci ar trebui să specificați o dimensiune a depozitului în raport cu dimensiunea ofertei din mecanism, care poate distruge caracteristicile cheie ale licitației cu licitație sigilată, licitație la prețul doi. Provocarea pe care Vitalik o identifică este că proiectarea mecanismului se bazează adesea pe un intermediar de încredere pentru a asigura corectitudinea și confidențialitatea jucătorilor. Un blockchain poate garanta corectitudinea, dar nu și confidențialitate.

De asemenea, există, de obicei, mai mulți factori de specificat în cadrul criptografic, decât în ​​aplicațiile tradiționale de proiectare a mecanismului. În setările centralizate, de multe ori ne gândim la un agent central care rulează mecanismul într-un mod care să maximizeze veniturile supuse anumitor constrângeri. Acest lucru face lucrurile mult mai simple de analizat. Cu toate acestea, într-un cadru descentralizat, poate fi necesar să definim un agent algoritmic pentru a „rula” mecanismul și trebuie să argumentăm cu atenție despre comportamentul agentului respectiv în mecanism, precum și despre implicațiile asupra politicii monetare a protocolului. De exemplu, dacă ne așteptăm ca mecanismul să încalce echilibrul bugetar, agentul ar trebui să redistribuie veniturile jucătorilor? Ar trebui scoasă din circulație excesul de monedă colectată? Agentul ar trebui să poată monta monedă nouă atunci când face transferuri către jucători? Aceste întrebări necesită o atenție atentă, deoarece deciziile pot introduce legături nedorite în stimulentele jucătorilor (de exemplu, maximizarea sumei care trebuie redistribuită poate deveni o componentă non-banală a utilității lor).

Gânduri finale

În timp ce proiectarea mecanismului a devenit un element fundamental în cercetarea informatică, puțini antreprenori și dezvoltatori par să aplice cu gândire acest tip de gândire la proiectarea protocoalelor blockchain. Și mai puțini economiști academici au început să studieze serios proprietățile teoretice ale jocurilor ale protocoalelor blockchain.

Acestea fiind spuse, sunt optimist că, pe măsură ce oportunitățile enorme prezentate de criptoeconomie devin mai clare, aceste comunități disjuncte vor începe să convergă. În același timp, sper că ați găsit acest articol util pentru a introduce unele dintre instrumente și întrebări deschise care definesc posibilitățile de proiectare a mecanismului criptografic. Pentru feedback, comentarii și discuții, nu ezitați să contactați adresa de e-mail alexander.evans@lowes.com (Lowe's Ventures) sau în secțiunea de comentarii.

Vrei mai multă perspectivă? Iată un post recent de Coindesk.com care explică și „criptoeconomia”:

Și iată o lucrare academică excelentă despre teoria mecanismelor: