Blockchain kann über Währungs- und Finanztransaktionen hinaus eine Rolle spielen. Eine solche nichtfinanzielle Anwendung besteht darin, dass Blockchain die Bereiche Abstimmung und Governance erheblich verbessern kann. In diesem Artikel untersuchen wir Ansätze zum Aufbau einer speziellen Blockchain-Infrastruktur, die MACI-basierte Abstimmungsaktivitäten ermöglichen soll. Diese Infrastruktur sollte eine schlanke Blockchain umfassen, die als Zeitstempelserver fungiert und die Logik hostet, zusammen mit den Tools, die zur Reduzierung der Benutzerkosten/Maximierung der Benutzererfahrung erforderlich sind. Daher soll es die neue Basisplattform für eine neue Generation der Wahltechnologie werden. Bevor wir uns mit den Details befassen, werfen wir zunächst einen Blick auf die Geschichte der Abstimmungstechnologie und darauf, wie sich die Abstimmung innerhalb der Blockchain-Community entwickelt hat.
Die Entwicklung der Wahltechnologie. Die Wahltechnologie vom antiken griechischen Kleroterion [1] bis zu modernen elektronischen Wahlgeräten.
Die Wahltechnologie hat eine lange Geschichte [2]. Es ist für die menschliche Gesellschaft sehr wichtig, entwickelt sich aber sehr langsam. Das Vereinigte Königreich verließ sich bei den Parlamentswahlen 2019 immer noch auf handgeschriebene Stimmzettel[3], und andere Nationalstaaten nutzten geschlossene elektronische Wahlgeräte[4], was leicht zu Streitigkeiten über die Regierungsergebnisse führen konnte[5].
Die Einführung moderner Abstimmungstechnologie hat die Effizienz gesteigert, war jedoch bei der Verbesserung der Transparenz und Überprüfbarkeit nicht besonders erfolgreich.
Es besteht kein Zweifel, dass die Stimmintegrität für die Machtübertragung, die Entscheidungsfindung in wichtigen Angelegenheiten oder die Zuweisung von Ressourcen sehr wichtig ist. Wenn sich die Menschen nicht auf das Ergebnis der Abstimmung über Governance-Entscheidungen einigen können, können sie nicht miteinander kooperieren und die Spannungen nehmen zu. Reibung kann Probleme verursachen, die von Streitigkeiten bis hin zu Krieg reichen.
Obwohl sich die Wahltechnologie langsam weiterentwickelt, hat sich die Transparenz schon lange nicht verbessert. Von Kleroterion über Papierstimmzettel bis hin zu elektronischen und optischen Scan-Wahlgeräten hängt die Überprüfung immer noch von vertrauenswürdigen Personen und Prüforganisationen ab. Die Bestätigung und Prüfung von Abstimmungsergebnissen kann äußerst kostspielig sein[6]. Es gibt eindeutig Raum für Verbesserungen.
Was ist also die ideale Abstimmungstechnologie? Tatsächlich ist dies keine schwierige Frage. Wir können ganz einfach eine „Wunschliste“ erstellen:
(1) Open-Source-Infrastruktur;
(2) Open-Source-Programme für die Abstimmungslogik hosten;
(3) Führen Sie ein dauerhaftes Verzeichnis aller abgegebenen Stimmen in der richtigen Reihenfolge;
(4) Kann die Ergebnisse kryptografisch überprüfen;
(5) Widerstehen Sie Absprachen;
(6) Privatsphäre schützen;
(7) Die Abstimmungskosten sind niedrig.
Wenn wir ein Open-Source-System aufbauen können, das kontinuierlich verbessert werden kann, werden wir die oben genannten Ziele schrittweise erreichen. Verbesserungen und niedrigere Kosten bei der Wahltechnologie können es kleineren Organisationen und Gemeinden ermöglichen, von der Nutzung von Technologie zu profitieren, die ihnen zuvor nicht zur Verfügung stand, was zu erheblichen positiven externen Effekten führt.
Abstimmung und Governance innerhalb der Blockchain-Community
Abstimmungen und Governance sind für die Blockchain-Community nichts Neues, da viele Blockchain-Communitys verteilt sind und auf Governance angewiesen sind, um die Entwicklung der Angelegenheiten voranzutreiben.
Die Blockchain selbst kann Abstimmungen transparent erfassen und Abstimmungsergebnisse überprüfen. Diese Eigenschaften wurden von der Blockchain-Community für die Governance verwendet, beispielsweise für Snapshot-Token-Voting [7] und Cosmos-Governance-Proposal-Voting-Veranstaltungen [8]. Dadurch kann die Blockchain-Community über Vorschläge abstimmen und über wichtige Governance-Angelegenheiten entscheiden, ohne einen zentralen Stellvertreter oder persönliche Treffen in Anspruch nehmen zu müssen.
Ein aktueller Vorschlag[10] von KlaytnSquare[9] fordert, dass Validatoren in der Kette abstimmen. Der Vorschlag strebt die Genehmigung des vierteljährlichen Haushaltsausgabenplans an [11].
Das vorherige Beispiel verwendet die einfache und unkomplizierte Regel „1 Token, 1 Stimme“ – wie viele Stimmrechte Sie haben, hängt von Ihrem Anteil am Netzwerk oder Protokoll ab. Natürlich können wir eine andere Abstimmungslogik erstellen, solange es sinnvoll ist. Die Programmierbarkeit der Blockchain macht es einfacher und praktischer, nicht-traditionelle Abstimmungslogiken zu implementieren.
Ein Beispiel ist das quadratische Voting [12] (QV), ein Abstimmungsschema, das in der Blockchain-Community immer beliebter wird. In der QV-Runde kann ein Benutzer seine/ihre Vorlieben ausdrücken, indem er Sprachguthaben für ein bestimmtes Thema ausgibt. Wenn ein Wähler jedoch mehr als eine Stimme zum gleichen Thema abgeben möchte, erhöhen sich die Kosten für das Stimmguthaben für jede Stimme. Daher steigen die Gesamtkosten der Abstimmung quadratisch an, was Benutzer mit zu großer Abstimmungsmacht von extremen Präferenzen abhält.
Quadratische Finanzierung [13] Abstimmungsrunden zur Aptos-Blockchain. Die Abstimmungsergebnisse werden in der Kette aufgezeichnet und die Abstimmungslogik ist überprüfbar.
Bei der Auswahl einer bestimmten Abstimmungsmethode sind viele Parameter zu berücksichtigen. Ein Kompromiss besteht beispielsweise darin, ob man sich für On-Chain-Voting oder Off-Chain-Voting entscheidet. Die Abstimmungslogik in der Kette ist möglicherweise überprüfbarer und transparenter, aber die Transaktionsgebühren können eine erhebliche Belastung darstellen. Umgekehrt ist die Off-Chain-Abstimmungslogik möglicherweise billiger, aber gleichzeitig weniger transparent und überprüfbar. On-Chain- und Off-Chain-Abstimmungen sind jedoch keine Entweder-Oder-Beziehung. Wir können dies problemlos als Hybridsystem entwerfen, bei dem ein Teil des Prozesses in der Kette und der Rest außerhalb der Kette erfolgt.
Neben den Kosten gibt es auch Datenschutzbedenken. Datenschutz ist aus zwei Gründen wichtig. Erstens haben Benutzer in vielen Fällen weniger Bedenken hinsichtlich der Abstimmung, wenn sie anonym abstimmen können (Privatsphäre zwischen Benutzer und Organisator). Darüber hinaus kann die Privatsphäre zwischen den Benutzern dazu beitragen, Wahlbestechung zu verhindern und Absprachen effektiv zu verhindern.
Eine Möglichkeit, die Berechnungen in der Kette zu minimieren und gleichzeitig die Integrität außerhalb der Kette durchzusetzen, besteht darin, wissensfreie Beweise zu verwenden [14]. Eine einfache Idee ist, dass wir den Großteil der Berechnungen außerhalb der Kette verlagern können, wenn Off-Chain-Berechnungen mit wissensfreien Beweisen verifiziert werden können. Wenn Nachrichten weiter verschlüsselt werden, können wir den Datenschutz verbessern. MACI [15] ist das minimale Framework, um dieses Ziel zu erreichen.
MACI-Abstimmungsrunden verlagern die Stimmenauszählung außerhalb der Kette. Abschließend wird die Gültigkeit der Ergebnisse durch eine wissensfreie Beweiskette überprüft.
In einer MACI-Abstimmungsrunde werden die Stimmen in einer mit einem öffentlichen Schlüssel verschlüsselten Nachricht gekapselt, die vom Rundenadministrator (Betreiber) generiert und an den Smart Contract übermittelt wird. Daher werden alle Nachrichten von der Blockchain mit einem „Zeitstempel“ versehen, wodurch eine Nachrichtenkette mit Abstimmungsinformationen entsteht.
Wenn die Abstimmungsrunde endet, lädt der Administrator alle Nachrichten herunter, entschlüsselt sie und zählt die Stimmen in umgekehrter Reihenfolge. Die Ergebnisse werden dann mit einem wissensfreien Beweis veröffentlicht, der auf einem Smart Contract (oder durch eine andere Person) überprüft werden kann und so die Gültigkeit der veröffentlichten Ergebnisse und die Korrektheit der Nachrichtenverarbeitung signalisiert.
Der gesamte Prozess sorgt für minimalen On-Chain-Berechnungsaufwand und stellt gleichzeitig die Integrität der veröffentlichten Ergebnisse sicher. Es sorgt außerdem für Privatsphäre und Schutz vor Absprachen zwischen Benutzern.
Wie funktioniert MACI in tatsächlichen Produkten?
MACI wird jetzt von verschiedenen Hackathon-Communitys auf DoraHacks[16] genutzt, um für ihre Lieblings-Hackathon-Projekte abzustimmen. Nehmen wir also als Beispiel die DoraHacks MACI-Runde.
OpenSea und Replit Hackathon nutzen MACI für die Richterwahl im Jahr 2022
Nachdem das Hackathon-Projekt (BUIDL) eingereicht wurde, wählte der Veranstalter aus allen eingereichten Arbeiten 12 BUIDL-Teams aus. Zehn Juroren wurden eingeladen, für die 12 BUIDL-Teams zu stimmen und 25.000 US-Dollar an Preisgeldern zu verteilen. 10 Richter wurden auf die Whitelist gesetzt und für die Teilnahme an der Abstimmungsrunde angemeldet. Sie schickten insgesamt 39 Nachrichten an den auf Polygon bereitgestellten MACI-Smart-Vertrag.
Nach Ende der Abstimmung zählt der Administrator (DoraHacks) die Stimmen und veröffentlicht die Endergebnisse auf der Bestenliste. Anschließend liefert er einen wissensfreien Beweis zur Überprüfung der Bestenliste.
Rangliste der Abstimmungsergebnisse des OpenSea x Replit-Hackathons. Ein wissensfreier Beweis, der die in der Rangliste angezeigten Ergebnisse überprüft.
Als allgemeines Framework kann MACI für Abstimmungsanwendungsfälle verwendet werden, die über die Abstimmung von Hackathon-Richtern und Open-Source-Community-Abstimmungen hinausgehen. Allerdings ist die Einführung von MACI in mehr Abstimmungsanwendungsfällen überraschend selten. Im weiteren Sinne muss die Blockchain-Abstimmung selbst noch in die reale Welt übernommen werden.
Die Vorteile der Verwendung von Blockchain zur Verbesserung der Wahltechnologie liegen auf der Hand, aber warum schreitet die reale Welt nicht voran? Selbst innerhalb der Blockchain-Community liegen die Vorteile von MACI auf der Hand. Warum wird MACI nicht allgemein von der dezentralen Community übernommen?
Ein Hauptgrund für die langsame Einführung fortschrittlicher Wahltechnologie ist nicht die geringe Nachfrage, sondern die Schwierigkeit, die Technologie zu nutzen. Mit anderen Worten: Wir müssen die Technologie verbessern, um eine bessere UX/UI für moderne Abstimmungsprodukte bereitzustellen und die Nutzungskosten für Benutzer zu senken.
Benutzererfahrung
Zusätzlich zur Open-Source-Community-Governance müssen wir auch mehr Schnittstellen für Benutzer erstellen, um neue Abstimmungstechnologien nutzen zu können. DoraHacks finanziert das Web3-Ökosystem und die Hackathon-Community, indem es die besten Produkte bereitstellt, die derzeit in der Branche verfügbar sind. Obwohl die Schnittstellen auf DoraHacks.io selbst spezifische Anwendungsfälle haben, können sie vereinfacht und dann verallgemeinert werden, um mehr Schnittstellen für mehr Anwendungsfälle zu erstellen.
Die konkrete Frontend-Strategie steht noch nicht fest. Eine gute Benutzererfahrung ist jedoch entscheidend für die Akzeptanz der Technologie, auch innerhalb der Blockchain-Community – etwas, das den Entwicklern von Dora Factory wichtig ist.
Wahlgebühren
Eine universelle Blockchain sollte möglichst dezentralisiert sein und eine einzige Infrastruktur für alle Arten von Anwendungen bereitstellen. Diese Blockchains sind nicht dafür konzipiert, für eine bestimmte Art von Anwendung optimiert zu werden, insbesondere nicht für nichtmonetäre oder nichtfinanzielle Anwendungen. Gleichzeitig können die Transaktionsgebühren schwanken, wenn eine große Anzahl von Anwendungen um die gleichen Rechenressourcen konkurriert. Die Unvorhersehbarkeit der Kosten kann zu Schwierigkeiten bei der Abstimmung führen.
Zu diesem Zweck hat Dora Factory kürzlich ein neues Produkt namens Vota getestet[17]. Die Idee von Vota besteht darin, mit speziellen Blockchains zu experimentieren und diese zur kontinuierlichen Optimierung der Abstimmungstechnologie und des Benutzererlebnisses zu nutzen. Derzeit steckt Vota noch in den Kinderschuhen. Wir können uns jedoch verschiedene Formen von Vota vorstellen.
Temporärer Smart-Vertrag
So werden Abstimmungsrunden derzeit auf DoraHacks.io unterstützt. Jede Abstimmungsrunde wird als separater Smart Contract auf einer bestimmten Blockchain bereitgestellt. In den meisten Fällen kann Ethereum die meisten Abstimmungsszenarien nicht direkt unterstützen (aus diesem Grund ist Snapshot das Standardprodukt, das von der Ethereum-Community verwendet wird). Derzeit sind Polygon und BNBChain die beliebtesten Optionen für die meisten Fördermittel- und Hackathon-Organisatoren auf DoraHacks.
Ein temporärer Smart Contract auf der L1-Blockchain, alle Abstimmungsnachrichten werden an L1 gesendet.
Die Verwendung temporärer Smart Contracts ist nicht unbedingt eine schlechte Sache. Es ist flexibel und kann je nach Bedarf überall eingesetzt werden. Für Nutzer von DoraHacks sind die aktuellen Ergebnisse gut, es wird jedoch nicht allen Abstimmungsbedürfnissen gleichermaßen gerecht.
L2-Abstimmung
Wenn wir eine Layer-2-Infrastruktur (L2) speziell für Abstimmungen schaffen, können wir die Gasgebührenkosten erheblich senken und möglicherweise kostengünstige Abstimmungen auf Ethereum ermöglichen. L2-Verträge müssen nicht alle auf Ethereum bereitgestellt werden, sie können günstiger sein, indem einfach von Zeit zu Zeit L1-Transaktionen übermittelt werden, um alle L2-Aktivitäten zu überprüfen.
Wir können dieses Modell weiter optimieren. Universal L2 muss häufig an Ethereum übergeben werden. Vota muss pro Runde nur eine Transaktion an Ethereum übermitteln, d. h. es fallen nur die Gasgebühren für höchstens eine Transaktion pro Runde an. Wenn mehrere Runden gleichzeitig enden, können sie eine Transaktion teilen, um die Gaskosten weiter zu senken, wodurch die Abstimmung in L2 realistischer und praktikabler wird.
Nachrichten werden direkt an den L2-Vertrag gesendet. Am Ende jeder Runde wird nur eine Transaktion an die L1-Blockchain gesendet. L3 Vota (anwendbar für L(n)Vota, wobei n>=3)
L3 Vota ist nicht völlig bedeutungslos. Mit etabliertem L2- und L3-Vota können die Gasgebühren um eine Größenordnung weiter gesenkt werden. Obwohl L3-Transaktionen letztendlich auf Ethereum aufgezeichnet und überprüft werden, besteht der Kompromiss darin, dem gewählten L2 zu vertrauen.
Natürlich können wir dies weiter auf L(n) Vota ausdehnen, da L(2)…L(n-1) Transaktionen an Ethereum (oder ein anderes L1) übermitteln wird. Aber offensichtlich macht eine Vertrauenskette die Sache komplizierter. Aus heutiger Sicht verlassen sich viele bekannte L2 immer noch auf einen einzigen Sequenzer (Sequencer). Es ist möglicherweise zu früh, über L(4) zu sprechen.
Anwendungskette Vota
Die Entwickler von Dora Factory haben einen einfachen „Hack“ erstellt, der es CosmWasm-Verträgen ermöglicht, von SnarkJS generierte wissensfreie Beweise mit [18] Bellman [19] zu überprüfen. Durch die Einbindung von Bellman in den CosmWasm-Vertrag kann jede Cosmos-Anwendungskette schnell ZK-Anwendungen unterstützen.
Mit der Möglichkeit, zk-Anwendungen auszuführen, können unabhängige Blockchains Softwarearchitekturen wie Tendermint zum Aufbau einer Kette nutzen. Der Konsens dieser Blockchains ähnelt BFT oder ist einfacher und sie können normalerweise bis zu etwa 100 Validatoren unterstützen. Durch die sorgfältige Auswahl von Validatoren mit unterschiedlichen Interessen können unabhängige Blockchains ausreichend sicher und neutral sein.
Da DoraHacks weitere Cosmos-Appchains begrüßt, ist ein offensichtlicher Anwendungsfall für Appchain-basiertes Vota die Abstimmung über Hackathon-Ergebnisse. Zusätzlich zu DoraHacks leistet Vota auf Basis der Cosmos-Anwendungskette viel mehr als nur die Abstimmung von Hackathon-Richtern.
Die Anwendungskette Vota verfügt über eine kleine Anzahl von Validatoren, aber sorgfältig ausgewählte Validatoren können eine zuverlässige Infrastruktur bereitstellen.
Es ist erwähnenswert, dass diese Lösungen nicht exklusiv sind. Im Zuge der Weiterentwicklung von Vota kann es zu Überschneidungen verschiedener Lösungen kommen. Wenn wir beispielsweise eine eigenständige App-Chain-Version von Vota als Hauptinfrastruktur haben, kann die App-Chain für Anwendungsfälle, die eine Transaktionsüberprüfung auf einem bestimmten L1 erfordern, zusätzliche Transaktionen an L1 senden.
bessere Anonymität
Derzeit laufen Forschungsarbeiten, um MACI vertrauenswürdiger zu machen. Die ursprüngliche MACI ging von der wichtigen Vertrauensannahme aus, dass Administratoren nicht korrupt sein würden. Das ist nicht universell. Um dies zu verbessern, gibt es MPC-basierte [20] Lösungen und nicht MPC-basierte [21] Lösungen. Derzeit hat DoraHacks eine anonyme Version von MACI erstellt, die auf der rerandomisierbaren ElGamal-Verschlüsselung basiert, die ursprünglich von Kobe Guikan vorgeschlagen wurde. [22] Es wurde in einer kleinen ETH-Forschungsstipendienrunde [23] auf DoraHacks.io getestet.
Zum jetzigen Zeitpunkt ist es möglicherweise etwas verfrüht, die Einführung anonymer MACI voranzutreiben, bevor MACI selbst weit verbreitet ist. Es ist jedoch auch wichtig, die Forschung fortzusetzen, um Vertrauensannahmen in Abstimmungsmechanismen im Allgemeinen zu reduzieren.
Fügen Sie MACI Anonymität hinzu, indem Sie Aktionen hinzufügen, die es Benutzern ermöglichen, ihre geheimen Schlüssel zu deaktivieren und zu ändern, ohne dass Administratoren wissen können, wer welchen neuen Schlüssel hinzugefügt hat. GAS-Zahlung
Es ist wichtig, nicht davon auszugehen, dass Benutzer Kryptowährungen besitzen. Wenn jeder Benutzer für jede Transaktion Gasgebühren zahlen muss, werden die Benutzer der Blockchain auf einen kleinen Personenkreis beschränkt. Um dieses Problem zu lösen, können MACI-Betreiber vorab einen rückzahlbaren Token hinterlegen und die Benutzer bezahlen. Dieser Mechanismus kann über Tankstellen implementiert werden.
Die Tankstelle selbst ist ein Smart Contract, der auf Vota läuft. Vor jeder Runde kann der Bediener entscheiden, ob er es verwenden möchte oder nicht. Durch die Nutzung der Tankstelle zahlen die Betreiber DORA vorab in den Smart-Vertrag ein und können die mit einer bestimmten Runde verbundenen Transaktionsgebühren über die Tankstelle bezahlen.
Höchstwahrscheinlich wird Vota eine Standardtankstelle einrichten, und die Leute können bei Bedarf ihre eigenen Tankstellen mit unterschiedlicher Zahlungslogik einrichten.
Der Gas-Zahlungsvertrag ist ein Verzeichnis der Gasbilanz für jede Abstimmungsrunde. abschließend
Blockchains für spezielle Zwecke können für eine Vielzahl spezifischer Anwendungsfälle geeignet sein, insbesondere für nichtfinanzielle Anwendungsfälle. Abstimmungen sind eines der wichtigsten Probleme, die durch Blockchain und Zero-Knowledge-Kryptografie deutlich verbessert werden können. Die Verbesserung der Abstimmungstransparenz und -effizienz kann die Reibungsverluste bei der Regierungsführung innerhalb der menschlichen Gesellschaft und der Blockchain-Community verringern und so langfristig die Produktivität steigern. Protokolle wie MACI schaffen nette Rahmenbedingungen für Abstimmungsanwendungen auf der Blockchain, aber die Abstimmungstechnologie muss noch viel verbessert werden. Konkret benötigen wir eine benutzerfreundliche Infrastruktur als Grundlage, um die Wahltechnologie langfristig zu verbessern, und in diesem Dokument werden zukünftige Arbeiten detailliert beschrieben.
Referenz
Kleroterion:https://en.wikipedia.org/wiki/Kleroterion
Die lange Geschichte der Wahltechnologie: https://electionlab.mit.edu/research/voting-technology
Die „Brexit“-Parlamentswahlen 2019 in Großbritannien: https://en.wikipedia.org/wiki/2019_United_Kingdom_general_election
Elektronische Wahlgeräte: https://en.wikipedia.org/wiki/Dominion_Voting_Systems
Umstrittene Wahlergebnisse: https://www.reuters.com/legal/dominions-defamation-case-against-fox-poised-trial-after-delay-2023-04-18
Die Bestätigung und Prüfung der Wahlergebnisse kann äußerst kostspielig sein: https://azsos.gov/elections/voters/voting-elections/ballot-processing/2022-general-elections-recount-information
Snapshot-Token-Abstimmung: https://snapshot.org/
Abstimmung über Cosmos-Governance-Vorschläge: https://www.mintscan.io/cosmos/proposals
KlaytnSquare: https://square.klaytn.foundation/GC
Ein Vorschlag von KlaytnSquare: https://square.klaytn.foundation/Proposal/Detail?id=4
Steuerausgabenplan: https://govforum.klaytn.foundation/c/proposal/5
Quadratische Abstimmung: https://en.wikipedia.org/wiki/Quadratic_voting
Quadratische Finanzierung: https://research.dorahacks.io/2022/07/11/quadratic-governance
Zero-Knowledge-Beweis: https://en.wikipedia.org/wiki/Zero-knowledge_proof
MACI: https://ethresear.ch/t/minimal-anti-collusion-infrastructure/5413
DoraHacks: https://dorahacks.io/grant/ethdenver22/buidl
Abstimmung:https://vota.dorafactory.org/
Ein einfacher „Hack“, der die Nutzung von CosmWasm-Verträgen ermöglicht: https://github.com/DoraFactory/snarkjs-bellman-adapter/tree/main/prove
Bellman: https://github.com/zkcrypto/bellman
MPC-basierte Lösung: https://research.dorahacks.io/2023/03/30/mpc-maci-anonymization
Nicht-MPC-basierte Lösung: https://ethresear.ch/t/maci-anonymization-using-rerandomizable-encryption/7054
Anonyme MACI-Version, vorgeschlagen von KobeGuikan: https://github.com/dorahacksglobal/anonymous-maci
ETH-Forschungsstipendienrunde: https://dorahacks.io/grant/ethre3/maci
