Skip to content

Latest commit

 

History

History
49 lines (32 loc) · 1.67 KB

README.md

File metadata and controls

49 lines (32 loc) · 1.67 KB

Bog5 Protocol

The 5th Bogbook protocol implementation.

Try it at https://bog5.deno.dev/

Please note the above link is not networked. For a fuller and networked version be sure to check out https://wiredove.net/

The Protocol

Bogbook has been thru a few iterations. For the fans, thanks for sticking with me. For the people who want standards, I solicit your feedback. And now, the protocol...

We send around sha256 hashes since we're using content-addressable storage for everything. First we request the hash that finds us a protocol message:

<ed25519 pubkey><ed25519 sig>

This opens to:

<unix timestamp><sha256 hash>

The timestamp is required since this is a social network. The sha256 hashlinks either locally or over the gossip network to a content message, which is Yaml file that contains everything else we need to make a post render while not duplicating too much of what we might have already such as avatar photos.

Everything in the protocol message is we need to sort and authenticate a feed. Everything in the content message is what we need to render a message.

Text content

A full post might look like this:

---
previous: sha256 hash previous protocol message
name: Ev
image: sha256 of image blob
edit: sha256 hash of edited protocol message
---
Content

This means you could in theory edit your name and/or image on a post! But we also want a record of what your name and image was on the original post, since it is a security issue with some actors on decentralized social networks if you allow publishers to change their name over their entire feed. Or, for example, in a hack it would be harder to rewrite history.


MIT