Loading…
Thumbnail Image

Privacy-enhancing mechanisms for decision-making DApps

Muth, Robert

Blockchain-based decentralized applications (DApps) promise trust and transparency as their execution can be verified publicly and do not rely on trusted third parties. To this end, DApps leverage smart contracts and immutable blockchain storage that allow all participants to verify their correct execution. This makes it possible to verify all DApp interactions and corresponding blockchain transactions, including past ones, and thus prevents subsequent manipulations without being noticed. Unlike traditional legal contracts and centralized web applications, a smart contract ensures that agreements must be executed as implemented, and invalid interactions will be rejected. In particular, there are no designated third parties or other intermediary instances that can violate a smart contract agreement without being explicitly permitted to do so by its implementation. Moreover, smart contracts will automatically execute agreements once their terms and conditions are met. These inherent properties make DApps particularly attractive for decision-making use cases, such as decentralized autonomous organizations (DAOs) and governance platforms, allowing stakeholders to decide on funding and change proposals. Such decision-making DApps implement regulated processes for stakeholders who may have different interests but still want to make a consensual decision, e.g., by majority or stakes. However, DApps can only work if their interactions and available data are reliable and accurate. To avoid potentially negative outcomes for the stakeholders, DApps must implement mechanisms to ensure that only trusted data is processed. For instance, they must authenticate their data and users; otherwise, binding decision-making processes could be influenced or exploited by malicious parties. On the one hand, DApps can ask for user credentials to ensure that only authorized users can interact with them. On the other hand, DApps put users' privacy at risk by requesting personal data that is processed on-chain, e.g., user names, addresses, or other personal information. This is particularly important because all data from all interactions with a smart contract will be available to everyone on the blockchain and can no longer be removed. For this reason, privacy-enhancing mechanisms that limit access to personal data and keep it private from the public become relevant for decision-making DApps. At the same time, the secure and transparent on-chain execution allows users to verify how their personal data is processed securely and privately, without being disclosed to third parties. In this thesis, we study how privacy-enhancing mechanisms, i.e., zero-knowledge proofs, anonymous credentials, and secure off-chain communication channels, can be implemented in decision-making DApps. In particular, we focus on how to implement as much of the cryptographic program logic as possible in a smart contract and execute it on-chain, including routines for privacy protection and proof verification. Furthermore, we evaluate the capabilities of privacy-enhancing mechanisms for DApps in a real-world deployment by implementing a new DApp for urban participation. To this end, we evaluate practical feasibility requirements, i.e., cost and scalability, through the decision-making processes of real-world construction projects. We use these insights to identify privacy challenges and constraints in order to design feasible on-chain privacy solutions for decision-making DApps. Specifically, we contribute privacy-focused mechanisms and proof-of-concept implementations for secure on-chain key exchange, anonymous credentials verification, and anonymous voting for DApps.
Blockchain-basierte dezentrale Anwendungen (DApps) versprechen Vertrauen und Transparenz, da ihre Ausführung öffentlich überprüft werden kann und nicht von Dritten abhängig ist, denen vertraut werden muss. Zu diesem Zweck nutzen DApps Smart Contracts und den unveränderlichen Blockchain-Speicher, welche es allen Teilnehmern ermöglichen, die korrekte Ausführung zu überprüfen. Dies ermöglicht es, alle DApp-Interaktionen und die entsprechenden Blockchain-Transaktionen, auch schon vergangene Transaktionen, zu verifizieren und so unbemerkte, nachträgliche Manipulationen zu verhindern. Im Gegensatz zu herkömmlichen juristischen Verträgen und zentralisierten Webanwendungen stellt ein Smart Contract sicher, dass Vereinbarungen wie implementiert ausgeführt werden müssen und ungültige Interaktionen zurückgewiesen werden. Insbesondere gibt es keine designierten Dritten oder andere zwischengeschaltete Instanzen, die eine Smart-Contract-Vereinbarung verletzen könnten, ohne dass dies durch die Implementierung ausdrücklich erlaubt wäre. Außerdem führen Smart Contracts Vereinbarungen automatisch aus, sobald ihre Bedingungen erfüllt sind. Diese inhärenten Eigenschaften machen DApps besonders attraktiv für Entscheidungsfindung-Anwendungsfälle, wie z. B. dezentrale autonome Organisationen (DAOs) und Governance-Plattformen, die es den Beteiligten ermöglichen, über Finanzierungs- und Änderungsvorschläge zu entscheiden. Solche DApps zur Entscheidungsfindung implementieren geregelte Prozesse für Interessengruppen, die zwar unterschiedliche Interessen haben, aber dennoch eine einvernehmliche Entscheidung treffen wollen, z. B. durch Mehrheit oder Beteiligungen. DApps können jedoch nur funktionieren, wenn ihre Interaktionen und verfügbaren Daten zuverlässig und genau sind. Um potenziell negative Ergebnisse für alle Beteiligten zu vermeiden, müssen DApps Mechanismen implementieren, die sicherstellen, dass nur vertrauenswürdige Daten verarbeitet werden. So müssen sie beispielsweise ihre Daten und Nutzer authentifizieren, da sonst verbindliche Entscheidungsprozesse von böswilligen Parteien beeinflusst oder ausgenutzt werden könnten. Einerseits können DApps z. B. Benutzerdaten abfragen, um sicherzustellen, dass nur autorisierte Benutzer interagieren können. Andererseits gefährden DApps die Privatsphäre der Nutzer, wenn sie persönliche Daten abfragen, die auf der Blockchain verarbeitet werden, z. B. Namen der Benutzer, Adressen oder andere persönliche Informationen. Insbesondere, weil alle Daten aus allen Interaktionen mit einem Smart Contract für jeden auf der Blockchain verfügbar sind und nicht mehr entfernt werden können. Aus diesem Grund werden Datenschutz-Mechanismen für entscheidungsrelevante DApps relevant, die den Zugriff auf persönliche Daten begrenzen und diese vor der Öffentlichkeit schützen. Gleichzeitig ermöglicht die sichere und transparente Ausführung auf der Blockchain den Nutzern zu überprüfen, wie ihre persönlichen Daten sicher und privat verarbeitet werden, ohne dass sie an Dritte weitergegeben werden. In dieser Dissertation untersuchen wir, wie Mechanismen zur Verbesserung der Privatsphäre, z. B. mit Zero-Knowledge-Proofs, dem Konzept von Anonymous Credentials und sicheren Off-Chain-Kommunikationskanälen, in Entscheidungsfindung-DApps implementiert werden können. Insbesondere konzentrieren wir uns auf die Frage, wie möglichst viel der kryptographischen Programmlogik in einem Smart Contract implementiert und auf der Blockchain ausgeführt werden kann, einschließlich Routinen für den Schutz der Privatsphäre und die Überprüfung von Beweisen. Ferner evaluieren wir die Möglichkeiten von Technologien zur Verbesserung der Privatsphäre für DApps in einem realen Einsatz, indem wir eine neue DApp für die städtische Partizipation implementieren. Zu diesem Zweck bewerten wir die Anforderungen an die praktische Durchführbarkeit, also Kosten und Skalierbarkeit, anhand von Entscheidungsprozessen bei tatsächlichen Bauprojekten. Wir nutzen diese Erkenntnisse, um Herausforderungen und Einschränkungen für den Datenschutz zu identifizieren, um praktikable On-Chain-Datenschutzlösungen für DApps zur Entscheidungsfindung zu entwickeln. Insbesondere erarbeiten wir datenschutzorientierte Mechanismen und Proof-of-Concept-Implementierungen für einen sicheren On-Chain-Schlüsselaustausch, anonyme Identitäts-Verifizierung und anonyme Abstimmungen für DApps.