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
Bitcoin blockspace is limited to 4MB, necessitating research into more efficient state-diff mechanisms to achieve cheaper transactions. The goal is to optimize the way state diffs are posted on the Bitcoin network, potentially reducing transaction costs and improving scalability.
Currently we calculate state diff and prove this calculation in batch proofs.
Then we do a transformation, this tranansformation is not proved on the batch proofs rather will be done in lightclient proofs.
Since lightclient proofs have the historic data of all batch proofs. We can use this information to better transform state diffs.
What about adding some extra variants to AccountChanges to track common state pattern ?
We can have a Add/Sub state change which can hold a u8/VarInt as needed. Most nonce changes should hold in a u8 and balance changes should hold in less than u256.
If we want to further optimize for lowest state diff size, wonder if we could apply this to common contracts calls such as ERC20 balance changes, ERC721, etc
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
-
Bitcoin blockspace is limited to 4MB, necessitating research into more efficient state-diff mechanisms to achieve cheaper transactions. The goal is to optimize the way state diffs are posted on the Bitcoin network, potentially reducing transaction costs and improving scalability.
Currently we calculate state diff and prove this calculation in batch proofs.
Then we do a transformation, this tranansformation is not proved on the batch proofs rather will be done in lightclient proofs.
Since lightclient proofs have the historic data of all batch proofs. We can use this information to better transform state diffs.
We can research how zksync did it: https://docs.zksync.io/build/developer-reference/handling-pubdata-in-boojum
Beta Was this translation helpful? Give feedback.
All reactions