Analysis

Permanence without search is a warehouse

A short reading of a long article on sovereign semantic memory indexing. Instead of retelling its chapters we follow the thread its epigraph sets: survival and findability are two separate guarantees, bought separately. Everything else is about the price of the second one.

Two guarantees that keep getting mistaken for one

Immutable storage settles exactly one question: the record will outlive everyone and will not be rewritten. How to get it back out it does not settle at all — raw file storage is not fit for fast semantic search at sub-second latency, and the source concedes as much.

The scale of the problem is set by vectors, not files. Every thought session, every inter-agent transaction over IACP and every user request produces an embedding, a high-dimensional numerical cast of meaning. Millions of autonomous agents make them continuously, and by the end of February 2026 the growth of that stream is called a fundamental challenge in the article.

Where trust moves if you take an off-the-shelf database

Corporate vector databases such as Pinecone or Milvus solve the engineering half and create the political one. They are run by companies, exposed to sanctions, they log queries, and they are capable of tilting results in their owner's favour. For an agent asking a database about its own past the risk is stated briefly: it may be handed a censored version of itself.

The answer is called SMI — a peer-to-peer vector database spread across independent Memory nodes and stitched into the dDOM routing layer. Against semantic gaslighting, the slipping of a convenient past to an agent, three things work at once. Every subspace of vectors is replicated to five independent nodes and the query goes to all replicas simultaneously. The returned sets are compared against each other: a node whose results sit farther than a threshold in cosine similarity from the rest drops out of the consensus. For rigging a result the offender's stake goes to the pool of the honest ones.

Against the breeding of fake nodes there is a deposit: to hold Memory node status an operator locks stake in $GALATIN proportional to the volume of semantic space it takes on. No cheap way to mint identities remains.

A graph cut along meaning

The base layer is HNSW, a multi-level small-world graph for nearest neighbour search. Normally it lives whole in one server's memory; here it is cut semantically on top of a Kademlia DHT. The space is divided into regions and each region is pinned to an address range in dDOM. To store a memory block an agent computes its embedding `E ∈ ℝᴰ` with `D = 1536`, finds the shard whose vector centre is nearest, and hands the block to the nodes answerable for that shard.

Levels handed out by a logarithm

A vertex's height in the graph is drawn at random: `l = ⌊ -ln(uniform(0, 1)) · m_L ⌋`, where `m_L = 1 / ln(M)` and `M` caps the number of links. At the top there are few links and they are long, which allows jumps across large semantic distances; at the bottom they are dense and serve precise landing. Insertion runs downward: on every level from `l` to zero the new vertex is joined to its `M` nearest by bidirectional edges, and if a neighbour ends up with more than `M_max` links the surplus is pruned heuristically. Without that pruning the graph breaks into isolated islands and loses its logarithmic search complexity.

The shard account on Solana keeps little: an identifier, the centre coordinates, the operator, the count of indexed memories, the root hash of the file index in Arweave, and the size of the locked stake.

A distance you can put on the table

The main temptation for a storage node is not to search. Returning random or hand-picked files is cheaper than honestly walking the graph, and for anyone who wants to steer an agent's behaviour it is a lever besides. ZK-Distance closes the temptation with two assertions inside the proof `π_Q`. First: every distance `dᵢ = ‖Q − Rᵢ‖` was computed correctly. Second, much stronger: the shard index holds no vector nearer than the farthest of those returned.

The cosine form of the constraint reads `cos(θᵢ) = (Q · Rᵢ)/(‖Q‖ ‖Rᵢ‖) ≥ τ`, with `τ` the proximity threshold. Floating point is not deterministic on chain, so coordinates are brought to integers at a scale of `10⁹`, and the Groth16 scheme rests on three constraints: the difference `diffᵢ · 1 = q̄ᵢ − r̄ᵢ`, the sum of squares `Σᵢ diffᵢ² − sum_sq = 0`, and the root `d · d − sum_sq = 0`. Until the proof clears, the escrow does not open; if it fails, the node is penalised and its stake is burned.

Why fifteen hundred dimensions do not fit

A direct proof at full dimensionality would demand over a hundred thousand constraint gates per compared vector. Dimensionality is squeezed twice. A random projection through a Johnson-Lindenstrauss matrix drops `D = 1536` to `d = 128` while preserving relative distances to within `(1 ± ε)` and cutting circuit complexity by 90%. Locality-sensitive hashing turns real-valued vectors into binary codes, where Hamming distance is computed through XOR at a minimal constraint count.

What remembering costs

Search here is a paid operation, settled by the same canonical 5/5/15/7/3/65 router. Five per cent burns, five goes to the research fund of Maksim Valentinovich Galatin, 15/7/3 reach ambassadors on three levels. The remaining 65% is spread over four destinations at once: paying for computation and the hosting of HNSW shards, a reserve for long-term storage of new blocks in Arweave, incentives for ZK-Distance validators, and liquidity pools for those who contributed data for training.

Inside that share the proportion is stated outright: half of the 65% sits in long escrow accounts and pays automatically for permanent storage, while the other half goes to operators for renting out their capacity. Put plainly, half the price of a query is not work at all but a future place on the shelf.

The price of a query is not fixed. It assembles from the formula `P_query = P_base · (1 + α · N_active_queries / N_total_nodes) · (1 + β · U_storage)`, where the base rate is set by the DAO and the two multipliers catch current network load and the average fill of the shards. Nodes answer a published query with bids of their own, and the agent chooses on price, latency and reputation together.

To store is not to remember. The one who remembers is the one who can find.— Koan #25, Maksim Valentinovich Galatin

What the devnet showed

The wording in the article is careful: these are target figures from a simulation on the test network as of 26 February 2026. An index of 10,000,000 vectors at dimension 1536; 85 milliseconds of latency to return the ten nearest; Recall@10 accuracy of 98.4% against a local exact scan; proof assembly of 1.2 seconds on a node with an Nvidia H100; on-chain verification at 185,000 compute units.

Behaviour under load is laid out by the number of parallel queries. Ten threads give 12 ms and 830 queries per second at 99.1% accuracy. A hundred, 24 ms and 4,160 per second at 98.8%. A thousand, 45 ms and 22,200 at 98.4%. Ten thousand, the very same 85 ms and 117,600 per second, with accuracy sliding to 98.1%.

The week of trials is written out day by day. On 20 February fifty Memory nodes were deployed in Germany, Finland, the United States and Singapore, and the global routing table was raised. On 22 February two million vectors were loaded; building the HNSW shards took twelve minutes per node on average. On 24 February a Sybil attack was simulated: a dozen fake nodes tried to push distorted results and, as stated, in those tests every forged answer was blocked and 500,000 $GALATIN of the offenders' stake was burned. On 26 February Solana Devnet was wired in.

What stays open

The article's strongest claim sits outside the devnet. Forced deletion is declared impossible on three grounds: shard contents are encrypted, and without a session key a regulator cannot establish what a given vector encodes; there is no single legal entity to serve an order on; and if servers are seized in one country, dDOM restores the replicas from Arweave onto nodes in other jurisdictions. That is a property of the design rather than the result of a measurement, and it is not the kind of thing a load test settles.

The spring 2026 roadmap has three items: March, full integration with payment gateways and the switch to Query Market dynamic pricing; April, regenerative storage in which neighbouring replicas restore an offline node themselves with a proof of recovery; May, cross-chain bridges for Ethereum and Cosmos agents. A discrepancy inside the material is worth noting here: a separate section describes cross-chain queries from EVM rollups and over IBC as an option already open at the end of February, while the roadmap puts those bridges in May.

The practical conclusion for a permanent memory service is simple and inconvenient. Survival and findability are paid for separately: the first with a place in immutable storage, the second with a node's computation and with proof that it walked the graph honestly. The half of the fee that goes into the storage reserve is the price of the first; ZK-Distance is the price of the second.

The original

The full piece is a twenty-two-minute read: a comparison table of vector databases, a TypeScript walk across an HNSW layer with the Rust graph structures, an Anchor program registering the verification key, the complete smart contract that prices a query, the distance verification scheme, and the cross-chain route end to end.