Wie die Coldcard-Firmware aufgebaut ist und warum Entwickler deren Emulator auf dem PC ausführen sollten
Der Quellcode von Hardware-Kryptowallets wird mit besonderer Sorgfalt geprüft. Ein einziger Fehler im Zufallszahlengenerator oder ein Bug im Code kann Millionen kosten. Werfen Sie einen Blick auf den README-Header im Coldcard-Repository: Die Autoren warnen offen vor einer kritischen Entropie-Schwachstelle, die Versionen von 2021 bis 2026 betrifft. Die Entwickler empfehlen ehrlich, das Firmware-Update durchzuführen und Schlüssel neu zu generieren.
Diese Transparenz wird durch die offene Architektur ermöglicht. Die Coldcard-Firmware ist für jeden verfügbar, und Sie können das Binärfile Byte-für-Byte auf Ihrem eigenen Laptop erstellen.

Was sich im Repository befindet
Das Projekt kombiniert Software für mehrere Wallet-Generationen: die Serien Mk3, Mk4, Mk5 und das Flaggschiff Q1 mit vollständiger Tastatur. Der Hauptstack umfasst MicroPython für die high-level Logik und C für low-level Operationen auf dem STM32-Chip.

Der Code ist auf Verzeichnisse verteilt, die ziemlich logisch aufgebaut sind:
sharedenthält die gemeinsame Python-Logik für Emulator und Geräte.stm32enthält die Firmware, Bootloader und Makefiles für den Bau des finalen Mikrocontroller-Binärfiles.unixenthält den Emulator-Quellcode für macOS und Linux.hardwareenthält Schaltpläne und Komponentenspezifikationen.
Es ist selten, Software, einen Emulator und Hardware-Schaltpläne an einem Ort zu finden. Für alle, die sich für Embedded-Entwicklung mit Python interessieren, ist dies exzellentes Lernmaterial.
Interessante technische Lösungen
Reproduzierbare Builds über Docker
Eines der Hauptkriterien für das Vertrauen in sichere Hardware ist die Gewissheit, dass die kompilierte Datei mit dem Quellcode auf GitHub übereinstimmt. Das Coldcard-Team hat diesen Prozess automatisiert. Der Build läuft über Docker mit einem einzigen Befehl:
git clone https://github.com/Coldcard/firmware.git
cd firmware
git checkout 2026-03-05T2052-v5.5.0
cd stm32
make -f MK4-Makefile repro
Das Skript kompiliert den Code in einer isolierten Umgebung und vergleicht die resultierende Datei mit der offiziellen Version. Wenn die Dateien Byte-für-Byte übereinstimmen, ist der Prozess erfolgreich.
Vollwertiger Emulator ohne physische Hardware
Sie müssen kein paar hundert Dollar teures Gerät kaufen, nur um den Code zu studieren. Das Verzeichnis unix enthält einen Emulator basierend auf SDL2 und MicroPython. Es bildet den Bildschirm, die Tasten und das virtuelle SD-Karten-Dateisystem nach.
Der Simulator läuft auf Linux oder macOS in nur wenigen Schritten:
git clone --recursive https://github.com/Coldcard/firmware.git
cd firmware
python3 -m venv ENV
source ENV/bin/activate
pip install -r requirements.txt
cd unix
make setup && make ngu-setup && make
./simulator.py
Nach dem Start erscheint ein Fenster mit der Wallet-Oberfläche auf dem Bildschirm. Sie können mit Tastatur oder Maus damit interagieren, eigene Skripte testen und die PSBT-Verarbeitung (Partially Signed Bitcoin Transactions) überprüfen.
Zwei Branches für verschiedene Zwecke
Das Team pflegt zwei Hauptbranches in Git:
masterenthält getesteten Code für aktuelle Mk4-, Mk5- und Q1-Geräte.edgedient als Experimentierfeld. Funktionen wie Taproot-Support oder Miniscript landen hier, bevor sie im Haupt-Release erscheinen. Die Codequalitätsanforderungen inedgesind niedriger, daher bewegen sich Änderungen dort schneller.
Wem dieses Repository nützt
Das Projekt ist weit über die Bitcoin-Enthusiasten hinaus interessant. Embedded-System-Entwickler profitieren von der Erfahrung, MicroPython mit C auf STM32-Mikrocontrollern zu kombinieren. Sicherheitsexperten finden hier ein klares Beispiel für die Implementierung reproduzierbarer Builds.
Das Ausführen eines lokalen Emulators hilft Ihnen zu verstehen, wie Transaktionssignaturen auf Air-Gapped-Geräten funktionieren, ohne zusätzliches Geld auszugeben.
Ähnliche Projekte