Expand description
§Shared primitives
The foundation layer the rest of the crate builds on: core identity and hash
newtypes, wire-format time and duration, the Blake3/Ed25519/ChaCha20 crypto
stack, the multi-algorithm proof-of-work chain and its parallel search engine,
hierarchical time buckets, compression, serde helpers, and the
runtime_services::RuntimeServices bundle that lets the same protocol code
run on native, WASM, and deterministic test environments.
Re-exports§
pub use bytes_gatherer::BytesGatherer;
Modules§
- anyhow_
asserts - This module provides a series of asserts that interact nicely with raising anyhow errors inside try blocks.
- buckets
- Hierarchical time buckets for post storage and discovery
- bytes_
gatherer - Scatter-gather buffer for zero-copy response assembly
- cert_
validation - Offline X.509 chain validation for
AnnounceV2proofs - client_
id - Stable client (user-account) identity on the network
- compression
- Versioned compression helpers
- config
- Protocol-wide constants
- decaying_
counter - Exponentially-decaying event counter
- encryption
- Password-based authenticated encryption with multi-recipient key wrapping
- hashing
- Blake3 hashing helpers
- hyper_
log_ log - Compact probabilistic cardinality estimation
- json
- Thin JSON (de)serialisation helpers
- keys
- Ed25519 keypair bundle with post-quantum commitment
- keys_
post_ quantum - Post-Quantum Cryptography resilience
- plain_
text_ post - Plain-text → hashiverse HTML conversion
- pow
- This crate provides a PoW mechanism that should be hugely expensive to reproduce on dedicated hardware. Given that Hashiverse is predominantly built upon proof of work, we want to put in some effort to make it difficult to cheat as a spammer or sybil using GPU or ASIC advantages. To this effect we cobble together a chain of different hashing algorithms with different repetition counts - all of which are pseudorandomly chosen based on the initial salt and each subsequent hashing round.
- pow_
generator - Proof-of-work search engine
- pow_
required_ estimator - Progress reporting and ETA estimation for long PoW searches
- runtime_
services - Shared environment bundle for all protocol participants
- server_
id - Server identity with proof-of-work birth certificate
- signing
- Ed25519 signing and verification helpers
- time
- Wire-format time and duration types
- time_
provider - Clock abstraction and test utilities
- tools
- Grab-bag of tiny cross-platform helpers
- types
- Core 32-byte newtypes and cryptographic primitive wrappers
- url_
preview - Open Graph / link-preview extraction