Eine zunehmende Anzahl vorgeschlagener Anwendungen zusätzlich zu Ethereum beruht auf einer Art von Anreiz, mehr Parteidatenbereitstellungen – ob Stimmen, Zufallszahlenerfassung oder andere Anwendungsfälle, bei denen Informationen von mehreren Parteien zur Erhöhung der Dezentralisierung äußerst wünschenswert sind, aber auch ein starkes Risiko einer Kollusionsrisiko. Ein Randao kann sicher deterministische Algorithmen mit öffentlich erkennbaren SamenAber es ist nicht unendlich unendlich abzupfändig: Wenn 100% der Teilnehmer eines Randao miteinander zusammenarbeiten, können sie das Ergebnis auf alles setzen, was sie wollen. Ein viel kontroverseres Beispiel ist der Vorhersagemarkt Augurwo die dezentrale Ereignisberichterstattung auf einer hoch fortgeschrittenen Version von A beruht Schella Schemawo jeder über das Ergebnis stimmt und jeder in der Mehrheit belohnt wird. Die Theorie ist, wenn Sie erwarten, dass alle anderen ehrlich sind, soll Ihr Anreiz auch ehrlich sein, in der Mehrheit zu sein, und so ist Ehrlichkeit ein stabiles Gleichgewicht. Das Problem ist jedoch, dass mehr als 50% der Teilnehmer zusammenbrechen, das System bricht.
Die Tatsache, dass Augur ein unabhängiges Token hat, bietet eine teilweise Verteidigung gegen dieses Problem: Wenn die Wähler zusammenarbeiten, kann der Wert des Augur-Tokens voraussichtlich auf nahezu Null abnehmen, da das System als nutzlos und unzuverlässig empfunden wird, und so verlieren die Zusammenhälter einen großen Wert. Es ist jedoch sicherlich keine totale Verteidigung. Paul Sztorcs Truthcoin (und auch Augur) umfasst eine weitere Verteidigung, die wirtschaftlich ziemlich schlau ist. Der Kernmechanismus ist einfach: Anstatt einfach allen in der Mehrheit einen statischen Betrag zu vergeben, hängt der zugegebene Betrag von der Uneinigkeit zwischen den endgültigen Stimmen ab, und je mehr Meinungsverschiedenheiten mehr Mehrheit ist, und Minderheitenwähler erhalten einen ebenso großen Betrag aus ihrer Sicherheitsabteilung.
Die Absicht ist einfach: Wenn Sie eine Nachricht von jemandem erhalten, der sagt: “Hey, ich beginne eine Absprachen; obwohl die tatsächliche Antwort A ist, lasst uns alle stimmen”, in einem einfacheren Schema, das Sie möglicherweise mitmachen können. In Sztorcs Schema können Sie jedoch zu dem Schluss kommen, dass diese Person ist Genau genommen Ich gehe zu einem A -Stimmen und versucht zu überzeugen Nur ein paar Prozent von Menschen, um B zu wählen, um einen Teil ihres Geldes zu stehlen. Daher schafft es mangelnde Vertrauen und macht Kollusionen schwieriger. Es gibt jedoch ein Problem: Gerade weil Blockchains so hervorragende Geräte für kryptografisch sichere Vereinbarungen und Koordination sind, ist es sehr schwierig, es unmöglich zu machen, zusammenzuarbeiten nachweislich.
Betrachten Sie das einfachste Schema für die Berichterstattung über die Meldung von Stimmen im Augur: Es gibt einen Zeitraum, in dem jeder eine Transaktion senden kann, die seine Stimme abgibt, und am Ende berechnet der Algorithmus das Ergebnis. Dieser Ansatz ist jedoch tödlich fehlerhaft: Er schafft einen Anreiz für die Menschen, so lange wie möglich zu warten, um zu sehen, was alle Antworten der anderen Spieler sind, bevor sie sich selbst beantworten. Wenn wir dies in sein natürliches Gleichgewicht bringen, würden wir alle im letzten möglichen Block stimmen, was zum Bergmann des letzten Blocks führt, der im Wesentlichen alles kontrolliert. Ein Schema, bei dem das Ende zufällig erfolgt (z. B. den ersten Block, der 100x die übliche Schwelle durchsetzt), mindert dies etwas, lässt aber immer noch eine große Menge an Kraft einzelner Bergleute.
Die Reaktion des Standard-Kryptographen auf dieses Problem ist das Hash-Commit-Reveal-Schema: jeder Spieler P[i] bestimmt ihre Reaktion R[i]und es gibt eine Zeit, in der sich jeder unterwerfen muss H (r[i]) Wo H Kann jede vorgegebene Hash-Funktion sein (z. B. SHA3). Danach müssen sich jeder einreichen R[i]und die Werte werden gegen die zuvor bereitgestellten Hashes überprüft. Für die Zwei-Spieler-Rockpapierschere oder jedes andere Spiel, das rein nullsum ist, funktioniert dies großartig. Für Augur wird jedoch immer noch die Möglichkeit für glaubwürdige Absprachen offen: Benutzer können freiwillig freiwillig enthüllen R[i] Vor dieser Tatsache können andere überprüfen, ob dies tatsächlich den Hash -Werten übereinstimmt, die sie der Kette zur Verfügung gestellt haben. Wenn Benutzer ihre Hashes ändern können, bevor der Hash -Sending -Zeitraum ausgeführt wird, ist nichts. Benutzer können jederzeit einen großen Geldbetrag in einem speziell gestalteten Vertrag einsperren, in dem es nur veröffentlicht wird, wenn niemand einen Merkle -Baum -Beweis für den Vertrag liefert, der mit einem früheren Blockhash gipfelt und zeigt, dass die Abstimmung geändert wurde, wodurch sich ihre Stimme nicht geändert hat.
Eine neue Lösung?
Es gibt jedoch auch einen weiteren Weg zur Lösung dieses Problems, der noch nicht angemessen erforscht wurde. Die Idee ist Folgendes: Anstatt die Vorbereitung für Absprachen im Rahmen des Primärspiels selbst kostspielig zu machen, ist wir Stellen Sie ein paralleles Spiel ein (wenn auch eine obligatorische, unterstützt von den Sicherheitseinlagen der Oracle-Teilnehmer), bei dem sich jeder, der Informationen über ihre Stimme an andere Personen vorsieht, das Risiko öffnet, (probabilistisch) verraten zu sein. ohne irgendeine Möglichkeit zu beweisen dass es diese bestimmte Person war, die sie verraten hat.
Das Spiel in seiner grundlegendsten Form funktioniert wie folgt. Nehmen wir an, dass es ein dezentrales Schema für die Erzeugung von Zufallszahlen gibt, bei dem Benutzer alle eine Münze umdrehen und entweder 0 oder 1 als Eingaben liefern müssen. Nehmen wir nun an, dass wir die Absprachen aufbringen wollen. Was wir tun, ist einfach: Wir erlauben es irgendjemand eine Wette gegen registrieren Jeder Spieler Im System (beachten Sie die Verwendung von “irgendjemand” und “jedem Spieler”; Nicht-Spieler können sich anschließen, solange sie die Kaution liefern) und erklärt im Wesentlichen “Ich bin zuversichtlich, dass diese Person X mit mehr als 1/2 Wahrscheinlichkeit stimmt”, wobei x 0 oder 1 sein kann. zum Ziel. Wetten können in einer Zwischenphase zwischen Engagement und Offenbarung erfolgen.
Probabilistisch gesehen, beliebig Die Bereitstellung von Informationen an eine andere Partei ist jetzt möglicherweise äußerst kostspielig. Selbst wenn Sie jemand anderen davon überzeugen, dass Sie 1 mit einer Wahrscheinlichkeit von 51% abstimmen, können Sie Ihnen probabilistisch Münzen nehmen und auf lange Sicht eingehen, wenn ein solches Schema wiederholt wird. Beachten Sie, dass die andere Partei anonym wetten kann und daher immer so tun kann, dass es ein Passerby -Spieler war, der die Wetten herstellt, und nicht sie. Um das Programm weiter zu verbessern, können wir sagen, dass Sie muss Gleichzeitig gegen N verschiedene Spieler, und die Spieler müssen pseudorandomisch aus einem Samen ausgewählt werden. Wenn Sie einen bestimmten Spieler ansprechen möchten, können Sie dies tun, indem Sie verschiedene Samen ausprobieren, bis Sie zusammen mit einigen anderen Ihr gewünschtes Ziel erhalten, aber es wird immer zumindest eine plausible Verleugnung geben. Eine weitere mögliche Verbesserung, obwohl eine Kosten besteht, die Spieler zu verpflichten, ihre Wetten nur zwischen Engagement und Offenbarung zu registrieren und nur die Wetten zu enthüllen und auszuführen, lange nachdem viele Runden des Spiels stattgefunden haben (wir gehen davon aus, dass es eine lange Zeit gibt, bevor Sicherheitseinlagen für die Arbeit aufgenommen werden können).
Wie konvertieren wir das in das Oracle -Szenario? Betrachten Sie erneut den einfachen Binärfall: Benutzer melden entweder A oder B, und ein Teil P, der vor dem Ende des Prozesses unbekannt ist, wird A melden, und die verbleibende 1-P-Meldung B. Hier ändern wir das Schema etwas: Die Wetten sagen: “Ich bin zuversichtlich, dass diese Person mit mehr als P-Wahrscheinlichkeit stimmen wird.” Beachten Sie, dass die Sprache der Wette nicht zur Kenntnis von p genommen werden sollte; Vielmehr impliziert es eine Meinung, dass, Unabhängig von der Wahrscheinlichkeit, dass ein zufälliger Benutzer x stimmt, ist xDer eine bestimmte Benutzer, den der Bettor abzielt, wird X mit einer höheren Wahrscheinlichkeit abgeben. Die nach der Abstimmungsphase verarbeiteten Regeln der Wette sind, dass, wenn das Ziel stimmt, n * (1 – p) Münzen vom Ziel auf den Bettor übertragen werden und ansonsten N * p -Münzen vom Bettor auf das Ziel übertragen werden.
Beachten Sie, dass im Normalfall der Gewinn hier noch garantierter ist als im obigen Binär -Randao -Beispiel: Meistens, wenn a die Wahrheit ist, alle Stimmen für a probabilistisch Gewissheit, dass sie für einen bestimmten Wert stimmen werden.
Seite Technischer Anmerkung: Wenn es nur zwei Möglichkeiten gibt, warum können Sie dann nicht bestimmen R[i] aus H (r[i]) Nur indem Sie beide Optionen ausprobieren? Die Antwort ist, dass Benutzer tatsächlich veröffentlicht werden H (r[i]N) Und (R[i]N) Für einige große zufällige Nonce N Das wird weggeworfen, also gibt es zu viel Platz, um sich aufzählen zu können.
Beachten Sie, dass dieses Schema in gewissem Sinne ein Superet von Paul Sztorcs Gegenkoordinationsschema ist, das oben beschrieben wurde: Wenn jemand jemand anderem davon überzeugt, b zu stimmen, wenn die wahre Antwort A ist, können sie mit diesen Informationen heimlich gegen sie wetten. Insbesondere von der moralischen Turpitude anderer zu profitieren, wäre jetzt kein öffentliches Gut mehr, sondern ein privates Wohl: ein Angreifer, der jemanden in eine falsche Absprache ausübt, könnte 100% des Gewinns erzielen, daher würde es noch mehr Verdacht geben, sich einer Kollusion anzuschließen, die nicht kryptografisch nachweisbar ist.
Wie funktioniert das im linearen Fall? Nehmen wir an, dass Benutzer über den BTC/USD -Preis stimmen, sodass sie keine Wahl zwischen A und B, sondern einen skalaren Wert liefern müssen. Die faule Lösung besteht einfach darin, den binären Ansatz parallel zu jeder binären Preisnigie anzuwenden. Eine alternative Lösung ist jedoch Bereichswetten. Benutzer können Wetten des Formulars “Ich bin zuversichtlich, dass diese Person zwischen X und Y mit höherer Wahrscheinlichkeit als die durchschnittliche Person abstimmen wird”. Auf diese Weise ist es wahrscheinlich kostspielig, dass Sie nur ungefähr welchen Wert Sie an andere geben werden.
Probleme
Was sind die Schwächen des Schemas? Das größte ist vielleicht, dass es die Gelegenheit eröffnet, andere Spieler zweiter Ordnung zu “Trauer zweiter Ordnung” eröffnet: Obwohl man in Erwartung andere Spieler nicht zwingen kann, Geld für dieses System zu verlieren, kann man sie sicherlich dem Risiko aussetzen, indem man gegen sie setzt. Daher kann es die Möglichkeiten für Erpressung eröffnen: “Tu, was ich will, oder ich werde dich zwingen, mit mir zu spielen.” Trotzdem ist dieser Angriff auf Kosten des Angreifers, das selbst einem Risiko ausgesetzt ist.
Der einfachste Weg, dies zu mildern, besteht darin, den Betrag zu begrenzen, der gespielt werden kann, und vielleicht sogar im Verhältnis zu der Einschränkung der Wette. Das heißt, wenn P = 0,1 die Wetten bis zu 1 US -Dollar zulassen: “Ich bin zuversichtlich, dass diese Person X mit mehr als 0,11 Wahrscheinlichkeit stimmen wird”, wetten sich bis zu 2 US -Dollar “Ich bin zuversichtlich, dass diese Person X mit mehr als 0,12 Wahrscheinlichkeit stimmt” usw. (mathematisch fortgeschrittene Benutzer können diese Funktionalität wie logarithmische Marktbewertungsregeln usw. beachten. In diesem Fall ist der Geldbetrag, den Sie von jemandem extrahieren können, quadratisch proportional zu dem Niveau der privaten Informationen, die Sie haben, und es ist auf lange Sicht garantiert, dass große Mengen an Trauer das Angreifgeld garantiert und nicht nur das Risiko.
Die zweite ist, dass, wenn bekannt ist, dass Benutzer mehrere bestimmte Informationsquellen verwenden, insbesondere zu subjektiveren Fragen wie “Abstimmung über den Preis von Token A / Token B” und nicht nur zu binären Ereignissen, diese Benutzer werden ausborrieren. Wenn Sie beispielsweise wissen, dass einige Benutzer Bitstamp und einige zu Bitfinex anhören, um ihre Stimmeninformationen zu erhalten, können Sie, sobald Sie die neuesten Feeds von beiden Börsen erhalten, wahrscheinlich etwas Geld von einem Teilnehmer anhand Ihrer Schätzung, welche Austausch sie hören, wahrscheinlich etwas Geld extrahieren können. Daher bleibt es ein Forschungsproblem, genau zu sehen, wie Benutzer in diesem Fall reagieren würden.
Beachten Sie, dass solche Ereignisse in jedem Fall ein kompliziertes Problem sind. Fehlermodi wie alle, die sich auf einem bestimmten Austausch zentralisieren, treten sehr wahrscheinlich auch in einfachen storkischen Schemata ohne diese Art von probabilistischer Trauer auf. Vielleicht ein vielschichtiges System mit einem zweitschichtigen “Berufungsgericht” an der Spitze, das so selten angerufen wird, dass die Zentralisierungseffekte niemals stattfinden, kann das Problem mindern, aber es bleibt eine äußerst empirische Frage.

