You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
In Textual, sign over the hash when bytes' length is > 32 (or some other number).
(initial idea from Aaron's value renderer draft)
Problem Definition
CosmWasm's msg to upload contract code in WASM byte can take up to 800KB in practice. That's difficult to sign on ledger:
memory constraints on nano s
too many screens to scroll
Proposal
For bytes field, when the length of the bytes is greater than a certain N, then we render the hash (sha256) of these bytes. I propose to choose N=32, so that the bytes value-rendered output is always at most 32 bytes (64 hex characters).
However, this makes the bytes value renderer NOT invertible anymore.
The text was updated successfully, but these errors were encountered:
This seems necessary for usability. Though it's not invertible, invertibility was always stronger than necessary - you just need to be sure that any (computationally plausible) modification of the transaction results in a modification of the rendering.
Are there any other transaction types that might have huge strings, or thousands of entries in a repeated field?
Summary
In Textual, sign over the hash when bytes' length is > 32 (or some other number).
(initial idea from Aaron's value renderer draft)
Problem Definition
CosmWasm's msg to upload contract code in WASM byte can take up to 800KB in practice. That's difficult to sign on ledger:
Proposal
For
bytes
field, when the length of the bytes is greater than a certainN
, then we render the hash (sha256) of these bytes. I propose to chooseN=32
, so that the bytes value-rendered output is always at most 32 bytes (64 hex characters).However, this makes the bytes value renderer NOT invertible anymore.
The text was updated successfully, but these errors were encountered: