FOSDEM 2017, Feb 5th

Benjamin Kampmann, gnunicorn.org

SAFE

the Internet

it's time to

watch live at

tinyurl.com/safe-the-internet

👋 Hello

Benjamin Kampmann

Developer, Architect, Educator, Writer

Freelance, FLOSS

@gnunicornBen

    gnunicorn.org

imagine

Root Problem

the central server paradigm

forum.safedev.org

Domain Name Service

XMPP

Email

Bittorrent (with DTH)

Freenet

UnifiedResourceLocation

 

describe the (geo) location to find something:

http://forum.safedev.org -> 104.131.162.82
                        /path/to/resource

Addressing in Peer-to-peer

with content addressing:

$ echo "test" | sha1sum  
4e1243bd22c66e76c2ba9eddc1f91394e57f9f83

magnet:?xt=urn:sha1:4e1243bd22c66e76c2ba9eddc1f91394e57f9f83&dn

7818 67189 3419811011819418615822119324919148229127159131

01001110 00010010 01000011 10111101 00100010 11000110 01101110 01110110 11000010 10111010 10011110 11011101 11000001 11111001 00010011 10010100 11100101 01111111 10011111 10000011

UnifiedResourceIdentifier

Routing

with Kademlia Distributed Hash Tables

Closest distance between Node and Content:

  distance = xor(Hash, NodeID)

eXclusive OR of two binary numbers

         01111111
  xor    00101001
  ---------------
  =      01010110

     127

-      42

------------

=     85

XOR Distance is unique per Node and Content but also between any two Nodes!

📄

Kademlia Routing

📄

0..0

1..1

📄

Consensus

In the XOR Namespace

Consesus without a 👑

How do you vote?

Bitcoin is basically majority voting on the global state (blockchain) following a predefined process (longest chain) on a reduced set of possible options (crypto puzzles).

Unanimous decisions (like Paxos, Raft) in which everyone to agrees on a new state.

Remember Routing?

📄

Routing Personas

Data Types

  • Authentication
  • Immutable data
  • Mutable data*
  • Currency

the SAFE  Network

Overview

the SAFE network

A decentralized privacy-first open source data storage and communications network that provides a secure, efficient and no-cost infrastructure for app development.

Peer-to-peer Data Storage

Built-in Data Retentation

Mathematical Deduplication

Encrypted by Default

Self-Auth Registration

 

Infrastructure for

decentributed App

(aka truly anonymous)

Apps

on the SAFE network

Public Names

"DNS" - domain lookup

with a "service" oriented approach

Browser

with a Javascript API to allow direct SAFE access

Interactive Web-Apps

Like a Markdown Editor

or comments on a blog

Decorum

SAFE emailing

SAFE Launcher

Alpha

Vaults

Mobile

Mutable Data

Join us!

Run your own vault:

safenetforum.org/t/12378

Thanks!

Benjamin Kampmann

@gnunicornBen   gnunicorn.org