TOKN architecture
TOKN uses Besu 26.8.1 with a pinned image digest, EVM native currency, and QBFT consensus. The chain identifier is 2026090601; the currency name and symbol are both TOKN, with 18 decimal places. The genesis configuration has zero base fee, a five-second target block period, 30,000 block epochs, a 20-second QBFT request timeout, and no block reward.
The compose stack contains these services:
| Service | Role | Exposure |
|---|---|---|
node | Besu validator, full sync mode, static peer list | HTTP RPC bound to loopback port 18545 |
gateway | Read RPC and raw-transaction relay, plus selected public files | HTTP bound to loopback port 18080 |
tor | Persistent onion service for gateway access | configured by docker/tor/torrc |
botsync | Sync runtime for the explicit public release | data under the project only |
toolbox | One-shot Node.js tooling container | no long-running service |
The gateway exposes a small allowlist of Ethereum, Net, Web3, and QBFT read methods plus eth_sendRawTransaction. It never receives signing keys. The client signs locally and submits a raw transaction through /rpc. /health reports chain ID, latest height, block hash, block age, and the current single-validator bootstrap stage.
contracts/WorkVault.sol is an owner-curated native-coin vault. A reward is bound to a nonzero receipt ID and a GPB identity hash. The first wallet bound to an identity becomes permanent; later rewards must use that wallet. A receipt can be paid only once. The contract enforces 10,000 TOKN per reward, 100,000 TOKN per UTC day, and 1,000,000 TOKN per identity. The bootstrap flag remains open until 50 contributors or 90 days; it is an event annotation and does not create free accounts or node rewards.
The model intentionally separates concerns: QBFT orders transactions, the curator evaluates useful work, and the vault enforces accounting constraints. Consensus cannot prove task quality, personhood, or that a GPB identity has one human/operator.
Trust boundaries
The initial validator, curator, genesis creation, and treasury are controlled by one operator. A second container or replica controlled by the same operator does not constitute independent decentralization. Future operators must use a distinct validator key, verify the exact genesis, and synchronize over the onion peer path before they are counted as independent.