Das Kernprinzip und Designziel von Bitcoin war es, „eine reine Peer-to-Peer-Version von elektronischem Geld“ zu sein. Während diese Aussage aus dem Whitepaper traditionell als ausschließlich auf die Verarbeitung von Zahlungen unabhängig von einem Finanzinstitut bezogen angesehen wird, gibt es andere Aspekte von Bitcoin, die unglaublich wichtig sind, um es als Peer-to-Peer-System zu erhalten, das es ermöglicht seinen Benutzern, die Kontrolle über ihre eigenen Finanzen zu behalten. Selbstvalidierung ist eines der wichtigsten Dinge, die ein Bitcoiner tun muss, um die eigene Souveränität über sein Geld zu bewahren. Datenschutz ist eine andere Sache, die auch in Bezug auf die Selbstsouveränität unglaublich wichtig ist. Zusätzlich zu diesen beiden Aspekten ist natürlich die Verwaltung Ihrer eigenen Schlüssel der Schlüssel (verstanden?), um die volle Kontrolle über Ihre eigene Bitcoin zu haben.

Spectre ist eine Familie von Open-Source-Projekten, die daran gearbeitet haben, alles zu schaffen dieser wichtigen Eigenschaften für Bitcoiner seit 2018 zugänglich und einfach zu verwenden. Moritz Wietersheim von Spectre war so freundlich, sich etwas Zeit zu nehmen, um Fragen zur Vergangenheit, zum gegenwärtigen Stand und zu den zukünftigen Plänen des Spectre-Teams bei der Erweiterung seiner Software-und Hardwaregeräte zu beantworten den Prozess der möglichst souveränen Nutzung von Bitcoin zu vereinfachen.

Das Projekt begann 2018 in Lissabon während eines Steak-Dinners nach der Building on Bitcoin-Konferenz. Wietersheim traf Stepan Snigirev während der Konferenz, wo Snigirev das Hackathon-Event mit einem Prototyp einer Hardware-Wallet mit integrierter Lightning-Network-Unterstützung gewonnen hatte. Während des Abendessens beschlossen Wietersheim und Snigirev, gemeinsam an dem zu arbeiten, was das Spectre DIY (Do-It-Yourself) Hardware Wallet werden sollte. Dies wurde zum Kernstück für ein ganzes Ökosystem verschiedener Tools zur Interaktion mit Bitcoin.

Specter DIY

Das Spectre DIY Wallet wurde zu einer Zeit entworfen, als der Bereich für Hardware-Wallets noch viel weniger ausgereift war. Eine umfassende Aufschlüsselung vieler der in diesem Zeitraum entdeckten Schwachstellen finden Sie auf der Website von Saleem Rashid sowie auf der Wallet.Fail Präsentation auf dem Chaos Communication Congress. Zu dieser Zeit war es ein fast monatliches Ereignis, dass ziemlich böse Schwachstellen in verschiedenen Hardwaregeräten gefunden wurden. Obwohl der Raum seit dieser Zeit ziemlich gereift ist, denke ich, dass es wichtig ist, die damalige Umgebung zu beachten, um dem Denken hinter Spectre DIY einen Kontext zu geben.

Das Spectre DIY ist um den STM32-Mikrocontroller herum aufgebaut, derselbe (microcontroller Einheit), die von Hardware-Wallets wie Coldcard, Trezor, Bitbox usw. verwendet wird. Es ist auf einem Discovery-Entwicklerboard montiert, das sowohl über einen SD-Kartensteckplatz als auch über USB für die Kommunikation mit Software-Wallets verfügt. Es hat auch optionale Unterstützung für einen QR-Code-Scanner. Die ursprüngliche Idee eines „zustandslosen“ Signaturgeräts – eines, das den mnemonischen Seed oder die privaten Schlüssel nicht dauerhaft auf dem Gerät speichert – wurde von Spectre DIY entwickelt. Diese Designentscheidung wurde aufgrund des Mangels an physischer Sicherheit beim Speichern sensibler Daten getroffen (der STM32 wurde in der Vergangenheit viele Male physisch kompromittiert, um Geheimnisse zu extrahieren).

Indem Sie Ihre privaten Schlüssel nicht dauerhaft speichern das Gerät, begrenzen Sie die Angriffsfläche, die böswillige Akteure ausnutzen können, wenn sie in der Lage sind, physischen Zugriff auf das Gerät zu erlangen. Ohne den Seed kann ein Angreifer höchstens hoffen, auf Ihr Gerät zuzugreifen, es zu kompromittieren, um es zu speichern, oder Ihre Schlüssel zu übertragen, anstatt sie zu löschen und es dann zu ersetzen und zu hoffen, dass Sie nicht bemerken, dass es manipuliert wurde, bevor Sie es das nächste Mal laden Ihre Schlüssel auf dem Gerät. Das ist keineswegs perfekt, aber in der Welt der Sicherheit ist es nichts, und dies ist eine enorme Verbesserung im Vergleich dazu, Ihre Schlüssel einfach dauerhaft auf dem STM32 zu speichern, wo jeder darauf zugreifen kann, der die Zeit hat, den Chip zu kompromittieren. Sie können diesen Modus deaktivieren und die privaten Schlüsseldaten im speichern, aber wenn Sie Ihr Gerät nicht mit sehr hoher Sicherheit physisch sichern können, sollten Sie dies sorgfältig prüfen, bevor Sie dies tun. Außerdem wäre es ohne ein sicheres Element ratsam, bei einem solchen Setup eine Passphrase zu verwenden.

Die Softwareseite des Projekts wird mithilfe der embit-Bibliothek erstellt. Es ist eine MicroPython/Python 3-Bibliothek für die Interaktion mit Bitcoin-Daten, die speziell für die Verwendung mit Spectre DIY erstellt wurde (sie wird auch von SeedSigner und krux verwendet, die beide Projekte für zustandslose Signaturgeräte sind; eine LNBits-Nur-Uhr-Erweiterung; die Spectre Desktop-Software-Wallet). Die Bibliothek unterstützt BIP39/BIP32 (Mnemonik-Seed-Generierung und Ableitungspfade für Schlüssel), PSBT-Unterstützung für die Versionen eins und zwei, benutzerdefinierte SIGHASH-Flag-Unterstützung (Signieren verschiedener Teile der Transaktion anstelle des Ganzen) und Ausgabedeskriptoren und Miniskript (Datenzeichenfolgen um zu speichern, was für Wallets benötigt wird, um UTXOs zu finden, die es kontrolliert, und eine Hochsprache, um das Erstellen von Bitcoin-Skripten zu vereinfachen). Es bietet auch experimentelle Unterstützung für Shamir Secret Sharing, das Liquid Network und Taproot (noch in Arbeit). Für kryptografische Funktionen verwendet es die von Bitcoin Core verwaltete libsecp256k1-Bibliothek. Die Bibliothek ist sehr gut abgerundet mit Funktionen, die notwendig sind, um die Grundbedürfnisse von Wallets heute zu erfüllen, sowie Funktionen, die die Grundlage für zukünftige Verbesserungen bestehender Funktionen und die Einbeziehung erweiterter Funktionen bilden, die in den meisten Wallets noch nicht weit verbreitet sind. Insgesamt ist es eine sehr solide Grundlage, auf der man aufbauen kann, und alles wurde ursprünglich für das Spectre DIY zusammengestellt.

Zusätzlich zum grundlegenden Spectre DIY gibt es eine erweiterte Version namens Specter Shield ist eine deutliche Erhöhung der physischen Sicherheit. Dies ist ein benutzerdefiniertes Erweiterungsboard für das STM32 Discovery-Hauptboard, um das herum das Basismodell aufgebaut ist. Die Dateien, die erforderlich sind, um eine von einem Leiterplattenhersteller erstellen zu lassen, sind in ihrem Github-Repository verfügbar (oben verlinkt). Das Shield-Board verfügt über einen QR-Code-Scanner, einen Akku und einen Steckplatz für ein Smartcard-Lesegerät. Diese letzte Funktion macht dieses Erweiterungsboard wirklich wichtig. Mit dem Erweiterungsboard und einer mit einem Sicherheitselement ausgestatteten Smartcard kann die Brieftasche mit dem gleichen Sicherheitsmodell wie eine Coldcard funktionieren. Das Schlüsselmaterial kann auf dem sicheren Element in einer Smartcard gespeichert und während der Nutzung auf das Gerät geladen, aber nur persistent auf der Smartcard gespeichert werden. Die Kommunikation zwischen dem und dem sicheren Element auf der Karte ist verschlüsselt, sodass die zwischen ihnen übertragenen Informationen für den Mikrocontroller, der die Smartcard-Schnittstelle verwaltet, nicht zugänglich sind.

Der Ablauf des Wallets (mit oder ohne Shield-Erweiterung) beim Persistieren von Schlüsseln ist derselbe wie bei den meisten anderen Hardware-Wallets. Der generiert ein eindeutiges Geheimnis, das im Flash-Speicher gespeichert wird, und verschlüsselt in Kombination mit einer vom Benutzer bereitgestellten PIN die tatsächlichen privaten Schlüssel (wiederum unabhängig davon, ob sie auf dem sicheren Element der Smartcard oder dem STM32 gespeichert sind), so dass ein Angreifer dies tun müsste Greifen Sie sowohl auf Ihre PIN als auch auf das Geheimnis zu, um Ihre Bitcoin-Schlüssel zu entschlüsseln. Dadurch werden beide dominanten Modelle von Bitcoin-Hardwaregeräten – zustandslose Unterzeichner und Schlüsselspeichergeräte – auf DIY-Weise in die Hände von Menschen gelegt. Wenn Sie sich lieber nicht auf ein sicheres Element verlassen und sich ausschließlich auf Open Source verlassen möchten, kann das Spectre DIY auf diese Weise erstellt werden. Wenn Sie zusätzlich zu einem offenen die zusätzliche Sicherheit eines sicheren Elements bevorzugen, kann dies mit der Verwendung des Shield-Erweiterungsboards erreicht werden. Um das Ganze abzurunden, akzeptiert es auch die Benutzereingabentropie von Münzwürfen, um nicht vom Hardware-Zufallszahlengenerator abhängig zu sein. Internationale Unterbrechungen der Lieferketten haben es etwas schwierig gemacht, die notwendige Hardware in die Hände zu bekommen, aber wenn Sie können, lohnt sich das Projekt.

Wietersheim und Snigirev haben wirklich eine ziemliche Leistung vollbracht, als sie das Spectre DIY zusammenstellten. Es ist keineswegs das erste DIY-Hardware-Wallet auf dem Markt, aber es ist das erste, das in Laiensprache alles zwischen dem Sicherheitsmodell eines Trezor bis hin zu einer Coldcard modular unterstützt, je nachdem, was der Benutzer wünscht. Es gab nur noch ein Problem: Wallet-Software, mit der es verwendet werden kann.

Specter Desktop

Bei der Betrachtung von Begleit-Apps für die Hardware-Wallet schien alles da draußen nicht das zu erreichen, was Weitersheim und Snigirev suchten. Sie mochten die Funktionalität von Bitcoin Core, aber trotz der von den Entwicklern auf den Tisch gebrachten Stabilität hat Bitcoin Core eine sehr minimalistische und in gewisser Weise nicht intuitive Benutzeroberfläche. Es hat jedoch eine nette Schnittstelle für PSBTs (Partially Signed Bitcoin Transactions) und die HWI-Schnittstelle (Hardware Wallet Integration), also hat Stepan die erste Version von Spectre als minimale Verbesserung der Benutzeroberfläche für die Interaktion mit Bitcoin Core zusammengehackt.

Stellen Sie sich Spectre Desktop als „Wrapper“ für Bitcoin Core vor. Es enthält eine schöne GUI mit Multisig-Unterstützung; Hardware-Wallet-Integration PSBT-Kommunikation über QR-Codes, SD-Karte oder USB; Überprüfung von Empfangsadressen über QR-Code und USB; RBF-Unterstützung (Ersetzen durch Gebühr); ein Kennzeichnungssystem, um Ihre UTXOs und ihre Herkunft im Auge zu behalten; und Münzkontrolle, um bestimmte UTXOs beim Ausgeben auszuwählen (sowie die Möglichkeit, bestimmte UTXOs einzufrieren, um sich vor Fehlern beim Ausgeben zu schützen). Sie haben sogar eine benutzerfreundliche Ein-Klick-Lösung integriert, um Bitcoin Core direkt aus Spectre Desktop zu installieren (obwohl die unabhängige Installation von Bitcoin Core und die Verbindung von Spectre etwas sogar Peter McCormack konnte alleine fertig werden).

Zusätzlich zu der Funktionsflexibilität ist die Tatsache, dass Spectre einen eigenen vollständigen Knoten als Backend einrichten muss, ein großer Datenschutzvorteil im Vergleich zu vielen Wallets, die Benutzern zur Verfügung stehen. Die meisten Wallets in diesem Ökosystem verwenden ein Drittanbieter-Backend, um ihre UTXOs zu verfolgen, was bedeutet, dass der Betreiber dieses Backends in der Lage ist, alle Ihre UTXOs mit einer einzigen Identität zu korrelieren. Wenn Sie nicht über Tor oder einen VPN-Dienst mit dem Backend kommunizieren, ist der Betreiber außerdem in der Lage, alle diese Coins mit Ihrer IP-Adresse zu korrelieren. Dies ist ein schreckliches Datenschutzleck, das durch Spectres Beharren auf einer lokalen Bitcoin Core-Instanz behoben wird, um Ihr Bitcoin-Guthaben zu verfolgen.

Spectre unterstützt auch das Liquid Network, eine föderierte Bitcoin-Sidechain, die auch eine Ein-Klick-Installationsunterstützung für einen vollständigen Liquid Elements-Knoten innerhalb der Spectre-GUI bietet. Es unterstützt Liquid Wallets mit Blockstream Jade, Spectre DIY sowie Hot Wallets direkt in Spectre. Liquid bietet einige interessante Vorteile mit einigen Kompromissen im Vergleich zum Haupt-Bitcoin-Netzwerk selbst. Die Sidechain ist ein föderiertes System, was bedeutet, dass die Nutzung der Chain erfordert, dass Sie Ihre BTC in eine Multisig-Brieftasche einzahlen, die von der Föderation kontrolliert wird, die die Sidechain betreibt, und dann L-BTC erhalten, ein Token, das auf der Sidechain ausgegeben wird und von BTC unterstützt wird, das von der Föderation verwahrt wird. Für den Kompromiss, der Föderation zu vertrauen, haben die Benutzer die Möglichkeit, vertrauliche Transaktionen zu nutzen, ein grundlegendes Zero-Knowledge-Proof-Schema, das die Beträge (und die Art der Vermögenswerte im Falle der Implementierung von Liquid) verbirgt, die auf der Blockchain abgewickelt werden. Es verwendet einen”Reichweitennachweis”, der kryptografisch beweist, dass Geld nicht aus dem Nichts gedruckt wird, ohne die Transaktionsbeträge preiszugeben.

Liquid unterstützt auch die Ausgabe anderer Vermögenswerte. Ein nützliches Beispiel sind Stablecoins wie Tether (L-USDT), ein auf Dollar lautender Stablecoin, der es Benutzern ermöglicht, die Volatilität von Bitcoin auf „Selbstverwahrungs“-Weise zu vermeiden (der Token erfordert immer noch, dass der Emittent die Einlösung anerkennt, um „echte Geld”am Ende des Tages). Die Ausgabe von liquiden Vermögenswerten ermöglicht auch die Erstellung anderer Arten von Token, wie z. B. Aktien, die selbst verwahrt werden könnten, und die Skriptfunktion von Liquid unterstützt mehr Funktionen als Bitcoin selbst, wodurch fortschrittlichere Smart Contracts wie BTC-unterstützte Kredite ermöglicht werden, die alle direkt abgewickelt werden können ein Benutzer über seine eigene Brieftasche. Spectre hat sich entschieden, Liquid zu unterstützen, damit Benutzer mit Liquid auf die gleiche Weise wie mit der Hauptkette interagieren können: mit Privatsphäre und völliger Selbstsouveränität.

Specter Enterprise

Projekte wie das Bitcoin Beach Wallet verwenden Spectre tatsächlich als Backend für die Verwaltung ihrer On-Chain-Multisig-Fonds. Sie sind nicht das einzige Unternehmen, das Spectre im Backend verwendet, um Unternehmensgelder zu verwalten, und laut Wietersheim waren ihnen die Unternehmen, die Spectre verwenden, nicht einmal bewusst, bis sie um Unterstützung gebeten wurden. Ein großer Teil der Einnahmen, die das Projekt über Wasser halten, stammt tatsächlich von solchen Unternehmen, die das Spectre-Team für kundenspezifische Firmware für den Spectre-Selbstbau und andere Entwicklungsdienste bezahlen, sodass sie Vollzeit an der Wartung ihrer gesamten Software-Suite arbeiten können.

Es ist interessant, sich vorzustellen, dass dasselbe Toolset, das entwickelt wurde, um einzelnen Benutzern den Weg zu Selbstbestimmung und Sicherheit zu bieten, auch von tatsächlichen Unternehmen für die gleichen Zwecke verwendet wird. Es ist üblich, sich jede Gruppe als völlig getrennte Märkte mit völlig unterschiedlichen Bedürfnissen vorzustellen, aber wie hier bei Spectre gezeigt wird, ist die Überschneidung viel größer, als man auf den ersten Blick vermuten könnte.

A Bitcoiners Command Center

Das Team von Spectre hat mit dem Projekt etwas wirklich Spektakuläres vollbracht. Alles, von Hardwaregeräten, die private Schlüssel und Signaturvorgänge sicher verwalten, bis hin zu Software zur Validierung Ihrer Transaktionen, wurde vom Team auf nahtlose, interoperable Weise entwickelt. Es ist wirklich ein Schweizer Taschenmesser an Werkzeugen für den selbstsouveränen Bitcoiner, egal ob Sie ein einzelner Benutzer oder ein professionelles Unternehmen sind, das die Gelder anderer Personen verwaltet, um alles zu handhaben, was Sie für die Interaktion mit dem Bitcoin-Netzwerk benötigen. Das Projekt ist von unschätzbarem Wert, und das Team sollte für die hervorragende Arbeit gelobt werden, die es bei der Erstellung dieser Suite von Open-Source-Software und-Hardware geleistet hat, die jeder in diesem Bereich nutzen kann.

Dies ist ein Gastbeitrag von Shinobi. Die geäußerten Meinungen sind ihre eigenen und spiegeln nicht unbedingt die von BTC Inc oder Bitcoin Magazine wider.

Categories: IT Info