Upcoming changes to reassign coins without corresponding private keys

According to nChain Chief Scientist Craig Wright, nChain is actively working on updating this software to allow users to “recover” lost or stolen coins without needing the corresponding private keys:

Could anyone please shed light on whether there are concrete plans to enable this coin “recovery” behavior, and if there are, when we can expect them?

This seems like a rather drastic change (“much more complex” according to Wright), so it’s in the best interest of anyone planning on forking this software to be aware of significant upcoming technical changes.

That sounds really weird.

I’m not at all sure, but hypothetically if you were charged with that task as a software developer how would you achieve it?

It strikes me that adherence to court orders is a sensible thing for the software to be capable of. Say if someone steals 1 Million BSV from you by breaking into your computer or brute forcing your online accounts, wouldn’t you like to be able to recover the funds via legal means?

Let’s think about it for a moment. All that would be required is to ask about 10 entities which produce blocks to break from normal script interpretation for a specific utxo (or set of utxos) such that they may be transferred to a new script in the control of the rightful owner, using a simple OP_TRUE unlocking script or similar. There would have to be a mechanism by which all of those miners would announce (perhaps via minerID) that they were locking a particular utxo or set of utxos, and referencing the court order as a file directly on the blockchain.

Doing this without a court order would be an extremely stupid thing for a miner to do, since they are de facto a publicly known entity which would have its assets seized for such flagrant malfeasance. Not to mention no other miners would have the incentive to comply. Since they would only comply with court orders there were able to verify themselves.

Which courts count? China? Antigua? Kenya? Who interprets whether a court order is valid for all of Bitcoin? The Bitcoin Association for BSV? Dan Connolly? Craig Wright?

Miners will need to decide if a court order is applicable to them, in much the same way as a bank would do.

in much the same way as a bank would do.

So there will potentially be ~200 different chains, one for each country? I’m also not sure how this is a valid comparison, given that banks are account-based and require identity, whereas Bitcoin is UTXO based and “participants can be anonymous” and “identities are not used” and “there is no reliance on identifying anyone” and “there’s no reliance on recourse”.

Miners will need to decide if a court order is applicable to them

Miners can already do this. Any miner can try to reassign coins without a valid signature corresponding to the scriptPubkey, or freeze the UTXO and issue a new coin from thin air. Obviously, these methods break the most fundamental protocol rules in Bitcoin, but I digress.

How would this be any different from the way it works currently? You’re just going to allow miners to hard fork during runtime? Or maybe you’ll do one hard fork to allow miners to mint whatever coins they want from thin air and ‘leave it to the law’ to see if other miners reject their “court orders” via soft forks?

Again, this is utterly unrelated to anything Satoshi ever talked about. Also, you yourself claimed the Bitcoin protocol wouldn’t change, yet this would undeniably be a protocol change by any metric.

How do you justify this?

As a second concern, the Bitcoin Association for BSV currently has a highly restrictive license that doesn’t allow anyone to use the node software unless it contains blocks with certain hashes and accepts blocks explicitly blessed by said Association. Wouldn’t this license allow the BSV Association to sue any miners who didn’t accept (and reject) the exact same set of court orders that the BSV Assocation accepts (and rejects)? They’d be the de facto central authority, contrary to Satoshi’s assertion that Bitcoin doesn’t have any central authority.

Finally, assuming that the BSV Association’s license forces miners in other jurisdictions to accept the court orders that the BSV Association deems valid, doesn’t that expose the miners to potential criminal charges for stealing coins in their home jurisdiction? This would effectively limit miners to only be safely able to operate in the same jurisdiction as the BSV Association. Is that the plan?

Update: BSV is moving to an even more centralized model. Now, a designated “Legal Entity” will be capable of interpreting “court orders or documents of comparable force” to force miners to freeze and unfreeze UTXOs.

As Satoshi said: [Bitcoin] is completely decentralized with no server or central authority.

Unfortunately, BSV has given up on that.

I suppose this is the news that Daniel Connolly was hiding.

The Legal Entity translates court documents into machine readable form. There can be many Legal Entities.

Legal Entities do not force anyone to do anything. They provide a service.

Miners can decide to implement a courts ruling using the service provided by one or more Legal Entities, or they may implement the ruling in some other way.

“Machine readable form” is incredibly ambiguous. Anything is potentially “machine readable”. Do you mean a standardized format? Will it be like an additional transaction format that will update locked UTXOs without a valid signature corresponding to the locked UTXO? Like a master key?

I find it very strange how close-to-the-vest this is being played. For something that drastically affects the security and functional model of how BSV works, the details are few and far between.

Finally, can you provide any justification for how this change doesn’t affect “the Bitcoin rules”?

That court document gives a timeline. I am sure that the documentation produced by BA, that will be released in the near future, will answer your questions.

Will it explain how it doesn’t affect the “Bitcoin rules”? You promised they wouldn’t change.

It would still be nice to get some clarification on exactly what’s meant by “the Bitcoin rules”. The BSV wiki isn’t very clear. For instance, it considers SCRIPT_VERIFY_SIGPUSHONLY to be a “mutable” rule, when it’s clearly not. It’s a consensus rule at minimum.

Steve Shadders, in a late 2019 video, says that “the Bitcoin rules” are the things that are immutable. However, that alone is unhelpful, as there’s no spec that tells you what’s immutable. It’s like saying that the banned substances are the things that aren’t allowed.

The “Genesis spec” also does not give an actual definition. It only gives a couple examples. It’s hardly a “spec” if it won’t even unambiguously define the immutable rules…

Will the “spec” be updated to include these currently-undefined rules or not?