>_ DevTrendsde

Sprache

Start

Sprachen

Bereiche

Frontend Backend Mobile DevOps AI / ML GameDev Blockchain Embedded Sicherheit
Python

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.

coldcard logo

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.

Mk5 coldcard picture front

Der Code ist auf Verzeichnisse verteilt, die ziemlich logisch aufgebaut sind:

  • shared enthält die gemeinsame Python-Logik für Emulator und Geräte.
  • stm32 enthält die Firmware, Bootloader und Makefiles für den Bau des finalen Mikrocontroller-Binärfiles.
  • unix enthält den Emulator-Quellcode für macOS und Linux.
  • hardware enthä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:

  • master enthält getesteten Code für aktuelle Mk4-, Mk5- und Q1-Geräte.
  • edge dient als Experimentierfeld. Funktionen wie Taproot-Support oder Miniscript landen hier, bevor sie im Haupt-Release erscheinen. Die Codequalitätsanforderungen in edge sind 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