Een spoedcursus in mechanismeontwerp voor crypto-economische toepassingen

De basisbeginselen van "crypto-economie" begrijpen

Opmerking: dit bericht is geschreven door Alex Evans en is bewerkt door Steven McKie voor BlockChannel

Als je in 2017 een bepaalde hoeveelheid tijd in de cryptocurrency-wereld hebt doorgebracht, ben je waarschijnlijk de term "crypto-economie" tegengekomen. Als dat niet het geval is, kun je misschien worden verontschuldigd voor het missen van een van de meer vermakelijke taalkundige creaties in de cryptocurrency. ruimte. Dit bericht van Nick Tomaino en deze video van Vitalik Buterin moeten je op weg helpen.

Kortom, crypto-economie beschrijft de combinatie van cryptografie en economische prikkels om robuuste gedecentraliseerde protocollen en applicaties te ontwerpen. Volgens deze manier van denken, slaagde Bitcoin erin waar andere gedecentraliseerde protocollen faalden, niet vanwege Proof-of-Work, het idee van gedecentraliseerde contanten of zelfs fouttolerante consensus, maar omdat het crypto-economie in de kern van zijn consensusprotocol opnam. De grote visie van crypto-economie is daarom om dit succes te extrapoleren om crypto-economische prikkels in alles in te bedden - transacties, berekening, opslag, voorspelling, macht.

Blockchains stellen ons in staat om schaarste af te dwingen en waardeoverdracht mogelijk te maken in gebieden waar dat anders onmogelijk zou zijn, en daarom de reeks problemen waarop economische prikkels met succes kunnen worden toegepast, radicaal uit te breiden. Door dit prisma bekeken, zijn crypto-economische systemen fundamenteel nieuwe manieren om menselijk gedrag te stimuleren. En hun potentieel is enorm.

Hoewel dit in theorie misschien gemakkelijk te zien is, is het eigenlijk moeilijk om economische prikkels te ontwerpen. In feite is er een hele subdiscipline van economie gewijd aan het bestuderen van het ontwerpen van protocollen die rationele actoren ertoe aanzetten zich op sociaal wenselijke manieren te gedragen. Dit wordt mechanismeontwerp genoemd. Hoewel er de afgelopen maanden veel inkt is gemorst over het onderwerp crypto-economie, hebben we weinig bewijs dat formele methoden uit mechanismeontwerp worden opgenomen in de ontwikkeling van de meeste nieuwe blockchain-protocollen (met enkele opmerkelijke uitzonderingen die zullen worden besproken).

Op zijn zachtst gezegd betekent dit een gemiste kans. Anderen hebben het assertiever gezegd:

Het doel van dit bericht is om de basisconcepten van mechanismeontwerp te introduceren en een voorproefje te geven van hun bruikbaarheid in de cryptocurrency-wereld. Als u werkt aan een blockchain-protocol of -applicatie, biedt dit u idealiter enkele inleidende bronnen voor toegang tot de literatuur over mechanismeontwerp. Ik hoop dat je weggaat van dit bericht, 1) ervan overtuigd dat mechanismeontwerp uiterst belangrijk is voor het bouwen van robuuste gedecentraliseerde systemen en 2) uitgerust met de basisbronnen om te leren hoe je hulpmiddelen van mechanismeontwerp in je eigen werk kunt gebruiken. Houd er rekening mee dat ik geen expert ben in het ontwerpen van crypto's of mechanismen en graag feedback over dit bericht wil ontvangen van degenen die dat wel zijn.

Om te beginnen geef ik een korte beschrijving van de belangrijkste concepten en definities van mechanismeontwerp. Het doel is om de basistaal van het mechanismeontwerp op de meest toegankelijke manier te introduceren, om de daaropvolgende discussie over cryptocurrency-toepassingen begrijpelijk te maken. Dit is niet bedoeld als een formele inleiding tot het ontwerp van mechanismen. Dat wordt beter bereikt door een of meer van de volgende zaken te bekijken:

Dit hoofdstuk door Vincent Conitzer; Dit artikel van Matthew Jackson en zijn tweedelige cursus met medewerkers; Hoofdstuk 7 van deze inleidende tekst over speltheorie door Fundenberg en Tirole

Merk op dat dit slechts enkele bronnen zijn die ik nuttig vond om kennis te maken met het onderwerp. Aangezien het ontwerp van mechanismen een gevestigd gebied van economisch onderzoek is, weet ik zeker dat er nog veel meer zijn. Als je nog meer materiaal kent dat je zou aanbevelen, vermeld dit dan in het commentaargedeelte.

Wat is Mechanism Design?

Een handige karikatuur is om te denken aan mechanisme-ontwerp zoals omgekeerde speltheorie. In de speltheorie beschouwen we het spel als een gegeven en analyseren we de resultaten ervan op basis van de hulpprogramma's van spelers. Bij het ontwerpen van mechanismen beginnen we met het definiëren van gewenste resultaten en werken we achteruit om een ​​spel te creëren dat spelers naar die resultaten stimuleert. Een andere (op dezelfde manier karikaturale) manier om ernaar te kijken is om de speltheorie te beschouwen als de positieve kant en het mechanismeontwerp als de normatieve kant van dezelfde medaille.
 
U ontwerpt bijvoorbeeld een veiling waarbij het doel is om een ​​goed toe te wijzen aan de deelnemer met het hoogste hulpprogramma ervoor. Ervan uitgaande dat iedereen enig nut voor het goede heeft, hebben deelnemers een prikkel om te liegen. Dus hoe ontwerp je een spel dat iedereen stimuleert om hun hulpprogramma's naar waarheid te rapporteren? Moet u open of gesloten, stijgende of dalende biedingen implementeren? Moet de winnaar de hoogste aangekondigde prijs of een andere prijs betalen? Als u een stemproces ontwerpt dat altijd de kandidaat kiest die alle kiezers verkiezen boven alle andere kandidaten, moet u winnaars kiezen op basis van meervoud of meerderheid? moeten er één of meerdere stemrondes zijn? Moeten kiezers één keuze of voorkeur bestellen? Dit zijn typische vragen bij het ontwerpen van mechanismen.

Enkele definities

Formeel omvat een mechanisme een eindige reeks spelers en een reeks potentiële sociale beslissingen. Denk aan een aantal kiezers en de groep potentiële kandidaten die door de samenleving kunnen worden gekozen. Spelers beschikken over privé-informatie, ook wel signalen of typen genoemd. Het type van elk individu kan haar voorkeuren vertegenwoordigen - zoals haar voorkeur voor kandidaat A boven B of haar waardering voor een goed dat in een veiling wordt verkocht - maar het type kan ook worden gebruikt om andere soorten privéinformatie te coderen - ze kan bijvoorbeeld alleen weet of het goed dat wordt verkocht van hoge of lage kwaliteit is. We kunnen ook een gemeenschappelijke prior hebben, wat een waarschijnlijkheidsverdeling over typen is. Denk hier eens aan in de context van poker: je kent misschien de handen van de speler niet, maar je kent de waarschijnlijkheid dat elke hand in een kaartspel van 52 kaarten voorkomt. Omdat de 'optimale' beslissing onvermijdelijk afhankelijk is van de typen individuen, definiëren we meestal ook een beslissingsregel, die typen toewijst aan sociale beslissingen.

De hulpprogramma's van individuen zullen dus een functie zijn van hun gerapporteerde type (d.w.z. wat zij de type / voorkeursaggregator vertellen, wat misschien niet waar is), hun werkelijke type en de output van de beslissingsregel. Verder nemen we vaak overdrachtfuncties op, waarbij een overdraagbaar goed (handig als een token) wordt gebruikt om spelers te stimuleren, meestal door de externe effecten vast te leggen die hun acties anderen opleggen. We kunnen ons dus de sociale keuzefunctie voorstellen, die gerapporteerde types aan uitkomsten in kaart brengt als gesegregeerde monetaire en niet-monetaire componenten. Hierover wordt gesproken wanneer u verwijzingen ziet naar ‘quasi-lineaire’ hulpprogramma's, d.w.z. voorkeuren zijn lineair in de monetaire / overdrachtscomponent.

In de praktijk krijg je als ontwerper de controle over de keuze van het mechanisme, maar niet de spelers of hun types. Mogelijk ziet u deze 'gegeven' elementen die de instelling worden genoemd. Door een mechanisme toe te voegen, verandert deze Bayesiaanse instelling in een spel (ook wel een 'spelvorm' genoemd). Formeel is een mechanisme een paar bericht- / strategieruimten en een functie die berichten / strategieën toewijst aan resulterende sociale beslissingen en overdrachten. Het mechanisme kan deterministisch zijn, altijd dezelfde beslissing en uitbetalingen voor een gegeven uitvoeren, of kan volgens een bepaalde regel probabilistisch / willekeurig zijn.

De centrale taak bij het ontwerpen van mechanismen is het specificeren van een mechanisme dat rationele agenten stimuleert om zich op bepaalde manieren te gedragen, op basis van hun persoonlijke informatie, die leiden tot sociaal gewenste resultaten.

In het algemeen wordt van een mechanisme gezegd dat het een sociale keuzefunctie 'implementeert' als, in evenwicht, de toewijzing van typen naar resultaten hetzelfde is als de toewijzing die zou worden gekozen door de sociale keuze-functie (je zou daarom het mechanismeontwerp kunnen zien als implementatie theorie ”). We kunnen eisen dat dit een implementatie is in dominante strategieën (waar dit voor de agent geldt ongeacht de strategieën van andere agenten) of simpelweg een implementatie in Bayes-Nash evenwicht (waar geen enkele speler winstgevende afwijkingen heeft op basis van zijn overtuigingen over andere spelers ' soorten en de strategieën van die betalers). De eerste is duidelijk een veel sterkere (en dus beperktere) veronderstelling.

Het openbaringsprincipe

Een van de fundamentele resultaten bij het ontwerpen van mechanismen is het Revelation Principle. In zeer brede streken wordt gesteld dat elke sociale keuzefunctie die door elk willekeurig mechanisme kan worden geïmplementeerd, ook kan worden geïmplementeerd door een waarheidsgetrouw, openbaringsmechanisme met hetzelfde evenwichtsresultaat. Hier is een mechanisme met directe openbaring een mechanisme waarbij agenten eenvoudig hun type aan het mechanisme meedelen, wat leidt tot een beslissing en een reeks overdrachten. Een mechanisme met directe openbaring is waarheidsgetrouw als het eerlijk rapporteren van voorkeuren een dominante strategie is (hoewel we in het algemeen kunnen eisen dat dit gewoon waar is in een Bayes-Nash-evenwicht). U zult dergelijke mechanismen vinden die worden aangeduid als waarheidsgetrouw, incentive-compatibel of strategievrij. Het openbaringsprincipe heeft uitzonderlijk krachtige implicaties. Kortom, als u kunt bewijzen dat iets waar is voor deze mechanismen, hebt u bewezen dat het waar is voor alle mechanismen! Om te zien waarom dit waar is, stel je een willekeurig onwaarachtig mechanisme voor met een interfacelaag, die je voorkeuren gebruikt en strategisch samenwerkt met het mechanisme om je uitbetaling te maximaliseren (zoals een fiduciair). Dan zou u uw ware voorkeuren in de interface niet verkeerd willen rapporteren of zou u een suboptimale uitbetaling krijgen. In wezen hoef je niet te liegen, want het mechanisme ligt voor jou! De constatering dat er geen algemeen verlies is door zich te concentreren op waarheidsgetrouwe, directe openbaringsmechanismen, is het belangrijkste resultaat dat mechanismeontwerp werkt. Anders zou je moeten bewijzen dat stellingen waar zijn voor de enorme reeks indirecte of onwaarachtige mechanismen, die het onderwerp praktisch nutteloos zouden maken.

Mechanismeontwerp als beperkte optimalisatie

Nu we enkele basisbegrippen hebben gedefinieerd, wat zijn de soorten resultaten die we kunnen gebruiken om het mechanismeontwerp af te dwingen? Wat is een ‘goed’ mechanisme en hoe zorgen we ervoor dat we het selecteren? Je kunt dit beschouwen als een optimalisatieprobleem, waarbij je een objectieve functie (zoals je inkomsten) probeert te maximaliseren, onder een aantal beperkingen. Het is logisch om enkele van de meest voorkomende beperkingen die u tegenkomt te introduceren.

Stimulerende compatibiliteit is misschien de meest voorkomende beperking die u zult tegenkomen. Andere veel voorkomende beperkingen zijn individuele rationaliteit, waarbij geen enkele agent verliest door deel te nemen aan het mechanisme en efficiëntie, waarbij de som van individuele hulpprogramma's wordt gemaximaliseerd (exclusief geldoverdrachten). Begrotingssaldo beperkt het mechanisme om dat netto naar nul over te dragen tussen individuen, terwijl een zwak begrotingssaldo (ook wel haalbaarheid genoemd) eenvoudig vereist dat het mechanisme niet meer uitbetaalt dan het ontvangt. Een belangrijk probleem dat zich voordoet in de theorie van het ontwerp van mechanismen is dat beperkingen, zoals begrotingsevenwicht, efficiëntie en individuele rationaliteit vaak onmogelijk zijn om tegelijkertijd te voldoen onder incentive compatibiliteit en verschillende onmogelijkheidstheorens zijn bewezen. Over het algemeen kan worden gezegd dat de kenmerken van mechanismen achteraf voor agenten gelden (ongeacht de typen agenten), ex-interim (gegeven elk type voor de agent en naar verwachting van de typen andere agenten), of ex- ante (dwz in afwachting van hun eigen type en dat van andere agenten). Terugkerend naar onze pokeranalogie, kun je bedenken welke claims je kunt maken voordat er kaarten uit de stapel worden getrokken (ex-ante), wanneer je je eigen hand kent (ex-interim) en wanneer alle handen worden onthuld (ex- post).

Het opleggen van beperkingen laat je meestal met een aantal verschillende mechanismen om uit te kiezen, waarbij het ontwerp van het mechanisme wordt omgezet in een (beperkt) resultaatoptimalisatieprobleem. In een veiling bent u bijvoorbeeld op zoek naar een incentive-compatibel, individueel rationeel mechanisme dat de omzet maximaliseert. Mogelijk hebt u uw mechanismen nodig om efficiënt te kunnen worden berekend of om meer gecompliceerde sociale doelen te bereiken, zoals een billijke verdeling van waarde. Dit zijn slechts enkele voorbeelden en de lijst is praktisch oneindig. Zoals we in enkele voorbeelden zullen zien, kan het formeel vermelden van het doel van het mechanisme zelf een van de moeilijkere problemen zijn bij het ontwerpen van mechanismen.

Vickrey-Clarke-Groves Mechanisms

Een reeks zeer krachtige mechanismen die u vaak zult tegenkomen, worden Vickrey-Clarke-Groves-mechanismen genoemd. Om dit uit te leggen, laten we eerst nadenken over een veiling waar een enkel goed wordt verkocht. Het meest voor de hand liggende ontwerp is misschien dat alle deelnemers de prijs die ze zouden betalen op papier zouden noteren. Nadat de biedingen zijn onthuld, ontvangt de speler die de hoogste prijs biedt het goede en betaalt de prijs die ze biedt. Dit zou duidelijk niet incentive-compatibel zijn, omdat elke speler die haar echte waarde voor het goede biedt, een nut van nul zou ontvangen. Een veel beter mechanisme voor incentive compatibiliteit zou zijn om het goede toe te wijzen aan de speler met het hoogste bod, maar haar alleen de waarde van het volgende hoogste bod te laten betalen. Dit wordt een Vickrey-veiling genoemd. Elke speler in deze setting heeft een stimulans om haar exacte waardering voor het goede te bieden.

Een generalisatie van de Vickrey-veiling is het centrale mechanisme (ook wel het Clarke-mechanisme of 'het' VCG-mechanisme genoemd, hoewel VCG soms kan verwijzen naar de meer algemene klasse van mechanismen). Het mechanisme werkt als volgt. Voor elk individu voeren we het mechanisme zonder haar uit en kiezen we de uitkomst die het nut van alle andere spelers maximaliseert, gezien hun gerapporteerde types. Vervolgens nemen we het individu op en voeren we het mechanisme opnieuw uit. De laatste is de gekozen uitkomst. Elke speler betaalt (of verzamelt) het verschil tussen de som van hulpprogramma's voor de andere spelers in de twee gevallen. In feite is deze betaling gelijk aan de sociale kosten of baten van het individu. Aangezien het individu geen enkele manier heeft om de som van de hulpprogramma's die zonder haar optreedt, te beïnvloeden, probeert ze effectief de som van het nut van zichzelf en van iedereen te maximaliseren. Maar dit is precies hetzelfde als het maximaliseren van het totale sociale nut! Door incentives op deze manier op elkaar af te stemmen, zorgt u niet alleen voor incentive-compatibiliteit, maar garandeert u ook efficiëntie. Het is ook gemakkelijk om ex-post individueel rationele en zwak budgetgebalanceerde versies van dit mechanisme te vinden met enkele vrij milde aanvullende veronderstellingen. We kunnen ook willekeurige voorwaarden toevoegen aan de uitbetaling die het individu niet kan beïnvloeden (zoals elk individu een constant bedrag geven ongeacht de uitkomst), zonder de onderliggende prikkels te wijzigen. Deze meer algemene set van mechanismen worden Groves Schemes genoemd, die altijd dominant incentive-compatibel zijn met strategieën. Ze zijn ook de enige efficiënte mechanismen waar waarheid een dominante strategie is.

Hoewel Groves Schemes duidelijk een krachtige klasse van mechanismen zijn, zijn ze zeer vatbaar voor samenspanning tussen actoren. We zullen later zien hoe dit zeer problematisch kan zijn in een crypto-economische omgeving.

Duidelijke toepassingen

Nu we de basisingrediënten van het mechanismeontwerp hebben verzameld, laten we eens kijken naar enkele mogelijke toepassingen voor de cryptocurrency-wereld. Ik begin met het noemen van (een niet-uitputtende reeks) directe toepassingen, voordat we in meer betrokken onderzoeksgebieden duiken.

Een van de meest voor de hand liggende en directe toepassingen van mechanismeontwerp is tokenverkoop. Veilentheorie is veruit de meest ontwikkelde toepassingsruimte voor mechanismeontwerp. Mechanismen voor veilingen zijn ook uitgebreid bestudeerd in de informatica, niet in de laatste plaats vanwege het feit dat grote technologiebedrijven zoals eBay en Google het grootste deel van hun inkomsten uit online veilingen halen. Als je een tokenverkoop plant, kun je hier echte 'kant-en-klare' oplossingen vinden voor het bestuderen van mechanismeontwerp (hoewel we later in een crypto-setting enkele van de mislukkingen van de traditionele veilingtheorie tegenkomen). Hier, hier en hier vindt u enkele argumenten over concurrerende token-verkoopmodellen. Veel van deze kunnen triviaal worden geformuleerd in termen van traditionele veilingtheorie.

Voorspellingsmarkten, die onlangs verschillende gedecentraliseerde varianten hebben gezien, zijn een ander voorbeeld van een gebied waar onderzoek naar traditioneel mechanismeontwerp veel te zeggen heeft. Hier zou het doel kunnen zijn om incentive-compatibele mechanismen te specificeren die de ware overtuigingen van agenten over de waarschijnlijkheid van verschillende gebeurtenissen extraheren om nauwkeurige voorspellingen te doen. Net als bij veilingen heeft de theorie hulpmiddelen om met meer geavanceerde veronderstellingen om te gaan, zoals situaties waarin agenten zich strategisch gedragen en / of proberen de overtuigingen van andere agenten te manipuleren om de marktprijzen in hun voordeel te veranderen. Er zijn ook wat meer lastige problemen, zoals het feit dat de privé-informatie van agenten niet altijd gemakkelijk kan worden omgezet in discrete kansen. Stel bijvoorbeeld dat ik een vriend in de coachingstaf van Golden State heb die me vertelde dat Steph Curry zijn enkel bezeerde. Het is niet duidelijk hoe zo'n stukje privé-informatie kan worden omgezet in een precieze waarschijnlijkheid of Golden State hun volgende wedstrijd zal winnen (P.S., ik koester geen kwade wil voor Steph Curry of zijn enkel). Net als bij veilingen doen zich bij het overwegen van een gedecentraliseerde versie van deze markten speciale problemen voor. Ik verwijs u naar projecten zoals Augur of Gnosis, hoewel een meer theoretische behandeling van het onderwerp van gedecentraliseerde voorspellingsmarkten hier en hier te vinden is.

Namecoin analyseren

Dit artikel van Carlsten et al is een goed voorbeeld van hoe mechanismeontwerp kan worden gebruikt bij het redeneren over gedecentraliseerde systemen. De auteurs beweren dat terwijl Namecoin een kritisch technisch probleem oplost (effectief de driehoek van Zooko kwadraat), het systeem een ​​aantal netelige economische uitdagingen tegenkomt. Het artikel laat zien dat amper 0,02% van de geregistreerde domeinen tot niet-krakers behoorde en op het moment van schrijven niet-triviale inhoud vertoonde, terwijl de secundaire markt voor domeinen vrijwel niet bestond. Ik geloof dat dit het punt versterkt dat je als protocolontwerper het ontwerp van juiste gebruikersprikkels niet kunt verwaarlozen, ongeacht de technische voordelen van je project.
 
Wat Namecoin geschikt maakt voor het ontwerpen van mechanismen is de intrinsieke schaarste van voor de mens betekenisvolle domeinen, waarvoor een goed toewijzingsproces nodig is. De auteurs gebruiken daarom mechanismeontwerpdenken om de fouten en reden van Namecoin uit te leggen over de doelen van gedecentraliseerde naamruimten onder verschillende modellen van gebruikershulpprogramma's. Dit toont een van de moeilijkste uitdagingen van mechanismeontwerp in de praktijk: het specificeren van het model van gebruikershulpprogramma's en het afleiden van duidelijke ontwerpdoelstellingen. Als we bijvoorbeeld aannemen dat agenten vaste, onafhankelijke voorkeuren hebben voor elke naam, dan zal een Vickrey-veiling resulteren in een efficiënt resultaat (zoals besproken in de inleiding). Als we, realistischer, uitgaan van afnemende marginale hulpprogramma's voor namen (bijvoorbeeld het hulpprogramma van John Doe voor het domein "JohnDoe" is aanzienlijk lager nadat hij het domein "John_Doe" al heeft ontvangen), dan kunnen misschien vergelijkbare resultaten worden bereikt via het prioriteitsmechanisme. Wanneer echter tijdsafhankelijke voorkeuren worden opgenomen, wordt het probleem van het mechanismeontwerp te complex om zelfs duidelijk te verwoorden wat de doelen van het systeem zouden moeten zijn.

De analyse kijkt ook naar de effecten van verschillende keuzes in de ontwerpruimte: hoe sterk moet de controle van een persoon over een naam zijn? Hoe moet de primaire markt namen toekennen? Hoe moet het systeem inkomsten uit naamverkopen herverdelen? Het op deze manier methodisch inrichten van de ontwerpruimte en het analyseren van economische afwegingen is een onmisbaar hulpmiddel bij het ontwerpen van elke blockchain-applicatie. Naast het dienen van een case study over hoe mechanismeontwerp kan worden gebruikt om gedecentraliseerde systemen te analyseren, onthult de analyse ook verschillende praktische paden voor het verbeteren van Namecoin: hogere kosten om krakers af te schrikken, veilingen inzetten / algoritmische prijsregelingen om de kloof tussen de prijs voor te verkleinen een naam en de werkelijke marktwaarde ervan, en een mechanisme voor gebruikers om investeringen terug te verdienen door ongebruikte namen terug te brengen naar de primaire markt.

Open uitdagingen: Ethereum Foundation

Misschien is het meest actieve onderzoek naar toepassingen van mechanismeontwerp in de cryptocurrency-wereld het werk van de Ethereum-stichting. Om een ​​idee te krijgen, verwijs ik je nogmaals naar de video van Vitalik waarnaar in de inleiding is verwezen, evenals dit deck. Van bijzonder belang zijn de beveiligingsmodellen die hij voorstelt en gebruikte veronderstellingen, dus het is zinvol om deze hier kort te controleren op volledigheid.

Een veelgebruikt model dat wordt gebruikt in traditioneel onderzoek naar fouttolerantie is het eerlijke meerderheidsmodel, dat ervan uitgaat dat ten minste 51% van de deelnemers fundamenteel eerlijk is. Vitalik en bedrijf beweren dat dit een problematische aanname kan zijn. Als zodanig moeten onderzoekers in plaats daarvan redeneren over veiligheid onder specifieke veronderstellingen over 1) het niveau van coördinatie tussen deelnemers; 2) Het budget van de aanvaller (het maximale bedrag dat de aanvaller zou moeten betalen) en 3) De kosten van de aanvaller (de werkelijke kosten van de aanvaller). Dienovereenkomstig kunnen we verschillende beveiligingsmodellen bedenken, buiten eerlijke meerderheden. We kunnen dan kijken naar fouttolerantie en crypto-economische veiligheidsmarges (d.w.z. de economische kosten van het overtreden van bepaalde protocolgaranties) onder de veronderstellingen van elk model.

Ongecoördineerde meerderheidsmodellen gaan ervan uit dat protocoldeelnemers onafhankelijke keuzes maken en dat geen enkele actor meer dan een bepaald percentage van het netwerk controleert (hier zijn deelnemers zelfinteressant en niet noodzakelijkerwijs eerlijk). Gecoördineerde keuzemodellen daarentegen gaan ervan uit dat de meeste of alle actoren samenspannen via een agent of coalitie van agenten, hoewel we soms kunnen uitgaan van gratis toegang van niet-samenspannende actoren. Het omkopende aanvallermodel is een model waarbij actoren onafhankelijke beslissingen nemen, maar er bestaat een aanvaller die andere actoren kan stimuleren om bepaalde keuzes te maken via voorwaardelijke steekpenningen. Bekijk ter illustratie het voorbeeld van Shellingcoin dat Vitalik in beide presentaties gebruikt. Kortom, in een model waarin alleen betalingen worden gedaan aan actoren die met de meerderheid stemmen, kan een aanvaller een vaste betaling garanderen die hoger is dan die van stemmen met de huidige consensus aan degenen die afwijken van de consensus en in de minderheid terechtkomen. De aanvaller kan dus het spel effectief beschadigen met een hoog budget, maar met een werkelijke kosten van nul, omdat niet alle omgekochte defectors in de meerderheid komen. Bitcoin en andere proof-of-work-protocollen zijn, althans in theorie, vatbaar voor dit soort aanvallen (hoewel iemand geloofwaardig een enorm budget zou moeten aantonen).

Introductie van Cooperative Game Theory

Als aanvulling vond ik dit verhaal van Vlad Zamfir ook bijzonder interessant. Het beschrijft de evolutie van het denken in Proof-of-Stake-onderzoek dat ertoe leidde dat het team tot zijn huidige set crypto-economische methoden kwam, evenals het borg- en boetemechanisme in de huidige versie van Casper. Ik beveel vooral het vierde en vijfde deel van de serie aan waarin hij de coöperatieve speltheorie bespreekt. Niet om het verhaal te verpesten, maar de kernzin (voor mij) is de observatie dat "blockchain-architectuur mechanismeontwerp is voor oligopolistische markten." Ongeacht uw mening over het onderwerp, is het moeilijk te beweren dat centralisatie in zowel cryptocurrency-bedrijven als mijnmacht is in de praktijk geen realistische veronderstelling. Wat dit ongelooflijk uitdagend maakt vanuit het oogpunt van het modelleren, is dat het meeste mechanismeontwerpwerk adressen vindt van instellingen voor niet-coöperatieve speltheorie. Indicatief is dat enkele van de meest bestudeerde mechanismen (zoals het hierboven geïntroduceerde Groves Mechanism) instorten onder veronderstellingen van collusie tussen agenten.

Gelukkig is coöperatieve / coalitiële speltheorie een goed ontwikkeld veld en kun je veel goede introducties online vinden. Over het algemeen is het doel om te analyseren welke soorten coalities kunnen worden gemaakt, wat de uitbetalingen zijn onder elk (via een functie die de kenmerkende functie wordt genoemd), en hoe de coalitie haar uitbetaling moet verdelen om doelen zoals stabiliteit te bereiken. Vaak denken we aan de grote coalitie waaraan alle agenten deelnemen (bijv. Iedereen die aan de langste consensusketen werkt) en denken we na over de verdeling van de uitbetalingen onder een overdrachtsplan / oplossingsconcept genaamd de Shapley-waarde, waarbij elk individu haar marginale bijdrage aan de coalitie ontvangt . We kunnen ook vaak denken aan de "kern" set van toerekeningen (individueel rationele en efficiënte betalingen), waarbij coalities van agenten geen prikkel hebben om af te wijken en stabiliteit te analyseren op basis van of deze set leeg versus niet-leeg, uniek versus is niet. In navolging van Vitalik et al, kunnen we stimulansen bedenken in twee brede categorieën. De ene zijn betalingen, zoals mijnbeloningen (die goed passen bij ons idee van overdrachten) en de andere zijn privileges die de houders in staat stellen huursommen te extraheren, zoals transactiekosten.

Smart Contact-toepassingen

Naast het analyseren van de consensuslaag, bespreekt de presentatie van Vitalik directe toepassingen van mechanismeontwerp op slimme contracten. De Vickrey-veiling waar we zoveel leuke dingen over te zeggen hadden, kan bijvoorbeeld te maken hebben met uitdagingen in een crypto-omgeving. Gebruikers kunnen bijvoorbeeld meerdere biedingen indienen en selectief de biedingen openen die de hoogste uitbetaling garanderen. U kunt dan reageren door een aanbetaling te suggereren om dergelijke actoren af ​​te schrikken. Maar dan zou u in het mechanisme een stortingsgrootte moeten opgeven die in verhouding staat tot de biedingsgrootte, waardoor de belangrijkste kenmerken van de veiling met verzegelde biedingen voor de tweede prijs kunnen worden vernietigd. De uitdaging die Vitalik identificeert, is dat mechanismeontwerp vaak afhankelijk is van een vertrouwde tussenpersoon om de correctheid en privacy van spelers te waarborgen. Een blockchain kan correctheid garanderen, maar geen privacy.

Er zijn meestal ook meer factoren te specificeren in de crypto-economische setting dan in traditionele toepassingen van mechanismeontwerp. In gecentraliseerde instellingen denken we vaak aan een centrale agent die het mechanisme zodanig uitvoert dat de omzet onder bepaalde beperkingen wordt gemaximaliseerd. Dit maakt dingen veel eenvoudiger te analyseren. In een gedecentraliseerde setting moeten we echter misschien een algoritmische agent definiëren om het mechanisme te "runnen" en moeten we zorgvuldig redeneren over het gedrag van die agent in het mechanisme, evenals de implicaties voor het monetaire beleid van het protocol. Als we bijvoorbeeld verwachten dat het mechanisme het begrotingssaldo schendt, moet de agent inkomsten dan verdelen over spelers? Moet overtollige ingezamelde valuta uit de omloop worden verwijderd? Moet de agent in staat zijn nieuwe valuta te slaan bij het overboeken naar spelers? Deze vragen vereisen veel aandacht, omdat beslissingen ongewenste knikken in de prikkels van spelers kunnen introduceren (bijvoorbeeld het maximaliseren van het te herverdelen bedrag kan een niet-triviale component van hun hulpprogramma worden).

Laatste gedachten

Hoewel het ontwerpen van mechanismen een belangrijk onderdeel is geworden van onderzoek op het gebied van informatica, lijken weinig ondernemers en ontwikkelaars dit soort gedachten zorgvuldig toe te passen op het ontwerpen van blockchain-protocollen. Nog minder academische economen zijn serieus begonnen met het bestuderen van de speltheoretische eigenschappen van blockchain-protocollen.

Dat gezegd hebbende, ben ik optimistisch dat naarmate de enorme kansen die crypto-economie biedt duidelijker worden, deze onsamenhangende gemeenschappen zullen gaan convergeren. In de tussentijd hoop ik dat je dit artikel nuttig vond bij het introduceren van enkele van de tools en open vragen die de mogelijkheden van crypto-economisch mechanismeontwerp definiëren. Voor feedback, opmerkingen en discussie kunt u contact opnemen via alexander.evans@lowes.com (Lowe's Ventures) of in het commentaargedeelte.

Wil je meer perspectief? Hier is een recent bericht van Coindesk.com waarin ook "crypto-economie" wordt uitgelegd:

En hier is een geweldige academische paper over Mechanism Theory: