Should we use have a EIP191 like arbitrary bytes signatures #12761
Replies: 4 comments 3 replies
-
Also consider EIP-712 which prevents replay attacks and is widely supported in the Eth community. |
Beta Was this translation helpful? Give feedback.
-
Can we talk about who the user and consumer is of this data? What's it intended to be used for in a Filecoin context? Who/what are we catering for if we aim for EIP-191 compatibility? Would that smooth anyone's tooling||developer journey when transitioning between Ethereum and Filecoin, or is it just alignment for the sake of alignment? I'm unclear on all of these questions. |
Beta Was this translation helpful? Give feedback.
-
Standardisation is good, but this is not consensus-critical (as far as I understand! please correct me if I'm wrong), it's just something we want to say that tooling through the ecosystem should adopt. But the way to do that is an FRC and I can help push that along; what we want from it is eyes from all of the tool authors that are implicated so at least we don't have disagreement and then moving forward to change what exists currently has some rough consensus. I don't have an opinion on EIP-712, it seems like it might be a helpful additional-extra but not as important? It'd be particularly hard for CLI signing I imagine but maybe nice for a signing library like iso-filecoin? I don't really know how it would get used but it might be nice to get smart contract authors to weigh in on that part of it. So, an FRC is a lower-bar than a FIP, it's just an announcement that there is a standard and it would be good if you conform to it if you have anything to do with it. It should be a good way to discover disagreement.
So an FRC might just give a basic outline of the EIPs being referenced, why we in the Filecoin ecosystem should care, how our tooling should adapt to it, and considerations about backward compatibility or potential for breakage of what exists now (I'd like to know this myself!). Who are the users, how are they going to use this, why should we care about standardisation? |
Beta Was this translation helpful? Give feedback.
-
Thank you for facilitating this discussion, @hugomrdias! I’ve gained valuable insights from this thread. My Current Understanding and Questions:
Proposal for a Filecoin Request for Comments (FRC)I believe an FRC on best practices for message signing in the Filecoin ecosystem would be highly beneficial. Documenting the current practices used by different applications and coordinating these into a standardized approach would provide clarity and improve security, even if no immediate changes are made. |
Beta Was this translation helpful? Give feedback.
-
This is a follow up to this issue on the filecoin ledger repo.
The embedded Filecoin Ledger app has this
signRawBytes
method but its not really just raw signature likelotus wallet sign
it's more like EIP191:sign(blake2b256(CID(blake2b256("Filecoin Sign Bytes:\n" + len(message) + message)))))
Please ignore the extra CID in there for the purpose of this discussion 😄🙏🏼
This situation started the conversation about eips.ethereum.org/EIPS/eip-191 and if we should expose the raw signature method or just a safer EIP191 like signature.
EIP191 looks like:
\x19Ethereum Signed Message:\n
"0x19 <0x45 (E)> <thereum Signed Message:\n" + len(message)> "For Filecoin it may look like:
\x19Filecoin Signed Message:\n
"0x19 <0x46 (F)> <ilecoin Signed Message:\n" + len(message)> "Although theses prefix are Ethereum focused and specific to RLP and may not have the same effect to CBOR messages.
The last point is about FEVM which should probably follow strict EIP191 and not a "Filecoin EIP-191"
So to be discussed:
Changing the filecoin ledger app is a complex process and we need at least some buy in from people on this to move on with changes.
/cc @eshon @ribasushi @Stebalien @raulk @rvagg @magik6k
Beta Was this translation helpful? Give feedback.
All reactions