Replies: 3 comments 9 replies
-
I agree with the given proposition but have a few questions:
If we decide to do this we would want to release the update about blocks containing only hashes in the same testnet right? And that might take a little while because we still need to specify how we'd want to do it. Or is it okay to launch a testnet with just that part?
When you say that it is currently the case you're talking about deducing it from the signature right? We don't actually send a pubkey for every signed object do we?
What do you mean by until we unify op propagation? Isn't it until block content update? Also isn't having deterministic signatures for the genesis blocks only not an option? Do you not like it because you feel like it is more of an hotfix than an actual solution? |
Beta Was this translation helpful? Give feedback.
-
I agree with this proposal I'm currently working on changing the operation structure to always have those fields so I think we should synchronize on that |
Beta Was this translation helpful? Give feedback.
-
|
Beta Was this translation helpful? Give feedback.
-
RFC: Exclude signature from objectID computation
Current state
Signatures are taken into account when hashing blocks, ops, etc... to generate object IDs
we need to compute the hash of the signed contents to sign them, then another hash of the signed contents + signature in order to get the hash of the object
we absolutely need to make sure that signatures are not malleable, otherwise attackers could "clone" existing transactions by changing their signature in order to execute them multiple times under a new hash. I think we are currently INSECURE against this.
if the signatures are non-deterministic, how do we define genesis block hashes ?
Proposal
This RFC proposes removing signatures from the object ID computation process.
The main long term advantage of this proposal is that it decouples the architecture from the choice of signature scheme (no assumptions on malleability, determinism etc...), thus allowing us to update the signature algo more freely in the future. Less coupling = more maintainable code.
Short term proposal (to be discussed):
Beta Was this translation helpful? Give feedback.
All reactions