Was ist ein Schwellensignaturverfahren (TSS)?
Grundlagen
Threshold Signature Scheme (TSS) ist ein kryptografisches Verfahren, das eine verteilte Schlüsselgenerierung und -signierung ermöglicht. Seine Anwendung in Blockchain-Clients kann eine breite Palette von Vorteilen bieten, insbesondere im Bereich der Sicherheit. Diese Innovation kann auch die Entwicklung von Schlüsselverwaltungssystemen wie Krypto-Wallets beeinflussen und sogar den Weg für eine native Unterstützung in DeFi-Anwendungsfällen ebnen. Da es sich jedoch noch um eine neue Technologie handelt, ist es wichtig, die Grenzen und potenziellen Risiken von TSS zu berücksichtigen.
Im Folgenden wird das Threshold Signature Scheme untersucht, seine potenziellen Vorteile im Zusammenhang mit der Blockchain definiert und detailliert beschrieben, wie es in einen Blockchain-Client integriert werden kann. Der Artikel vergleicht TSS auch mit anderen ähnlichen kryptografischen Technologien, wie Shamir Secret Sharing und Multisig. Außerdem werden die verschiedenen Möglichkeiten erörtert, wie TSS für die verteilte Schlüsselverwaltung eingesetzt werden kann, bevor abschließend ein Überblick über die mit dieser Technologie verbundenen Risiken und Einschränkungen gegeben wird.
Die Macht der Kryptographie
Bevor man in die Feinheiten des Threshold Signature Scheme eintaucht, ist es wichtig, ein grundlegendes Verständnis der Kryptographie zu haben. Seit den 1970er Jahren wird die asymmetrische Kryptographie, die auch als Public Key Cryptography (PKC) bezeichnet wird, häufig in Internet-Systemen wie TLS und PGP eingesetzt. Bei PKC werden zwei Schlüssel verwendet: ein öffentlicher und ein privater. Der öffentliche Schlüssel kann frei verwendet und veröffentlicht werden, während der private Schlüssel vertraulich behandelt wird, um die Sicherheit zu gewährleisten.
PKC hat zwei Hauptanwendungsbereiche: Verschlüsselung und digitale Signaturen. Beide Anwendungen beruhen auf einer Reihe von drei Algorithmen. Erstens wird das Paar aus privatem und öffentlichem Schlüssel erzeugt. Zweitens wird ein Chiffretext/eine Signatur erzeugt. Schließlich wird der Entschlüsselungs-/Verifizierungsprozess durchgeführt. Bei digitalen Signaturen benötigt der Signieralgorithmus den privaten Schlüssel, der nur dem Besitzer bekannt ist, um eine eindeutige Signatur zu erstellen, die an eine bestimmte Nachricht angehängt werden kann. Jeder, der im Besitz des öffentlichen Schlüssels ist, kann dann die Echtheit und Richtigkeit der Signatur überprüfen.
Die Blockchain
Die Blockchain-Technologie hat aufgrund ihrer Fähigkeit, Ereignisse über eine Konsens-Ebene zu organisieren und aufzuzeichnen, die potenziell zum Aufbau dezentraler Volkswirtschaften und sogar Regierungen genutzt werden kann, erheblich an Popularität gewonnen. Digitale Signaturen sind die einzige Form der Kryptografie, die für den Betrieb einer einfachen Blockchain erforderlich ist. Im Kontext der Blockchain fungieren private Schlüssel als Identitäten, während Unterschriften als öffentliche Aussagen oder Behauptungen einer Identität dienen. Die Blockchain validiert und ordnet diese Aussagen auf der Grundlage einer Reihe von Regeln, die sicherstellen, dass die Signaturen fälschungssicher und genau sind.
Moderne kryptografische Techniken wie Zero-Knowledge-Beweise, homomorphe Verschlüsselung und Mehrparteienberechnungen haben die Palette der in der Kryptografie verfügbaren Werkzeuge erweitert. Die Blockchain-Forschung hat in den letzten zehn Jahren erheblich zu Fortschritten in der angewandten Kryptografie beigetragen. Dieser Artikel konzentriert sich auf einen solchen Durchbruch: die effizienten und sicheren Schwellensignaturen.
MPC und TSS
Das Schwellensignaturverfahren ist eine Methode, die verteilte Schlüsselgenerierung (DKG) und verteiltes Signieren in einem Schwellensignaturverfahren kombiniert. Die Mehrparteienberechnung (MPC) ist ein Zweig der Kryptographie, der seit fast 40 Jahren existiert. Sie ermöglicht es Parteien, die sich gegenseitig nicht vertrauen, gemeinsam eine Funktion über ihre Eingaben zu berechnen, wobei diese Eingaben geheim bleiben. Stellen Sie sich zum Beispiel vor, die Mitarbeiter eines Unternehmens wollen wissen, wer am meisten verdient, ohne sich gegenseitig ihre Gehälter zu verraten. Mit MPC wird die Berechnung so durchgeführt, dass kein einziger Gehaltsscheck während der Berechnung durchsickert. Auf verteilte Weise können wir MPC verwenden, um eine digitale Signatur zu berechnen. Die Erstellung einer Signatur erfolgt in drei Schritten: Schlüsselgenerierung, Unterzeichnung und Überprüfung.
Im ersten Schritt generieren wir einen öffentlichen Schlüssel, der zur Überprüfung künftiger Signaturen verwendet wird, sowie individuelle Geheimnisse für jede Partei, die als geheime Anteile bezeichnet werden. Um den Datenschutz und die Korrektheit zu gewährleisten, muss die Funktion für alle Parteien denselben öffentlichen Schlüssel und für jede Partei einen anderen geheimen Anteil erzeugen. Das Kriterium der Vertraulichkeit schreibt vor, dass keine Daten der geheimen Anteile zwischen den Parteien offengelegt werden, während das Kriterium der Korrektheit gewährleistet, dass der öffentliche Schlüssel eine Funktion der geheimen Anteile ist.
Im zweiten Schritt verwendet jede Partei ihren geheimen Anteil zur Eingabe in eine Funktion zur Erzeugung einer Signatur und einer allen Parteien bekannten Nachricht. Das Ergebnis dieses Schritts ist eine digitale Signatur, und die private Eigenschaft gewährleistet, dass während der Berechnung keine geheimen Anteile nach außen dringen.
Der dritte Schritt umfasst einen Verifizierungsalgorithmus, der derselbe ist wie in der klassischen Umgebung. Jeder, der den öffentlichen Schlüssel kennt, kann die Signaturen verifizieren und validieren, so dass es mit Signaturen mit einem einzigen Schlüssel kompatibel ist.
Zusammenfassend lässt sich sagen, dass diese Kombination aus verteilter Schlüsselgenerierung und verteiltem Signieren in einem Schwellenwertsignaturverfahren mit MPC als TSS bezeichnet wird.
Integration von TSS mit Blockchain
Um die TSS-Technologie in eine Blockchain einzubinden, müssen wir den Blockchain-Client so ändern, dass er verteilte Berechnungen anstelle von Befehlen für den privaten Schlüssel durchführt. Beim herkömmlichen Blockchain-Design wird eine neue Adresse erstellt, indem ein privater Schlüssel erzeugt, der öffentliche Schlüssel berechnet und dann die Blockchain-Adresse aus dem öffentlichen Schlüssel abgeleitet wird.
Mit TSS kann eine Gruppe von Parteien den öffentlichen Schlüssel gemeinsam berechnen, wobei jede Partei einen geheimen Anteil des privaten Schlüssels besitzt. Der Anteil jeder Partei bleibt vertraulich, wodurch der private Schlüssel zu einer verteilten Einheit wird. Die Blockchain bleibt davon unberührt. Dieser Ansatz bietet den Vorteil, dass der private Schlüssel nicht an einer einzigen Stelle versagen kann, da jede Partei nur einen Teil des Schlüssels besitzt.
Auch beim Signieren von Transaktionen wird eine einzelne Partei durch eine verteilte Signaturerstellung zwischen mehreren Parteien ersetzt. Jede Partei kann eine gültige Signatur erzeugen, wenn genug von ihnen ehrlich sind. Außerdem kann die verteilte Schlüsselgenerierung mit verschiedenen Zugriffsstrukturen umgehen. Bei der Einstellung "t aus n" können bis zu t beliebige Ausfälle toleriert werden, ohne dass die Sicherheit beeinträchtigt wird.
TSS vs. Multisig
Im Wesentlichen versuchen Multisig und TSS, ähnliche Ziele zu erreichen. Allerdings findet Multisig auf der Kette statt, während TSS Kryptografie außerhalb der Kette verwendet. Während einige Blockchains die TSS-Funktionalität als integriertes oder programmierbares Merkmal haben, ist Multisig eine Anwendungsschicht der Blockchain.
Ein Nachteil von Multisig ist, dass die Zugriffsstruktur auf der Blockchain offengelegt wird, was die Privatsphäre beeinträchtigen kann. Außerdem sind Multisig-Transaktionen aufgrund der Informationen über die verschiedenen Unterzeichner, die auf der Blockchain übermittelt werden müssen, kostspieliger. Im Gegensatz dazu fasst TSS die Angaben der Unterzeichner in eine regulär aussehende Transaktion zusammen, wodurch die Kosten gesenkt und gleichzeitig die Privatsphäre gewahrt wird.
Trotz des Vorteils, dass Multisig nicht interaktiv ist, ist es blockchain-spezifisch und muss für jede Blockchain neu implementiert werden, oder es wird manchmal überhaupt nicht unterstützt. TSS hingegen stützt sich auf Kryptografie und wird daher universell unterstützt.
TSS vs. Shamir
Beim Vergleich des Shamir Secret Sharing Scheme (SSSS) mit dem TSS gibt es zwei wesentliche Unterschiede. Erstens gibt es beim SSSS nur eine einzige Partei, den "Dealer", der die geheimen Anteile des privaten Schlüssels generiert und sie dann an verschiedene Stellen verteilt. Das bedeutet, dass der private Schlüssel zunächst an einem einzigen Ort generiert und dann verteilt wird, was zu einem potenziellen Single Point of Failure führt. Im Gegensatz dazu verlässt sich das TSS nicht auf einen einzigen Händler. Stattdessen wird die Schlüsselgenerierung verteilt, wodurch sichergestellt wird, dass sich der private Schlüssel nie an einem einzigen Ort befindet.
Zweitens müssen die Parteien bei SSSS den gesamten privaten Schlüssel rekonstruieren, um zu signieren, wodurch jedes Mal, wenn eine Signatur erforderlich ist, ein weiterer potenzieller Single Point of Failure entsteht. TSS geht anders mit dem Signieren um, indem es es auf verteilte Weise ausführt, ohne die geheimen Anteile zu rekonstruieren.
Zusammenfassend lässt sich sagen, dass TSS sicherstellt, dass sich der private Schlüssel während seiner gesamten Lebensdauer nie an einem einzigen Ort befindet, während SSSS während der Schlüsselgenerierung und der Unterzeichnung eine einzige Fehlerquelle aufweist.
Threshold Geldbörsen
Im Gegensatz zu herkömmlichen Kryptowährungs-Geldbörsen funktioniert eine auf der TSS-Technologie basierende Geldbörse anders. In der Regel generiert eine herkömmliche Geldbörse eine Seed-Phrase, um Adressen deterministisch abzuleiten. Der Benutzer kann dann diese hierarchisch-deterministische (HD) Struktur verwenden, um private Schlüssel zu erhalten, die den Brieftaschenadressen entsprechen, und Transaktionen zu unterzeichnen sowie alle Brieftaschenschlüssel mithilfe der Seed-Phrase wiederherzustellen.
Bei einer Schwellenwert-Wallet sind die Dinge jedoch komplexer. Es ist zwar möglich, eine HD-Struktur zu generieren, doch muss die Generierung dezentral mit einem anderen MPC-Protokoll berechnet werden. Die Parteien müssen gemeinsam über den nächsten zu verwendenden Schlüssel entscheiden, wobei jede Partei über eine eigene Seed-Phrase verfügt. Die Seed-Phrasen werden getrennt generiert und niemals kombiniert, so dass eine Partei allein die privaten Schlüssel nicht aus ihrem Seed ableiten kann.
TSS-basierte Geldbörsen bieten eine Sicherheitsfunktion, die eine Rotation des privaten Schlüssels ermöglicht, ohne dass der entsprechende öffentliche Schlüssel und die Blockchain-Adresse geändert werden müssen. Diese Funktion, die auch als proaktives Teilen von Geheimnissen bezeichnet wird, nimmt die geheimen Anteile als Eingabe und gibt einen neuen Satz von geheimen Anteilen aus. Alte geheime Anteile können gelöscht werden, und neue können auf die gleiche Weise verwendet werden.
Diese zeitliche Sicherheitsstruktur macht es für einen Angreifer schwierig, eine Schwellenwert-Wallet zu knacken. Die Kombination von geheimen Anteilen vor und nach der Rotation gibt Angreifern, die eine Signatur fälschen wollen, keine zusätzliche Macht.
Ein Nachteil dieser Art von Wallet ist jedoch das Fehlen einer Seed-Phrase, was sie mit Single-Key-Wallet-Systemen inkompatibel macht. Es ist wichtig zu überlegen, welche Parteien die geheimen Anteile halten werden. Es gibt drei mögliche Architekturen:
- TSS auslagern: Der Nutzer lässt "n" Server die Berechnungen in seinem Namen durchführen und lagert die Schlüsselgenerierung, -verwaltung und -signierung an Dienstanbieter aus. Die Dienstanbieter könnten sich jedoch zusammentun und die Vermögenswerte des Nutzers stehlen.
- Verwendung mehrerer Geräte: Der Nutzer führt das TSS zwischen seinen eigenen Geräten aus, z. B. einem IoT-Gerät, einem Mobiltelefon und einem Laptop. Diese Methode kann jedoch bei der Durchführung von Transaktionen umständlich sein.
- Hybrid: TSS wird mit einigen Parteien, die von externen Dienstanbietern kontrolliert werden, und einigen Parteien auf benutzereigenen Geräten ausgeführt. Diese Option bietet eine einfache und schnelle Möglichkeit, Transaktionen durchzuführen, ohne die Sicherheit zu beeinträchtigen.
Zusammenfassend lässt sich sagen, dass die TSS-Technologie eine neue Sicherheitsebene für Kryptowährungs-Geldbörsen schafft und sie weniger anfällig für Angriffe macht. Der hybride Ansatz wird als die beste Option für die Nutzer angesehen, da er ein Gleichgewicht zwischen Komfort und Sicherheit bietet.
TSS und Intelligente Verträge
Digitale Signaturen haben viele Verwendungszwecke, die eine Herausforderung darstellen können. TSS ist ein kryptografisches Primitiv, das die Sicherheit erhöht. TSS-basierte Kryptografie kann viele Funktionen in Blockchains ersetzen. Atomare Swaps, Vererbung, Layer-2-Skalierungslösungen und dezentralisierte Anwendungen können mithilfe des TSS-Frameworks erstellt werden, wodurch teure und gefährliche Smart-Contract-Operationen auf der Kette durch zuverlässige und billigere Alternativen ersetzt werden. Multi-Hop Locks, die geschickt Zweiparteien-Signaturen nutzen, können ein Bitcoin Lightning Network-Ersatz für ein sicheres und privates Zahlungskanal-Netzwerk sein. ShareLock, das auf der Verifizierung einer einzigen Schwellenwertsignatur basiert, ist wahrscheinlich die kostengünstigste On-Chain-Mischlösung für Ethereum.
Die Risiken
Trotz der wachsenden Beliebtheit von TSS-Implementierungen in den letzten Jahren hat die Technologie als relativ neues Gebiet noch einige Einschränkungen und Bedenken. TSS-Protokolle können zwar die Sicherheit erhöhen, sind aber auch viel komplexer als die klassische Public-Key-Kryptografie und müssen noch strengen Tests unterzogen werden. Außerdem erfordern TSS oft schwächere kryptografische Annahmen als herkömmliche Verfahren, was zur Entdeckung neuer Angriffsvektoren führt. Sicherheitsingenieure und Kryptographen können jedoch dazu beitragen, den sicheren Einsatz von TSS in Ihrem System zu gewährleisten. Positiv zu vermerken ist, dass Qualitätsbeiträge, Peer-Reviews, Audits und algorithmische Leistungsverbesserungen zu einer besseren TSS-Implementierung beitragen.
Fazit
Zusammenfassend lässt sich sagen, dass Threshold Signature Scheme eine innovative kryptografische Technologie ist, die das Potenzial hat, eine breite Palette von Vorteilen zu bringen, insbesondere im Bereich der Blockchain-Sicherheit. Seine Anwendung in Blockchain-Clients kann Schlüsselverwaltungssysteme wie Krypto-Wallets revolutionieren und sogar den Weg für eine native Unterstützung in DeFi-Anwendungsfällen ebnen. TSS bietet zwar mehrere Vorteile, ist aber immer noch eine neue Technologie, deren Grenzen und potenzielle Risiken unbedingt berücksichtigt werden müssen. Daher ist es von entscheidender Bedeutung, sich über die neuesten Entwicklungen und Forschungsergebnisse auf dem Gebiet von TSS auf dem Laufenden zu halten, um fundierte Entscheidungen über dessen Einsatz treffen zu können.