A technical introduction

by Benjamin Kampmann

at Bitcoin Wednesday, Dev 7th 2016

👋 Hello

Benjamin Kampmann

Developer & Community, MaidSafe

 

forum.safedev.org/ben

github.com/gnunicorn

twitter/gnunicornBen

Outline

  • Introduction
  • High-level Overview
  • Routing & Consensus
  • Apps Examples
  • Glimpse of the Future

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

Encrypted by Default

Built-in Data Retentation

Mathematical Deduplication

Self-Auth Registration

 

Infrastructure for

decentralised App

(aka truly anonymous)

the XOR-Namespace

and routing with it

Addressing in Peer-to-peer

UnifiedResourceLocation describe the (geo) location to find something - not applicable in p2p:

http://forum.safedev.org -> 104.131.162.82

instead UnifiedResourceIdentifier with content checksum:

$ echo "test" | sha1sum  
4e1243bd22c66e76c2ba9eddc1f91394e57f9f83

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

UnifiedResourceLocation describe the (geo) location to find something - not applicable in p2p:

http://forum.safedev.org -> 104.131.162.82

7818 67189 3419811011819418615822119324919148229127159131

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

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

📄

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*
  • Data chains

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

What's next?

for the SAFE network

Alpha

Vaults

Mobile

SAFEcoin

Thanks!

Questions?

gnunicornBen // Benjamin Kampmann

safenetwork.org

safedev.org

maidsafe.org

github.com/maidsafe

#1 SAFEdev Meetup

Friday 7pm @ Hackers & Founders Building

Introducing SAFE @ Bitcoin Wednesday 2016-12-07

By Benjamin Kampmann

Introducing SAFE @ Bitcoin Wednesday 2016-12-07

A technical introducing to The SAFE Network at Bitcoin Wednesday in Amsterdam on Dec 7th 2016

  • 1,613