OmniSafe verwendet sowohl Multi-Signatur-Wallets als auch Threshold Signature Schemes (TSS) (Schwellenwertsignaturschemata), um die Signierberechtigung zu verteilen und die Sicherheit zu erhöhen. Diese Technologien stellen sicher, dass kein Single Point of Failure Ihre Assets gefährden kann.

Multi-Signatur-Wallets: Gemeinsame Kontrolle für erhöhte Sicherheit

Multi-Signatur-Wallets (MultiSig) bieten eine grundlegende Ebene erhöhter Sicherheit, indem sie mehrere Genehmigungen für jede Transaktion erfordern. Anstatt dass ein einzelner privater Schlüssel eine Wallet kontrolliert, schreibt eine MultiSig-Wallet vor, dass eine Schwellenanzahl autorisierter Parteien eine Transaktion signieren muss, bevor sie ausgeführt werden kann. Dies ist analog dazu, mehrere Unterschriften auf einem Scheck oder mehrere Schlüssel zum Öffnen eines Tresors zu benötigen.

Jede MultiSig-Wallet ist mit n autorisierten Signierern und einem Schwellenwert t (wobei tn) konfiguriert. Eine Transaktion benötigt mindestens t gültige Signaturen, um als gültig betrachtet und ausgeführt zu werden. Diese Signierer verwenden unabhängige Generationen ihrer eindeutigen Schlüssel, die nicht mit anderen Benutzern geteilt werden. Um eine Transaktion zu senden, müssen die folgenden Schritte ausgeführt werden:

  1. Ein Benutzer (oder ein automatisierter Prozess) initiiert eine Transaktion und gibt Details wie die Empfängeradresse und den Betrag an. Diese Transaktionsanfrage wird jedem der n autorisierten Signierer vorgelegt.
  2. Signierer, die die Transaktion genehmigen, verwenden ihren eindeutigen privaten Schlüssel, um eine digitale Signatur zu erzeugen, die spezifisch für diese Transaktion ist, unter Verwendung von ECDSA (Elliptic Curve Digital Signature Algorithm) (Elliptischer-Kurven-Digital-Signatur-Algorithmus).
  3. Sobald die Schwelle von t Signaturen erreicht ist, ist die Transaktion bereit zur Übermittlung an die Blockchain.

Der MultiSig-Vertrag in OmniSafe validiert die übermittelten Signaturen anhand der öffentlichen Schlüssel, die jedem Signierer zugeordnet sind, und setzt die t-von-n-Regel durch.

Eine MultiSig-Transaktion erfordert die Verwendung von Smart Contracts, daher haben wir:

Signaturspeicherung (Solidity) im MultiSig-Vertrag.

  • Der Vertrag speichert Details wie ‘v,r,s’.
  • Das Abrufen ist einfach, da jedes Wallet-Mitglied die Details mit ecrecover signieren kann.
  • Die Verifizierung wird durch die Funktion verifySignature durchgeführt, die die Signatur validiert.

Nur wenn die Signaturen gültig sind und die Schwellenanforderung erfüllen, führt der Vertrag die Transaktion aus.

Threshold Signature Scheme (TSS) (Schwellenwertsignaturschema): Erweiterte Sicherheit durch verteilte Schlüsselverwaltung

Über MultiSig hinaus bietet OmniSafe Threshold Signature Schemes (TSS) als fortschrittlichen kryptografischen Ansatz zur Verteilung der Signierberechtigung an. TSS geht in puncto Sicherheit noch einen Schritt weiter: Anstatt dass jeder Signierer einen separaten privaten Schlüssel besitzt, teilt es einen einzelnen privaten Schlüssel in mehrere Anteile auf. Keine einzelne Partei besitzt den vollständigen Schlüssel, und eine Schwellenanzahl von Anteilen muss kombiniert werden, um eine gültige Signatur zu erstellen.

Schlüsselaufteilung & Verteilung:

  1. Der private Schlüssel wird mit kryptografischen Techniken wie Shamir’s Secret Sharing (SSS), wie bereits erwähnt, in n Anteile aufgeteilt.
  2. Es wird eine Schwelle t (wobei tn) definiert, die die Mindestanzahl der Anteile darstellt, die zum Signieren einer Transaktion erforderlich sind.
  3. Diese Anteile werden unter unabhängigen Parteien oder Geräten verteilt. Jede Partei speichert ihren Anteil sicher.

Verteilter Signierungsprozess:

  1. Wenn eine Transaktion signiert werden muss, wird ein sicheres Mehrparteienberechnungsprotokoll (MPC-Protokoll) zwischen den teilnehmenden Parteien initiiert.
  2. Jede Partei verwendet ihren individuellen Schlüsselanteil als Eingabe für das MPC-Protokoll, zusammen mit einer Zufallszahl.
  3. Das MPC-Protokoll ermöglicht es diesen Parteien, gemeinsam eine digitale Signatur zu generieren, die unter dem ursprünglichen öffentlichen Schlüssel gültig ist, der dem aufgeteilten privaten Schlüssel entspricht.
  4. Wichtig ist, dass der private Schlüssel selbst während dieses Prozesses niemals rekonstruiert wird, wodurch sichergestellt wird, dass er jederzeit geschützt bleibt. Dies eliminiert das Risiko menschlichen Eingreifens und ist ein mathematisches Verfahren.

Sicherheitsvorteile:

  • Kein Single Point of Failure: Zu keinem Zeitpunkt besitzt eine einzelne Entität den gesamten privaten Schlüssel. Ein Angreifer muss mindestens t Anteile kompromittieren, um eine gültige Signatur zu erstellen.
  • Robustheit unter widrigen Bedingungen: Selbst wenn einige Teilnehmer offline oder kompromittiert sind, kann das System dennoch gültige Signaturen generieren, solange die Schwelle t erreicht ist.
  • Forward Secrecy (Vorwärtsgeheimnis): Durch die regelmäßige Rotation von Schlüsselanteilen können Angreifer, selbst wenn sie Anteile zu einem bestimmten Zeitpunkt kompromittieren, diese Anteile nicht unbegrenzt zum Signieren von Transaktionen verwenden.