Posts

Does inserting a Tapret commitment leaf invalidate the existing control block for other script paths in RGB?

I'm researching how RGB uses Taproot commitments (Tapret, LNPBP-12) and ran a transfer experiment on testnet: 64a14551...c20b6b . The RGB client output shows the state anchored at tapret1st:64a14551...c20b6b:1 — a standard P2TR output on-chain. My understanding is that Tapret inserts an unspendable 64-byte OP_RETURN leaf into the script tree at depth 1, shifting existing scripts one level deeper. This changes the Merkle root, which changes the output key (P2TR address) via the BIP-341 tweak formula. Two questions: If Script_A was originally at depth 1 (single-leaf, empty Merkle path in the control block), after Tapret insertion it moves to depth 2. Does the original control block become invalid? Does the spender need to reconstruct it with the Tapret leaf hash included in the Merkle path? Since the Merkle root changes with every new Tapret commitment, does RGB always derive a fresh P2TR address for each state transition — even if the internal key P remains the same? ...

estimatesmartfee differs a lot on testnet4

I have two testnet4 nodes, both running Bitcoin Core v30.2 and I use estimatesmartfee API calls to guess fees on the network. I have noticed over time that the estimates vary widely on both nodes and sometimes also by the conf_target . Is there any possibility to make this estimate more reliable? E.g. it currently return on node01 : $ bitcoin-cli estimatesmartfee 3 economical { "feerate": 0.00000974, "blocks": 3 } $ bitcoin-cli estimatesmartfee 10 economical { "feerate": 0.00100314, "blocks": 10 } $ bitcoin-cli estimatesmartfee 50 economical { "feerate": 0.00000988, "blocks": 50 } (please note that the conf_target: 10 has larger fee than for conf_target: 3 ). and on node02 : $ bitcoin-cli estimatesmartfee 3 economical { "feerate": 0.00100369, "blocks": 3 } $ bitcoin-cli estimatesmartfee 10 economical { "feerate": 0.00063429, "blocks": 10 } $ bitcoin-cli...

Was the OP_SUCCESSx reservation in BIP-342 designed with specific opcode families in mind, or as a generic forward-compatibility mechanism?

In Pieter Wuille's recent answer [Why did BIP-342 replace CHECKMULTISIG with a new opcode] , BIP-342's deliberate minimization of semantic changes was attributed to the expectation that "those could always be introduced with later softforks that redefine OP_SUCCESSes." I'm curious about the granularity of this reservation: Were specific opcode candidates (e.g., CHECKSIGFROMSTACK, CAT, TXHASH) already on the radar when OP_SUCCESS positions were allocated, or was the allocation purely abstract — "reserve space for unknown future use"? Was there discussion about classes of additions (introspection opcodes, signature variants, hash operations) that would or wouldn't be appropriate candidates for OP_SUCCESS redefinition vs. requiring a deeper softfork? Are there design properties an opcode SHOULD have to be a clean OP_SUCCESS redefinition (vs. requiring more invasive consensus changes)? I ask because the activation-path mechanics matter for how com...

How long should pruning take?

How long should pruning—say, from 794GB blockchain down to last 2GB—take? from Recent Questions - Bitcoin Stack Exchange https://ift.tt/WJHfx1z via IFTTT

Why did BIP-342 replace CHECKMULTISIG with a new opcode, instead of just removing FindAndDelete from it?

Legacy CHECKMULTISIG has FindAndDelete attached to it. SegWit v0 already removed FindAndDelete and kept CHECKMULTISIG working fine. So for tapscript, the simple path was: keep CHECKMULTISIG, say FindAndDelete doesn't run here. BIP-342 didn't do that. It disabled CHECKMULTISIG completely and added CHECKSIGADD, so multisig is now a sequence of opcodes plus a comparison. That's a much bigger change than just fixing the bug. I'd like to understand why. A few things I'm curious about: Was a "clean CHECKMULTISIG" ever considered, and why was it rejected? Was the main reason batch verification with Schnorr, or something else? Or was it a deliberate choice to move away from opcodes that pack whole patterns, toward smaller primitives that script authors combine themselves? The last one matters to me because if it's a real design shift, it probably also shapes how future opcodes (CAT, CSFS, etc.) should look. If anyone was part of those discussions, I'd lo...

Does Binohash grinding behave like a PoW, and is it actually ASIC-resistant?

I've been reading Robin Linus's "Binohash" paper ( Binohash:transaction introspection without softforks , https://delvingbitcoin.org/t/binohash-transaction-introspection-without-softforks/2288 ) and trying to understand the grinding process. My rough understanding: The spender chooses subsets of signatures from a fixed pool embedded in the locking script Each subset changes the scriptCode via FindAndDelete before hashing The goal is to find a subset where the resulting sighash satisfies a leading-zero condition So in practice this looks like a search problem over combinatorial subsets rather than a simple nonce space. Compared to Bitcoin mining: Mining hashes a fixed-size header with a changing nonce Binohash requires modifying KB-sized script data (via FindAndDelete) before each hash Each transaction defines its own independent search space My questions: Is it reasonable to think of this as a kind of PoW, or is that a misleading analogy? What ac...

That take overfits the chart: a dip under 60k and a bounce into a big round zone

You can read the full article to confirme reality at: https://strat-ga.vercel.app/rangebtcarticle4878974412026 That take overfits the chart: a dip under 60k and a bounce into a big round zone does not prove a clean structure shift or a straight run to about 95k. The 70k to 72k area is still just a range until price proves it with sustained strength and follow-through. The 72k and 80k levels are conditions, not facts yet. Past action does not lock in the next leg; the breakdown vs recovery story is still open until those levels are clearly reclaimed and held. from Recent Questions - Bitcoin Stack Exchange https://ift.tt/V72odie via IFTTT