zk-STARKs

Fortgeschritten
Es gibt zwei beliebte Arten von Zero-Knowledge-Beweisen, die manchmal auch als zk-Protokolle bezeichnet werden: SNARKs und STARKs. Ein Zero-Knowledge-Beweis ist eine kryptografische Prüfmethode, bei der eine Partei (der Beweiserbringer) der anderen Partei (dem Prüfer) beweisen kann, dass eine bestimmte Aussage wahr ist, ohne andere Informationen als die zur Überprüfung der Wahrheit der Aussage erforderlichen bereitstellen zu müssen.
zk-STARK steht für „Zero-knowledge scalable transparent argument of knowledge“. zk-STARKs wurden von Eli-Ben Sasson, einem Professor am Technion, der technischen Universität Israels, entwickelt. Im Gegensatz zu zk-SNARKs ist bei zk-STARKs kein anfängliches „vertrauenswürdiges Setup“ zwischen dem Beweiserbringer und dem Prüfer erforderlich, da sie auf vereinfachter Kryptografie auf der Grundlage von kollisionsresistenten Hash-Funktionen basieren. Bei diesem Ansatz entfallen auch die zahlentheoretischen Annahmen von zk-SNARKs, die rechenintensiv sind und theoretisch von Quantencomputern geknackt werden können.
Einfach ausgedrückt, sind zk-STARK-Beweise im Hinblick auf die kryptografischen Annahmen einfacher strukturiert. Dies hat jedoch einen entscheidenden Nachteil: Sie haben einen großen Beweisumfang, der in der Regel zehn bis 100 Mal größer ist als bei zk-SNARKs. Dies macht sie teurer und kann zu Einschränkungen bei der Verwendung der Technologie für die Übertragung von Kryptowährungen und in anderen Anwendungen führen.

Typische Anwendungsfälle für Zero-Knowledge-Beweise sind solche, bei denen sowohl der Schutz der Privatsphäre der Nutzer als auch die Sicherheit der Anwendungsplattform wichtig sind. Ein Beispiel ist die Identitätsverifizierung. Für die Nutzung bestimmter Online-Dienste muss man seine Identität und sein Zugriffsrecht auf diese Plattformen nachweisen. Häufig ist dazu die Angabe von personenbezogenen Daten wie Name, E-Mail-Adresse, Geburtsdatum usw. erforderlich.

Zero-Knowledge-Beweise können die Authentifizierung sowohl für die Plattformen als auch für die Nutzer vereinfachen. Sobald ein zk-Beweis mit öffentlichen Eingaben (Daten, die die Mitgliedschaft des Nutzers auf der Plattform bestätigen) und privaten Eingaben (Angaben des Nutzers) erstellt wurde, kann der Nutzer diesen einfach vorlegen, um seine Identität zu bestätigen, wenn er auf einen Dienst zugreifen möchte. Dies verbessert das Nutzererlebnis und befreit die Unternehmen von der Notwendigkeit, große Mengen personenbezogener Daten zu speichern.