decentralized social networking - stanford universitylam/cornell09.pdfmonica lam stanford university...
TRANSCRIPT
MonicaLamStanfordUniversity
withDanBoneh,RuvenChu,BenDodson,MichaelFischer,SudheendraHangal,BobbyGeorgescu,Te‐YuanHuang,ChanhNguyen,DebangsuSengupta,JiwonSeo,Seok‐WonSeong,SengKeatTeh,IanVo
DecentralizedSocialNetworkingProgrammableOpenMobileInternet(POMI)2020
Biggest(Last?)PersonalComputerRevoluUon
mainframe mini
workstation PC
laptop phone
10x cheaper, 10x more users
PC,TVathome,ontheroad,inhotels,ontheplane
3‐TierArchitecture
servers data
PersonalizethegenericPC,borrowthepower,display,keyboard,memory,etc
Mykey,cache,windowintomydigitalcloud:ID,personality,assets,andtheinternet
天 Tian
(Heaven)
地 Di
(Earth)
人 Ren
(Man)
Ad‐SupportedSocialNetworking
Ownership,Privacy?
EULA reserves the right to change the EULA
Convenience?Datasilos
PC
Web
dropbox Loopt
Our Personal Cloud
EconomicsofSuper‐GiantStarTopology?
Openness?
TheOmniscientMonopoly
Ad‐SupportedSocialNetworking
• Privacy
• Dataownership• Datasilos
• Costofinfrastructureforsuper‐giantstartechnologies
• Closedproprietarysystems
DecentralizedOpenTrustworthy(DOT)SocialNetwww.dotsocialnet.org
DecentralizedacrossdifferentadministraUondomains
• Choiceofprivacy—ownedhomeserver,paidvendor,ad‐supportedvendor
OpenAPIfordistributedapplicaUonsacrossadministraUondomains
Trustworthy:Sharingwithfine‐grainaccesscontrol
Inter-operability between MySpace & Facebook (like AT&T & Verizon)
Online social networking without reservations!
Hypotheses
Anopen,high‐levelAPIandpla>orm
makesdecentralizedapplicaAonseasytodevelop
easytodevel
$easytouse
Privacyapps
affordable
AsafehavenwithaccesscontrolPAYS
• insitusocialnetworking• privacy‐sensiUveapps
DecentralizaAonismorescalableandcosteffecAve
Strategy
Developinfrastructure
BasicApplicaUons
ReleaseRealApps&ExperimentResearch
ConsorUum
OpenAPI
InSituSocialNetworking
easytodevel
$ easytouse
affordable
✓ ✓ ✓
Privacyapps
Personal‐CloudButler
DecentralizedSocialNetworkingArchitecture
Big‐BrotherPortal
WebBrowser
3rdParty
WebBrowser
Encrypted & Anonymous Data, Computation, Messaging
Personal‐CloudButler
Personal‐CloudButler
Unencrypted Data &
Computation
Unencrypted Data & Computation
PrPl (Private-Public) Infrastructure
Junction Platform
PersonalCloudButlers
PersonalCloudButler:Mediatesaccesstopersonaldata
ManagesasemanUcindexpoinUngtodatahostedanywhere
MyPersonalCloud
GPS Trace Credit card history Email Phone record
Friends’ List Calendar
Personal‐CloudButler
SocialMulU‐Database
PrPlIndex
OpenIDManager
iPhone
DataStewardAPI
DataManager
SociaLite:SocialDBLanguage
MusicGPSPhotoContact
MobileclientAPI
Android
Friend’sButlers
Friend’sButlers
Friends’Butlers
imapfacebookhomeserver
SociaLite:LanguageforaSocialMulU‐Database
• AdistributeddeclaraUvesocialdatabaselanguage
• BasedonDatalog:programsaredeclaredasrules
• Example:FOAF(?p):‐FRIEND(?p)FOAF(?p):‐FRIEND(?x),FOAF[?x](?p)FOAF‐CurrLocaUon(?p,?l):‐FOAF(?p),CurrLocaUon[?p](?l)
• SupportscomposiUon,recursion• HidesdistribuUondetails:Messaging,credenUals
• DeclaraUve:easytoopUmize:caching,approximaUon,incrementality
easytodevel
BasicApplicaUon:Peops
• FriendsallruntheirownButlers
• HarvestedfriendsfromFacebook
• Displayselectedfriendsphotos,GPSlocaUons
• SinglequerypersonalButler• ButlercontactsotherButlerstoreturnresults
In‐SituSocialNetworking
Former Co-workers
Stanford Friends
Research Group
Family
Old Childhood Buddies
Grade school
High school
Rock Band
Foodies
• Extractgroupsfromemail(Jaccardsimilaritymetrics)
• Askusersforgroupnames
• Pre‐populatewithemailaeachments
• Accesscontrol:OpenID
• Suggestnewgroupmembers• AddnewcontentsRelationship Map
easytouse
ProofofConceptonPlanetlab
Distributed SociaLite query of tagged photos over the planet with 100 nodes (20,000 photos total from Facebook)
0102030405060708090
100
0 1 2 3 4 5 6 7 8
ResultsRe
ceived
(%)
Time(s)
10Friends
20Friends
30Friends
50Friends
100Friends
JuncUon:PlamormforAdHocP2PApps
html/css/js
server-side scripting
YahooPoker
WebBrowser
WebBrowser
http://www.yahoo.com/ poker/sessionid=234
http://www.yahoo.com/ poker/sessionid=123 Activ Script
Cross- Platform Native app
generic, anonymous
XMPP
AcUvityDirector
AcUvityDirector
AcUvityDirectorAcUvityDirector
juncUon://sb/sessionID=234(byinvitaUon)
AcUvScript
Dealer Table Player
{ ad: "edu.stanford.prpl.poker”, friendlyName: "PrPl Poker”, roles: { "player": {platforms: {android: {package: "edu.stanford.prpl.poker”, url: http://prpl.stanford.edu/poker/downloads/poker.apk}}, {web: { url: "http://prpl.stanford.edu/poker/play" }}} "table”: {platforms: { web: {url: "http://prpl.stanford.edu/poker/table" }}}, "dealer”: {platforms: { java: {url: "http://prpl.stanford.edu/poker/downloads/dealer.jar" }}}}}
easytodevel
Ad‐HocGameBetweenPhones
. . .
Accept with a snap
Download software Join activity
Start Activity Invite: QR code
408‐555‐5555
ACCEPT
JoinmyBluffgame!
RollingDice(withReplacement)
1. Commit Each picks a random r, declares gr mod p where g, p are agreed upon.
2. Give to owner If not owner, reveal r. Owner calculates value of die as (ra + rb + rc) mod 6.
3. Reveal Owner makes his r public.
4. Verify A revealed r is only valid if gr matches gr from step 1.
a
b
c
Public
(ra + rb + rc) mod 6
ra
rb
rc
rb g
rc g
ra g
CollaboraUveYouTube
Web: < 250 lines of JS ~50 lines of Junction Phone: < 200 lines of JAVA
~60 lines of Junction
easytouse
easytodevel
Real‐LifeApplicaUonIdeas
Edu‐Games
CampusBiggest‐Loser
ShoppingSocial
easytodevel
easytouse
$
affordable
easytodevel
easytouse
easytodevel
easytouse
Privacyapps
Privacyapps
MusicSocial:Jinzora
ShareanddiscovermusicBuymusic
easytodevel
easytouse $
OnlineSocialNetworkingwithoutReservaUons
PrPl,SociaLiteJuncUon
Peops,Poker,Dice
Real‐apps:JinzoraMusic,ShoppingSocial,Edu‐Games,BiggestLoser
ResearchConsorUum
OpenAPI
EmailMining
easytodevel
$ easytouse
affordable
✓ ✓ ✓
Privacyapps
Inter-operability between MySpace & Facebook