Aby lepiej zrozumieć, jak działa bitcoin, postanowiłem stworzyć fork o nazwie TETSUO. Bitcoin używa secp256k1 ECDSA z haszowaniem SHA256/RIPEMD160 do adresów i podpisywania transakcji. TETSUO zachowuje tę samą podstawę kryptograficzną, dziedziczymy dziesięciolecia badań nad bezpieczeństwem. Ale zoptymalizowaliśmy format transakcji: - numery sekwencji ustawione na 0xffffffff dla pełnej kompatybilności ze skryptami - SIGHASH_ALL dodany do preobrazu podpisu przed haszowaniem (a nie po) - odpowiednie kodowanie little-endian w całym procesie Oznaczało to przebudowanie całego procesu podpisywania. Zaczęliśmy od forka kodu źródłowego bitcoin-core, a następnie zbudowaliśmy kompletny SDK portfela w TypeScript. Zaimplementowano generację mnemonik BIP39, wybór UTXO, szacowanie opłat, wszystkie rzeczy, których potrzebują portfele. Kluczowa część: podpisywanie po stronie klienta tylko. Twoje klucze prywatne nigdy nie dotykają żadnego serwera. Transakcja jest budowana lokalnie, podpisywana lokalnie, a następnie przesyłana do sieci. Open source: (węzeł) (SDK) (eksplorator bloków) Zrozumienie bitcoina oznaczało zrozumienie każdej warstwy protokołu.