Some of my public posts, writeups, whatever..
as I don't have a blog or something similiar..
(not exhaustive)
- 2026-10-01: Twitter Thread: How to prove you paid a Lightning invoice - explaining the preimage as proof-of-payment
(Bitcoin, Lightning, preimage, proof of payment)
- 2026-09-08: Twitter Thread: Explaining the Liquid inflation bug - how a cache key collision let ~3,996 L-BTC be minted out of thin air
(Bitcoin, Liquid, consensus, security)
- 2025-11-29: PullRequest message at Sparrow Wallet (drongo) explaining Taproot output key tweaking and why the
lift_x round trip was redundant
(Bitcoin, Taproot, BIP340, BIP341, elliptic curves, Java)
- 2024-11-08: PullRequest at bitcoinJ: allowing P2A (pay-to-anchor) addresses, the one exception to the 32-byte Taproot witness program length
(Bitcoin, P2A, Taproot, SegWit, Java)
- 2024-10-13: Twitter: ECDSA riddle - a signed message proving that I cannot know the private key,
with the SageMath gist
and a Reddit post
(ECDSA, elliptic curve cryptography, fun)
- 2024-09-05: Debugging: Pinpointing out-of-order transactions in rust-electrum-client (with Wireshark and debug statements)
(Bitcoin, Electrum protocol, BDK, Rust, debugging)
- 2024-07-29: Bug analysis: Dart Bitcoin message signer sometimes producing signatures of invalid length
(Bitcoin, ECDSA, message signing, debugging)
- 2024-04-30: Twitter Thread: The Bitcoin testnet block storm explained
(Bitcoin, testnet, difficulty adjustment)
- 2024-04-08: PullRequest at bitcoinJ: explaining the meaning of
recId for public key recovery in compact signatures
(Bitcoin, ECDSA, message signing, pubkey recovery)
- 2023-12-19: Twitter Thread: How much you save in fees when DCA'ing onto different address types (P2PKH, SegWit, Taproot)
(Bitcoin, fees, address types)
- 2023-08-04: Written for Coinfinity Blog: Lightning Deep Dive: What is channel splicing?
(german version)
(Bitcoin, Lightning, channel splicing)
- 2023-06-19: Written for Coinfinity Blog: Lightning Deep Dive: Invoices, LNURL, Bolt12 & Lightning Address
(german version)
(Bitcoin, Lightning, BOLT11, LNURL, Bolt12, Lightning Address)
- 2023-03-14: Proposal for LUD-03: wallets must not send an invoice with tag
h in the callback
(Bitcoin, Lightning, LNURL)
- 2023-02-03: Twitter Thread: Nonce reuse between signature schemes (ECDSA, Schnorr) is deadly, too
(ECDSA, Schnorr, nonce reuse, security)
- 2023-01-30: PullRequest at bitcoinJ: length check for Taproot witness programs, including the rationale why
(Bitcoin, Taproot, BIP341, SegWit)
- 2022-12-15: New signs of Satoshi? - Tracing the history of Bitcoin's message signing format to prove the signature claiming Paul LeRoux was Satoshi could not have been created in 2009.
(german version on Coinfinity Blog)
(Bitcoin, ECDSA, message signing, Bitcoin history)
- 2022-12-06: Twitter Thread: Explaining the off-by-one error in Bitcoin's difficulty adjustment algorithm
(Bitcoin, Bitcoin history)
- 2022-11-23: Comment: Shortly explaining BIP 16 activation logic (PR review)
(Bitcoin, BIP16, Bitcoin history)
- 2022-11-21: PullRequest message at bitcoinJ explaining BIP 137 message signing (PR adds SegWit signing support to bitcoinJ)
(Bitcoin, BIP137, ECDSA, message signing)
- 2022-04-28: The mystery around secp[nnn]k1 generation points :)
and the related answer on Bitcoin Stack Exchange
(Elliptic curves, ECDSA, tech history)
- 2021-11-08: Twitter Thread: Some of the cool features of Taproot
(Bitcoin, Taproot, Schnorr)
- 2021-10-28: Being guest in The Anita Posch show: Lightning – The Future of Payments
(Bitcoin, Lightning, Taproot, Schnorr, LNURL, Bolt12, ...)
- 2021-08-11: Talk about Schnorr signatures in Taproot at the 77th Bitcoin Austria meetup
(unfortunately not online)
(Bitcoin, Taproot, Schnorr)
- 2021-06-11: Shell script for following Taproot activation signalling on your own Bitcoin node
(see also Twitter
and here)
(Bitcoin, Taproot, soft fork activation, BIP9)
- 2021-02-17: Talk about upcoming Bitcoin Taproot update
(german, Bitcoin, Taproot, Schnorr)
- 2021-02-05: Adding some infos to the awesome Falsehoods Programmers Believe About Bitcoin list of theborakompanioni :)
(Bitcoin, ECDSA, BIP32)
- 2020-11-05: PullRequest: explaining and fixing flawed TLS certificate pinning
(security, Java, Bitcoin ATMs)
- 2020-09-11: Bitcoin Stack Exchange answer: How to calculate the missing part of a WIF private key
(Bitcoin, WIF, private keys)
- 2019-06-19: First technical view on "Libra": Short analysis of first published Libra sourcecode (aka "Facebook coin") to identify some key properties of the system
(Libra, crypto currency, software analysis)
- 2019-03-28: Written
for Coinfinity Blog: „FlyClient“: Neues Protokoll für effizientere Light Clients wurde vorgestellt
(german, Light Client, Bitcoin, Ethereum)
- 2019-03-02: Medium
response post about CREATE2 and contract code immutability
(Ethereum, CREATE2)
- 2019-02-27: Introduction
to Switch Commitments
(Cryptography, Mimblewimble, grin, switch commitments)
- 2019-02-26: Written
for Coinfinity Blog: Implikationen des Constantinople-Upgrades im Ethereum-Netzwerk
(german, Ethereum, Constantinople, CREATE2)
- 2019-01-23: PR rust-secp256k1-zkp: Adding
documentation on how the NUMS (nothing-up-my-sleeves) generator points for Pedersen and Switch Commitments have
been derived.
(elliptic curve cryptography, Mimblewimble, grin, switch commitments)
- 2018-11-27: Twitter Thread: Looking into the Copay wallet hack by a malicious npm dependency
(Bitcoin, security, supply chain attack, JavaScript)
- 2018-06-27: Medium response
post regarding Atomic Swaps and secret size attack
(Cryptocurrencies, Atomic Swaps)
- 2018-06-25: Talk about Atomic Swaps at Blockchain Hub Graz Meetup
(Cryptocurrencies, Atomic Swaps)
- 2017-11-19: Checking EMV
banking card keys for ROCA vulnerability
(NFC, EMV banking cards, EMV key recovery, RSA ROCA vulnerability)
- 2016-11-24: Reverse
engineering: How Infrared is (not) working on LePro3
(Android system, hardware abstraction layer (HAL), infrared, Quickset SDK, reverse engineering)
- 2016-11-18: Reverse
engineering: Patch Android SmartcardService for use with SIM-card-based banking apps
(Open Mobile API, GSMA NFC Handset API requirements, Xposed, reverse engineering, Android)
- 2016-04-20: Learning: Fun
with a CardTAN Reader - Learning about CardTAN flickercode protocol, create custom message flickercodes
(german, NFC, EMV banking cards, flickercode, cardTAN)
- 2016-04-03: Hardware:
Serial console on ESCAM Ant QF605 camera
(Hardware hacking, Linux, serial console)
- 2016-01-06: Reverse
engineering: Override SIM Secure Element Access Control
(Open Mobile API, Global Platform, smart cards, ISO-7816-4, security, Xposed, reverse engineering, Android)
- 2015-12-13: NFC
Offhost routing to the UICC on the Nexus 5X and the Nexus 6P and answering myself
(NFC, Android system, SWP)
- 2015-10-18: Erklärung
OpenMobile API, SIM Alliance
(german, NFC, OpenMobile API, SWP)
- 2014-11-25: Explanation:
How type-0 "silent SMS" are dropped in Android's
GsmSMSDispatcher
(Android system, SMS, silent SMS, IMSI catcher)
- 2014-10-14: Talk at IIR Jahresforum Cashless Payments, Vienna: NFC
Bankomatkarten - Datentransfer über NFC
(german, NFC, EMV banking cards, smart cards)
- 2014-09-09: Learning:
Questions about [CryptoNote] transaction details
(CryptoNote, elliptic curve cryptography, Monero, cryptocurrencies)
- 2014-05-08: PullRequest at Mycelium Bitcoin wallet: import private keys from Bitcoin Wallet backup files
(Bitcoin, Android, cryptography)
- 2014-03-27: Explanation:
How receiving SMS works on Android and why there is (was) no sent-time
(Android system, SMS)
- 2014-01-03: Learning: Fun
with NFC - Auslesen der letzten Transaktionen einer Bankomatkarte per NFC,
and die Fortsetzung
(resulting in some press coverage in
Austria)
(german, NFC, EMV banking cards, ISO-7816-4, smart cards)
- 2013-12-17: Reverse
engineering: Android KitKat Card-Emulation catch-all AID Routing
(Android system, NFC Host card emulation (HCE), Xposed, smart cards, ISO-7816-4, reverse engineering)
- 2013-10-07: Learning:
Questions to get a understanding of Ripple's consensus algorithm
(Cryptocurrencies, Ripple, consensus algorithms)
- 2013-09-23: Reverse engineering:
Send raw SMS PDUs with Android
(Android system, SMS, Etsi GSM 03.40, SMS PDU, Xposed, reverse engineering)
- 2013-05-27: Short
answer in a thread, explaining mining pool shares
(Cryptocurrencies, Bitcoin, pool mining)
- 2010-01-24: Explanation:
How to configure Android's *internal* taskkiller
(Android system, memory management)
<-- Back to /