LatticeScan
← All news
registrymethod

Sealed commitments: registering an address without giving its key away

An address that has only ever received still hides its public key. Signing a message would reveal it. The registry now reads the address first and, for those, records only a fingerprint of the signature.

We found a flaw in our own registry this week, fixed it, and want to say plainly what it was.

The flaw

The registry asks a holder to sign a short statement with the key that controls their address. That signature is the proof, and the record is public so anyone can check it.

A Bitcoin signed message and an Ethereum signed message share a property: from the signature, anyone can work out the signer's public key. For an address that has already sent a transaction this changes nothing, because sending publishes the key anyway. But an address that has only ever received is different. Its key has never appeared anywhere. Only a hash of it is on-chain, and a quantum computer has nothing to work from. Had the owner of such an address registered it with us, the published signature would have given the key away. The registry would have turned a protected address into an exposed one.

Nobody had registered such an address. The registry was empty of them when we found this. It is closed now.

What changed

The registry reads your address on-chain before it gives you anything to sign, and there are now two paths.

If the address has sent a transaction, nothing is different. You sign, we verify, the record is public and anyone can check it today.

If the address has never sent, you get a sealed commitment. You sign the same statement in your own wallet. The page then works out the SHA-256 of the signature in your browser and sends only that, the seal. The signature never reaches us. The seal is recorded and stamped into Bitcoin like any other commitment, so the date is fixed. You keep the signature in a small claim file.

Later, when the address has spent and its key is public anyway, or on the day you need to prove the claim, you open the seal: you publish the signature, anyone can check that it matches the seal and that it proves control of the address, and the commitment counts from the day it was sealed.

If we cannot read the chain to tell which kind of address it is, we record nothing and ask you to try again.

What a seal is and is not

Nobody can check a sealed commitment until its owner opens it, and the registry says so wherever one is shown. Anyone can file a seal for any address. A false one gains nothing, because to open it you would need a valid signature whose hash was fixed before the signature could be made.

The rules are in Appendix A.5 of the specification. The registry is here.

Sources

Every claim links to the original document. We do not cite news outlets or aggregators.

ShareLinkedInXEmail

Comments

Leave a comment

You can comment anonymously. Email stays private.

Get the next one

We email you when we publish something new.