Added early idea of a DSHT (Distributed Social Hash Table)
authorRoland Häder <roland@mxchange.org>
Mon, 27 Aug 2012 22:19:53 +0000 (22:19 +0000)
committerRoland Häder <roland@mxchange.org>
Mon, 27 Aug 2012 22:19:53 +0000 (22:19 +0000)
.gitattributes
mindmaps/DSHT - A Distributed Social Hash Table.mm [new file with mode: 0644]
mindmaps/Generic Object Sharing Protocol.mm

index 9b23fd2..b0cc463 100644 (file)
@@ -38,6 +38,7 @@ mindmaps/Cruncher[!!-~]Project.html_files/minus.png -text svneol=unset#image/png
 mindmaps/Cruncher[!!-~]Project.html_files/plus.png -text svneol=unset#image/png
 mindmaps/Cruncher[!!-~]Project.html_files/treestyles.css -text svneol=unset#text/css
 mindmaps/Cruncher[!!-~]Project.mm -text
+mindmaps/DSHT[!!-~]-[!!-~]A[!!-~]Distributed[!!-~]Social[!!-~]Hash[!!-~]Table.mm -text
 mindmaps/Data[!!-~]Storage[!!-~]And[!!-~]Retrieval.mm -text
 mindmaps/Generic[!!-~]Object[!!-~]Sharing[!!-~]Protocol.html -text svneol=unset#text/html
 mindmaps/Generic[!!-~]Object[!!-~]Sharing[!!-~]Protocol.html_files/icons/Mail.png -text svneol=unset#image/png
diff --git a/mindmaps/DSHT - A Distributed Social Hash Table.mm b/mindmaps/DSHT - A Distributed Social Hash Table.mm
new file mode 100644 (file)
index 0000000..00ec19c
--- /dev/null
@@ -0,0 +1,170 @@
+<map version="1.0.0">
+<!-- To view this file, download free mind mapping software FreeMind from http://freemind.sourceforge.net -->
+<node CREATED="1346098613886" ID="ID_792047578" MODIFIED="1346104814085" STYLE="fork">
+<richcontent TYPE="NODE"><html>
+  <head>
+    
+  </head>
+  <body>
+    <p style="text-align: center">
+      <b>DSHT - A distributed social hash table</b>
+    </p>
+    <p style="text-align: center">
+      <font size="5">Revision: <b>1</b></font>
+    </p>
+  </body>
+</html>
+</richcontent>
+<font NAME="Dialog" SIZE="20"/>
+<node CREATED="1346099021128" ID="ID_227190792" MODIFIED="1346103084742" POSITION="right" STYLE="fork" TEXT="Basic functionality">
+<font BOLD="true" NAME="Dialog" SIZE="16"/>
+<node CREATED="1346099028021" ID="ID_1215512559" MODIFIED="1346103084742" STYLE="fork" TEXT="Finding nodes in the network">
+<node CREATED="1346099190103" ID="ID_1064160605" MODIFIED="1346103084742" STYLE="fork" TEXT="A node must know which other nodes it can contact">
+<node CREATED="1346099296328" ID="ID_412824123" MODIFIED="1346103084742" STYLE="fork" TEXT="For sharing objects of specific types"/>
+<node CREATED="1346099321048" ID="ID_931174944" MODIFIED="1346103084743" STYLE="fork" TEXT="For downloading objects from other nodes"/>
+</node>
+<node CREATED="1346099415659" ID="ID_1967541063" MODIFIED="1346103084743" STYLE="fork" TEXT="Gain general knowledge about the network">
+<node CREATED="1346099432433" ID="ID_1990164838" MODIFIED="1346103084743" STYLE="fork" TEXT="Improving routing information"/>
+<node CREATED="1346099439467" ID="ID_1321463167" MODIFIED="1346103084743" STYLE="fork" TEXT="Faster lookup of desired nodes"/>
+</node>
+</node>
+<node CREATED="1346099042290" ID="ID_1819822671" MODIFIED="1346103084743" STYLE="fork" TEXT="Announcing to the node network">
+<font NAME="Dialog" SIZE="12"/>
+<node CREATED="1346099463189" ID="ID_906398649" MODIFIED="1346103084743" STYLE="fork" TEXT="Becoming visible to the network">
+<node CREATED="1346099471550" ID="ID_193664360" MODIFIED="1346103084743" STYLE="fork" TEXT="That means to other nodes"/>
+<node CREATED="1346099478844" ID="ID_582345905" MODIFIED="1346103084743" STYLE="fork" TEXT="Else everyone cannot know about that new node"/>
+</node>
+</node>
+<node CREATED="1346099107593" ID="ID_1734219346" MODIFIED="1346103556450" STYLE="fork" TEXT="Inserting objects into the network">
+<node CREATED="1346099694574" ID="ID_720083438" MODIFIED="1346103432738" STYLE="fork" TEXT="To make the objects become known to other nodes"/>
+</node>
+</node>
+<node CREATED="1346099748929" ID="ID_1319216602" MODIFIED="1346103084743" POSITION="left" STYLE="fork" TEXT="Distribution of routing information">
+<font BOLD="true" NAME="Dialog" SIZE="16"/>
+<node CREATED="1346100298124" ID="ID_973992697" MODIFIED="1346103084743" STYLE="fork" TEXT="Short: RI">
+<font BOLD="true" NAME="Dialog" SIZE="12"/>
+<icon BUILTIN="info"/>
+</node>
+<node CREATED="1346100660126" ID="ID_1028970963" MODIFIED="1346103084743" STYLE="fork" TEXT="General">
+<font BOLD="true" NAME="Dialog" SIZE="12"/>
+<icon BUILTIN="help"/>
+<node CREATED="1346102375113" ID="ID_568972754" MODIFIED="1346103084743" STYLE="fork" TEXT="The IP/port number of a node"/>
+</node>
+<node CREATED="1346100348545" ID="ID_678425055" MODIFIED="1346103084743" STYLE="fork" TEXT="Received RI may not be trusted">
+<node CREATED="1346100389862" ID="ID_1653709547" MODIFIED="1346103084743" STYLE="fork" TEXT="This must be verified"/>
+<node CREATED="1346100774052" ID="ID_687834104" MODIFIED="1346103084744" STYLE="fork" TEXT="May contain malicious/badly formed data"/>
+<node CREATED="1346100861187" ID="ID_1027008773" MODIFIED="1346103084744" STYLE="fork" TEXT="May be sent along other messages"/>
+<node CREATED="1346100909437" ID="ID_124131404" MODIFIED="1346103084744" STYLE="fork" TEXT="Is received from a node in x&apos; level"/>
+</node>
+<node CREATED="1346100372824" ID="ID_95709529" MODIFIED="1346103084744" STYLE="fork" TEXT="Own gained RI can be trusted">
+<node CREATED="1346100398448" ID="ID_837453523" MODIFIED="1346103084744" STYLE="fork" TEXT="Is already partly verified">
+<node CREATED="1346101849885" ID="ID_1377879492" MODIFIED="1346103084744" STYLE="fork" TEXT="Verifiable parts">
+<node CREATED="1346101970791" ID="ID_676115182" MODIFIED="1346103084744" STYLE="fork" TEXT="Valid IP/port combination format"/>
+<node CREATED="1346101980990" ID="ID_220514177" MODIFIED="1346103084744" STYLE="fork" TEXT="Is reachable at announced IP and port"/>
+<node CREATED="1346102013619" ID="ID_1307469748" MODIFIED="1346103084744" STYLE="fork" TEXT="Maybe later signed traffic?">
+<icon BUILTIN="help"/>
+<icon BUILTIN="idea"/>
+</node>
+</node>
+<node CREATED="1346101733435" ID="ID_1138963265" MODIFIED="1346103084744" STYLE="fork" TEXT="Unverifiable parts">
+<node CREATED="1346101859857" ID="ID_1548363637" MODIFIED="1346105643493" STYLE="fork" TEXT="Runs legit/original software">
+<icon BUILTIN="button_ok"/>
+</node>
+<node CREATED="1346101883037" ID="ID_1376109029" MODIFIED="1346105646933" STYLE="fork" TEXT="Hasn&apos;t malicious implementations">
+<icon BUILTIN="button_cancel"/>
+<node CREATED="1346101914704" ID="ID_833819969" MODIFIED="1346103992970" STYLE="fork" TEXT="Traffic analysis"/>
+<node CREATED="1346101924980" ID="ID_739888184" MODIFIED="1346103084744" STYLE="fork" TEXT="Protocol exploitation"/>
+<node CREATED="1346101946657" ID="ID_399571481" MODIFIED="1346103084744" STYLE="fork" TEXT="Deep packet inspection"/>
+</node>
+</node>
+</node>
+<node CREATED="1346101572340" ID="ID_1858484509" MODIFIED="1346103084744" STYLE="fork" TEXT="Known nodes are reachable"/>
+<node CREATED="1346101581529" ID="ID_1107430804" MODIFIED="1346103084745" STYLE="fork" TEXT="... and seems to be legit">
+<node CREATED="1346101603771" ID="ID_1478611500" MODIFIED="1346103084745" STYLE="fork" TEXT="Possibly spam/fake node"/>
+<node CREATED="1346101615125" ID="ID_1471059123" MODIFIED="1346103084745" STYLE="fork" TEXT="It still may be bad">
+<node CREATED="1346101626965" ID="ID_1604559475" MODIFIED="1346103084745" STYLE="fork" TEXT="That means following the protocol but doing malicious things in background"/>
+<node CREATED="1346101653898" ID="ID_963674018" MODIFIED="1346103084745" STYLE="fork" TEXT="This is never known to all other nodes"/>
+<node CREATED="1346101678996" ID="ID_291619375" MODIFIED="1346103084745" STYLE="fork" TEXT="Only social trust may help solve this problem"/>
+</node>
+</node>
+</node>
+</node>
+<node CREATED="1346099775610" ID="ID_1399773870" MODIFIED="1346103084745" POSITION="left" STYLE="fork" TEXT="Distribution of storage information">
+<font BOLD="true" NAME="Dialog" SIZE="16"/>
+<node CREATED="1346100316200" ID="ID_713706886" MODIFIED="1346103084745" STYLE="fork" TEXT="Short: SI">
+<font BOLD="true" NAME="Dialog" SIZE="12"/>
+<icon BUILTIN="info"/>
+</node>
+<node CREATED="1346100674291" ID="ID_1266389108" MODIFIED="1346103084745" STYLE="fork" TEXT="General">
+<font BOLD="true" NAME="Dialog" SIZE="12"/>
+<node CREATED="1346102524232" ID="ID_696498680" MODIFIED="1346103084745" STYLE="fork" TEXT="Session id of storing node(s)"/>
+<node CREATED="1346102613740" ID="ID_15245790" MODIFIED="1346103084745" STYLE="fork" TEXT="Hash chunk of stored object"/>
+<node CREATED="1346102650501" ID="ID_16855536" MODIFIED="1346103084745" STYLE="fork" TEXT="Other hashes of stored object">
+<node CREATED="1346102680428" ID="ID_354908104" MODIFIED="1346103084745" STYLE="fork" TEXT="Maybe TigerTreeHash?">
+<icon BUILTIN="help"/>
+</node>
+<node CREATED="1346105680966" ID="ID_650457507" MODIFIED="1346105694719" TEXT="Allows other way of checking data integrity"/>
+</node>
+</node>
+</node>
+<node CREATED="1346099820019" ID="ID_155990784" MODIFIED="1346103084745" POSITION="left" STYLE="fork" TEXT="Fault tolerant">
+<font BOLD="true" NAME="Dialog" SIZE="16"/>
+<node CREATED="1346099836507" ID="ID_796192772" MODIFIED="1346103084745" STYLE="fork" TEXT="Archived by redundancy">
+<node CREATED="1346099851359" ID="ID_616727287" MODIFIED="1346103084745" STYLE="fork" TEXT="Redundant copies of routing and storage informations">
+<node CREATED="1346100026195" ID="ID_1567519522" MODIFIED="1346105595714" STYLE="fork" TEXT="Routing information is very important">
+<node CREATED="1346100071712" ID="ID_1079398228" MODIFIED="1346103084746" STYLE="fork" TEXT="Better routing information means finding alternative routes"/>
+</node>
+<node CREATED="1346100037266" ID="ID_1162644751" MODIFIED="1346103084746" STYLE="fork" TEXT="Storage information is lesser important">
+<node CREATED="1346100120954" ID="ID_345266821" MODIFIED="1346103084746" STYLE="fork" TEXT="It is not that unimportant"/>
+<node CREATED="1346100135934" ID="ID_1413641887" MODIFIED="1346105843274" STYLE="fork" TEXT="Can be restored by reinserting the same object">
+<node CREATED="1346100151330" ID="ID_1631864931" MODIFIED="1346105859264" STYLE="fork" TEXT="Hashes are important to be unique">
+<icon BUILTIN="messagebox_warning"/>
+</node>
+<node CREATED="1346100176442" ID="ID_590807868" MODIFIED="1346103084746" STYLE="fork" TEXT="... and collision-free (in theory)"/>
+</node>
+</node>
+</node>
+<node CREATED="1346099868164" ID="ID_922060512" MODIFIED="1346103084746" STYLE="fork" TEXT="These informations must be verifiable"/>
+</node>
+<node CREATED="1346099894568" ID="ID_1902871566" MODIFIED="1346103084746" STYLE="fork" TEXT="If a node goes offline, no information must be lost">
+<node CREATED="1346099945796" ID="ID_533922142" MODIFIED="1346103084746" STYLE="fork" TEXT="This would be fatal, because objects cannot be found"/>
+<node CREATED="1346099981324" ID="ID_1230467136" MODIFIED="1346103084746" STYLE="fork" TEXT="Would cause &quot;black outs&quot; in the network"/>
+</node>
+</node>
+<node CREATED="1346104531733" ID="ID_768306510" MODIFIED="1346104544659" POSITION="right" TEXT="Social trust">
+<font BOLD="true" NAME="Dialog" SIZE="16"/>
+<node CREATED="1346104549588" ID="ID_1382079221" MODIFIED="1346105508073" TEXT="Behind nodes are real persons">
+<node CREATED="1346105486352" ID="ID_1815491331" MODIFIED="1346105516318" TEXT="He/she download the code and run it"/>
+</node>
+<node CREATED="1346104563679" ID="ID_1801687220" MODIFIED="1346104581656" TEXT="People may give trust to other people">
+<node CREATED="1346104883231" ID="ID_435846132" MODIFIED="1346104896660" TEXT="They know each other in real life">
+<node CREATED="1346104966303" ID="ID_1652697708" MODIFIED="1346104971236" TEXT="Long-term friends"/>
+<node CREATED="1346104971771" ID="ID_349672853" MODIFIED="1346104991747" TEXT="Family relatives"/>
+</node>
+<node CREATED="1346104900145" ID="ID_1866338412" MODIFIED="1346104933993" TEXT="They trust that that the other one has a good behaviour">
+<node CREATED="1346104939602" ID="ID_239287022" MODIFIED="1346105069352" TEXT="He/she won&apos;t run malicious code"/>
+</node>
+</node>
+<node CREATED="1346105337705" ID="ID_994373891" MODIFIED="1346105441805" TEXT="Trust can be inherited">
+<node CREATED="1346104588461" ID="ID_211054341" MODIFIED="1346104602437" TEXT="Inherited trust cannot ultimately be trusted">
+<node CREATED="1346104609786" ID="ID_544069972" MODIFIED="1346104875537">
+<richcontent TYPE="NODE"><html>
+  <head>
+    
+  </head>
+  <body>
+    <p style="text-align: center">
+      Say: if person A trusts person B, and person C trust person A, then person C cannot automatically trust person B.
+    </p>
+  </body>
+</html></richcontent>
+<icon BUILTIN="messagebox_warning"/>
+<icon BUILTIN="idea"/>
+</node>
+<node CREATED="1346105141011" ID="ID_567826817" MODIFIED="1346105158067" TEXT="Same for both negative and positive trust"/>
+</node>
+<node CREATED="1346105175088" ID="ID_287244608" MODIFIED="1346105376103" TEXT="Needs to be trusted separately"/>
+</node>
+</node>
+</node>
+</map>
index 12ac5c2..6a3513e 100644 (file)
@@ -1,6 +1,6 @@
 <map version="1.0.0">
 <!-- To view this file, download free mind mapping software FreeMind from http://freemind.sourceforge.net -->
-<node CREATED="1236122299751" ID="Freemind_Link_1069566441" MODIFIED="1341963437640" TEXT="Generic Object-Sharing Protocol">
+<node CREATED="1236122299751" ID="Freemind_Link_1069566441" MODIFIED="1346100740491" TEXT="Generic Object-Sharing Protocol">
 <font BOLD="true" NAME="Dialog" SIZE="20"/>
 <node CREATED="1236123417491" FOLDED="true" ID="Freemind_Link_1660540085" MODIFIED="1341963416827" POSITION="left" TEXT="Node Identification">
 <font BOLD="true" NAME="Dialog" SIZE="16"/>