Avatar
Daniel Wigton
75656740209960c74fe373e6943f8a21ab896889d8691276a60f86aadbc8f92a
Catholic stay at home father of 6. Interested in spaceflight, decentralized communication, salvation, math, twin primes, and everything else.

Nature seems to be ok with 20s, 30s, and 40s but any individual doesn't get a say in how long they will stay fertile. Start in your 20s and keep going for as long as your genes and ideas are worth propagating.

Replying to Avatar Sourcenode

What kind of social engineering data gathering is this?

Yes. It is more of a service maintaining VPN like connections between peers, managing keys, handling signing and encryption, permissions etc. But it also hosts a VM so applications can easily get access to those services without having to even know about them. For instance if I had the code for a native C program that just needed file access, I could compile it to the wasmtime-wasi target and all the data it processed would be available on all my machines.

For applications that need to communicate with other people there could be a simple API that gets you a stream reader/writer and you wouldn't need to know anything about the p2p network.

I am also toying with ideas to just make the service expose a native API so native applications can access it as well. That is harder to sand box though. With WASM you can be slightly more careless about installing some game your friends are all playing as long as there are careful guards about what contexts you give it access to.

The long con is getting some VM wasm or something else, that has the ability to run different pieces on different machines so you can get distributed compute as well as distributed data. Imagine immediately getting full power of your gaming rig on your laptop or even phone, with 0 configuration. Also being able to move between machines and have your running applications follow you.

Then extend to mutual agreements with friends. So much untapped idle horsepower. Muwahaha!!

Love it! This is the most obvious next step for browsers. I am not sure why it hasn't been pushed through by a big player. Probably because they are all oauth providers and the lock in is welcome.

Replying to Avatar Silberengel

I too am not a software developer. I am a complete hack trying to develop software. More of a diffusion model really. I make quasi-random changes to my file-system and hope that one day it will contain the software I want.

Monkeys at keyboards.

No. I don't plan on incorporating a browser. The wasi extensions allow more native behavior.

A browser is, however, an application that could use the VM. It would gain access to signing services so logins become a thing of the past. Like oauth without the dependencies on large providers like Google and GitHub.

Yes. I plan on storing them on my distributed file system, just a binary blob like everything else. We don't want a client server kind of thing. You "install" an application by signing a small notification sent by others in your network that is basically a little description card.

"App: HelloWord, Context:{cli_write}, ID:Som3H4sh, DecryptionKey:50meK3y"

You sign that and your VM creates keys needed for the contexts the the app needs access to. Then anywhere you try to run that program it downloads it and runs it. Keeping the binary local there after.

By the way. I didn't answer the main question! I am currently betting on webassembly with modified wasi extensions. That is actually the part I am coding now. I am making a VM service based on wasmtime so I can make cli applications that secretly run on the VM.

Because of the way I am handling communication all files exist as serialized->compressed->encrypted blob identified only by it's blake3 hash. Any info about them is handled by Notifications. Those are single packets of data saying what they are and signing permission to access.

The first use case will be simply communicating with myself. My computers will share notifications of what is available and they can decide whether to transfer the files between them right away or wait till wanted. I'll have to look at caching algorithms to fine-tune where things get stored. I can't just sync and deduplicate since devices may have differing storage capabilities and I'll have to pick what level of redundancy I want. It is very much a work in progress.

At least storing everything with its hash will make deduplication easy. I am just hoping I can get away with fewer than 32 bytes. I have to carefully revisit the security implications. Anything I can save on hash size is a performance win. Premature optimization ftw!

I might be misunderstanding the Solid protocol (Very likely). Also I mixed up Mastodon and Diaspora. In both cases, however, you are beholden to whoever runs your instance.

I agree, however, that we need a both strategy. I wouldn't get rid of the whole messy TLS/HTTP/TCP/IP + DNS stack. It is a nice way to authenticate and access widely available services. But it is a nightmare of lock in and for identity and personal data. I think we can use the current paradigm to bootstrap something that looks like a magic p2p network.

So, like you suggested, that is exactly what I am building for myself. It doesn't use Nostr and Solid, because I think they have missed the mark. I am probably wrong, but I have the ability if not so much the time, to give it a try.

The worst outcome will be that I end up with a unique way to sync my personal data across my computers at home that no one else uses.

I don't think Pods are the answer. If they were Mastodon would be everything we wanted. But instead you get quasi locked into someone else's fiefdom.

Nostr has the same issue with relays. It isn't as bad since switching relays is easier, but unless you are running your own you are still at the mercy of someone else's whims.

Whatever comes next needs to be invariant from user to user. At least as invariant as it can be with our network layer. The only logical variation is public addressability under IP. (Blue-tooth mesh networks etc being actually invariant.)

Invariant does not mean equal. Some users will have greater storage, processing power, bandwidth, and faster pings to their contacts. Everyone, however, should own their own data and make their own connections.

The only reasonable definition of "own" is "hosts" but that term has baggage eliciting visions of configuring virtual private servers or docker containers, port forwarding on cheap routers, and all manner of nerdy headaches that only invite attacks.

But all it really means is that your data is physically saved on your devices and can be requested from you by authorized contacts. It doesn't fundementally need to be an active hobby.

Imagine a simplified case with a truly invariant mesh network. Everyone beams neutrinos directly to their personal contacts only. Getting a hold of anyone else would be 5 hops or less. Each user can save their own data to their device and merely notify some people that a reasource is available. Signed permission to request the data. Any unpermissioned request just gets dropped immediately by the first contact you ask to forward the request.

It is an automatic web-of-trust that isolates spam at the point of origin rather than the destination. This allows little people to host from the apps they use without getting overwhelmed.

But we don't have a magic p2p network with the IP protocol. Thus whatever is next isn't how do we give up and find more complicated server-client relationships that protect the clients. It needs to be how do we beat IP into a magic p2p network that works for everyone?

This is the same mistake that Israel makes, assuming that the other side is solely driven by hate and that they can't be reasoned with. Terrorist is a convenient term that gets used to paint a group as someone who will keep committing atrocities until eliminated.

If both sides assume it of the other then there will not be peace. If you assume it of them then they are correct in assuming it of you. You declare that they must not be reasoned with, that makes you the unreasonable people they assume you to be.

This is simple logic. Your hatred is killing you. Their hatred is killing them. Knock it off!

"You shall love the Lord your God with all your heart, with all you mind, and with all your strength."

"Love your neighbor as your self."

"But who is my neighbor"

Then Jesus tells a story that is basically the roots of today's conflicts. The Good Samaritan. But now you are the protagonist, the Christian, the inheritors of the promise of Abraham through Jesus Christ and it is to you to Love the neighbor with the incomplete understanding of the truth.

Somewhat disagree. FOSS demonstrably has value. It isn't about what it costs, it is about what it enables. All the best things in life are free, not because they are worthless, but because they have become so essential as to become ubiquitous.

The rest of what you said is true though. You do need some kind of quality control and feedback loop. The trouble is that people will almost always select features over stability. That is true of both commercial and open source software. The only correction comes when you fail to retain users and the jump to the next shiny thing.

I'm mostly sad that I missed the AOE2 tournament that is now (as of this note) rumored to have happened.