pull down to refresh
55 sats \ 0 replies \ @vostrnad OP 8 Jul 2024 \ parent \ on: Definitive explanation of my weird Bitcoin transaction bitcoin
Years of learning about the Bitcoin protocol, mostly by asking and answering questions on Bitcoin Stack Exchange. If you want to start somewhere, learn what are all the components of a raw transaction.
Only in SegWit, they're standard in legacy scripts. There also exist "hybrid keys" that are non-standard everywhere.
Yes, the first ever transaction from Satoshi to Hal used the block 9 coinbase reward. A certain fraudster also claimed to have this key in possession.
Because it only uses standard input and output types, that's why! Note that sending to (but not spending from) any not-yet-defined SegWit output type is standard.
Vanity hashes are hardly anything new, 0xB10C has done a similar one (see https://b10c.me/7). I don't have any mining infrastructure, and I don't think you could even use it for vanity hashes. However, 5 custom bytes isn't that expensive, it took me around a month on a relatively recent CPU.
On testnet it would probably go unnoticed, and testnet is occasionally reset. I wanted to make something that would last.
The part that needed rewriting in Rust was grinding the vanity TXID and WTXID by repeatedly generating signatures. Even with all sorts of elliptic curve optimizations and porting the code to Rust, it still took over a month of grinding on my relatively recent CPU.
For anyone interested, I've published the full list of Easter eggs: #600187
On mempool.space, you need to click the "Details" button which reveals more details about each input and output. These 17 numbers can be seen in the decoded output script ("ScriptPubKey").
That would require a different layout of inputs/outputs, since the only input with index higher than all outputs is a P2TR input, and the sighash_single bug is fixed in Taproot.
GENESIS