namecoin / meta

General-Purpose Namecoin Repository
4 stars 3 forks source link

Softfork to bring value size limit in line with PUSHDATA size limit #78

Open JeremyRand opened 2 years ago

JeremyRand commented 2 years ago

Historically, there was a bug in the Namecoin consensus rules, where name values longer than the PUSHDATA size limit were accepted in name script validation. The result was that such values were accepted in name_anyupdate outputs, but the resulting outputs were unspendable, causing the name to get stuck until it expired. (I personally lost a name to this.)

We implemented a quick-and-dirty fix by making the Namecoin Core UI reject such values when creating name_anyupdate outputs. Unfortunately, this workaround creates extra work for 3rd-party wallets, as they must duplicate this check to make sure that they're not creating transactions that are, from the user's perspective, invalid.

I suggest that we roll into Taproot a softfork that lowers the value size limit down to the PUSHDATA size limit (520 bytes). This allows 3rd-party wallets to be confident that, as long as their produced transactions are accepted by the network, they will not result in accidental name destruction.

JeremyRand commented 2 years ago

@domob1812 Am I correct in understanding that lowering the value size limit is a softfork? Thoughts?

domob1812 commented 2 years ago

Yes, this is also my understanding. We can definitely bundle this with Taproot - I can work on a patch in a week or two.