decentralisation - distributed computing on a massive scale

24
DECENTRALISATION DISTRIBUTED COMPUTING ON A MASSIVE SCALE LIVING WITH DECENTRALIZATION, P2P AND THE NEW WEB Anton Whalley Aman Kohli and thanks to Alex McMahon! @dhigit9 @akohli presentation on github pages http://akohli.github.io/presentation- decentralised/decentralised-presentation.html

Upload: aman-kohli

Post on 09-Feb-2017

228 views

Category:

Mobile


0 download

TRANSCRIPT

Page 1: Decentralisation - DISTRIBUTED COMPUTING ON A MASSIVE SCALE

DECENTRALISATIONDISTRIBUTED COMPUTING ON A

MASSIVE SCALELIVING WITH DECENTRALIZATION, P2P AND THE NEW WEB

Anton Whalley Aman Kohli and thanksto Alex McMahon!

@dhigit9 @akohli

presentation on github pageshttp://akohli.github.io/presentation-

decentralised/decentralised-presentation.html

Page 2: Decentralisation - DISTRIBUTED COMPUTING ON A MASSIVE SCALE

THE INTERNETHOW NON COMPUTER PEOPLE THINK

IT WORKS

Page 3: Decentralisation - DISTRIBUTED COMPUTING ON A MASSIVE SCALE

HOW IT WORKS

NOT REALLY

Page 4: Decentralisation - DISTRIBUTED COMPUTING ON A MASSIVE SCALE

DEVICESFrom workstations and supercomputers (thousands)

To Desktop and Laptops in offices (millions)

... and homes (tens of millions)

to Mobiles, tablets and devices (hundreds of millions)

Page 5: Decentralisation - DISTRIBUTED COMPUTING ON A MASSIVE SCALE

Now lots of things

AN INTERNET OF THINGS

billions

Page 6: Decentralisation - DISTRIBUTED COMPUTING ON A MASSIVE SCALE

OK, HOW IT REALLY WORKS

KINDA, SORTA

Page 7: Decentralisation - DISTRIBUTED COMPUTING ON A MASSIVE SCALE

IT'S A MESH OFA MESS

Page 8: Decentralisation - DISTRIBUTED COMPUTING ON A MASSIVE SCALE

WORKED EXAMPLE

5 of friends want to arrange where to meet on Saturdaynight

1. when all friends are in the same room2. when all friends are in different places

think about distributed concensus and the network

Page 9: Decentralisation - DISTRIBUTED COMPUTING ON A MASSIVE SCALE

CONCURRENCY

Concurrency sets of events which happensimultaneously. The real world is concurrent, andconsists of a large number of events many of whichhappen simultaneously.Parallel happens at the same time

Concurrent (two queues and one processor) and ParallelProgramming (two queues and two processors)

Systems may be distributed over several computers: asystem of a number of independent concurrent

processes.

Page 10: Decentralisation - DISTRIBUTED COMPUTING ON A MASSIVE SCALE

BEWARE THE FALLACIES

1. The network is reliable.2. Latency is zero.3. Bandwidth is infinite.4. The network is secure.5. Topology doesn't change.6. There is one administrator.7. Transport cost is zero.8. The network is homogeneous.

... thanks wikipedia

Page 11: Decentralisation - DISTRIBUTED COMPUTING ON A MASSIVE SCALE

CAPTHE THREE CHOICES

The CAP speaks of access to data, that data being in theright state and it is always possible to get to it

Consistencyall nodes have the same data state

Availabilitythe system can send and receive responses

Partition ToleranceThe system can keep functioning in the face ofarbitrary network failures

Page 12: Decentralisation - DISTRIBUTED COMPUTING ON A MASSIVE SCALE

SYSTEM PROPERTIES

distributed processing: a network of distributedprocessorsisolation : Two processes operating on the samemachine must be as independent as if they ran onphysically separated machines. Without sharing,everything necessary to perform a distributedcomputation must be copied.Causal ordering: If A sends a message to B then B canonly receive this message at some point in time after Asent the message.

Page 13: Decentralisation - DISTRIBUTED COMPUTING ON A MASSIVE SCALE

REWIND - THEWEB

A JOURNEY THROUGH WEB 1.0 - 4.0

Page 14: Decentralisation - DISTRIBUTED COMPUTING ON A MASSIVE SCALE

THE WEB 1.0 1993

A computer, to connect to others to share research

Page 15: Decentralisation - DISTRIBUTED COMPUTING ON A MASSIVE SCALE

WHY DID WEB 1.0 FAIL?

IPv4 - Limited Public IP Address RangeBandwidth - Dialup/ADSLDNS - Registration Non-trivialWeb 2.0 - Centralisation became good enough

Page 16: Decentralisation - DISTRIBUTED COMPUTING ON A MASSIVE SCALE

WEB 2.0 POSITIVES

Browser Wars Mozilla vs GoogleCloser Browser ImplementationsEnhanced Client Runtime - HTML 5 - CSS3Large systems led to distributed systems theorymoving out of academia - PAXOS to RAFTBittorrent 20% of North American Traffic

Page 17: Decentralisation - DISTRIBUTED COMPUTING ON A MASSIVE SCALE

TO WEB 3.0

Symantic Web lack of general-purpose usefulness that prevents therequired effort from being invested

Trust - THIS IS IMPORTANT Our ability to create our own gated networks willenable the next set of webs

Page 18: Decentralisation - DISTRIBUTED COMPUTING ON A MASSIVE SCALE

TRUSTReputation Based TrustZero TrustPolicy Based Trust (NO THANKS)

Page 19: Decentralisation - DISTRIBUTED COMPUTING ON A MASSIVE SCALE

https://gist.github.com/pfraze/e314196dcecd4c49382d

REPUTATION BASED TRUST

Belief Ratings For StatementsTrust Rating Between Agents

Page 20: Decentralisation - DISTRIBUTED COMPUTING ON A MASSIVE SCALE

WEB 4.0 INTELLIGENT PERSONAL

AGENTS

Trust is now a solved problemIPv4 - Superceded by IPv6Bandwidth - Uplink and Downlink becoming largerDNS - Still the problem

Page 21: Decentralisation - DISTRIBUTED COMPUTING ON A MASSIVE SCALE

THE DNS PROBLEMNot just a registration issueAttaches content to a locationThe current URL format https://gist.github.com/pfraze/e314196dcecd4c49382dShould be : e314196dcecd4c49382d/pfraze

Page 22: Decentralisation - DISTRIBUTED COMPUTING ON A MASSIVE SCALE

IPFS - FIRST ITERATION OF WEB 4.0

Removes address from content

Leverages distributed systems knowledge from 2.0

Transport agnostic so more efficient transports than

HTTP can be used

Doesn't try to solve ALL the problems

https://ipfs.io/

Page 23: Decentralisation - DISTRIBUTED COMPUTING ON A MASSIVE SCALE

ALTERNATIVE WEBSfirechat – Adhoc Chat Networkkwizzi – Zero internet eductionEbola Relief - field recording

Page 24: Decentralisation - DISTRIBUTED COMPUTING ON A MASSIVE SCALE

CONCLUSION