omg. OMG. **OMG!!!**

Okay I know this sounds like nonsense but oh my god! Captp + handoffs on three *independent* peers over tor onion services, with everyone chatting over goblin-chat!

Each user has their own address on the p2p network! *No* central server!

This is HUGE!

Follow

If it isn't obvious why this is huge, and I guess my post doesn't make it obvious:

This is a completely peer to peer, end to end encrypted chat system written in *250 lines of code*. @spritelyproject's Goblins abstracts away the network/cryptography elements for you.

Oh yeah, and if you're *still* not excited yet, let me explain this to you in other words.

Once this is out, the real fun thing begins...

A distributed, federated MUD.

No really. For real.

@cwebber Holy shit. The progress you've been making is so rapid. This is so incredibly exciting! 😃

@cwebber

yeah sure. nice proof of work, but

1. its still much easier for me to explain my mother how to use my matrix server

2. clearnet is by design more reliable than tor (1 known-good tcp/ip connection vs 3+ unknown connections in sequence)

3. clearnet is by design more performant than tor (1 known-good tcp/ip connection vs 3+ unknown connections in sequence)

@mk @cwebber clearly this wasn’t intended to demonstrate a use case for your mother

@codeforchaos @cwebber

"my mother" is a metaphor for regular non-techi people.

there is much more of them than us and if you want to make a change to privacy in the world, you have to build technology that they can use.

@mk @codeforchaos I have a pet peeve against the "mothers don't know how to compute" meme.

I happen to have a lot of programming friends who are also moms these days. I get frustrated on their behalf every time I hear this come up.

@cwebber @mk @codeforchaos One of my boomer relatives is a mother, and was also an application programmer and database administrator before retiring. She's not as savvy as some of the younger developers, but no one has ever had to fix her computer, nor will she let them try.

@cwebber @mk @codeforchaos Point is: age, gender, and number of children do not necessarily determine ability to use a computer.

Look at how many millennials and zoomers are "computer illiterate", where even mobile platforms are intimidating if they get outside their comfort zones.

@cwebber @mk @codeforchaos I am a programmer, taught by my mother, who was arguably second-gen if you count industrial robot control circuitry and looms, and my daughter who calls me mom will learn from me. So, thank you.

@cwebber @mk @codeforchaos (I also have a positively annoying time wasting my hours retraining on tech update that could have just kept the old standard shortcut keys.)

@mk @feonixrift @cwebber @codeforchaos

If we generalize the discussion at bit once more. Anyone who's willing to lower the barrier to entry to using, adopting, implementing and extending our #fediverse technology base for people from all walks in life and across our globe, is most welcome to join #SocialHub and participate in doing so.

There's tons of things to be done, between deepest tech levels and easy-to-use, unobtrusive experiences offered by fabulous apps :)

@cwebber I present my mother. She's capturing electrophysiological data from shrimp on the PDP-11.

@cwebber I was asked to present at a local symposium on the power of women in science, and further research turned up the fact that the PDP in the picture is not a PDP-11, but a PDP-12. The PDP-12 is a mash-up of a PDP-8 and a LINC (used for the analog to digital interface). The CPU is wire-wrapped, and can run machine instructions from either computer. Oh, and the experiment was probably on lizards, not shrimp.
cca.org/tech/rcs/pdp12.html

@cwebber @mk @codeforchaos That’s why I just use the phrase ‘normies’ instead, doesn’t discriminate.

@cwebber @mk @codeforchaos yeah i feel like this finally died during the zeros but the "explain it to your mom" attitude really bothered me back then too

my mom taught me how to use an ibm-3270 text editor for fortran. "explain it to my mom" always consists of me explaining what's *new* since then, nothing more

@mk @cwebber
yes I know what you meant, and I replied in kind

but you have to understand that a threat model varies from person to person. Most people will happily settle for Signal or iMessage since those provide e2ee and that's probably good enough for their needs.

e2e encrypted p2p chat over tor probably fits a more serious threat model, and those who qualify for such a threat model will absolutely learn the technical skills to stay safe.

Not to mention that most technical hurdles can be abstracted and polished away for the end user, e.g. if you just consider e2ee as such, it is a complex technical mechanism that comes with caveats, but in many programs those are clear enough and the program polished enough for general consumption.

But polish and general consumption aren't the focus of a proof of concept, as you are surely aware.

On a separate note, your objections look orthogonal to the stated design goals in OP, so they don't look too relevant.

@mk @cwebber and clearnet is by design easy to connect to --- except for the ?&!# NAT-traversal and unreachable ipv6-addresses (?!?) and strange port-blocking, and …

Connecting a p2p-network over Tor is *easier* than connecting over the clearnet.

And yes, that’s crazy.

@ArneBab @cwebber

thats why there so much server/client und less peer2peer services.

the trend is going towards federated services (mastrix/mastodon/peertube) based on server/client.

@mk @cwebber Yes. NAT really hurt peer-to-peer.

But I think the reason for more federation is rather that users don’t need to install anything. And creating something that can be installed cross-platform is pretty hard.

But at least the peer-to-peer part only needs to be solved once. If you have a programming language that solved the problem (similar to WebRTC, but maybe simpler: you only need the messages part), then peer-to-peer becomes much easier.

@mk @cwebber Also keep in mind that most working and debugged peer-to-peer software that was run on user-machines was killed: Skype was bought by Microsoft and the file sharing networks were destroyed with lawsuits.

@mk @ArneBab I know a thing or two about the trends of building federated services

@clerian
HOLD ON A SECOND!!

a Discworld MUD exists and I've just known about its existence?

Oh my!

@cwebber

@txusinho
Not only does it exist, it is also really gigantic. AnkhMorpork alone dwarfs most other MUDs :-)

@cwebber

@cwebber
Question. Is TOR necessary for the p2p end to end encryption?

Can it also work using federated networking (while still encrypted either end to end or end to server)?

I feel like I have so many questions but it's still not clear for me so that I can't actually formulate any.

For starters, I presume the TOR thingy is something like a plugin for your system? Can we use any other implementation, say... I2P, or maybe a different p2p network using kademlia DHT, or whatever?

@spritelyproject

@yuki @cwebber @spritelyproject I'm not sure if there's native transport layer encryption, but AFAIK you can swap Tor for any other network. Tor just happens to be the easiest way to make a computer accessible from the internet.

@yuki Hi! This is a good question and it's come up a bunch of times... it's a good one to answer!

No, Tor is not *required* for network communication in @spritelyproject. It just so happens that Tor Onion Services are an easy to use and set up p2p system that do NAT traversal, so they are the first one being demoed.

The "Machine Transport Communication Layer" is an abstracted interface, Tor is just one of many. You could use DNS + TLS or even carrier pigeons with encrypted microsd backpacks.

@cwebber
Ah, glad to know!

I've read a bit of the docs. Do you have any videos where you explain the actor model more thoroughly?

(I think this is where most people get confused because it sounds like arcane magic; it's a whole new paradigm - similar to what OOP or event-based programming were for old school programmers.)

I'd love to see a presentation where you explain your multi user chat from the API client viewpoint, and later you explain the basics of how you implement it over TOR or whatever.

@spritelyproject

@tychi @spritelyproject Not yet, sadly.

It could happen via a few paths, though (captp + agoric, spritely on Racket/Guile -> WASM, etc)

@cwebber @spritelyproject I'd be interested in helping to explore bridging that gap.

I've been working on a lightweight UI framework. Vanilla JS MVC style in < 200 lines that does what React+Redux does, but without any npm and such.

I know you're working on the underlying infrastructure for the Oasis, so I've been trying to tackle the front end for web, in addition to a lot of my other use cases.

This is a sample PR where I added support for Reddit: git.tychi.me/tychi/roam/pulls/

I'd imagine to interface with WASM in this paradigm, I'd call out similar to the `fetchPosts` function to getting reddit posts. Merge the latest chat messages into the state and it'll be available in the UI.

Embed the chat anyhere with like:

<goblins-chat id="some-id"></goblins-chat>

And that would render the UI from your screenshot.

I'm still in the early days, so documentation is lacking...

Sign in to participate in the conversation
Octodon

The social network of the future: No ads, no corporate surveillance, ethical design, and decentralization! Own your data with Mastodon!