Noosphere Structures
Uses the application/vnd.subconsious+sphere
content type.
When you create a sphere, you get:
- a CID of the sphere you just made
- The sphere has an authority section that contains a delegated authorization for your device’s public key (critically, not tied to the mnemonic).
- a mnemonic (recovery code for a private key that we deleted whose public key that identifies the sphere. One of the headers in the Noosphere Memo contains a UCAN proof which contains the sphere identity)
The CIDs here point to a Version Map. These use a HAMT, which is really nice b/c we can fetch deep attributes w/o downloading lots of information given the determinism inherent in the data structure.
Fields:
- Address Book (CID which encodes a triplet [pet name => Noosphere Identity])
- Content (slug -> Noosphere Memo)
- Private (will eventually stuff required to do Noosphere private content)
- Noosphere Authority (CID: Who is allowed to write to this sphere. Eventually also who can read?)
When we make a new sphere, the UCAN is:
- issuer: sphere’s public key
- audience: device key
- capability: root authorize called
@sphere/root
- proofs: array of CIDs of other UCANs which prove this has the relevant authority to delegate
The whole payload is signed with the sphere’s private key which is then deleted.