State Flow & Snapshots — Rutile Weekly #5

Franklin Waller
Rutile
Published in
2 min readJul 8, 2019

🌊 State Flow

Last week we talked a bit about our efforts of State Flow. A way of allowing multiple requests to be handled in the DAG. We’ve continued on the development of this and have currently a working version. It does this by searching for the latest block that was using the same address (And uses the cumulative weight to decide between branches). And attaches the block that previous block, creating a chain. This creates a “flow” where the state is being put through. The latest block receives a Merkle tree root as it’s input which allows the node to validate the state and continue upon it.

Currently, this only works with only one transaction inside the block. But we are working hard to allow the block to be filled infinitely (Till it reached the gas limit).

📝 Snapshots

Every time a transaction is sent it goes through the DAG to validate other transactions in order to attach itself. Even when transactions where already walked upon, they still have to validate the same transaction. You can imagine that this process gets slow after a while. In order to prevent this, we want to introduce snapshots.

Snapshots allow nodes to pinpoint a valid transaction and prune the older transactions it already walked on. This prevents nodes from walking on old transactions that were already validated. Nodes can decide for them selfs how frequent a snapshot is created (Or if they want to at all). We do however recommend to only create snapshots on milestones. This makes sure the transaction is not a double spend.

We are currently working on snapshots to work together with State Flow.

Wrap up

Hope you liked this week's new letter! Always feel free to ask any questions about this weeks news.

See you next week!

--

--

Franklin Waller
Rutile
Editor for

Founder of Rutile, a fee-less decentralized application platform https://rutile.io/