>_ DevTrendsit

Lingua

Home

Linguaggi

Sezioni

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

Come è strutturato il firmware Coldcard e perché gli sviluppatori dovrebbero eseguire il suo emulatore su PC

Il codice sorgente degli hardware crypto wallet viene esaminato con particolare attenzione. Un singolo errore nel generatore di numeri casuali o un bug nel codice può costare milioni di dollari. Dai un'occhiata all'intestazione del README nel repository Coldcard: gli autori avvertono apertamente di una vulnerabilità di entropia critica che influenza le versioni dal 2021 al 2026. Gli sviluppatori consigliano onestamente di aggiornare il firmware e rigenerare le chiavi.

Questa trasparenza è resa possibile dall'architettura aperta. Il firmware Coldcard è disponibile per tutti e puoi compilare il suo binario byte-per-byte direttamente sul tuo laptop.

coldcard logo

Cosa c'è all'interno del Repository

Il progetto combina software per diverse generazioni di wallet: le serie Mk3, Mk4, Mk5 e il flagship Q1 con una tastiera completa. Lo stack principale include MicroPython per la logica di alto livello e C per le operazioni di basso livello sul chip STM32.

Mk5 coldcard picture front

Il codice è distribuito tra le directory in modo abbastanza logico:

  • shared memorizza la logica Python condivisa per l'emulatore e i dispositivi.
  • stm32 contiene il firmware, i bootloader e i makefile per compilare il binario finale del microcontrollore.
  • unix include il codice sorgente dell'emulatore per macOS e Linux.
  • hardware contiene gli schemi elettrici e le specifiche dei componenti.

È raro trovare software, un emulatore e schemi hardware tutti in un unico posto. Per chi è interessato allo sviluppo embedded con Python, questo è un eccellente materiale di studio.

Interessanti Soluzioni Tecniche

Build Riproducibili tramite Docker

Uno dei criteri principali per fidarsi dell'hardware sicuro è la certezza che il file compilato corrisponda al codice sorgente su GitHub. Il team di Coldcard ha automatizzato questo processo. La build viene eseguita tramite Docker con un singolo comando:

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

Lo script compila il codice in un ambiente isolato e confronta il file risultante con la release ufficiale. Se i file corrispondono byte-per-byte, il processo ha successo.

Emulatore Completo Senza Hardware Fisico

Non avrai bisogno di acquistare un dispositivo per qualche centinaio di dollari solo per studiare il codice. La cartella unix contiene un emulatore basato su SDL2 e MicroPython. Ricrea lo schermo, i pulsanti e il filesystem della scheda SD virtuale.

Eseguire il simulatore su Linux o macOS richiede solo pochi passaggi:

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

Dopo il lancio, apparirà una finestra con l'interfaccia del wallet. Puoi interagire con essa usando la tastiera o il mouse, testare i tuoi script personalizzati e verificare la gestione delle PSBT (Partially Signed Bitcoin Transactions).

Due Branch per Scopi Diversi

Il team mantiene due branch principali in Git:

  • master contiene il codice testato per i dispositivi Mk4, Mk5 e Q1 attuali.
  • edge funge da terreno di test per esperimenti. Funzionalità come il supporto a Taproot o Miniscript vengono introdotte qui prima di apparire nella release principale. I requisiti di qualità del codice in edge sono inferiori, quindi le modifiche lì procedono più velocemente.

Chi Troverà Utili Questo Repository

Il progetto è interessante ben oltre i semplici appassionati di Bitcoin. Gli sviluppatori di sistemi embedded trarranno beneficio dall'esperienza di combinare MicroPython con C sui microcontrollori STM32. I specialisti di sicurezza troveranno qui un esempio chiaro di implementazione di build riproducibili.

Eseguire un emulatore locale ti aiuta a capire come funziona la firma delle transazioni sui dispositivi air-gapped senza spendere soldi extra.

Progetti correlati