State Root
Ayrıca şöyle anılır state commitment, global state root
Origin:
composes, Merkle hash trees (1979) plus Ethereum's header-level state commitment (2014), not a Solidus invention. Solidus status:shipped, a literal field in every block header on the live testnet.
A state root is a single, short cryptographic hash that stands in for the entire state of a blockchain at one point in time, every account's balance, every DID's document, every issued credential, every validator's stake, all of it. It works because of a Merkle tree: every leaf (one account's data, say) is hashed, pairs of hashes are hashed together going up the tree, and the whole structure collapses into one root hash at the top. Change even a single byte anywhere in the underlying data and the root hash changes completely. That property is what makes a state root useful: a validator, a wallet, or an auditor can check "does this specific account balance really belong to this specific block?" by verifying a short Merkle proof against the root in that block's header, without downloading or trusting the entire dataset.
Where it comes from
Merkle trees themselves come from Ralph Merkle's 1979 patent on tree-based hash authentication, decades older than blockchains. Putting a state root directly into every block header, so a header alone proves a complete state snapshot rather than just the list of transactions in that block, was popularized by Ethereum's 2014 Yellow Paper. Solidus composes both ideas; the specific tree code is a from-scratch Rust implementation, not a fork of Ethereum's.
How Solidus computes it
Solidus's state is split into four separate Sparse Merkle Trees, accounts, DIDs, credentials, and validators, each with its own root. The block header's single state_root is then BLAKE3(accounts_root || dids_root || credentials_root || validators_root): a hash of the four sub-roots concatenated together. Column families that don't affect consensus-relevant state, credential secondary indexes, receipts, metadata, never enter this structure at all; they're stored separately and don't influence the root. This exact combining function is what runs on the live testnet today, and it's been preserved byte-for-byte as the reference definition inside Solidus's newer, not-yet-deployed execution engine, specifically so the two never silently diverge.
Check it yourself
solidus_getLatestBlock is a live, public JSON-RPC method on rpc.solidus.network, every block it returns carries a real state_root field you can inspect directly, no account or trust in Solidus's word required. The combining logic itself (global_state_root) is visible in source, in the public solidusnetwork/protocol repository's solidus-state crate, along with tests confirming the root changes if any one of the four sub-trees changes and stays identical for identical state.
Related terms: Nonce · Transaction Pool · Genesis Block · Merkle Tree · Sparse Merkle Tree · HotStuff
Nereden geliyor
Bunu başkası belirtti. Solidus bir araya getiriyor.
Committing to an entire dataset with one short hash via a Merkle tree goes back to Ralph Merkle's 1979 hash-tree patent. Putting that commitment, a "state root", into every block header, so any single header proves the complete state of every account at that point in the chain's history, was popularized by Ethereum's 2014 Yellow Paper (Gavin Wood). Solidus composes both ideas rather than inventing either; its own state commitment is a from-scratch Rust implementation, not a fork of Ethereum's trie code.
Bunu nasıl doğrularsınız
Bugün üretimde çalışıyor.
`solidus_getLatestBlock` (or `solidus_getBlock`) is a live public JSON-RPC method on rpc.solidus.network, every returned block header carries a literal `state_root` field, computable and checkable without trusting Solidus's account of it. The combining function is visible in source in the public solidusnetwork/protocol repository's `solidus-state` crate (`global_state_root`).