We're sorry but this page doesn't work properly without JavaScript enabled. Please enable it to continue.
Feedback

The Return of "The Return of Peer to Peer Computing".

00:00

Formal Metadata

Title
The Return of "The Return of Peer to Peer Computing".
Title of Series
Part Number
96
Number of Parts
119
Author
License
CC Attribution 3.0 Unported:
You are free to use, adapt and copy, distribute and transmit the work or content in adapted or unchanged form for any legal purpose as long as the work is attributed to the author in the manner specified by the author or licensor.
Identifiers
Publisher
Release Date
Language
Production PlaceBerlin

Content Metadata

Subject Area
Genre
Abstract
Nicholas Tollervey/Holger Krekel - The Return of "The Return of Peer to Peer Computing". At last year's Europython Holger Krekel gave a keynote called "The Return of Peer to Peer Computing". He described how developers, in light of the Snowden surveillance revelations, ought to learn about and build decentralized peer-to-peer systems with strong cryptography. This talk introduces, describes and demonstrates ideas, concepts and code that a group of Pythonistas have been working on since Holger's keynote. We asked ourselves two questions: what are the fundamental elements / abstractions of a peer-to-peer application and, given a reasonable answer to the first question, what can we build? We will present work done so far, discuss the sorts of application that might be written and explore how peer-to-peer technology could be both attractive and viable from an economic point of view. ----- This talk introduces, describes and demonstrates concepts and code created during sprints and via online collaboration by a distributed group of Pythonistas under the working title p4p2p. We asked ourselves, as frameworks such as Zope/Plone, Django, Pyramid or Flask are to web development what would the equivalent sort of framework look like for peer-to-peer application development? We've tackled several different technical issues: remote execution of code among peers, distributed hash tables as a mechanism for peer discovery and data storage, various cryptographic requirements and the nuts and bolts of punching holes in firewalls. Work is ongoing (we have another sprint at the end of March) and the final content of the talk will depend on progress made. However, we expect to touch upon the following (subject to the caveat above): * What is the problem we're trying to solve? * Why P2P? * The story of how we ended up asking the questions outlined in the abstract. * What we've done to address these questions. * An exploration of the sorts of application that could be built using P2P. * A call for helpers and collaboration.
Keywords
80
Thumbnail
25:14
107
Thumbnail
24:35
Peer-to-peerClassical physicsPeer-to-peerComputer animationLecture/Conference
Context awarenessPeer-to-peerLevel (video gaming)Peer-to-peerContext awarenessPresentation of a groupMultiplication signQuicksortGroup actionSoftwareMereologyPosition operatorComputer animationLecture/Conference
Information privacySelf-organizationBitDistanceSoftware developerResultantMultiplication signMeeting/Interview
Domain nameInformation privacyFacebookOperator (mathematics)Dependent and independent variablesLine (geometry)Meeting/InterviewLecture/Conference
Information privacyInformation privacyQuicksortSoftware developerAsynchronous Transfer ModeExecution unitDependent and independent variablesState of matterVideo gameParameter (computer programming)Content (media)Type theorySystem callPlanningEquivalence relationDivergenceEvent horizonMeeting/Interview
BitDichotomyParameter (computer programming)QuicksortException handlingHacker (term)Classical physics1 (number)Lecture/Conference
DichotomyFlow separationParameter (computer programming)Computer animationLecture/Conference
FamilyCivil engineeringWebsiteRight angleMetropolitan area networkPhysical law5 (number)TelecommunicationEmailWave packetComputer animation
IRIS-TRule of inferenceMathematicsResultantTwitterTelecommunicationBitPhysical lawInformation securityRule of inferenceMathematicsQuicksortAreaComputer configurationState of matterRippingLecture/ConferenceComputer animation
Multiplication signTelecommunicationPhysical lawLocal ringComputer fileIncidence algebraElectronic mailing listCoefficient of determinationSelf-organizationMessage passingTrailLecture/Conference
Interior (topology)Physical lawInformation privacyFundamental theorem of algebraRight angleCorrespondence (mathematics)VotingDeclarative programmingQuicksortCASE <Informatik>Projective planeRight angleIndependence (probability theory)AuthorizationCausalityInformation privacyTelecommunicationPrisoner's dilemmaView (database)
Sound effectOpen setInformation privacyCausalitySound effectRight angleFunctional (mathematics)Lecture/ConferenceComputer animation
Service (economics)Computer programmingImage resolutionNP-hardMetropolitan area networkCodeServer (computing)Lecture/Conference
Computational physicsEnterprise architectureAuthorizationStandard deviationForm (programming)Data structureComputer programmingSphereRight angleAuthorizationWebsiteStandard deviationData structureComputer architectureProcess (computing)Computer programmingForm (programming)Electronic program guide1 (number)Different (Kate Ryan album)Dependent and independent variablesPhysical systemPower (physics)Test-driven developmentPhysical lawGame controllerSelf-organizationSign (mathematics)Software developerDatabaseSoftware testingServer (computing)Computer animation
Computer programmingPhysical lawMereologySoftwareQuicksortLine (geometry)Rule of inferenceSoftware developerLecture/Conference
Digital signalCryptographyPower (physics)Control flowAddress spacePeer-to-peerHierarchySoftwareComputer networkEquals signClient (computing)Server (computing)Inheritance (object-oriented programming)Web 2.0Power (physics)SoftwarePeer-to-peerHierarchyGame controllerContext awarenessCryptographyDigitizingQuicksortDiagramArithmetic meanWechselseitige InformationEqualiser (mathematics)Point (geometry)Right angleMultiplication signMereologyNetwork topologyClient (computing)Server (computing)Computer animation
HierarchyComputing platformComputer architectureServer (computing)Client (computing)Web 2.0Multiplication signField (computer science)ResultantHierarchyFacebookContent (media)Power (physics)Point (geometry)SurgerySingle-precision floating-point formatPattern languageGroup actionExpert systemOperator (mathematics)Interface (computing)TwitterGame controllerGreen computingAuthenticationLecture/ConferenceComputer animation
RhombusIdeal (ethics)AuthorizationDependent and independent variablesGame controllerComputer architectureElectronic visual displayHierarchyPower (physics)Digital photographyConsistencyEndliche ModelltheorieWeb 2.0Lecture/Conference
Enterprise architectureCryptographyProcess (computing)Control flowDigital signalSystem programmingPoint (geometry)Group actionMereologyTelecommunicationInternetworkingElement (mathematics)Fundamental theorem of algebraPhysical systemHash functionTable (information)Matrix (mathematics)Web 2.0Game controllerServer (computing)FacebookClient (computing)Term (mathematics)Condition numberPhysical systemProcess (computing)IntegerPeer-to-peerEvent horizonSelf-organizationDigitizingAuthorizationVideo gameArithmetic meanSpring (hydrology)Moment <Mathematik>OvalPower (physics)Element (mathematics)Point (geometry)Normal (geometry)Form (programming)Projective planeAreaComputer architectureWordWeb pageSoftware developerTelecommunicationGroup actionMatrix (mathematics)MereologyMultiplication signSound effect1 (number)InternetworkingService (economics)AttractorInformation securityDigital photographyMessage passingCryptographyComputer programmingQuicksortInstance (computer science)Avatar (2009 film)Programmer (hardware)Lecture/ConferenceComputer animation
PrototypeComputing platformCryptographyPrototypeHacker (term)CodeVulnerability (computing)Point (geometry)Goodness of fitProjective planeView (database)Physical systemTable (information)Hash functionCryptographyMessage passingComputing platformLevel (video gaming)System callSoftware testingDrop (liquid)Universe (mathematics)Peer-to-peerLecture/ConferenceComputer animation
Peer-to-peerPhysical systemSoftware developerSuspension (chemistry)CryptographyFundamental theorem of algebraMessage passingRow (database)Group actionMoment (mathematics)Projective planeForcing (mathematics)FrequencyShared memoryInformation securityWeb browserLecture/Conference
Message passingCryptographyQuicksortPoint (geometry)Game controllerEmailCentralizer and normalizerSingle-precision floating-point formatMultiplication signLine (geometry)Message passingCuboidServer (computing)TelecommunicationPhysical systemTable (information)Key (cryptography)Projective planeHash functionComplete metric spaceReal numberComputer animationLecture/Conference
Electric currentProjective planeHash functionCartesian coordinate systemSoftwareMultiplication signSingle-precision floating-point formatSimilarity (geometry)Point (geometry)Element (mathematics)FluidTable (information)Computer programmingScaling (geometry)Ocean currentNumberUniverse (mathematics)AlgorithmGoodness of fitData storage deviceKey (cryptography)Game controllerWeightFreewareSoftware developerWave packetBit
QuicksortHash functionMereologyTable (information)Physical systemCartesian coordinate systemSoftware developerKey (cryptography)NamespaceComputing platformSoftwareLecture/Conference
Pattern languageBridging (networking)BuildingTheoryDifferent (Kate Ryan album)Food energyAuthorizationParameter (computer programming)Position operatorSoftware developerPhysical systemTable (information)TwitterSound effectGoodness of fitIntegrated development environmentMultiplication signWeb 2.0QuicksortAffine spaceTablet computerHypertextRepresentational state transferPerspective (visual)Computer architectureOnline helpBuildingTheoryBridging (networking)DigitizingGreatest elementExistenceSymbol tableBerners-Lee, TimMemory managementPhysical lawSystem administratorInformation privacySheaf (mathematics)WebsiteProcess (computing)CircleGodPeer-to-peerNeuroinformatikSlide ruleInternetworkingCountingHidden Markov modelGroup action
Multiplication signElectronic mailing listType theorySoftwareUniform resource locatorMetreSign (mathematics)Three-valued logicBlackboard systemFile archiverTable (information)Goodness of fitWebsitePower (physics)Lattice (order)Hash functionWordMoment (mathematics)MathematicsParallel portInstance (computer science)BitGreatest elementTouchscreenFreewareWeb pageOffice suiteStandard deviationDegree (graph theory)Spring (hydrology)MassGroup actionService (economics)Coma BerenicesProjective planeTwitterProfil (magazine)InformationContext awarenessPeer-to-peerShared memoryEmailPlanningForm (programming)Information securityAddress spaceMereologyQuicksortSpacetimeInternetworkingClique problemSphereKey (cryptography)Lecture/Conference
MereologyMultiplication signMusical ensembleRule of inferenceLecture/Conference
Transcript: English(auto-generated)
Hello, so I'm obviously Nicholas and the reason this talk is called the return of the return of peer-to-peer computing is because this is
a reaction to Holger's classic Keynote at last year's EuroPython entitled the return of peer-to-peer computing Now the aim of this talk is Well, like it says up there to create a context in which you may think about peer-to-peer computing
So it's very much a presentation of ideas, although it does contain some technical stuff at a high hand wavy level at the very end We've organized the talk this way because we believe that there's plenty of time for technology at a technology conference And we'll deal with that at the very end But it's very important for us to clearly state our position and our ideas about peer-to-peer software
So that's basically what this talk is about and the modus operandi that I'm going to use for this is very simple I'm going to provide like what I hope is a clear movement of thought between Motivations via questions and actions to outcomes So we have some sort of tangible engineering aims at the very end of this talk that we can all agree
We might be able to go and tackle so part one motivations This time last year Edward Snowden's revelations were published in the Guardian Actually this time last year
I was working at the Guardian as a Python developer and it was rather a fascinating place to be To be inside the organization that was actually breaking these incredible news stories But I don't really want to talk about Edward Stern and really because he's been dealt with elsewhere What I want to talk about is the result and the result
Was a moral panic Apart from in the United Kingdom I'm not sure why anyway Suddenly privacy became a bit of a hot topic But up until Snowden Privacy was a topic that was dealt with more within the domain of Corporations on our Facebook and obviously mr. Zuckerberg is very famous for stating that privacy is of course dead
And for years, I guess the people in this room anyway have realized that the private corporations have been insinuating themselves into our lives By By by harvesting our data and so on and so forth and this has been worrying me at least anyway since about
2009 and and many others as well, so So in response to concerns about privacy from people like me You get a corporate repackaging of that if you have if you have nothing to hide you have nothing to fear type argument Which which is the quote from Eric Schmidt if you have something that you don't want anyone to know
Maybe you shouldn't be doing it in the first place Interestingly though those who say privacy is dead are those who gained most from the surveillance of their users because their business Their business plan is basically we're going to harvest your data and we are going to sell it on through targeted
Appetizing and other things so of course privacy needs to be dead anyway Rewind back to last year and Snowden suddenly makes privacy rather a hot topic for a wider audience than just developers in the room and The governments around the world went in especially the British in the unit the US governments went into full-on sort of panic mode
And this is this is this was the foreign secretary Which is I guess the equivalent of the Secretary of State in the US. This is mr. William Hague who represents all Bureaucrats In this example, and this is a typical example of what they're likely to say
In response to the Snowden revelations, and I hope the audio works If you are a law-abiding citizen of this country going about your business and your personal life You have nothing to fear Nothing to fear about the British state or intelligence agencies Listening to your the contents of your phone calls or anything like that indeed
You'll never be aware of all the things those agencies are doing in fact You will not be aware of all the things that those agencies are doing It's the way he ends it Happily we are a bit more aware of what these agencies are doing in our name As citizens of these countries another formulation of mr. Hayes argument is only if you're doing something wrong. Should you worry and
Then you don't deserve to keep it private And after all we don't want the bad guys to gain the upper hand and You guys you're probably obviously upstanding fine upstanding citizens and should be happy that
Innocents are protected from the evildoers that such a dragnet of surveillance will will capture and identify and This sort of argument the nothing-to-hide nothing-to-fear argument is often trotted out with with other classic defenses like think of the children Terrorists extremists and heaven forbid for us and hackers
So this is blatantly wrong argument For a start. It's a false dichotomy. What do I mean by that? I mean that it turns a very nuanced and complicated subject into a simplistic black and white subject Okay, if you've got nothing to hide you've got nothing to fear. That's it come on actually
It's a lot more complicated than that as I'm sure we all know. It's also lazy thinking too And it's manipulative as well because you're framing the argument in in a binary way when in fact, it's a very nuanced nuanced argument and Putting that aside It's also an argument that hides several uncomfortable truths, which I'd like to explore now
So the first uncomfortable truth is that it's not you who determines if you have anything to hide or not for example these gentlemen who are Some prominent American Muslims who are law-abiding citizens
There they are political candidates as civil rights activists Academics lawyers people like that yet the NSA and the FBI have covertly been monitoring their emails and other communications And this was done under a law intended to target terrorists and foreign spies How do you think that makes?
American Muslims feel as an aside I read at the Guardian website this morning that the Metropolitan Police in London have been monitoring the Communications of the family of the man they mistakenly shot on the tube train soon after the July the 5th bombings These this was a grieving family yet. They were monitored. They had nothing to fear. They still had their communications monitored
You Have nothing to fear Because you've got nothing to hide it assumes that surveillance results in correct data and sound judgment Now if you live in the UK, you'll be very familiar with this particular tweet
But some poor unfortunate gentleman who lives in Yorkshire was trying to catch an airplane one winter and he tweeted crap Robin Hood Airport is closed. You've got a week to get your shit together. Otherwise, I'm blowing the airport sky-high This was obviously a joke you would think and then the police turned up and he got carted away under terrorism I
Can't remember precisely what it was, but he got carted away anyway He was imprisoned and the the The result was that they ended up going to the UK's highest court at much expense and getting thrown out so You know surveillance you might
Have a bit of a problem if the police get the wrong end of the stick for example Or they're just collecting the wrong sort of data If you're doing nothing wrong, you have nothing to hide well rules and governments change For example in the UK, obviously, I'm British. So many of these examples are British in the UK
There's a law called our IPA Reaper and it's a UK law to monitor the communications of people for national security reasons Okay You could understand what people might want such a law and the way the law works is that it allows certain Certain stated public bodies to be able to use such a law for such a reason and since the law was introduced at the beginning of the 2000s that
List of public organizations who are allowed to use that law has increased four times and now includes local councils So Local councils have been found to be monitoring their citizens communications to track incidents of dog fouling If your dog craps in the street in the wrong place, you might be tracked if you have nothing to hide
You have nothing to fear Well, you know breaking the law isn't necessarily bad If we look at this rogues gallery of people I'll go some of them might not be familiar Especially the second one in so that's Socrates right at the very end who was
Executed for corrupting the youth of Athens with philosophy. No less The second one in is is emilene pankhurst who was suffragette who chained herself to Buckingham Palace In the cause of women's rights and getting votes for women Obviously, I'm guessing you all know my hand as Gandhi who was imprisoned for
for basically trying to make India independent from that from the British Empire and obviously Nelson Mandela a recent example in prison for his protests against apartheid Now these are widely regarded as people who acted as beacons of hope
And I guess you know hindsight is a good thing but what I'd like to ask is how would their causes have survived in a digital panopticon if the if the authorities that imprisoned and in some cases executed these people were able to View their communications and finally if you've got nothing to hide you've got nothing to fear
We should be able to watch you. Well, actually, you know what privacy is a fundamental human, right? there are many examples that enshrine this right, but the one I've chosen is sort of the The Big Daddy as it were and this is from the United Nations Universal Declaration of Human Rights And I'm believing and I guess that you do too that things like intimate
declarations of love and doctors discussing their patients and engineers Working on a new top-secret project or journalists planning an expose of the government And these are just a few scenarios where privacy is both a reasonable and legitimate Requirement. Yeah, of course
People want to surveil you. So am I saying that privacy trumps all? Absolutely not Openness of public institutions governments and corporations I believe is a fundamental requirement for our society to be able to function Otherwise, how else are we going to be able to hold such entities to account if we don't know what they're up to? I
Also believe that surveillance is legitimate given probable probable cause for concern and I'm not the only person who believes that I can anyone identify where this comes from. It's the fourth amendment to the Constitution of the United States of America
The right of the people to secure or to be secure in their persons house Houses papers and effects against unreasonable searches and Caesars shall not be violated and no one shall issue but upon probable cause supported by oath or affirmation and particularly describing the place to be searched and the persons or things to be seized
I guess I'm not the only one in the room who sees the great irony of the fourth amendment So you're sitting there thinking hang on. We're at euro Python here. This is a technical conference and
This who is this? British guy ranting on for the last 10 minutes about politics after all what has politics got to do with programming We're engineers So a straw man engineer might ask questions like well We're engineers that we like to solve engineering problems, and I don't really worry about the politics of stuff and things like that
I'm far more interested in the hard problems of technical technology and servers and code and things like that For example, we ask questions like, you know, what is the best way to organize computational resources and we answer them with things By thinking about architecture and design we also
Think about how should such arrangements be created, you know, what tools are we going to use? We use Python use databases. We use methodologies like test driven development and agile methodology We organize ourselves and also we ask who is responsible for making such things work in a team We have people who have particular responsibilities. There's the QA guy. There's the there's the DBA
There's that there's the developer that's the business analyst there's all these different roles and each is responsible for doing something and Each of them also has authority to do certain things perhaps only the QA person is allowed to Deploy the thing to the server that the website to the server because they're the one who signs off that the QA is
is done We also have People who create standards that we that we use So that we in some ways delegate delegate delegate Responsibility for making things work by following standards are made in public
So if you contrast these with problems in political philosophy after all what has engineering got to do with with politics? So political philosophers and I'm not saying politicians here I'm talking about political philosophers people who think about politics not the politicians who are the ones involved in the political system itself These guys ask questions like what is the best way to organize humanity? I mean, that's a pretty big question to ask
What's the best way? What forms of governments should we be should we? Try and promote they they think about the problems of democracy They think about things like corporate structures within the public sphere things like that. Um, how should such arrangements be created?
They they try and define concepts such as duty and rights and they think very carefully about how the law should Should come up come to pass and how it should be enforced Talking of enforcement who is responsible for making such things work who has the power in a society who has authority How does governance work? This is this is political philosophy 101
So I would say I'm asserting that programming is Politics quite simply because we are asking and answering questions about organization process power and control We're writing implementing in some respect we control the laws of the digital world if you look at it that way
so part two questions Assuming that these things are important the politics of programming important. How do we explore this program at what questions as developers? Should we be asking ourselves? And so we turn to Holger who I notice is sat at the back of the room
So last year Holger focused on these these political aspects of programming by asking several pertinent questions What digital world do I want to live in What sort of software do I want to create as a developer and if you're a parent?
What legacy do I leave my children? Um, how would you answer these questions and remember my aim at the beginning which is to give you a context in which you can Think and part of having that context is being able to answer such questions So
One of the Conclusions that that Holger and and and I many others believe is important is is the answer to this question is peer-to-peer And ubiquitous cryptography a way to address the concerns over power and control in a digital world so I'm gonna Because I don't have that much time
I'm going to brush over cryptography assuming that you can go and read a book about it somewhere And this is talk about peer-to-peer So let's examine what peer-to-peer means and how this affects the political aspects of the talk that I was just talking about So what what do I mean by peer-to-peer? Well, this is my back of a fact packet definition peers of equal status devices running appropriate software
cooperate in a loose Decentralized network for mutual benefit and also peer-to-peer is the antithesis of hierarchy where some have elevated status and power over others and One way to to visualize this is with the taxonomy diagrams a very simple taxonomy diagrams over there
On the left is peer-to-peer And on the right is the client server topology that we use on the web Notice that the red spot is the point of power and control in the web and wherever there's power and control Well, that's where politics is
So let's just think very carefully about how this affects for example the World Wide Web, which is probably the most ubiquitous technology platform of the day So the client server architecture of the web is fundamentally unbalanced Because the server always has power over the client. Okay, you authorize yourself Authenticate yourself against Facebook servers, for example
And then Facebook's decides whether you are allowed to see this content or that content or the other content And of course the server can decide that it's just not right for you to see certain content at all because it's illegal Also a server is a single point of failure. That is obviously it is also an obvious target for attacks
We all know about the Twitter farewell But where did the NSA go when they wanted to try and Hoover up lots of people's emails? They tapped into Google because you know, lots and lots of people use Google that use Gmail So am I saying that hierarchy is bad? No, I'm not sometimes hierarchy is very good
Especially when it's efficient and it saves lives if I was having brain surgery I would like to know that the person in charge of that team had trained for Several years and was acknowledged as an expert in their field I wouldn't want to have surgery from a democratic group of I don't know Hippie doctors who would vote at every point in the operation as to what to do next. I'm likely to be dead
As a result of that so it's important in certain situations that there is definite power and control But the important thing to note is that in an ideal world such a hierarchy is best when the obvious skill Knowledge and capabilities of the person or the entity are acknowledged to bring about greater benefit for all
In an ideal world those with elevated status and authority would have earned it via reliable and consistent public Displays of such skill knowledge and capabilities, okay So everyone knows this is a good surgeon because not a lot of people die when they're on the slab with him Okay, for example him or her it's a him in this photo in an ideal world the responsibility and trust
Associated with such status and authority would be a serious yet. Welcome obligation But we don't live in an ideal world We live in it We live in a digital world Where architecture in some sense defines power and control as I just tried to illustrate with the client-server model of the web
If Facebook changed their terms and conditions We have no way to challenge them not only because they're the ones in control of the servers But also because they in some sense they've trapped us in that walled garden of data All our photos all our lives all our all our social life is within this walled garden controlled by Facebook
For example, so I'm about halfway through the talk And I want to summarize so programming I believe is politics because we're thinking about process and power and control of digital assets We agree I hope that strong cryptography protects against surveillance and we agree
I hope that surveillance is in some forms not a good thing to have peer-to-peer decentralized distributed federated systems mitigate points of control and Authority derived from architecture is bad. However, authority derived from evidence is good. So
What can we do to address these issues? So part three actions So this time last year, I didn't know Holger and I was moving house and as Holger was giving his keynote I get kept getting tweeted by
My friends in the audience saying you should contact Holger. He's doing this peer-to-peer stuff. Nicholas You're interested in peer-to-peer stuff You should get together which is what I did and Holger got together with lots of other people at your a Python and the Outcome of that is that we decided that we would get together a group of us and organize some sprints Where we would be able to explore the ideas surrounding peer-to-peer and cryptography and so on and so forth
And we try and do something as well. Obviously Jonas needs an avatar because he doesn't really look like an egg So at this sprint what were our aims at this sprint we grew a community interested in re decentralization of the internet We also have people from really centralized org in the audience, which is a fantastic project
Here put your hand up talk to her Promoting noncephale communication is another thing We're interested in Exploring existing solutions because we're not the first people to be worried about this sort of thing and doing something practical as well We're programmers. We can do stuff with digital assets So at this sprint at the first sprint we asked ourselves two Important questions at what are the fundamental elements of a secure peer-to-peer system and what can we build that is useful?
To this end. So at the sprints We looked at existing technologies Bitcoin peer-to-peer messaging etc. Etc. Etc. Etc And at the sprint we also plugged Holger into the matrix as well and the point I'm trying to make here
Is that seriously you don't need to do silly things to enjoy yourself at these sorts of sprints because these are fun and Interesting and challenging engineering problems and you don't need to be plugged into anything to enjoy them We also decided we would try and organize ourselves at conferences like in gatherings like this one I'll come on to that in a minute
But most importantly I guess is that we wanted to prototype at conferences and gatherings like this one So we had something tangible some code that we could point people at so at least people could say that's wrong You're doing it wrong or that's good. I might join you This stuff isn't going to happen by itself So talking about outcomes, what were the outcomes?
So like I said prototypes and hacks and there are two that I would like to talk about We We explored the problem of a peer-to-peer cryptographic message passing system completely decentralized and We also looked at a universal distributed hash table as a platform
Which is based on some work that I've been doing on a project called the drogulus I'll I'll give you a very high level view of both of these these these projects now So the peer-to-peer decentralized crypto messaging Holger calls this the test card because if we can make this work, we've solved many of the fundamental problems of
cryptographically secure peer-to-peer system We also had expertise within the group We had your this who is one of the developers of the cry pho project, which is in browser Cryptographically safe chat system and he was there. It's very good to have him and his expertise there
And we also looked at existing solutions And we found many but the most interesting was one called retro share that met many of our Requirements for such a system but not all of our needs So we've tried to work out what are the gaps that we can fill in? And so to give you a sense of some of the some of the thoughts that we've been having at these sprints
I just want to pause a moment and describe one of the problems that we have The problem is in a secure decentralized message delivery system How do you communicate with offline peers now with email? It's very simple I just send my email to your email server and the next time you come online you go and collect it
It's almost like a sort of a post box for you But that's a centralized point of control It's somewhere as we know with Gmail and so on and so forth that people can intercept your communications So we wanted to make this completely decentralized if we could with no single point of failure So that the message could could get through in a secure way
so What we've been looking at is Is building a system that allows a trusted online online friends to sort of pass the message like a baton in a real Relay race until the message is delivered And what we're trying to work out is can this be done in a completely decentralized way and it's early days And we'll have to see how how it goes
The other important thing that that we realized is that signaling and discovery are the key How do you know when this person is online or offline? And this leads me to this of the second project that I talked about you could use a distributed hash table to do that. So Let's have a look. What is a distributed hash table? Everybody knows what a dictionary is in Python. Yes
Yeah, okay, it's a distributed one of them It is literally a distributed and decentralized key value store that there's no single point of failure or control It scales to a huge number of nodes as well
Lookup is relatively efficient. Although obviously it's done over the network And it also depending on which algorithm you use the one I'm using is one called cadenia It has good handling of fluid network membership because of course there are nodes joining and leaving the network all the time Okay, and it's also tested in the real world distributed hash tables because bit torrent and free net and other similar
Projects use distributed hash table for lookup but they use a distributed hash table for just their Application and what we were thinking about doing is a universal distributed hash table. So any application could Could store key value pairs in in this DHT
So the universal DHT, it's my current obsession programming project obsession I I work on it on the train when I go into London and Those late nights when my kids have finally gone to bed and so on and so forth so Development is a little bit slow But it solves the problem of discoverability and signaling because people can leave
Their status within the key value a pair within that within the dictionary friends can look up We also had a quick look at Sorry, we didn't look we had a think about how we could make this work I'm not going to talk about this very much because it's I'm not even sure we understand it but
We were discussing a platform called p4p2p, which is distributed hash tables within distributed hash tables So these are name-spaced in some ways so so that particular Particular application can use particular parts of the network that most that the best meet their needs So you're probably sitting there thinking well, he's had about half an hour now. This sounds far too utopian
you know hippie and And it'd be quite valid for you to ask why you're you're obviously crazy you guys And that's usually quickly followed up by you know, what about the economics of this sort of stuff, you know How is how is development? Funded for peer-to-peer systems, you know, how do you put?
food on the table So well, let's think serendipity. Oh, there's a good example of that happened last year at your at Python You know, I kept getting tweets about Holger from friends who just happened to be in the room I met people that I'd never met before at these sprints, but they're here and they're my friends now. So serendipity
serendipity God we met and we're collaborating together. Why is that? Well, perhaps it's because we share the same values we actually care very passionately about our privacy and working in a world where where a peer-to-peer system is is is is Some way of enabling us to to build the digital world that we want to live in. Um, it's also fun
That's a good reason why you might want to work on this sort of thing These are fun engineering problems as I as I demonstrate as I hope I sort of demonstrated and it's also that itch for me Everybody has a different sort of an itch, but that's my particular itch It might be yours It's also important to remember that there was no economic argument made when the web was born as Tim Berners-Lee said the web is more of a social creation than a
technical one and he designed it for a social effect to help people to work together and therein is the value of the web He didn't sit down going. Hmm. What will dominating a hypertext system could I invent? It sort of grew from the bottom up which Chives in with with the keynote from yesterday morning
Um, it's also important to remember that even as far back as 1996 at William Gibson The science fiction author, I'm sure you're all familiar with him said in an article that the World Wide Web is the test pattern for whatever will become the dominant global medium the reason I'm saying this is because it's very easy for us at this time after 20 years of the existence of the World Wide Web
To have World Wide Web goggles on so everyone seems to see things that we must have a website for that We must use a RESTful API We must use HTTP Because that's what everybody uses and while perhaps it's time that we might be able to think about think outside the box and think well
What should come after the web what post web solutions and digital architecture should we should we be using? Which leads me on to Alan Kay at Alan Kay is very famous for saying the best way to predict the future is to Invent it and we're in a very Privileged position as developers because we could actually build that future with Python
But I actually like this quote more I believe that the only kind of science computing can be is like the science of bridge building Somebody has to build the bridges and other people have to tear them down and make better theories and you have to keep on building Bridges, what's the next bridge after the World Wide Web? The penultimate slide so I'm nearly finished don't worry
this Is some cuneiform That's in the British Museum It's five thousand one hundred years old It's one of my favorite places to be the British Museum because you can't help but get An enhanced sense of perspective, you know in internet years, you know, two years is a huge amount of time
This is five thousand one hundred years old It's some of it's one of the earliest examples of writing that we have and it records the allocation of beer You'll be pleased to know by administrators in the city of Uruk and the symbol representing beer is it's actually an upright jar I'm not sure if I can find
With a pointed base and it And the amounts of beer that these workmen have been or work ladies have been having is is denoted by the circles and the crescents Okay, that's their counting system. And if you look in the bottom left, there's actually a person
Drink drinking from the bowl and that's kind of like the receipt to say that the goods have been received So I would like to End by asking you is the World Wide Web our cuneiform clay tablet and what should we be building afterwards?
If you would like to discuss this more with not just me But my friends that went on the sprints as well because what I presented here is very much a group effort Meet us in the foyer at 5 30 this afternoon and we'll have a chat and we'll probably go afterwards for beer and food
The end is there time for questions?
I Can't hear The GPG key signing is almost in parallel to that time in in the basement So it's a bit unfortunate somehow. Okay. I didn't realize that
It actually we looked into key signing when we were our first sprint now you've got to remember there were about nine Highly technical people in the room and we managed to do it wrong Which says a lot for the key signing there are lots of ways that you can improve security
But we got it totally wrong. No more questions. Okay. Oh How did I guess David who's going to ask the question is my colleague So
What is the best way to organize humans to organize humans that was your your big question okay, so I should say that David has a philosophy degree as do I and
My answer would be if you come along at 5 30 this afternoon We can work out the details then actually we could put a note in our in our in our sprint plan And we can create a ticket to discover what the the best way to organize humanity is You said there is a small community of people working on that stuff
But the only thing I find on your website is contact is your Twitter Account. So what medium do you use to communicate except meeting in meet space for some sprint? There should be some more effective way without driving through Germany or whatever
Yeah, you're probably quite right I'd say in our defense. This is early days and we're a group of people who are just exploring the ideas And it's not as if we've announced a political party or a new free software project or something like that Yeah, we're getting together to think about these ideas We communicate on IRC in a channel that has nothing to do with peer-to-peer
Because it's run by one of the one of the guys it's his company IRC channel on free node So I'm not sure he might not like me sharing that channel But it's in form Okay. So the first thing you can do is come along at 530 and we can talk and share email address
You can't okay The second thing you can do is you can prod me on Twitter and I will get back to you the third thing you could do is probably annoy Holger and send him emails because he's quite a high-profile person as well that That will be able to disseminate information because people follow him an awful lot
But you are quite right. This is something that we need We've been enjoying ourselves with distributed hash tables rather than IRC channels and Twitter accounts. I'm afraid Arena, do you want to have the microphone over there in the middle? It needs to be it needs to be recorded for the for posterity. So you better say hello to posterity
Just to say cuz obviously sounds like you guys have a bit of a clique out there you know hanging out for those who want to join a broader broader movement there is a Really centralized mailing list Redecentralized at Libra list
Com with public archives where there's a huge community of people who are interested in Redecentralization technology in adoption in you know, how do we change stuff? So like that is a really good discussion list and there's like a whole website as well Which you can join and follow and get involved with other people and have discussions To do that definitely join arenas list. I'm a member of it
If you if you go if you search Google for really centralized org Don't don't don't go to Google type it into your URL thing at the top of it Really decentralized org and through the magic of the internet this webpage will appear and they have interviews with various people who are doing
Very similar projects in the Pittsburgh sphere I think because we need to sort of turn the room around for the next talk. Now's a good time time to finish One more question then, okay
So The five questions that you have there on the blackboard. Yeah, I think the most interesting is the fifth one and The some political philosopher in Poland recently said that it's not about Who we give the power to it's about how we can remove them when when they fail
When they fail to the river what they were supposed to do. Yeah, and It seems that this distributed peer-to-peer communication is about taking away the power from everyone
So that nobody holds the power So the power is not centralized But yes, there are many instances of stuff where for them when you make a standard You need to have a centralized power to make the standard happen, right? You need some some kind of standardizing
Committee for example like English For example Do you have any ideas of how to organize the the removal of people you don't trust anymore? Yeah Yeah, I mean just for your interest. Anyway, this blackboard that's half the blackboard the bottom half is even better
But it was only the top half that was pertinent for this part of the talk. This was created by a UK politician called Tony Ben Who recently died, but if you look at Tony Ben's five rules, you'll see the whole picture. He's very very good That's it. I guess. Thanks a lot Nicholas for your great talk