pull down to refresh

@murch posted this on X earlier today:

Although @dathon_ohm hasn't responded yet, it is possibly the case that a node running the knots BIP 110 implementation may consider a p2a output with a one byte witness invalid while a non BIP 110 node will see it as valid. This does not seem to have been documented in BIP 110 documentation.

If you let “vibes and feels” overtake 18 years of hard engineering in distributed systems, you end up with a pathological mess like BIP110. Good luck with that.

The only redeeming quality in all of this is that the non-technical will fork off to nothing (just like with bcash and bsv), and Luke’s forktastic adventure will be over.

reply

Here is dathon ohm's response:

source

reply

BIP 433 does not require the witness stack to be empty. It only introduced a mempool policy.

It says:

P2A inputs are considered standard by Bitcoin Core for spending if no witness data is attached. This avoids meaningless witness padding. Consensus meaning is unchanged.
reply

It seems like something dathon could test fairly easily. Couldn't dathon run a knots node (with BIP 110 rules activated) and a bitcoin node on regtest and create a transaction like this and see if it is accepted by both nodes?

Also: i find it sad when people try to dismiss others by claiming they are trolling. "Trolling" and "disingenuous argument" and "not being sincere" have become the easiest way to ignore an argument.

reply

Ah, I think I see now:

If someone else tries to implement BIP 110 based off what is specified in document BIP 110, they might miss this rule.

However, if the Knots activation client is the only implementation of a BIP 110 compliant node, it probably doesn't matter?

reply

Exactly. It’s not a big issue, because nobody is trying to implement BIP 110. However, as is, either the soft fork proposal fails to comprehensively specify the necessary changes, or the current activation client is not specification compliant (or both).

reply
reply
reply

That’s just false. The version is defined by the output script. It’s the first byte in native segwit outputs before the witness program push.

reply
reply

Yes, BIP 110 elevates some policies to consensus rules. The issue is that one of the implemented consensus rules is not documented in the soft fork proposal.

reply

Late hour gotcha

reply