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
by Pia Guerra
Root Problem
the central server paradigm
forum.safedev.org
Domain Name Service
XMPP
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:
Thanks!
Benjamin Kampmann
@gnunicornBen gnunicorn.org