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 basic idea is to split the logic in this function (which is all executed on the state-dumper side today) into two parts: the state-dumper still identifies the state values and boundary nodes, but it does not create and traverse the trie at step 3 and 4. The receiver builds the trie from the values and boundary nodes and verifies the part.
The proposal is to send only the leaves and boundary nodes in the state part and building the rest of the trie on the receiver side. This would save from network/disk cost but will add to CPU cost on the receiver side.
Beneficiary
Node operators and nearcore. The difference between network savings versus CPU savings should still be experimented with.
Priority
Medium.
Contributing
Yes, I am interested
The text was updated successfully, but these errors were encountered:
Contact Details
No response
Feature Request
Today we split the state into parts when dumping and sending it to validators that need state sync.
Each part is a slice of the State trie that contains the part of the trie between two boundary keys.
This function implements the core logic for building this slice of the trie:
nearcore/core/store/src/trie/state_parts.rs
Line 178 in b025293
The basic idea is to split the logic in this function (which is all executed on the state-dumper side today) into two parts: the state-dumper still identifies the state values and boundary nodes, but it does not create and traverse the trie at step 3 and 4. The receiver builds the trie from the values and boundary nodes and verifies the part.
The proposal is to send only the leaves and boundary nodes in the state part and building the rest of the trie on the receiver side. This would save from network/disk cost but will add to CPU cost on the receiver side.
Beneficiary
Node operators and nearcore. The difference between network savings versus CPU savings should still be experimented with.
Priority
Contributing
The text was updated successfully, but these errors were encountered: