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.
Opening talk
Principles Seminar v0
Session 3 - Censorship-resistance
Oskar, 2018-10-10
II. 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
Examples
- Wikileaks financial blockade (VISA, Paypal, etc)
- Internet outage during protests
- WeChat, FB, YT, subreddits…
Decentralized web
- 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.
Cryptoeconomic design?
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.
Agnostic platform
- 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?
Thanks
Raw notes
Censorship-resistance
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
Post notes
Oskar - intro - looking at how the principle came into existance
Everyone-adding WoS thoughts
Michael:
let’s start from single points of failure
Ricardo:
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
Corey:
Ned and I talked about onramping people right from your phone - something needs to be done at connection level, P2P
Ricardo:
Mesh network
Michael:
Let’s not get too deep into technical implementations
Corey:
the way we use the internet is too centralized, and that’s prime terrain for censorship
Ricardo:
Bigger problem than the ISP
Jacek:
Focus on building something that would only fail locally - mesh is cool but use could still be penalized or blocked
Michael:
What can we do?
Ricardo:
Specific swarms working on it - ultra light client
Michael:
Move the conversation to App Store
Jacek:
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
Ricardo:
Apple doesn’t allow downloads outside of their app store
Igor:
Different distributions we can try
Corey:
People who need it will find a way to have it - how much time should we spend building so many options?
Oskar:
How about the social aspect?
Igor:
At this moment we’re mostly relying on CC’s. It’s hard for others to work/build on Status
Ned:
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
Jazek:
Contributors come when something is useful to them, hard to come into the project unless you’re an ETH enthusiast.
Hester:
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
Igor:
We have ENS documentation now, we should be pushing more blog content
Barry:
in voting we filtered out poles that were created twice - so every pole, when you create a new one is just sequential
Corey:
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
Michael:
How would people react if at some point we can’t have a legal company and can only be paid in crypto?
Corey:
I rely on the legal company to live a normal life
Ricardo:
We shouldn’t even have one
Jacek:
Hmm classic compromise - same as Slack vs Status, you need to compromise in the sake of efficiency, up to a certain point
Michael:
Can we be honest with ourselves - maybe we need these legal companies and can’t exist otherwise
Ricardo:
Maybe we should decentralize that too, and have a lot of legal companies
Barry:
Is the DAO an extention of our legal entity?
Oskar:
Let’s table that til tomorrow - we’ll have a session on that
Michael:
What are we gonna do if someone turns off our cluster?
Oskar:
we could (very hackey) run stuff locally, Adam and others are relatively close to have a contingency plan if need
Corey:
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.