This right here is the main thing that will never let any fully-decentralized system become mainstream. Two problems:
- Most people do want "middle-management". They don't want to deal with security risks, technical issues, understanding how the protocol works just to be able to share memes and score points with their social peers. All they want is to open their browser, see what their friends/peers are posting and be done with it.
- This trade-off between federated systems/giving up control does not exist. A federated system can degenerate into a fully-distributed graph. Those that want to keep full control over their system can easily do with a federated system: they just run their own instances.
Decentralized systems for social networks fail the Zawinski test and do not provide one single use-case that can not be done with a federated alternative. I fail to see any benefit of pushing it except for buzzword investors.
Is running your own instance hard? Then at best you’ll inevitably have some users who lack the know-how or time to set up their own instance. At worst, federated systems often link identity to home instance, so you can’t switch to a new instance without giving up your profile. Or they may even require other instances to have a human agree to federate with you, which is a big ask for a one-person instance.
Or is running your own instance easy? So easy that anyone can do it? Then there should be no disadvantage in bundle that into the client app so that everyone does do it. But now you have a decentralized system.
Yes, and those users will use managed services, something that the "principled" decentralized community (not your keys, not your money/not your identity/etc) is completely against and invariably leads to re-centralization of the system around market players that go to serve this market. Case in point: Github, Coinbase, MtGox, Signal, any of the big cloud providers...
> At worst, federated systems often link identity to home instance
Why? I can have a domain name and move email providers freely. Same for XMPP, Matrix, websites in general, etc. The identity part of the system can be separate from the service provider.
If anything, this idea is more of an argument against decentralized services. It is an all-or-nothing approach: do you want to run this service with your identity? Great, then you need to be responsible in managing the service and secure your identity.
> Or is running your own instance easy? So easy that anyone can do it?
There is no such thing. Nevermind the case for those simply can not control the hardware where they run their systems, UI/UX of decentralized systems is always an afterthought. Even something as "easy" as bittorrent requires so much of a learning curve that most people simply do not want to be bothered to learn.
Besides, it's not just "running". It's keeping it up. Paying for operational costs. Decentralized systems by definition need to be able to do everything by themselves. There is no way to achieve any kind of economies of scale.
Worst of all: it's not having any one to blame/be responsible for things when it breaks. Oh, you got scammed into downloading a keylogger: fuck you, you lost all of your keys. Oh, you "just" bought something with Bitcoin from a site that seemed legit, but they delivered a counterfeit product? "Consider it an lesson in how to look for things online"
What I am trying to say is that decentralization vs centralization should be considered as a continuous spectrum of choices and trade-offs that need to be made by users. Federated systems allow basically everyone to be whatever is best for them on this spectrum, while this "decentralize all the things!" and treating it as binary choice does little to non-technical users and basically guarantees they will be confined in the walled gardens.
In a fully decentralized network you can meet new people and moderate your own view of the world without putting any burden on others to adapt to what you want. Moderation can be done with a system like this: https://adecentralizedworld.com/2020/06/a-trust-and-moderati...
This really depends on the design. Email is "federated" but that doesn't require you to get anybody else to use your email server in order for you send or receive emails with them.
What I'd kind of like to see is a system that separates hosting and accounts from moderation.
So you have a host, like email, and a username on the host. Then you have a forum, which has operators/moderators (who are users), but the forum is host-independent. Maybe it only actually runs on a specific host at a given time, but the operators can move it without anybody noticing and anybody can use it regardless of who their own host is.
It makes it so you can be a forum operator without having to be a host.
I can run a single-user Mastodon instance and follow people from any other instance. They can follow me as well. I can send emails from my personal server to anyone on gmail, and vice-versa.
Where do I need to "attract other users" to my instance? It's quite the opposite!
With Mastadon if say I'm on another instance and the host of that instance blocks yours (because they don't agree with your politics or whatever) then won't I be unable to see your feed? I'd have to setup my own Mastadon instance to get around this? What if I'm not technically inclined enough to do this? Then I'm subject to the whims of the moderators of the instance.
What if I live in China and they block access to the biggest instances so I'm cut off from all the big communities and can't participate?
What if an instance of Mastadon crashes and the admins can't be bothered restoring it. As a user on that instance haven't you lost everything?
These are the problems decentralized networks are solving, being subject to the whims of other people.
First: Mastodon, with an "O".
Second: I already had this discussion before. This "blocking" of instances is something that is going on only on Mastodon, AFAIK, because most of the current members are conflating the idea of federation with tribes. They want to be insular at this point. This will change as soon as there are more people using ActivityPub like email or Matrix and stop associating the instances with the identities/ideologies of its members.
So, no. You won't have to "setup your Mastodon" instance to get around this. You can do it, but you also can just find a more professional hosting provider that is not managed by a fourteen year old or tweenagers that love to spout their love for diversity and yet can only tolerate any conversation that is exactly aligned with their existing preconceptions of their uniform peer group.
> What if I live in China and they block access to the biggest instances so I'm cut off from all the big communities and can't participate?
What if you live in China and they block the decentralized service altogether? What if they use the decentralized nature of the service and set up honeypots to find dissidents? "Decentralized" != "Private" != "Secure"
> What if an instance crashes (...) the admins can't be bothered restoring it.
If it is important to you, then (a) you run your own service or (b) you pay someone that actually cares about this. With a decentralized service, the only alternative you have is (a). Then not only you have to make this choice, but also everyone that you would like to join the network.
My point all along is that federated systems are already enough for those that do not "want to be subject to the whims of other people", while decentralized systems shut out those that don't care about it or would rather trust/delegate these concerns to someone else.
"Decentralized systems" bring no benefit that can't be had by federated systems and remove all sorts of free options from the potential users. It is limiting instead of liberating.
Perhaps I shouldn't have mentioned it, given that he retracted it on the grounds that too many people subverted the idea to justify all of bad practices related to social software.
Anyway, archive is your friend: https://web.archive.org/web/20050217051819/https://www.jwz.o...
Is Electron a hard dependency or is there a core lib that can be wrapped by the GUI framework of choice? And several hours of initial setup is pretty scary . Maybe providing a dev docker, snap or flatpak could get devs up and running much faster than that.
Other than that, I love the idea of a decentralized forum. If there are specs I'll have a look at them to see how the intricacies of operating something like is were solved.
We use Electron exclusively for GUI. The real app is a Go binary with a GRPC API. It’s all fully isolated, so if you don’t want to touch any Electron, you don’t have to. Use the API to build a CLI app, for example.
To be more specific, we have two Go binaries that we ship, one is the aether-backend that talks to the network, the other is the aether-frontend that compiles the content coming from the network into a social graph. Both are properly isolated and talk to each other only over declared GRPC APIs. I’ve tried very hard to keep it hackable that way.
0. https://www.npmjs.com/package/@grpc/grpc-js 1. https://developer.mozilla.org/en-US/docs/Web/API/Service_Wor...
That's a great architecture! I look forward to hacking on it when I have the time!
Would this work with Aether?
- Default mods, which are either the creator of the community or those that are assigned by that person
- Elected mods, mods which are chosen by the community. Election goes both ways, you can both be elected or impeached. For example, a default mod can be impeached by the election system, and that would render that mod a non-mod for you
- Mods you've personally chosen. Choosing someone to be a mod for you is your vote in the election.
So the system isn't 'enforcing' mods you haven't chosen onto you as a result of the elections. Elections only make the decision only if you haven't made a decision for that mod in either way — if you make a decision that is ironclad (for you, in your personal, local view), since nothing can override your personal vote for or against somebody. The more you vote in elections, the more you shape your own view of the universe.
The article is long, but what I can see there that is not implemented in Aether is the transitive property of trust, instead of having a vote which is binary, he seems to be advocating for a 0 to 100 trust, and the idea that trust of the people you trust means something to you. (Let me know if I got this wrong).
This is great in theory — and this was actually considered for implementation at one point. The issue isn't that it doesn't make sense but it is quite literally impossible to implement, since it makes it so that almost every trust decision made by someone on the network at some point in time affects almost all other entities, which leaves you with an almost entirely 'dirty' graph that you have to traverse in entirety and recompile.
This can be done on a centralised service since there is one graph to compile and everyone submits to it. However, in Aether, what we try to do is that we try to keep the graph compilation part on the user end, both because it's a P2P network, and also because custom graphs compiled on the client end is what allows the votes to be able to modify the graph structure itself. That sort of gradual outflow of trust across a social graph making decisions on what to show or not show for every single piece of content is an intense amount of computation to do for every new modification to the trust gradient.
From the benchmarks [1] of a simple naive JavaScript version is can recalculate one persons trust in a huge network in just a few ms. With partial updates when new ratings come in it could be done even faster.
1: https://github.com/adecentralizedworld/decentralized-trust-d...
It would seem very easy to just create a lot of accounts to vote or trigger impeachments (if that is a thing).
That said, there is still quite a bit of power in controlling the view of those who can't be bothered to make a decision, so we make it so that an election vote only counts after the user actually first posted in that community 2 weeks ago. So if there's a flood of new votes, the mods can temporarily suspend voting process.
Lastly, the elections are not mandatory for all communities, so if a community is created as a 'monarchy', for the lack of a better word, the elections are not applied by default. This makes it so that there is no incentive for mods to keep 'temporary suspension due to vote flood' state indefinitely, since they can just switch to monarchy if they want to do that.
Mind that in that case, the user can still make choices, or even enable elections - the only thing that would change is that the default user would not get election results applied to the default mods. But if that user wants, it can still enable elections and vote, and by enabling that it would get the election results applied — but due to his or her own explicit choice, not by default.
> You are the home server, so no one can control what you see. We call this user sovereignty
I’m wondering what I’d have to do to just bare minimum make sure no illegal content gets onto any hardware that I own. Just to use the obvious extreme example, I don’t want to see any illegal pornography, which in addition to not wanting to see I’d have to report to authorities, which I’d presumably have to explain the presence of, which I’m guessing worst case involves them confiscating my devices for some time. There’s a practical benefit to me in having some middle manager taking responsibility for making sure that never gets to my network.
However, this is actually the most common feature request we have right now, an ability to block certain communities from transmitting. We are converting the SFW list to a 'filter lists' feature, much like adblock filter lists. These lists can be whitelists or blacklists, and they will be able to control not just visibility, but also the receiving and transmittance of content as well.
So the expected behaviour is that if a community is in your blacklist, your computer will never fetch that content from that community by checking against its fingerprint. That should be helpful to solve this issue. We'll be providing a default whitelist as well.
Are you familiar with https://notabug.io/ ? IIRC this is decentralized.
I do think both decentralized and federated platforms can coexist just fine. They serve slightly different needs and both provide alternatives to the centralized platforms that pervade the Internet these days.
> Two people with two different mod lists for the same community can see drastically different communities
Reminds me of the 'sharding' idea in World of Warcraft. I'm really curious if you'll end up with issues of 'social dissonance' where your perception of a community differs drastically from someone else's because you literally see different content, and if that affects how people engage with the community.
Also, it seems like with user sovereignty and decentralization, that there will be various objectionable or even vile communities is inevitable, right? Is there a plan for how to deal with that, should Aether ever become popular enough to get more mainstream news attention? I imagine responding to tech blogs with, "yes, there are white supremacist sub-communities, but you don't have to see them if you don't want to" won't come across as a very satisfying answer from their perspective.
It's always irked me that most people seem to think that people with different politics to them shouldn't be allowed to communicate.
2. Wanting them to be banned from a particular platform isn't a general ban on communication. Private communities are under no obligation to tolerate the intolerant.
Personally, I don't object to this kind of power in principle, I just think that it is used in the wrong direction in the United States. Rather than being used to target and remove individuals who promote instability, it has been used to target and remove individuals who promote stability. Much of the United States now believes property destruction is acceptable if it achieves honorable ends.
No, they're completely the actions of private companies.
It turns out, private companies exist in a mostly-shared culture and often have similar ideas about how to behave. Currently -- thank god -- deplatforming blatant bigots is generally agreed upon as A Good Thing. No conspiracy here, just good sense.
> Rather than being used to target and remove individuals who promote instability, it has been used to target and remove individuals who promote stability.
Seriously? White supremacists are now "individuals who promote stability"?
> Much of the United States now believes property destruction is acceptable if it achieves honorable ends.
I mean, yeah, the US has always believed that. The country had basically two starting points, after all: stealing the natives' land, and then later on destroying property as part of a protest.
It currently is recognized as a good thing, but it wasn't before. Before the consensus was "I may disagree with what you say, but I'll defend to the death your right to say it." That said, a consensus cannot be defended simply because it has previously existed.
> Seriously? White supremacists are now "individuals who promote stability"?
I'm talking about people who opposed defunding the police. In a healthy society, people who supported defunding the police would have been fired from their jobs and sanctioned, but the opposite has happened. 'White supremacy' has been redefined to include fundamental state structures that are required for the functioning of society.
> I mean, yeah, the US has always believed that. The country had basically two starting points, after all: stealing the natives' land, and then later on destroying property as part of a protest.
The United States does not need to justify its existence. Almost every nation in existence today was formed on the backs of millions of deaths, and most of the natives died through communicable disease that was inevitably spread once any european landed on the North American shores. The only major mistakes the United States ever made were 1) allowing the establishment of slavery in North America and 2) trying to spread 'freedom and democracy' around the world.
Otherwise, the United States is responsible for almost all fundamental technology that the developed world employs and may (hopefully) be responsible for spreading human life to another planet. If the latter happens, then that alone justifies the sins of the United States.
If you want to "share your concerns", the place to do that is an op-ed, or a blog post, or twitter, or something. But it isn't journalism anymore.
Bigoted does not mean right-wing, objectionable, or things one disagrees with.
Bigoted means unwilling to change one's opinion. Which certainly applies to the hard left wing end of the spectrum just as much as it does to hard right.
Bigoted: obstinately or unreasonably attached to a belief, opinion, or faction, and intolerant towards other people's beliefs and practices.
If anything, so-called journalists using a platform to express 'concern' over things they disagree with is a better fit for the term. The job of a journalist is to report, not to preach their own brand of politics or dislikes or concerns.
On the contrary:
"""One who is strongly partial to one's own group, religion, race, or politics and is intolerant of those who differ."""
It applies very well to people intolerant of other groups, ethnicity or race.
Please refer to the Oxford dictionary definition if you're still confused.
> Definition of bigot
> : a person who is obstinately or intolerantly devoted to his or her own opinions and prejudices
> especially : one who regards or treats the members of a group (such as a racial or ethnic group) with hatred and intolerance
Or did you think obstinate devotion to opinions and prejudices only manifests in the the group of people you happen to disagree with?
I don't dispute that it's extraordinarily difficult to get people to change political opinions, especially on the fringes. That was never my contention, I made that pretty clear with the example of bigoted communities I chose being white supremacists. Not sure how you could misread that, unless you wanted to.
No, it's not just that. I don't understand why you're being intentionally obtuse here, other than that the framing helps your viewpoint if you can trick others into accepting it.
Words can have more than one definition. Yours isn't the one I was using, no matter you wish it was otherwise.
Again, since you apparently missed this the first time around, or intentionally ignored it:
> especially : one who regards or treats the members of a group (such as a racial or ethnic group) with hatred and intolerance
Always glad to see more eyeballs on the space, so I wish then the best. Here are a few differences I can see at the first glance:
- Aether is decentralised (as in torrent) this appears to be federated. That means Aether truly has no servers and every user is a peer, while federated means there are smaller ‘Reddits’ as servers that talk to each other.
- By proxy that means we can’t really have a web app unfortunately (working on it by the way of running a daemon on a raspberry pi) and they can - we need a native app running on your machine and seeding context to the network.
- By another proxy, this means Aether avoids the issue of having a ‘middle management’ in the form of the ownership of your home server that federated networks have. You are the home server, so no one can control what you see. We call this user sovereignty
- In Aether we have elections which elect mods based on popular vote and you control who is a mod, precisely because the ‘social compiler’ runs on your machine and allows you to compile it however you want. Two people with two different mod lists for the same community can see drastically different communities
- We have a mod audit log and have had it for a while - everyone’s mod actions are visible to everyone (this I think they also have)
- Lastly, we have made the decision to not monetise Aether itself and create a team communication app called Aether Pro, and monetise that. This creates a ‘Chinese wall’ between where we make our money and the P2P network, which means it’s a shield against drifting towards trying to make money from a social network. The code bases are separate but similar, so that also means work done on the Pro helps Aether as well. We have gotten some funding for the Pro, and we consider the P2P version a ‘marketing / goodwill expense’ in the context of that funding. That aligns us towards making sure Aether is long-term viable, well maintained and monetisation-free.
In contrast I think they’ve gotten money to work directly on this, which has both good and more hazardous sides. In summary, we opted for a long term structure that has less moral hazard (in my opinion, of course), in favour of a more stable app without a need for monetisation that has fewer, more stable releases.
For context, here's how a recent thread looks on my Aether client: https://i.imgur.com/45tXQEO.png