Architecture

Explore the cryptography, consensus, execution, data, and application interfaces in the Dytallix reference architecture.

How a transaction moves through the stack

  1. 01

    Authorize

    A wallet or client signs the transaction with the configured signature algorithm.

  2. 02

    Submit and agree

    The client submits through an RPC interface. Peers exchange messages and validators agree on transaction order.

  3. 03

    Execute and commit

    Application rules and contract execution determine state changes. The node stores the committed state.

  4. 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.

Technical details
Reference parameter
ML-KEM-1024
Standard parameter sets
ML-KEM-512, ML-KEM-768, ML-KEM-1024
Architecture role
Key establishment for protected peer connections
Read FIPS 203

Transaction and record signatures

ML-DSA · FIPS 204

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.

Read FIPS 204

Hash-based signature standard

SLH-DSA · FIPS 205

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.

Read FIPS 205

Consensus and networking

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
Test assets
No production value