← neurons.me
Topic · Layer 2 of Digital Space Algebra

Two islands, one shared space.

A connection isn't a search. It's an intersection. The algebra behind how identities connect without a central authority that knows both.

Kernel: this.me 4.2.1 (npm) ⓘ

1 · Two islands

Each identity is its own island: a who and a secret derive a seed, the seed an identity hash. Claiming a namespace is a signed proof anyone can check, without learning the secret.

ana: · bob:
 
      

2 · An island keeps its secret

A secret scope narrows who can read a branch to its owner. Not a rule checked at a door: the branch is encrypted.

 
      

3 · A bridge for one reader (OR)

To share, ana wraps a content key to bob's public key. bob opens it; eve, holding a different key, cannot. One wrap per member is an OR audience.

 
      

4 · Copying is not reading (T ⊥ A)

ana's whole island can be copied to bob. The public part reads; the secret stays sealed, and the copy carries neither the value nor its key.

 
      

AND (XOR shares), minus and groups: in the v4.2.1 source, not exported by npm. See Audiences.

Kernel: this.me 4.2.1
OR / AND (XOR shares) / minus — implemented and tested in the 4.2.1 source; not exported by the npm 4.2.1 package.
From npm 4.2.1 — OR by wrapping one secret per recipient with ME.wrapSecretV1. Concept and status per implementation: Audiences.
group:name — partial (Cleaker roles only). surface[a+b] / audienceSeed and key distribution — not implemented.
import ME from "this.me"; // 4.2.1
const a = await ME.generateP256KeyPair(), b = await ME.generateP256KeyPair(), out = await ME.generateP256KeyPair();
const S = "content-key-123";
const Wa = await ME.wrapSecretV1({ secret: S, recipientPublicKey: a.publicKey, kid: "a", class: "identity-key" });
const Wb = await ME.wrapSecretV1({ secret: S, recipientPublicKey: b.publicKey, kid: "b", class: "identity-key" });
await ME.unwrapSecretV1(Wa, a.privateKey, "utf8");   // "content-key-123"
await ME.unwrapSecretV1(Wb, b.privateKey, "utf8");   // "content-key-123"
await ME.unwrapSecretV1(Wa, out.privateKey, "utf8"); // throws: OperationError