Principles Seminar - Session 3: Censorship-resistance

principles

#1

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)

  1. Requires Internet to operate
  2. 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 :slight_smile:

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.