Acki Nacki Blockchain - Chain ID Specification

Author Mitja Goroshevsky
Discussions-To https://github.com/ChainAgnostic/namespaces/pull/XXX
Status Draft
Type Standard
Created 2026-04-07
Requires CAIP-2

CAIP-2

For context, see the CAIP-2 specification.

Introduction

Acki Nacki is a layer-1 blockchain identified by a global_id integer stored in every block header. Each network (mainnet, shellnet) has a unique global_id assigned at genesis.

Specification

Semantics

Each Acki Nacki network is uniquely identified by its global_id, a signed 32-bit integer present in every block. This value is fixed at genesis and remains constant for the lifetime of the network. The public mainnet (global_id = 0) and shellnet (global_id = 1) values are conventionally reserved; anyone bootstrapping a private Acki Nacki network selects their own global_id at genesis.

Syntax

The global_id is used directly as the CAIP-2 reference:

acknacki:<global_id>

The reference is the decimal string representation of global_id.

Validation regex:

acknacki:[-]?[0-9]{1,10}

Resolution Mechanics

The global_id can be retrieved from any block via the GraphQL API:

query {
  blocks(limit: 1) {
    global_id
  }
}

Mainnet endpoint: https://mainnet.ackinacki.org/graphql Shellnet endpoint: https://shellnet.ackinacki.org/graphql

Example response:

{
  "data": {
    "blocks": [
      { "global_id": 0 }
    ]
  }
}

The returned global_id value is the CAIP-2 reference for that network.

Rationale

Using global_id from the block header follows the same pattern as the tvm namespace (which uses the identical field for Everscale and TON). This provides a simple, deterministic, on-chain verifiable identifier that requires no external registry.

Verification and Trust Model

Because global_id is embedded in every block header, the resolution method above is protocol-level verifiable: a client can cross-check the value against multiple Block Keepers rather than trusting a single GraphQL endpoint. Acki Nacki is permissionless, so there is no central registry that can prevent two unrelated private networks from picking the same global_id; applications that need stronger guarantees should additionally fingerprint the chain (genesis block hash, well-known system contract addresses).

For outside observers requiring cryptographic assurance of the chain history itself, Acki Nacki includes a network-history proof system based on zero-knowledge proofs that lets an external verifier validate the chain’s witness without trusting any single node. The proof system is currently under test and is planned for activation on mainnet to harden the witness for light clients and cross-chain verifiers.

Backwards Compatibility

This is the initial specification. No legacy identifiers exist.

Test Cases

# Acki Nacki Mainnet (global_id = 0)
acknacki:0

# Acki Nacki Shellnet / Testnet (global_id = 1)
acknacki:1

References

Copyright and related rights waived via CC0.

Citation

Please cite this document as:

Mitja Goroshevsky, "namespaces/acknacki-caip2: Acki Nacki Blockchain - Chain ID Specification [DRAFT]," Chain Agnostic Namespaces, acknacki-caip2, April 2026 / . [Online serial]. Available: https://github.com/ChainAgnostic/namespaces/acknacki-caip2.md