Is there any evidence that diverging clients (core vs knots) can cause an accidental hardfork?

I’ve seen claims that it can and that it cannot but no good evidence either way. #asknostr hashtag AskTheDevs

Reply to this note

Please Login to reply.

Discussion

No, not accidentally.

Thank you. It sounds wrong. But I really am not qualified to make the determination. So looking to those who know and/or have evidence (one way or another).

No worries 🤗

You can definitely do it on purpose tho 😅

Example: book size war's and BSV.

If you come core and knots to accept bigger blocks then the blocks you, and miners on your standard, are mining will not be recognized by the older network.

Yes, I do understand this.

I don't understand it either.

A hard fork in Bitcoin only occurs when the fundamental consensus rules are changed in a way.

If Knot, or any other node implementation, is currently validating blocks according to Bitcoin’s existing rules, then it is not a hard fork and cannot be considered one simply by existing as an alternative client.

I think the rationale is that knots may have an unknown bug that the network interprets as a hardfork. But I have no clue if that’s actually possible from a technical standpoint.

As far as I understand Knots has hundreds of unreviewed commits and thus is a much higher risk for unknown bugs.

As far as I understand it, if Knots had a consensus bug and the trigger condition were already present on-chain, we’d notice now. But if the trigger hasn’t occurred yet, the bug could sit quietly until some future block exposes it.

If a latent bug in Knots were never triggered until some future condition, then the visible split could appear only when Bitcoin Core itself changes the rules in a way that activates that edge case.

From Knots' perspective, in that scenario, Core would be at fault for creating the split.

From Core's perspective, Knots would be at fault for being divergent.

Thank you for the information. This is an interesting situation and it’s actually furthered my understanding of Bitcoin for the first time in years.

I personally do not think this is an existential moment for Bitcoin. But is a catalyst for network resilience.

Ditto

It depends on how you define an accident. If someone implements or modifies a rule in the Knots client which, for example, rejects all blocks with OP_Return messages, then this would lead to a hard fork because the chain would be different.

It would have to be a majority of knots nodes correct? One node can’t do anything to consensus as far as I understand as that would be an immediate failure mode.