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
The main open question is how to verify that the account details included with a public account are valid. The most problematic part of this is to verify account delta for existing accounts. Ideally, this should be happening in the RPC so that a proven transaction with malformed account delta would not make it into the block producer. But I'm not seeing an efficient way of doing this. So, the current approach is fine, but let's create an issue to figure out how to validate account delta more holistically.
How is this feature used?
Verify in RPC (in SubmitProvenTransaction endpoint).
Anything else?
No response
The text was updated successfully, but these errors were encountered:
The ideal solution for this would be to output hash of the delta from transaction proof. This way, the only thing the RPC endpoint would need to do is hash the delta and make sure that the hash matches the expected delta hash.
To support this, we'll need to modify the transaction kernel in miden-base. Specifically, we need 2 things:
As account is updated, we need to record the updates in some region of the kernel's memory. This may get tricky as we'd want to avoid recording duplicate updates (i.e., setting value of some storage slot twice, or even updating a storage slot and then reseting it to the original value).
In the epilogue of the transaction runtime, we'd need to compute the hash of the delta (only for public accounts). This should be pretty easy to do once the first point is implemented.
To whom is this feature for?
End user
Why is is this feature needed?
From @bobbinth:
How is this feature used?
Verify in RPC (in
SubmitProvenTransaction
endpoint).Anything else?
No response
The text was updated successfully, but these errors were encountered: