-
Notifications
You must be signed in to change notification settings - Fork 660
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
consider removing salt from name preordering and registration #37
Comments
Realized that if we remove the salt, we could simplify the transactions by combining the register operation and the update operation. The operation would be interpreted as a registration + update (in Namecoin this is called a NAME_FIRSTUPDATE) if the name was unregistered and there was a valid preorder operation. It would be interpreted as a regular update if it was registered AND owned by the scriptPubKey of the sender. If we made this change, the new transaction formats of the operation types would be as follows: PreorderOutputs:
B. Register + UpdateOutputs:
C. TransferOutputs:
D. RenewalOutputs:
|
Meaning that they can't send transactions from the same BTC address? What if I want to own multiple names with one private key? Also, it's recommended, but I feel a lot of people would just ignore the recommendation and re-user public keys. |
|
This has been addressed by requiring a |
👍 |
Currently the preorder hash is calculated as follows:
hash(name + salt + scriptPubKey)
Matt Corallo points out that
hash(name + scriptPubKey)
is equivalent if the scriptPubKey has never been used before.This would simplify things AND would save us a bunch of space in the name registration transaction (about 16 bytes, I believe).
The only thing we'd have to do is make it clear that people shouldn't reuse pubkeys (they shouldn't be doing so anyway) unless they want to risk that someone will try to dictionary attack them.
The text was updated successfully, but these errors were encountered: