I’m here to answer any questions as usual. I’ll pick the best and try to add it to the FAQ on the site.
Can you track how many people installed it, now that it is on HN?
You say it puts everyone on "one single universe with the same content". So it should be easy to put up an instance that provides a web interface to the content, right?
I would think that posting via the browser should also be possible without relying on a single server / authority. A user could hold a private key which they use to sign their posts. And then deliver the post via any server that offers an interface for it. Similar to how a Bitcoin transaction can be delivered via any server that offers such a service.
So it would still be decentralized but can be used via the browser.
Yes it would be easy - that would just be an another node that showed it’s read-only UI on the web. (You still need to mint proofs of work, so you would need an actual computer for posting.)
* The FAQs say that the app is a p2p based app. What is the p2p protocol being used here? * How does it compare to libp2p, SSB, and others? * What's the security model, and how would the system mitigate Sybil attacks etc?
Are there any plans to have mobile apps (preferable native)? I think if people could use it on their mobile phones, it would be a game changer.
> The FAQs say that the app is a p2p based app. What is the p2p protocol being used here? * How does it compare to libp2p, SSB, and others? * What's the security model, and how would the system mitigate Sybil attacks etc?
It's built from scratch. It runs c0 subprotocol of Mim. You can see some basic comparisons here: https://getaether.net/docs/how_is_it_different_from/
Other questions - all good questions, but it depends on what your definition of security model is. Sybil attacks are prevented by cryptographic signatures and proof of work. Unique names are available to provide a good human-friendly polish over cryptographic signatures, as well.
> Are there any plans to have mobile apps (preferable native)? I think if people could use it on their mobile phones, it would be a game changer.
Yes, I would _love_ to have mobile apps. The system supports it, but I don't have the money to spend the time building them, or to pay someone to build them. In essence, it depends on how popular the project gets - if enough people support it financially, it would certainly be a first priority.
edit: oops, just found this https://meta.getaether.net/t/how-to-use-aether-behind-tor/53
(backed on patreon btw)
c.f. aether://board/86e782e80681ac580b4d6d102b12e787c066e59f194fee57bb0bf83cc1e42fc6/thread/4932c494227ccd4f632c2ace1012f58fd79d0d531b2dcd148463491598c841d8
Also, does the proof-of-work scale, eg how the bitcoin network gets harder and harder as the hashing power increases.
How does the unique username perk for patrons work? Does it mean that people can still create "normal"-coloured usernames, but there can only be one orange "verified" one?
Pseudonymity and ephemerality are the two sides of the same coin. One doesn’t protect without the other.
The privacy thing is free marketing that came out of that constraint.
This is really a good marketing move tbh. Everybody wants privacy and nobody understands what it technically means.
For now, though, since nobody else in this thread has mentioned it, I'm going to be that guy – sorry:
I wish it weren't Electron. I don't really expect it not to be; I realize your development resources are limited, and that it's the easiest way to make a cross-platform application, which is a must for a social network. Still, having to deal with a non-native UI makes it harder to truly enjoy using the app. Also, if it uses as much memory as Electron apps typically do, I'm going to want to quit it when it's not actively in use – but apparently Aether really wants to stay running in the background so it can continue to synchronize posts. (Is there a way to close the client but keep the backend running?)
The backend is its own process, you could definitely find the binary in the application package and run it on its own — it's not bound to Electron in any other way. Electron is just the client, the frontend graph compiler, and the backend are two separate binaries that communicate with each other over gRPC. That means you could run any of these independently, as well. [0] The client is Electron, but nothing except the UI happens in JS, everything happens in the frontend and the backend, and they're both tiny, fast, native-compiled Go apps. My backend, for example, is 4.8mb, frontend I think is 6mb. The rest of the size of the app (70mb) is just Electron, its dependencies, and the whole enchilada that comes with it. I'm not happy about it either.
For better or worse, though, since the JS part of the app is nothing but its 'skin', it's as memory efficient as Electron apps get. No real processing happens in JS, it's all Go.
[0] That said, it's not something I support right now, because if you ran the backend separately and then started the app, you'd effectively be running two backends. There is not yet a way to tell the app package that it should connect to an existing backend running locally instead of starting one.
I actually couldn’t tell. I don’t remember anymore if I tried playing a game or not, so that might have been noticeable. But my VMs and browsers and several emacs’ connected to several clojure repls didn’t even hiccup.
The fans ran high and the computer was hot, but otherwise it just wasn’t a thing.
Is it that different on windows or Linux? At work windows is abysmal, even with an ssd, but I blame all the antivirus and corporate spyware.
—-
I do marvel at app binary sizes, just because my floppy disks used to hold jus 144k. I did a hello world in Haskell this morning and it was a meg or two. Hello world could fit on a floppy from the //e era. That’s something.
If these are public communities that anyone can join pseudonymously (are they?) how does Aether prevent Sybil attacks, where a malicious actor joins a community using multiple identities and votes themselves into power?
Also, spam?
For Sybils, that’s something I’ve considered. I’m thinking of making voting eligibility a trailing indicator where it tracks past activity to be considered a ‘citizen’ of that community, and allowing the mod team to temporaily lock down the community if they see such a thing happening.
Unless you made your proof of work really hard, but then not a lot of people can participate.
What you need is a participation treshold to be hit before someone can vote. Kind of like HN limits your downvote until a certain karma threshold.
[0] https://www.reddit.com/r/ethtrader/comments/9tm60s/governanc...
Social networks like Secure Scuttlebutt prevents this type of attack by syncing only data within social trust circles. So spammers and bots can vote up each other all they want, but their actions will not be visible outside of their little island unless someone explicitly "friends" one of them. Aether, being a global view of unpartitioned data, has a more difficult time tackling this type of attack, and its proof-of-work minting of user actions seem like a reasonable approach.
Even if "impeaching mods through votes" is unpractical, subscribing to an unmoderated view of the forum on your own accord is brilliant!
I wonder, what happens if, going a step further, there are different moderation teams working on the same comment stream, and readers could flip between them at will? If you ever wondered what the other side was thinking, you could flip views and experience it.
Of course, you still need some absolute site rules to cover doxxing and illegalities.
It already has that. :)
That is the whole point of moderation - you can choose who you want to be moderated by. (It’s on a per mod basis for now, though, but per mod team is a good idea. Thanks for the feature request!)
> Aether is a product of Burak Nehbit (@nehbit). You can reach out at burak at getaether dot net.
> Burak Nehbit
> Burak is an ex-Google, ex-Facebook product designer and engineer. He specialises in end-to-end product experience, from product, UX, to API (developer) experience. He is an expert in the fields of distributed networks and monetisation (e.g: prior jobs at YouTube and Facebook).
> He was also the part of the team that built the next generation, material design AdWords at Google. (e.g: complex data visualisation, dashboards).
> He is available for consulting as a full-stack designer and engineer in distributed networks space. He lives in San Francisco.
> How long does it take for a post to reach the most of the network?
> [...] Long answer [...]
> [...] In fact, it’s a little larger than one request in a minute, because some nodes are behind restrictive firewalls and NATs, and they cannot be reached, they can only make requests out.
Regardless of the actual FAQ discussed here, the statement is made that "some" nodes are behind NAT's, implying that most will not be behind NAT's. Living in the Netherlands, I'm not sure about countries overseas in the Americas, but here I'd wager >99% of normal household PC's will be behind a router implementing NAT. This makes actual peer-to-peer communication nigh impossible here, and I'm always doubtful about nice peer-to-peer solutions that claim to be cool and such but sneakily have the ever-present requirement that you have a public IP address. I don't. Nobody I know does, except for VPS's and so forth. But I generally don't run a graphical client on my VPS.
Of course, theoretically, this should be solved by IPv6. But really I wouldn't know how to start using that, and whether my provider has all the hardware and software in place to actually have this work. (And whether my provider-issued router supports it, as well.)
Can anyone chime in on how the situation regarding NAT's is in the Americas? And does anyone have a good source on how to get started with IPv6 communication between peers, when I don't even know the stuff I mentioned above?
EDIT: I see that Aether has/seems to have the option to work around this problem by allowing one to run the backend (the thing that actually connects to the peer-to-peer network) on a different machine than the client. That would enable using a VPS to run the backend.
That is just a weird turn of phrase on my part, will fix it. What I mean is:
because some nodes are behind restrictive firewalls and [restrictive] NATs.
In other words, most NATs work fine. Even if they don’t work fine, it has a process called a ‘reverse open’ where the inbound connection is requested by the receiving remote and the remote ‘captures’ and uses the same TCP socket.
Even if that doesn’t work, as you’ve discovered, you can run the backend Ona VPS.
My NAT is apparently a restrictive one, since I've got "Mapping failed, no router, or router uncooperative" as my port mapping status. But as you predicted, I've indeed got some inbound connections, so yay.
Also note that IPv6 alone does not help because the recommended way to deploy it is to have firewalls in CPEs that block incoming connections by default, so applications still have to request the port to be opened, using the same protocols as for v4 NAT.
I feel like a feature to blacklist actual storage and distribution of a particular post by fingerprint is going to be needed, because I'm not cool with simply not rendering child porn or someone's banking details if I'm still storing it for 6 months, and transmitting that info for two weeks.
But yes - for the very small, but not nonexistent case where a text itself can be not kosher, this is something that needs to be built in. It’s on my list.
There are limitations and this approach might not be feasible for this application.
Not possible. Either source IP's are in communication, meaning you know the active posters IP, or the content is being proxied from a centralized server.
I hate Discords lies in saying they won't sell user data, but at the least they know the real danger of how IP's are infact all that's needed to call a swatt team down to kill someone in the U.S.
If you want to build an actual private conscious platform you will have to do something like FreeNode where people can make their own 'servers' for free, but also make their own actual servers if they want to.
Delivery IP is not the creation IP.
IP's delivering the content are liable for what they spread. Using client IP's to distribute data like a proxy only shifts the burden onto the clients themselves.
These are all problems that should be gone over in detail on Aethers site, and should have been the main problem to tackle in its protocol.
Which of these is true of a P2P network of Tor hidden services?
e.g. https://ricochet.im/ is P2P chat that uses Tor hidden services. It neither has centralised servers nor leaks IP addresses.
Due to the usage of lots of servers the source IP is not easy to get and associate with any specific content. However if you control a relay and exit node, and data passes through those, you can put the dots together.(1) If a platform uses TLS you probably can't track though.
This is true of any server that proxies requests.
1. https://blog.torproject.org/one-cell-enough-break-tors-anony...
$ sudo mkdir /mnt/aether
$ sudo mount -t squashfs <downloaded.snap> /mnt/aether
$ /mnt/aether/aether
Actually don’t load anything from third parties. It’s a complete turn off.
Inbounds conns. in last 15m 0
Last inbound Unknown
Outbound conns. in last 15m 0
Last outbound Unknown
Last outbound duration Unknown
The dev should be upfront about it even when the prerelease versions are being used.
Tell us what those "anonymous metrics" are for instance.
Is the communication between nodes encrypted or transported over SSL?
That said, I really, really appreciate the native client here and I'm excited to try it out.
This invites tyranny of the majority. Which will mean for certain topics where the community dislikes open discussion and questioning of ideas, divisiveness will grow because bad ideas can not be effectively challenged.
On the other hand, I've been in several communities where the mods had a clear agenda and the participants were helpless to change it.
I'd personally rather the people who are hostile to new ideas or critical thinking have their own communities and that their ability to harm other communities can be mitigated by a moderation system accountable to the users.
I do think there needs to be serious discussion about how to make communities that are good for people. The echo chamber and polarization effects tend to contract people into a smaller worldview. How to have a cohesive community that doesn't do that is essentially an unsolved problem in the social sciences.
Especially want to zero in on this:
>I'd personally rather the people who are hostile to new ideas or critical thinking have their own communities
A fact that you don't seem to have in your mind here is that often those people are the majority.
So you'll have majorities voting in mods who are hostile to new ideas and critical thinking.
With this platform we still get lock-in of polarized thinking and echo chambers.
I’m a feminist for example, but I’m no longer welcome in mainstream feminist subreddits, so I subscribe to various more-specific-feminism subbreddits, and explicitly debate friendly ones.
While it may seem to reduce short term conflict, it exacerbates the effect of many of us living in ever-more-impervious bubbles. Which could lead to larger problems down the road as people's shared understandings about reality diverge even more.
bee@blackandyellow:~/Downloads$ snap install --dangerous --devmode Aether-2.0.0-dev.5+1811030036.53a6bb49.snap
2018-11-03T11:59:53-04:00 INFO Waiting for restart...
2018-11-03T12:00:01-04:00 INFO auto-connect of snap "aether" will be retried because of "aether" - "core" conflict
EDIT: Snap files are an archive of sorts. I was able to extract it into a folder and run the file named "aether" to get it to work.
EDIT2: This gets the frontend working but I don't think it gets the backend working entirely.
https://meta.getaether.net/t/how-to-use-aether-behind-tor/53
Really? Doesn't p2p model actually expose your IP address to everybody you communicate to?
> A result of this is that source IP of any specific public post cannot (easily) be determined.
This sounds like it's definitely vulnerable to abuse. Democracy is nice, but I'm not sure it's a great idea in a situation like this where it's online with total anonymity and easy to vote fraudulently.
> "Aether keeps a 6 months of content by default. It's gone after."
I often want to search for stuff that seemed unimportant at the time a year or more later. We should focus on changing society so it's not so critical of statements people made years ago when they changed as a person, this is a better solution.
Skeptical of the value of community-building that Aether can provide, it seems like a novelty product to me. What is wrong with pseudononymous communities like Reddit & HN?
I'm a believer in progress long term, but I seriously doubt humanity is really capable of what you're describing in a way that's applied equally to all groups of people.
It seems several orders of magnitude much easier for people to develop the habit of recording information they might need later.
6 months is fine for just social commentary and such, but it seems to me that a design like that effectively forces the community to be banal, because the community will not remember anything for any longer than that time.
Better if there was some mechanism by which the most-saved (upvoted?) posts are retained by the network as a whole for longer.
On, for example, Stackoverflow, most of the posts I've found useful have been more than 6 months old. 6 months is not such a long time unless we're talking about the latest pop culture hotness.
We are lucky Shakespeare didn't use a platform that forgets everything after 6 months.
Viewing/saving/url-copying a picture without opening the source in the default browser would also be great.
[1] gab.ai
Fyi, impeach means to hold a trial not to kick them out.
On this point I have to disagree. Democracy does not work well in foss communities and can easily be hijacked and makes it to easy to foster strife and divisions. I like the traditional foss way of being led by a BDFL where if you disagree with leadership you can "Just fork it".
As discussed in other posts, it is difficult to discover origin IP of pseudonymous users, because in a flood network, when my node gets some information it is usually not from the IP where that information was generated. That is another privacy feature due to the way Aether distributes data.
Aether is more difficult to block than centralized services, since you will have to catch all the nodes instead of just one set of known IPs / domains. With great effort it is probably possible to DPI at ISPs to identify Aether traffic and drop? But being a peer-to-peer protocol, Aether can easily sync across VPN tunnels, run within private networks, or physical meshnet infrastructure independent of ISPs.
All the data? Isn't it going to take a huge lot when the network grows popular?
The --dangerous is there to make you think about that for a moment as(or if you're lucky, before) you install.
Link Location: https://github.com/nehbit/aether-public/releases/download/v1...
Looks like it's v1.2.3, released in 2014, so I'm guessing this client won't work? Might want to remove that link! :)
You let them speak and prove them idiots. It's really not hard. Unless you're constantly on the side that's losing, then it's pretty miserable.
But know that even though you're losing now you can reformulated your arguments and try again because no ones going to censor you. You have all the same rights because you, like they, are people deserving respect, no matter how much you look down on them or hate them. And that's what I tell them about you.
Less hate more love.
No popular platform works like this. All working solutions involve hard moderation and separate forums/groups for different people.
>they, are people
Not necessarily.
Even if they are real people they may be paid propagandists, trolls or promoters. You need heavy moderation or access restrictions to make things work after the size of community grows. Eventually even moderation breaks down after the size grows.
I'm very curious as to how we can get out of this, because I really have a hard time understanding people and this is an enormous laboratory.
I respectfully disagree.
ETA: Sunlight isn't actually a disinfectant here. If it was, moderation-lite platforms wouldn't be full of fascist trash.
What actually happens is this: 1. Someone makes a moderation-lite platform in response to censorship on mainstream platforms 2. Thousands of awful people flock to the platform, along with two or three principled free speech advocates. Most normal people avoid it because they don't realistically need to worry about being banned from mainstream platforms and they don't want to deal with fascists. (Besides, the racist trolls aren't actually interested in open and respectful discourse. That's a lie.)
The correct approach (IMO) is to educate people about these rather than to have some sort of censorship mechanism.
If a website permits members to be openly anti-semitic or racist or sexist then they will be anti-semitic, racist and sexist everywhere, whether that's a quarantined sub-community about anti-semitism, or a community about video games, make-up or curating art for galleries. No amount of education is going to encourage jewish people to spend their time talking to openly anti-semitic people about video games. If you permit toxic behaviour then you exclude anybody who feels threatened by that behaviour.
> I feel like the cost of having open communication platforms is the existence of toxic communities.
This topic has been discussed through history by many political philosophers. In the US, it's one of our founding principles. A strict non-unanimous majority rule is by definition oppressive. So how does one craft a society that keeps the majority of people happy while keeping in check the oppression a majority exerts upon dissenting "factions"? You preserve certain fundamental civil liberties and human rights for all your citizens. You do this so that a mere majority cannot infringe upon the liberties of minority groups. On top of that, the civil liberties you choose to universally defend are selected such that they give social agency to members regardless of faction allegiance. A faction may begin to feel oppressed by introduction of an ignorant law or by global change in social outlook (including reinterpretation of existing laws). The response is for the faction to exercise their social agency in order to effect political change that they otherwise don't have the numbers to outright decree.
If you allow people to communicate, some are going to say something "toxic". We pay this price so that as a society we retain a means for oppression to be discovered. Indeed two "toxic" homosexuals one day may be the voice for marriage equality the next.
There will be a moderated list of subs (maintained by the main developer), but users will be free to try to find an join even the most controversial ones.
If the goal is shitposting and edge-waddling I think it can be done, for a while anyway. However, if the goal is to have a space where discussion is meaningful, good faith, charitable, intelligent conversation, I'm not sure we can currently do this in a completely open way and still maintain a signal to noise ratio where sane people would willfully spend their valuable free time.
In our current iteration of tech, society, education levels, culture, and politics it seems that (so far) every time we create an open space, the moment it reaches a certain level of popularity, the noise levels reach a point where it is pretty much impossible to have meaningful, contextual, and nuanced conversations.
At the point that signal to noise ratio reaches unacceptable levels, we lose a critical mass of the people who made the space "special"
I really hope we can get around this someday, but sadly, so far the absolutist free-for-all spaces really offer diminishing returns for those of us who are busy. Rather than sifting through rubble to find gold, at least for me, I can think of many things I'd rather do than engage in a conversation with someone when there is a higher than average chance they aren't there in good faith and when entire segments of the community exist who are literally only in the space to engage in and spread sophistry.
At least for now, outside of invite only communities or high barrier of entry communities, spaces such as HN or SSC --both of which are largely unknown to the general public-- seem to offer the best blend of openness and time-well-spent conversations. But I'm not sure either of these could maintain the same level of conversation at scale.
>Aether gives you fresh, new content about the things you’re interested in.
>You can create a community for your friends, or for strangers that are interested in similar things. All communities are public, and everyone can write to any community. (There’ll be communities restricted to certain people, but we’re still working on that for now.)
>If you’re familiar with Reddit, Slashdot, or Usenet, it’s pretty similar. Aether does a two main things differently though. The first is that it’s ephemeral. The content disappears after a while. The other is, the communities are democratic, they elect their own leadership.
I hate these non-definitions. You've told me a lot of things, but I still don't know what is aether. Is it a website? a service? a protocol? an API?.