Third session of principles seminar today. Let’s keep discussion open about this principle here, as well as add stuff to our wall of shame in this thread.
Principles Seminar v0
Session 3 - Censorship-resistance
We enable free flow of information. No content is under surveillance. We abide by the cryptoeconomic design principle of censorship resistance. Even stronger, Status is an agnostic platform for information.
What is censorship?
- Discriminatory treatment of information
- Layers: transactions, network, social
- Goal: make it costly
- Wikileaks financial blockade (VISA, Paypal, etc)
- Internet outage during protests
- WeChat, FB, YT, subreddits…
- Largely what Web3 etc enables
- Huge competitive advantage
- Let’s use it!
Freedom of speech
I disapprove of what you say, but I will defend to the death your right to say it – Evelyn Beatrice Hall (The Friends of Voltaire)
Censorship-resistance is a prerequisite.
Use cryptography and economic incentives to raise cost of censorship. Mostly about transactions in Ethereum, but also tool for making our network harder to censor.
Single points of failure
- Pressure point, just poke a little
- Related: coercion-resistance
- E.g. reliance on: Infura, etherscan, cluster, etc.
- Literally: don’t know (double meaning)
- Not our role to decide; battle of ideas
- Abiding by quote on Voltaire
In the war between true and false, the false lose by being false, not censored.
(also see Streisand effect)
Pairing and wall of shame
Up to you.
Idea Generator 1: List pairings and think about positive and negative interactions.
Idea Generator 2: Think like adversary - how can Status be censored?
Wall of shame
1 Obviously, which already exists, cluster
2 Release channels Play store and App store
3 Assume Ethereum is operational
4 Assume an internet connection
5 Whisper easy to DDoS (maybe not censorship)
6 Reliance on Infura quite a bit
7 Legal entity provides attack vector
8 We rely on a small number of (fiat) bank accounts to compensate core contributors
9 Organization design is somewhat centralized (not a DAO)
10 We don’t have a strong open source community (dependence on CCs)
12 Non-standard ports make ISP blocking super easy
13 NAT traversal isn’t implemented for Desktop to be bootnodes
14 GitHub as a single point of failure (node.js)
- Requires Internet to operate
- keeping failure local, right now more system on/off
Oskar - intro - looking at how the principle came into existance
Everyone-adding WoS thoughts
let’s start from single points of failure
platforms and search engines - able to censore at ISP level, dictatorship.
How do you get around something like that?
That’s what we are solving at a first level
Ned and I talked about onramping people right from your phone - something needs to be done at connection level, P2P
Let’s not get too deep into technical implementations
the way we use the internet is too centralized, and that’s prime terrain for censorship
Bigger problem than the ISP
Focus on building something that would only fail locally - mesh is cool but use could still be penalized or blocked
What can we do?
Specific swarms working on it - ultra light client
Move the conversation to App Store
Economic incentive vs enthusiasm
specialized nodes that do these things
incentivize people to run these services
distribute through something like swarm
users get access that way, doesn’t matter where the service is distributed
Apple doesn’t allow downloads outside of their app store
Different distributions we can try
People who need it will find a way to have it - how much time should we spend building so many options?
How about the social aspect?
At this moment we’re mostly relying on CC’s. It’s hard for others to work/build on Status
Go and see what others need - what blocks, where to start. Find the bone structure of all these elements, in these places where tech and language are different from what we use. Enable them to use their framework - rethink/reshape these elements
Contributors come when something is useful to them, hard to come into the project unless you’re an ETH enthusiast.
Some dev switched from looking at Status to develop for Status. Can’t recall the exact details but they had more documentation available. Perhaps we need to focus more on that - we have lots more available now, and Studio can also help
We have ENS documentation now, we should be pushing more blog content
in voting we filtered out poles that were created twice - so every pole, when you create a new one is just sequential
We can’t give up user data if we don’t have the data. If we work to NOT have any power whatsoever, we can’t be forced into anything
How would people react if at some point we can’t have a legal company and can only be paid in crypto?
I rely on the legal company to live a normal life
We shouldn’t even have one
Hmm classic compromise - same as Slack vs Status, you need to compromise in the sake of efficiency, up to a certain point
Can we be honest with ourselves - maybe we need these legal companies and can’t exist otherwise
Maybe we should decentralize that too, and have a lot of legal companies
Is the DAO an extention of our legal entity?
Let’s table that til tomorrow - we’ll have a session on that
What are we gonna do if someone turns off our cluster?
we could (very hackey) run stuff locally, Adam and others are relatively close to have a contingency plan if need
As soon as we have the option, we should kill the cluster, the same way we’re doing with using Status vs Slack. Even if it’s cranky at the beginning it will force to improve it faster.