Hi! I am a researcher at the CISPA-Helmholtz-Institute for information security (https://cispa.de/en/people/kuennemann). I would like to get some community feedback on a project we are working on. I am a Lemmy-user myself, but of course I use my other account for lurking; this account is for my research business.
My question taps into the age-verification debate, which I know is very controversial, and people are sceptical for very good reasons; I just ask everyone to stay polite and engage the topic.
In short, I am worried about the effect bots have on public discourse, which to a large part takes place in the Internet. I would like to propose cryptographic methods that allow an instance to attest that a poster or commenter are a real human being. I think the European Unified ID (euid.eu) provides good infrastructure to do that, at the cost of relying on the member countries to provide them with an ID. Crypto-magic can (potentially - I haven’t worked out the details yet) ensure that:
- users from an instance that opted in are sure to belong to someone with an id, other instances may use this knowledge in their moderation tools
- users from that instance can retain several pseudonyms that even this instance cannot link. Yet (configurable) policy can ensure that no users uses two pseudonyms in the same thread
- we could cap how many posts or comments a user makes per day/week/month, across their pseudonyms
- users who post on this instance but are not displayed (in the web or to other instances) can provide evidence that they are being censored, which the public may review to discredit that instance and chose a new one.
- the infrastructure also happens to allow for age verification (EUID can attest to statements like “this anonymous person is > 18”), and it could be part of an instance’s policy. Thanks to lemmy’s federated infrastructure, multiple verifying instances with different policies can exist. It’s not a focus of mine, though – I think social networks should not exploit children or adults.
Some of these ideas we have worked out (and tested on) reddit in this article, which was before Lemmy became popular and EUID was on the horizon.
I am interested in practical advice about who to talk to about engineering and how to best involve the community – we’ve got a prototype fork of lemmy including end-user verifiable authentication. I am also interested in how the community feels about the burden of moderation and this as a potential remedy. When discussing age verification, some users say they will never accept any ID-based authentication. Are there some amongst those who would change their minds provided they had full pseudonymity and censorship could be detected and made public with cryptographically signed evidence?


Good point – where do I find the admins? Preferably an open forum, like a community.
You are on point regarding spinning up an instance. Other countries / blocks will have different ideas about whether to do this and how, so this would be a demonstration that this is possible. I assume such an instance has less spam (tbh that’s just a guess), so admins may be happier federating with such instances.
Admittedly, once big countries or blocks provide attested identities and should it be true that they have less spam / bots, other instance might be under pressure. So this could still be seen as dangerous to folks that do not like to be forced to derive digital identities from centralized authorities and lead to fragmentation in the network.
In the linked trollthrottle paper we ran some analysis on reddit data, and it turns out that football / cricket posters have incredible commenting frequency and the cap might be a big problem for them. But does it actually fight spam / astroturfing? Do you know a good source about spammer behavior, or are the 1-3 posts per days from experience?
Your instance just silently drops your post after you have written it.
I need to have a closer look at what the modlog actually covers, but afaik it does not cover every deletion (permanent purges are mentioned? not sure). Moreover, in our super paranoid threat models, we usually consider the whole instance untrusted, not only some moderators, meaning that a malicious instance ought not to be able to alter the mod log (more precisely, the view of third parties) without this being detectable. In trollthtrolle, we achieved this with an append-only log and a cryptographic receipt, but there are other, more modern ways to achieve this.
All the admins are listed on the instances themselves.
You realise most (all?) fediverse instances aren’t operated by countries? They are just random groups of people. There are no legal agreements or blocs tying servers together.
I’ve seen and reported plenty of spammers, most don’t post that often. They create a few posts and the go silent or get banned. Blocking after N posts still leaves N spam posts to cleanup.
Every post is federated to every other instance. My home instance could purge my posts, but all other instances would still have a copy that can’t be deleted by my admins. So the modlog is resilient by virtue of being distributed copies. If the post was dropped upon submission, then nothing is seen, but thats hardly a silent censorship either, I can immediately see that it wasn’t created.
I dunno, but I think you need a much stronger selling point to get people on board with this, it just seems at odds with reality.
Yeah, I know that instances are run by volunteers. Our prototype instance has EUID as an additional OAuth provider and embeds cryptographic evidence that a poster has a real identity (but not which it is). This information is shared via ActivityPub, even to instances that don’t know what to do with it. The instance can be run by anyone but publishes a policy, e.g., “all users on this instance are pseudonyms of a real identity, real identities cannot appear under different pseudonyms in the same thread, and post at most N per week”. The ID issuer must be trusted by end users who use the modified software to see if the instance adheres to its own policy. End users with the normal software don’t, they just see where the user is from and might trust that instance to uphold its policy, or not care at all.
I need to think (and read) more about how to validate the behavior of spammers. It is well possible that spammers don’t spam that often, but they might as well create new accounts after some N and operate in parallel with multiple accounts. I think the cap needs to be seen in combination with pseudonyms that are tied to identities.
Ah, if your instance is honest. And if it is dishonest, you … switch to a different instance and live with the fact that you lose your “reputation”, i.e., tags at other user’s accounts, post history. Maybe it would be cool to be able to prove that you are the same person?
I was about to write "but you cannot prove that’, but if I get your drift, you’d just switch and not bother with making this public.
That’s why I am talking with you guys. ;) Thanks for your input btw. Despite using lemmy for a couple of years now, I’ve never seen the moderation panel … and then my perspective is very protocol-centric, although much about moderation seems to take place out-of-band.
That’s part of your problem. I commend you for putting so much thought into this, but it seems like there’s a lot of areas you’re missing. I would’ve expected a person pushing something like this to have A LOT of experience with the very thing they’re trying to change so drastically.
I’d say go be an admin or moderator for one of the bigger instances. I’m sure, with more experience, it’ll help better shape your perspective or even change it entirely.