Using goTenna for Scuttlebutt data exchange


#1

Scuttlebutt is an offline/distributed social network (/message relay service/database layer/etc) that works by having peers share updates to each other when on a shared local network. It seems to me that goTenna’s range, broadcast peer finding, and 24 hour transmission abilities would be an ideal network layer for sharing SSB updates.


https://staltz.com/an-off-grid-social-network.html
https://www.scuttlebutt.nz/


#2

I like it but I think we would need something more like “Scuttlebutt lite” on the Gotenna mesh network.

I think it would work like this. Text only information would go over the Gotenna mesh network however the more data intensive part would be passed in other ways.

Perhaps we could even use the information passed via “Scuttlebutt lite” to arrange adhoc transfers and advertise hubs where the data intensive exchanges could happen.


#3

@dametenshi I am really interested in this.
I agree with you, the goTenna Mesh network will be ideal for sharing SSB updates.
Are you a developer?


#4

@dametenshi I’m going over the various talks right now and they have some interesting concepts. I hope someone can put an implementation together using the Gotenna.

EDIT: There is some Android source code we can look at.


#5

Hi! :slight_smile:
I took a quick look at the data limits for goTenna meshes, and indeed they are quite limited. SSB data is (currently) always encoded in json, so we have some additional overhead that would make even text-only transmissions quite slow, that is, until we make optimised binary formats.


#6

@andrestaltz do you currently have plans to do this?


#7

+1 I would like to see this implemented.

Below is where my mind was going but I remembered the entries are encrypted. I think compression is the only route we have if we want to keep compatibility with the rest of the SSB community. I wonder is SSB already compressed? Are the entire messages encrypted as a whole or are is media encrypted separately? I have a lot to learn about SSB.

The JSON structure will most likely be repetitive. Particularly when transferring a specific persons journal. We could cache JSON models and give those identifiers. Then pass the identifier rather then the whole json model repeatedly. That should speed up large transfers a little.


#8

Hey Daniela. :slight_smile:
We’re not a company, so when I say “we”, it’s anyone in the community who volunteers to do it. Think of it as the W3C, anyone (from a company or not) can do something to help out. Currently we don’t have anyone actively working (as far as I know) on compression, but one of the milestones before that is getting the protocol documented thoroughly.

The community has some work-in-progress protocol docs here: https://vltf.org/scuttlebuttprotocolguide/index.html It’s preliminary, but already gives insight into the packet format, for instance.

SSB messages are not compressed, but they are end-to-end encrypted.