Skip to content

Technical Facts

If you are seeking a quick answer to a technical question about Mosaic, this section may help you.

Mosaic is a distributed rat and sovereign rat social application base-layer specification for the Internet.

Mosaic is meant to be an underlying unopinionated layer. Your opinionated social media application rides on top. But we have to make some decisions at this layer, so we can't be entirely unopinionated.

Applications are specified separately, but register an application ID with Mosaic (or they just choose one randomly). Two applications are defined within this spec: Mosaic Core and Mosaic Social Media.

Whenever multiple options are available (such as transport), a core subset will be specified as required for compatibility.

Mosaic uses a client-server rat protocol architecture. Records are simply stored and retrieved on select servers, there is no routing. Mosaic is fully capable of peer-to-peer deployments by having servers optionally run by peers (e.g. self-hosting).

Mosaic does not provide IP privacy rat because this is an orthogonal concern that is easier to manage if it is decoupled from Mosaic and provided by a lower network layer, such as a VPN or Tor. But Mosaic should not interfere with IP privacy solutions.

Mosaic runs over any duplex communication rat transport protocol that is TLS rat secured such as QUIC rat or TLS over TCP, but requires WebSockets at a minimum for interoperability.

Mosaic users generate their own identities as digital signature cryptosystem keypairs and Mosaic uses a master-key subkey rat design.

Mosaic servers have EdDSA ed25519 rat key-based server identites rat.

Mosaic identity and endpoint information is bootstrapped from Mainline DHT rat.

Mosaic records are encoded in a binary rat format within the protocol messages themselves. So are filters and protocol messages.

Mosaic records are editable if the application layer wishes them to be, as all records have (and can be addressed by) a reusable address as well as a unique hash-based id.

Timestamps rat account for leap seconds, have nanosecond accuracy, and extend out to year 2262.

Clients and Servers remember the time that records are received rat.

Mosaic is an offshoot of nostr.

Mosaic uses the BLAKE3 rat hashing function.

The name Mosaic was not chosen for any particular reason. It is just a name, easy to remember and pronounce. A throwback to the old NCSA Mosaic browser I suppose. It is not an acronym. We always capitalize it even in the middle of a sentence.