Bitcrust is build using modular approach that makes it easy to write different components for different use cases. The wallet, the miner, the full and SPV node all use a the same storage back-end but can use different network behaviour optimized for their case.

Parallel verification

Blocks can be verified in parallel. If block processing takes a long time because it is made excessively heavy, for example due to quadratic hashing, Bitcrust can accept and verify an incoming lighter block in parallel and use that instead. This way the cost of creating heavy blocks is primarily imposed on the sender instead of the receiver.

Minimized peak load

The storage engine is optimized from ground up for xthin/compact-block synchronization. This ensures that when the majority of transactions are already synced, incoming blocks can be verified at minimal resources using order-validation only.

Reverse syncing

Due to the low cost of order validation, block connections are extremely fast. This makes it possible to reverse the synchronization of the chain without much additional overhead. That way the Node could become partially availble very quickly.

Efficient SPV node

The storage engine is written to handle both full node and SPV node use cases. SPV nodes can use the Merkle tree to run a node with very low resource requirements with only slightly reduced security.

Extensible indices

By using a concurrently accessable data store, Bitcrust allows external index engines to be added without much overhead. One such might be a map-reduce engine tuned to temporal blockchain data. This would allow for efficient custom queries for blockchain analysis and monitoring.