Explore the cryptography, consensus, execution, data, and application interfaces in the Dytallix reference architecture.
How a transaction moves through the stack
01
Authorize
A wallet or client signs the transaction with the configured signature algorithm.
02
Submit and agree
The client submits through an RPC interface. Peers exchange messages and validators agree on transaction order.
03
Execute and commit
Application rules and contract execution determine state changes. The node stores the committed state.
04
Inspect and verify
Applications query results. Records and state proofs support independent checks.
Cryptography
Post-quantum cryptography separates two tasks: establishing shared secrets and verifying signatures. The National Institute of Standards and Technology (NIST) defines these algorithms in Federal Information Processing Standards (FIPS).
Shared-secret establishment
ML-KEM · FIPS 203
Module-Lattice-Based Key-Encapsulation Mechanism (ML-KEM) establishes a shared secret over a public channel. Symmetric encryption then uses keys derived from that secret to protect the data carried by the session.
Module-Lattice-Based Digital Signature Algorithm (ML-DSA) authenticates signed data and detects changes. The architecture applies signatures to transaction authorization, validator messages, governance votes, and signed external records.
Technical details
Current browser wallet
ML-DSA-87
Node wire identifier
dilithium5
Standard parameter sets
ML-DSA-44, ML-DSA-65, ML-DSA-87
The browser wallet uses ML-DSA-87. The deployed node build enables the FIPS 204 verifier and maps its legacy dilithium5 identifier to ML-DSA-87. This describes the inspected wallet and testnet build, not every Dytallix product.
Stateless Hash-Based Digital Signature Algorithm (SLH-DSA) provides a signature family based on hash functions. It offers a different mathematical basis from the lattice-based ML-DSA family.
Technical details
Construction
Stateless hash-based signatures
Hash families
SHA-2 and SHAKE
Parameter choices
Security categories 1, 3, and 5, with size or speed variants
This is a standards reference. The current browser wallet uses ML-DSA, and this page does not list SLH-DSA as a supported testnet signing option.
Consensus establishes an agreed order for transactions. Networking carries messages between peers. Client interfaces connect applications to the node.
Validator agreement and block commitment
CometBFT
The reference stack uses CometBFT to coordinate validators and commit blocks. Its Application Blockchain Interface (ABCI++) separates the consensus engine from application processing. Post-quantum vote extensions carry signed validator attestations.
Technical details
Interface
ABCI++
Validator model
Bonded validator set
Fault assumption
Byzantine voting power must remain below one third
Peer discovery and message transport
libp2p
libp2p provides peer discovery, connection management, and message propagation. The reference design combines its transport stack with ML-KEM key establishment. Relays and hole punching help peers connect across network address translation (NAT).
Technical details
Transports
TCP, QUIC, and WebSocket
Discovery
mDNS and Kademlia distributed hash table
Message distribution
GossipSub publish-subscribe protocol
Application interfaces
gRPC and JSON-RPC
Remote procedure call (RPC) interfaces let applications submit transactions and query state. The reference stack provides gRPC for service integrations and JSON-RPC for browser and developer tools.
Technical details
gRPC
HTTP/2 with Protocol Buffers serialization
JSON-RPC
HTTP and WebSocket interfaces
Integration settings
Authentication, transport security, and subscriptions depend on the endpoint
Smart contract execution
Contracts define application logic. The runtime executes that logic under resource limits and must produce the same state changes on each validating node.
Contract execution format
WebAssembly
WebAssembly (WASM) provides the execution format for compiled contracts. Memory limits and instruction metering bound the resources a contract can consume. Gas records execution cost.
Technical details
Memory
Bounded linear memory
Resource accounting
Instruction-level gas metering
Consensus requirement
Deterministic execution across validators
Contract and tooling development
Rust
Rust is the primary language described for contract development. Its ownership and borrowing rules help prevent memory errors in safe Rust. Contracts compile to WebAssembly and can be tested before network deployment.
Technical details
Contract target
WebAssembly
Development checks
Native tests, compiler checks, and Clippy
Dependency review
cargo-audit
WebAssembly interpreter
Wasmi
The reference stack selects Wasmi for on-chain interpretation. Validators need consistent execution results across supported systems. Instruction metering and call-depth limits bound contract execution.
Technical details
Execution model
Interpretation
Resource controls
Gas, memory, and call depth
Integration requirement
Identical results for the same contract inputs and state
AI and external data
Artificial intelligence (AI) services run outside consensus. Oracle adapters deliver signed results to contracts. A valid signature identifies the source; it does not establish that a model result is correct.
Off-chain risk analysis
Python microservices
The reference design describes Aegis and other analysis services consuming transaction data, extracting features, and producing risk scores. Containerized services separate model computation from validator execution.
Technical details
Service framework
FastAPI with Uvicorn
Deployment
Docker containers and Kubernetes
Service model
Stateless workers with horizontal scaling
Model development and inference
TensorFlow and PyTorch
Machine-learning models produce risk scores, anomaly flags, and behavioral signals. The reference stack separates training from inference so model versions and serving environments can be managed independently.
Technical details
Training frameworks
TensorFlow and PyTorch
Inference
ONNX Runtime
Model records
MLflow version registry
Signed delivery to contracts
Oracle adapters
Adapters submit external results with an operator signature. Contracts check the signature, permitted source, and data freshness before using the result. This keeps external computation separate from the rules that accept its output.
Technical details
Signature family
ML-DSA, FIPS 204; parameter set depends on the adapter
Delivery
Push and pull models
Payload controls
CBOR encoding and configurable time to live
Storage and state
Node databases retain application state. Content-addressed storage holds larger payloads. Cryptographic proofs connect stored values to an agreed state without putting every underlying file on-chain.
Persistent node state
RocksDB
The reference stack uses RocksDB as an embedded key-value database for account balances, contract storage, and governance parameters. Its log-structured merge-tree organizes writes and compaction on local storage.
Technical details
Database model
Embedded key-value store
Compression
LZ4 and Zstandard
Read support
Bloom filters and snapshots
Storage for large payloads
IPFS and content addressing
The InterPlanetary File System (IPFS) identifies payloads by content identifier (CID). A retrieved object can be checked against its CID. Retention depends on pinning and storage arrangements; confidential content requires encryption.
Technical details
Objects
Encrypted documents, media, and audit artifacts
References
Content identifiers retained with proof records
Retrieval
HTTP gateways and Bitswap
Versioned state proofs
IAVL+ Merkle tree
A Merkle tree commits to data through a root hash. The IAVL+ structure described in the stack keeps versioned state so a client can check an individual value against a state root without downloading the full database.
Technical details
Structure
Immutable, versioned AVL tree
Hash
SHA-256
State history
Per-block versions with configurable pruning
Developer tooling
Command-line tools, a software development kit (SDK), and browser tools support development from local testing through transaction inspection.
Keys, transactions, and node operations
Dytallix CLI
The reference command-line interface, dytx, covers key generation, transaction signing, contract deployment, chain queries, and node management. Its command set and supported algorithms depend on the installed release.
Technical details
Implementation
Rust
Signing workflow
Offline signing described in the reference
Output formats
JSON, tables, and YAML
Contract development interfaces
Rust SDK
The dytallix-sdk reference describes contract entry points, typed storage, cross-contract calls, event emission, and signature verification helpers. A mock runtime supports local tests before deployment to a development network.
Technical details
Package
dytallix-sdk
Storage interfaces
TypedMap and TypedVec
Local testing
MockRuntime
Testnet access and inspection
Wallet, Explorer, and Faucet
The browser wallet creates session keys and signs testnet transfers. The Explorer shows network activity. The Faucet supplies test assets for development. Wallet keys stay in browser memory and are lost when the page reloads.
Technical details
Wallet signing
ML-DSA-87, FIPS 204
Explorer data
Network status, blocks, transactions, and validators