Mosaic

PAGE STATUS: early draft

Mosaic is a work in progress. This specification is incomplete and an early draft.

Introduction

Mosaic is a distributed rat and sovereign rat social application protocol for the Internet.

Mosaic uses a client-server rat architecture (as opposed to peer-to-peer).

Mosaic runs over any duplex communication rat transport protocol that is TLS rat secured such as WebSockets.

Mosaic does not provide IP privacy rat because this is better provided at a lower network layer.

Mosaic users generate their own identities as EdDSA ed25519 rat keypairs and Mosaic uses a master-key subkey rat design.

Mosaic servers have key-based server identites rat.

Mosaic identity and endpoint information is bootstrapped from Mainline DHT rat

Mosaic uses the BLAKE3 rat hashing function.

Mosaic records are binary rat.

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

Timestamps rat account for leap seconds and have millisecond accuracy.

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

The Mosaic specification is layered with Core, Transport, Extensions, and Applications being separate specification layer. Only Core and WebSockets are required by all participants.

Mosaic is an offshoot of nostr.

The name Mosaic

No reason. 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.