I think the battle for free speech is going to seriously heat up. So far in the West they are making a few famous examples out of people, deporting them, or famously cancelling them somehow. This has a chilling effect on everybody else who becomes afraid to speak openly. But the technology to cancel certain ideas could easily become far greater with AI and automation. The CCP in China puts a lot of effort into controlling what people say, and they are pretty successful at it. And that is prior to AI and automation AFAIK.

So I am of the belief that we need to use this short time that we have to leapfrog them, to become seriously and deeply uncensorable, not just "censorship resistant". And to me that means things like (1) linking to previous events so you can at least detect if an event was censored, like scuttlebutt did, (2) avoiding placing trust in DNS and CAs, (3) avoiding any kind of centralization, even the "where should I look for your relay list" semi-centralization of NIP-65 (which I meant as a temporary stop-gap measure). And of course ensuring IP privacy techniques are usable.

I think nostr would stand up against a lame censorship attack (taking out a single relay, then another, then another), but not against a sophisticated one.

Reply to this note

Please Login to reply.

Discussion

I'm glad you're thinking this way.

I still disagree that event chanining is possible due to availability / partitionability tradeoff. Ditching DNS is under-rated. I'm not sure about relay-lists.

The key advantage of nostr is that you can author an event completely offline, and transmit it in any way possible. This alone makes it uncensorable, even against sophisticated attacks because new channels can be created quickly and cheaply in novel ways, and events reintegrated into client feeds transparently

Partitioning really only happens where you have this "transmit it in any way possible" thing. If outbox model were universal, you wouldn't miss anything someone you follow says. Nostr is scattershot, maybe you hear some stuff, certainly no guarantee to hear it all.

I agree that sovereign identity with the fallback of "transmitting in any way possible" provides a kind of resistance, a resistance to identity loss. But I want ALL of somebody's posts, not just hopium.

I don't see any way that a strict outbox model can be censorship resistant

Really? I don't see any way to get censorship resistance without it. It enables users to switch servers without permission, and servers to switch IP addresses without permission, and encodes how clients can follow them when they move. And moving about freely and even rapidly lets people and servers evade censorship attempts by Internet providers, DNS providers, etc.

If you need DNS or a static IP to find my events, that's trivial to shut down. On the other hand if I spray events all over, some of them might find you. There's obviously efficiency problems there, but it gets the job done when other things can't

Oh ok. I get what you are saying now. I'm not really on board but now I get the alternative and the theory behind it.

This idea that servers are easy to shutdown if they have static IP is soooo overrated... Signal and similar services have been using reverse proxies to play a cat and mouse game with ip black listing to great success for long time.

If your DNS layer is on Mainline, then you can basically play this game even better since the harder attack (at icann level) won't affect you either.

You are right, servers offering data integrity is OBVIOUSLY better.

Also, this is not either or... even if data integrity got in the way, just sign a single file and gossip it... what is the big deal?

Why are people rejecting structure and integrity and reliability is beyond me.

If it's optional advice that's fine, but if it's required, any interruption prevents you from publishing new events

Ok fine, people took authenticated data structures to retarded degrees, most famously the linked list.

But Bittorrent already works as I described, you have a merkle tree over the full torrent file, and you can use Mainline to update the latest hash of your mutable torrent.

So I think we agree.

If there's a more reliable but less available feed that you can layer other nostr events over, that sounds good to me. My take is that relays are just one possible way to optimize distribution - the fundamental core of nostr is signing things and distributing them

if they can punish you for speaking they won't want to censor you

they will want you to speak so they can punish you for it

and ultimately nobody listens to anons like me because people are too dumb to judge ideas - they only care when ideas come from some authority figure

they listen to you because they know who you are and you listen to doctors because they wear a fancy suit and others listen to priests because they wear a fancy hat etc

what i am getting at is if they can punish somebody for speaking it's game over because nobody will speak using their real name and face and thus nobody will listen

Trump now wants to strip citizenship from people criticizing Israel - if it gets to that point - it's over

Hmm. I'll have to consider event chaining. I have been thinking about it as an alternative to a timestamp not an integrity check.

it's the crypto equivalent of the photo of the newspaper, like satoshi's headline in the genesis block, proof of can't have been created before that time.

Yes. Just trying to figure out if it is worth the hassle. There is some question of what event or events to choose as progenitors. If you pick your own events then they could be somewhat precalculated, giving large error bars on the time. If you pick someone else's events then it really only has guaranteed meaning to that person.

You can pick lots of events to try to give it as much meaning to as many other people as possible. Or you can specially prepare signatures for each of your friends.

I actually considered the former a few years ago as a type of scalable Blockchain. A "block fabric" that way no one needs a complete global view. It is a sort of eventually consistent data structure. You only need to be up to date with the transactions that are "local" to you. If someone tries to sell you a coin with precursor events you don't recognize. They will have to wait until you can verify them.

I still kind of like the idea, but it has storage problems. You can never prune because you may need to provide the history to some unknown distant part of the network. It would blow up in size much faster than a Blockchain.

nostr is basically this block fabric tho. consider the format of discussion trees. root, and parent reply, and for extra funsies, usually tagging every single person in the discussion.

but there's no logical way to determine token issuance or fungibility from such a scheme. however, discussions are a currency of sorts, or at least a way to earn it.

the real problem is about who stores it, and how you get people to use the protocol to draw the viewers, and then you have to monetise their viewership somehow. those are already solved problems for the centralised networks. i think the whole point of nostr was to eliminate the viability of that, just that most people don't really realise that was the point of it, and carry on like rockstars anyway. primal helps keep this fantasy alive.

Sort of, but nostr is it in miniature and every note is a new genesis block. There is also no real way to merge branches of the discussion back together.

But you did hit on some of the problems that I didn't mention. Token issuance being a big one.

My more recent ideas solve that, but I do have a centralization problem I need to solve. My current idea is completely decentralized in a way Blockchains can never be, but like anarchy, it opens the door for local bullies to force those around them to go through them. Your local supermarket, hospital, or bank for instance could start deciding which payments they want recognize.

I may need to take my current idea and back it with Bitcoin or something. Then it just kind of ends up being Lightning all over again.

IOTA and i think Cardano use "block tangles" and i think some space chain shit that Bram Cohen is involved with, or was that um... some sprout thing...

there has been multiple attempts at doing concurrent chains. ah yeah, ICP is another one. And arweave too. all the hype about "rollups" is about this, and Liquid is basically a kind of concurrent chain attached to bitcoin, and all those ordinals are another kind of concurrent chain attached to bitcoin.

the thing is, they don't really solve a problem that wasn't already addresed by IP, DNS and HTTP... making the data transparently redundant, is something that nostr or similar type of event protocol is uniquely capable of doing though. IPFS is also similar, in that it has a primary key based on the content of the event data. but the real challenge is making it into a "consensus"

i think the problem is, you don't need to. you just pick your data sets, replicate them, and spiders can index everything and locate it. it's not a consensus, it's just a self-mapping system.

what's already happening to nostr's kind 1 feed and associated user metadata is already sprawling into a hive of near total replicas of the same data set, at least in the short time scale.

what i find most appealing about the protocol though, is the fact it lets you build anything on top of it. except for the One True Money Ledger bitcoin. but you can build a facebook, a snapshat, an instagram, a twitter. it is just a generic, open format for the same type of data those sites work with, that is deliberately designed to be leaky, so anyone can repurpose the data if they can read it.

I'm thinking of it on a kind-by-kind basis, to detect events that have gone missing. You reference the previous event of that kind that you created.