
Blockstream hat einen neuen Meilenstein in der Bitcoin-Entwicklung erreicht und eine neue kryptografische Funktion für Bitcoin zertifiziert und verifiziert: Safegcd.
In einer Welt, in der Sicherheit und Effizienz für den Erfolg von Kryptowährungen entscheidend sind, hat Blockstream, eines der innovativsten Unternehmen der Blockchain-Technologie, einen großen Schritt zur Stärkung der Bitcoin-Infrastruktur unternommen. Denken Sie daran, dass die Sicherheit von Bitcoin weitgehend von digitalen Signaturalgorithmen wie ECDSA abhängt, die die Authentizität und Integrität von Transaktionen garantieren. Diese Algorithmen stehen jedoch vor der ständigen Herausforderung, Geschwindigkeit und Sicherheit in Einklang zu bringen, insbesondere wenn es um komplexe mathematische Operationen wie modulare Inversen geht.
Blockstream hat sich dieser Herausforderung mit der Entwicklung und Implementierung eines neuen Algorithmus namens „sichergcd«. Dieser Algorithmus, der Geschwindigkeit und Sicherheit vereint, wurde einer strengen formalen Überprüfung unterzogen, um seine Korrektheit sicherzustellen. Das Ergebnis ist ein erheblicher Fortschritt, der nicht nur die Leistung der Signatur- und Verifizierungsvorgänge von Bitcoin verbessert, sondern auch eine starke mathematische Garantie für den korrekten Betrieb bietet. In diesem Artikel werden wir untersuchen, wie Blockstream diesen Meilenstein erreicht hat und welche Auswirkungen dies auf die Zukunft von Bitcoin hat.
Eine große Herausforderung für die Bitcoin-Sicherheit
Und das Herzstück digitaler Signatur- und Schlüsselableitungsalgorithmen ist eine mathematische Operation, die als „ modulare Umkehrung. Dieser Vorgang ist im Hinblick auf die Rechenressourcen relativ teuer und stellt daher einen Engpass für die Leistung von Bitcoin dar. Aber es ist auch für seine Sicherheit von entscheidender Bedeutung, weshalb es besonders wichtig ist, wenn es um eine gute Implementierung geht.
Dies hat zu zwei Hauptmethoden zur Berechnung modularer Inversen geführt: der Verwendung einer Technik namens „Exponentenleiter“ (sehr langsam) und des erweiterten GCD-Algorithmus von Euklid (schnell, aber zeitlich schwer konstant zu machen). Derzeit entscheidet sich die von Bitcoin Core erstellte und verwendete Bibliothek libsecp256k1 immer für die Exponentenleiter, wenn sie für die Verwendung in Bitcoin Core konfiguriert wird. Diese Methode ist zwar sicher, aber notorisch langsam, was die Leistung des Wallets einschränkt.
Blockstreams Lösung: Safegcd
Um dieses Problem zu lösen, hat sich Blockstream vorgenommen, eine GCD-Implementierung zu erstellen, die Bitcoin zu diesem Zeitpunkt sicher hält, ihm aber auch eine Verbesserung der Netzwerkleistung ermöglicht. Auf diese Weise implementierte Blockstream im Jahr 2021 einen neuen modularen inversen Algorithmus namens „safegcd“. Dieser von Daniel J. Bernstein und Bo-Yin Yang entwickelte Algorithmus bietet eine Alternative, die sowohl schnell als auch zeitlich konstant ist. Safegcd funktioniert, indem es eine einfache Berechnung wiederholt, bis eine Beendigungsbedingung erreicht ist. Um sicherzustellen, dass der Algorithmus zeitlich konstant ist, kann er eine feste Anzahl von Malen wiederholt werden, auch wenn die Abbruchbedingung vorzeitig erreicht wird.
Der Schlüssel zur zeitlichen Konstanthaltung von „safegcd“ besteht darin, zu bestimmen, wie viele Iterationen für alle möglichen 256-Bit-Eingaben erforderlich sind (die Größe der Eingaben im Fall von secp256k1). Ursprünglich wurde geschätzt, dass 741 Iterationen erforderlich seien, doch Pieter Wuille, ein Ingenieur bei Blockstream, entwickelte eine Methode, um diese Zahl auf 724 Iterationen zu reduzieren. Später entdeckten Wuille und Gregory Maxwell eine Variante des Algorithmus, die nur 590 Iterationen erfordert. Diese Optimierung würde die Leistung von ECDSA-Signaturen um 25 % und die Signaturverifizierung um 15 % im Vergleich zur Exponentenleiter verbessern.
Formale Verifizierung: Sicherstellung der Korrektheit
Doch trotz der Leistungsverbesserungen birgt die Implementierung eines neuartigen Algorithmus wie „safegcd“ Risiken. Wenn bei der Berechnung der erforderlichen Iterationen ein Fehler auftritt, wird der Algorithmus möglicherweise nicht korrekt beendet, was zu falschen Werten und letztendlich zu Fehlern bei der Signaturüberprüfung führt. Dies wäre verheerend für die Sicherheit von Bitcoin.
Um dieses Risiko zu mindern, führte Blockstream Research eine formale Verifizierung des Safegcd-Algorithmus mithilfe des Coq-Testassistenten durch. Coq ist ein auf der Theorie abhängiger Typen basierendes Tool, das ein mathematisches Schlussfolgerungssystem mit einer funktionalen Programmiersprache kombiniert. Dies ermöglicht das Testen durch Reflexion, eine Methode, die die Ausführung eines funktionalen Programms mit mathematischer Schlussfolgerung kombiniert, um die Korrektheit des Algorithmus zu überprüfen.
Die formale Verifizierung bestand darin, den Berechnungsalgorithmus für die konvexe Hülle in Coq zu implementieren und zu beweisen, dass diese Berechnung korrekt ist. Das Ergebnis ist ein Theorem, das garantiert, dass der Safegcd-Algorithmus in 590 Iterationen abgeschlossen wird. Diese Überprüfung wurde in 2,5 Tagen auf Verbraucherhardware durchgeführt und demonstrierte die Machbarkeit der Technik.
Implementierung in libsecp256k1
La Implementierung von safegcd in libseCP256k1 war eine Gemeinschaftsarbeit. Peter Dettman, der Entwickler, der den Algorithmus implementiert hat, arbeitete eng mit dem Blockstream-Team zusammen, um Safegcd in die Bibliothek zu integrieren. Der Prozess umfasste das Hinzufügen von CTZ-Funktionen (Counting Zeros) zur Optimierung von Bitoperationen, die Implementierung des Safegcd-Algorithmus in separaten Modulen, das Hinzufügen umfangreicher Tests und die Umgestaltung des Codes zur Vorbereitung auf den Übergang zu Safegcd.

Darüber hinaus wurden zusätzliche Optimierungen vorgenommen, um die Leistung auf 32- und 64-Bit-Systemen zu verbessern. Diese Optimierungen sind von entscheidender Bedeutung, da Bitcoin häufig auf sehr schwacher Hardware wie Mobilgeräten und eingebetteten Systemen läuft, bei denen es auf Effizienz ankommt.
Auf diese Weise stellt die Implementierung und formale Verifizierung des Safegcd-Algorithmus durch Blockstream einen bedeutenden Meilenstein für die Sicherheit und Effizienz von Bitcoin dar. Diese Entwicklung verbessert nicht nur die Leistung von Signierungs- und Verifizierungsvorgängen, sondern bietet auch mathematische Garantien dafür, dass der Algorithmus korrekt funktioniert.
Darüber hinaus zeigt die formale Verifizierung von safegcd, dass es möglich ist, komplexe und kritische Software in der Praxis zu verifizieren, was die Tür zur Verifizierung anderer in libsecp256k1 implementierter Funktionen öffnet und zu mehr Sicherheit und Zuverlässigkeit im Bitcoin-Netzwerk führen könnte.


