Speech.js

Zachary Lym

www.slides.com/zachlym/speech-js
Text is public domain or CC0, images are fair-use.

Mending Zooko's Triangle

 

Human Meaningful

Decentralized

Trustworthy

Given Names

i.e. James Smith  

Trustworthy 


Human Meaningful

Decentralized

~40,000 James Smiths in USA

Mathematically Generated

i.e. Tor addresses  

Trustworthy 


Human Meaningful

Decentralized

Wikileaks Tor hidden service address:  suw74isz7wqzpmgu.onion

ICANN Domain Name System (DNS)

i.e. name.com, name.eu, name.co.uk



Great for BankOfAmerica.com,
not so great for Wikileaks.org

 Great for BankOfAmerica.com,

not so great for Wikileaks.org...


Human Meaningful

Decentralized


Trustworthy

Legal and Political Attacks on ICANN Domain Name System

  • 2008-2010 Attacks on wikileaks.org
    • Bank sues DNS provider in California, shuts down 3 weeks.
    • DDoS on EveryDNS leads EveryDNS to abruptly terminate Wikileaks.
  • 2010 ICE starts seizing domain names.
    • Bypasses DNS providers and registrars.
    • Fully automated, scoops up non-infringing sites!
    • 12+ months to get your site back.
  • 2013 City of London Police
    • Sends registrars threatening letters, totally extra-judicial.
    • Targets include legitimate international mail-order pharmacies selling patented drugs at a discount to people without insurance.
  • Version of attacks on hosting
    • Anonymous dissidents vs thugs with lawyers.
    • Scientology, organized crime, crooked doctors.

All Together Now

    1. Centralized == Censorship  
    2. Decentralized == Zero-Cost  
    3. Zero-Cost == Spammers Rule  
    4. ∴ Decentralized naming systems allow squatters snatch up all domains with any human meaning.
 

Namecoin

First Major Alternative Crypto-Currency


  • Partly based on Aarron Swartz's essay "Squaring Zooko's Triangle"
  • Bitcoin's younger sibling, almost all Bitcoin miners are also Namecoin miners.
  • Bitcoin's focus is on financial transactions and limits data storage.
    • 1KB per record vs Bitcoin's ~70 bytes
    • Additional transaction types.
  • Namecoin implements generic Key->Value datastore.
    • Records stored in the blockchain as JSON records.
    • Lookup returns most recent entry of a given key.

Namecoin == Trusted Base

Basic elements of each Namecoin record:
  1. identifier/name
  2. security credentials
  3. optional: link to information               

DNS Namespace (d/name)

Used for .bit Top Level Domain, i.e. wikileaks.bit

{ //identifier/name "name": "d/wikileaks", //SHA-1 hash of valid TLS cert (DANE) "tls": "660008F91C07DCF9FDSJKJEJOMAD...", //transports/links "ip": "195.35.109.44", "translate": "wikileaks.org", "tor": "suw74isz7wqzpmgu.onion" } 

Namecoin + Overlay Networks = Win

...Then it permits this information to be spread in such a way where you don't have to trust the underlying networks. And you can flood it. -Julian Assange on Namecoin

wikileaks.bit record

  • wikileaks.org
  • IP address
  • Tor .onion address
  • I2P "eep" address
  • BitTorrent DHT
  • ...

Other Namespaces

  • Identity namespace: id/
    • Contact information
      • Email
      • Bitcoin address
    • Security information
      • GPG keys
  • Software Verification: (pending)
    • Hashes of software
    • Public keys of developers
  • Physically Un-clonable Functions: puf/ (draft)
    • Physical version of a one-way-hash.
    • Counterfeit-proof currencies.
  • ... your idea?

Status of Namecoin

  • Two lead developers went AWOL, stalled development for 2 years.
  • Mikhail Sindeyev, core-developer died of a stroke at 27 :_(
  • Application developers stepped in to sort things out:
    • Governance issues (largely solved).
    • Rebase on Libcoin nearly complete!
    • UTXO based lite-clients 6-12 months out.
  • Really hard theoretical problems needed to be solved.
    • How to handle illicit content in blockchain.
    • Set a price that adjusts to exchange rate.
    • Interoperability with regular web clients <- why I'm here today!

What I Did Over Summer Vacation

or

Censorship Resistant ICANN Namecoin DNS Interop

Metcalfe's Law

The value of a network is proportional to the square of the number of users of the system (n^2)

ICANN   Namecoin Interoperability


  1. Mirroring
  2. Proxying
  3. ???

Mirror/Proxy Content on Website

name.bit.pe ↔ name.bit


+ Accessible to "everyone".

- Mirrors assume legal liability for the content on their website.

- Proxies can detect what site is being accessed.

- Costs scale linearly with the size of the network.


Challenge

User Experience

  • No software installation nor system configuration.
  • Close enough to a normal browsing experience (click link, page loads).


Legal

  • No hosting content
  • No proxying content
  • No linking to content


Security + Privacy

  • Good enough for read-only content (reading Wikileaks but not necessarily uploading to Wikileaks).

Speech.js

name.spk.is name.bit

  • Reimplement DNS layer of network stack.
  • Load page in full-screen iFrame
  • Update URL in address bar with paths from iFrame.
  • Eventually Use WebRTC data channel for browser P2P network.

Usability

  • Transparent!

Legal
  • No different than DNS providers or Tor.
  • Cannot be in it for the money! 
  • Have significant, non-infringing free-speech related use cases.

Security/Privacy

  • Not much different than loading JQuery from a CDN   : )

Speech.js Capstone

Usable √

Legal √

Secure √ (enough, will get better)

When I started this last summer, it was assumed that achieving any two of these was impossible.

National Blacklists

  • Can't take the domain but can block access to censored.spk.is!
  • Britain, SOPA, PIPA, CISPA, and now TPP: trade treaty + censorship


A Technological and Political Hack


Part 1 Know Nothing

Make destination invisible to network and server.

Visibility of a URL: public.tld  /opaque  #invisible

name.spk.is 

  • Visible to ISP and every node between computer and server.
  • ∴ Network operator can be forced to selectively censor a website.

spk.is/name

  • Visible to spk.is server.
  • ∴ Server can be forced to selectively censor websites.

spk.is#name

  • Used for in-page navigation, visible to browser and in JavaScript
  • Neither server nor network operator can selectively censor websites.
  • ∴ Forcing developer to censor in JS forcing Mozilla to censor Firefox.

Laws are codified social norms

Online censorship framed as anti-piracy/anti-porn

  • File sharing lawsuits Napster, Grokster, Limewire, The Pirate Bay
    • Lacked significant non-infringing use cases.
    • Capable of stopping the  infringing activity.
    • ∴ Witting participants in a crime.
  • Nationwide Filters anti-porn crusaders protecting "the children"
    • David Cameron announced support for nation-wide filtering after polls showed he lacked support among key female demographic.
    • Now blocks "esoteric" and "extremist" content.

Censorship is not the answer to Piracy!

21st century version of the war on drugs.

  • Suing people does not help.
  • Cutting off internet does not help.
  • Blacklists boosts traffic and hide the problem!

Part 2: Enforce Free Speech Frame

Because facts don't matter when these are people repeating them:

speech.is#name



speech.is#Information

speech.is#Wikipedia

speech.is#Wikileaks

speech.is#NYTimes

speech.is#Occupy

speech.is#TeaParty

speech.is#ACLU

speech.is#FreePress

speech.is#name


  • Hosted in Iceland

    • NOT Party to TPP
    • Not part of the EU
    • Strong free speech laws
    • Still needs work!
  • We really want bit.is

  • Backup domains ... in France : /

  • We really need spk.us/speech.us

  • Probably good enough to nullify TPP in America!


Global Online Censorship

UK, Gaza, Libya
China, Iran, Saudi Arabia
Russia, Turkey
The "Free World"
Data from World Bank & OpenNet Initiative

3 Vital Censorship Numbers


55% of the world lives under medium or high levels of censorship. 


35% of the world will be free of online censorship under Trans-Pacific Partnership treaty.  


0%  of browser vendors investing seriously in anti-censorship technology.

Rebel Alliance

Water, Water everywehere ....

  • Namecoin currency valued in tens of millions of dollars.
    • Goes to Bitcoin miners, not us!
    • We have to stay non-profit anyway.
    • But we can create new incentive schemes. 
      • Proof-of-Bandwidth = millions in free funding for proxies.
        • Might be able to adapt some proposed Tor incentive schemes.
      • Free computing for protein folding, etc.

Government Funding & Academia

  • Academia and government funding is how Tor protects itself.
    • Trying to find safe havens in academia.
    • Seeking grants from U.S. Government and NGOs. 
    • Wide open field for new research, come play!



ROI for One Year of Development

$100,000 Investment: Lead Dev, API Dev, Community Organizer


Buy Y Namecoin @ $2, break even by selling @ $X dollars


IETF, Are You Listening?

IETF Draft Proposal last-best hope!

http://tinyurl.com/bit-rfc

Fin

Wanted

  • C++ Programers
  • Zero-Knowledge Researchers 
  • Non-profit Admin & Accounting
  • Web Hackers & Designers
  • Must be a self-starter!
  • Donations!

Zachary Lym

  • indolering.com
  • nameid.org/indolering
  • www.speech.is


Namecoin

  • namecoin.org
  • wiki.namecoin.org
  • forum.namecoin.org
  • irc://freenode/namecoin
  • namecoin.org/donate


Credits/Sources

Censorship

  • 2012 for all World Bank data, latest ONI scores (+1 UK & Russia
  • Sum of ONI subscore:  Low = 1-3, Medium = 4-8, High = 9-15. 
  • Calculations: http://goo.gl/WnriX0

Piracy

  • Dutch filters have no effect on TPB: http://tinyurl.com/pzomypf
  • Spotify and Netflix lower piracy: http://tinyurl.com/oh5z3tg
  • Filters prevent takedown of child pornography: can't find link!
  • Wikileaks on Namecoin

    • http://wikileaks.org/Transcript-Meeting-Assange-Schmidt
    • https://twitter.com/wikileaks/status/78906603948093440


    www.slides.com/zachlym/speech-js
    Text is public domain or CC0, images are fair-use.

    Speech.js

    By Zach Lym