]> git.mxchange.org Git - hub-docs.git/blob - mindmaps/DSHT - A Distributed Social Hash Table.mm
Added early idea of a DSHT (Distributed Social Hash Table)
[hub-docs.git] / mindmaps / DSHT - A Distributed Social Hash Table.mm
1 <map version="1.0.0">
2 <!-- To view this file, download free mind mapping software FreeMind from http://freemind.sourceforge.net -->
3 <node CREATED="1346098613886" ID="ID_792047578" MODIFIED="1346104814085" STYLE="fork">
4 <richcontent TYPE="NODE"><html>
5   <head>
6     
7   </head>
8   <body>
9     <p style="text-align: center">
10       <b>DSHT - A distributed social hash table</b>
11     </p>
12     <p style="text-align: center">
13       <font size="5">Revision: <b>1</b></font>
14     </p>
15   </body>
16 </html>
17 </richcontent>
18 <font NAME="Dialog" SIZE="20"/>
19 <node CREATED="1346099021128" ID="ID_227190792" MODIFIED="1346103084742" POSITION="right" STYLE="fork" TEXT="Basic functionality">
20 <font BOLD="true" NAME="Dialog" SIZE="16"/>
21 <node CREATED="1346099028021" ID="ID_1215512559" MODIFIED="1346103084742" STYLE="fork" TEXT="Finding nodes in the network">
22 <node CREATED="1346099190103" ID="ID_1064160605" MODIFIED="1346103084742" STYLE="fork" TEXT="A node must know which other nodes it can contact">
23 <node CREATED="1346099296328" ID="ID_412824123" MODIFIED="1346103084742" STYLE="fork" TEXT="For sharing objects of specific types"/>
24 <node CREATED="1346099321048" ID="ID_931174944" MODIFIED="1346103084743" STYLE="fork" TEXT="For downloading objects from other nodes"/>
25 </node>
26 <node CREATED="1346099415659" ID="ID_1967541063" MODIFIED="1346103084743" STYLE="fork" TEXT="Gain general knowledge about the network">
27 <node CREATED="1346099432433" ID="ID_1990164838" MODIFIED="1346103084743" STYLE="fork" TEXT="Improving routing information"/>
28 <node CREATED="1346099439467" ID="ID_1321463167" MODIFIED="1346103084743" STYLE="fork" TEXT="Faster lookup of desired nodes"/>
29 </node>
30 </node>
31 <node CREATED="1346099042290" ID="ID_1819822671" MODIFIED="1346103084743" STYLE="fork" TEXT="Announcing to the node network">
32 <font NAME="Dialog" SIZE="12"/>
33 <node CREATED="1346099463189" ID="ID_906398649" MODIFIED="1346103084743" STYLE="fork" TEXT="Becoming visible to the network">
34 <node CREATED="1346099471550" ID="ID_193664360" MODIFIED="1346103084743" STYLE="fork" TEXT="That means to other nodes"/>
35 <node CREATED="1346099478844" ID="ID_582345905" MODIFIED="1346103084743" STYLE="fork" TEXT="Else everyone cannot know about that new node"/>
36 </node>
37 </node>
38 <node CREATED="1346099107593" ID="ID_1734219346" MODIFIED="1346103556450" STYLE="fork" TEXT="Inserting objects into the network">
39 <node CREATED="1346099694574" ID="ID_720083438" MODIFIED="1346103432738" STYLE="fork" TEXT="To make the objects become known to other nodes"/>
40 </node>
41 </node>
42 <node CREATED="1346099748929" ID="ID_1319216602" MODIFIED="1346103084743" POSITION="left" STYLE="fork" TEXT="Distribution of routing information">
43 <font BOLD="true" NAME="Dialog" SIZE="16"/>
44 <node CREATED="1346100298124" ID="ID_973992697" MODIFIED="1346103084743" STYLE="fork" TEXT="Short: RI">
45 <font BOLD="true" NAME="Dialog" SIZE="12"/>
46 <icon BUILTIN="info"/>
47 </node>
48 <node CREATED="1346100660126" ID="ID_1028970963" MODIFIED="1346103084743" STYLE="fork" TEXT="General">
49 <font BOLD="true" NAME="Dialog" SIZE="12"/>
50 <icon BUILTIN="help"/>
51 <node CREATED="1346102375113" ID="ID_568972754" MODIFIED="1346103084743" STYLE="fork" TEXT="The IP/port number of a node"/>
52 </node>
53 <node CREATED="1346100348545" ID="ID_678425055" MODIFIED="1346103084743" STYLE="fork" TEXT="Received RI may not be trusted">
54 <node CREATED="1346100389862" ID="ID_1653709547" MODIFIED="1346103084743" STYLE="fork" TEXT="This must be verified"/>
55 <node CREATED="1346100774052" ID="ID_687834104" MODIFIED="1346103084744" STYLE="fork" TEXT="May contain malicious/badly formed data"/>
56 <node CREATED="1346100861187" ID="ID_1027008773" MODIFIED="1346103084744" STYLE="fork" TEXT="May be sent along other messages"/>
57 <node CREATED="1346100909437" ID="ID_124131404" MODIFIED="1346103084744" STYLE="fork" TEXT="Is received from a node in x&apos; level"/>
58 </node>
59 <node CREATED="1346100372824" ID="ID_95709529" MODIFIED="1346103084744" STYLE="fork" TEXT="Own gained RI can be trusted">
60 <node CREATED="1346100398448" ID="ID_837453523" MODIFIED="1346103084744" STYLE="fork" TEXT="Is already partly verified">
61 <node CREATED="1346101849885" ID="ID_1377879492" MODIFIED="1346103084744" STYLE="fork" TEXT="Verifiable parts">
62 <node CREATED="1346101970791" ID="ID_676115182" MODIFIED="1346103084744" STYLE="fork" TEXT="Valid IP/port combination format"/>
63 <node CREATED="1346101980990" ID="ID_220514177" MODIFIED="1346103084744" STYLE="fork" TEXT="Is reachable at announced IP and port"/>
64 <node CREATED="1346102013619" ID="ID_1307469748" MODIFIED="1346103084744" STYLE="fork" TEXT="Maybe later signed traffic?">
65 <icon BUILTIN="help"/>
66 <icon BUILTIN="idea"/>
67 </node>
68 </node>
69 <node CREATED="1346101733435" ID="ID_1138963265" MODIFIED="1346103084744" STYLE="fork" TEXT="Unverifiable parts">
70 <node CREATED="1346101859857" ID="ID_1548363637" MODIFIED="1346105643493" STYLE="fork" TEXT="Runs legit/original software">
71 <icon BUILTIN="button_ok"/>
72 </node>
73 <node CREATED="1346101883037" ID="ID_1376109029" MODIFIED="1346105646933" STYLE="fork" TEXT="Hasn&apos;t malicious implementations">
74 <icon BUILTIN="button_cancel"/>
75 <node CREATED="1346101914704" ID="ID_833819969" MODIFIED="1346103992970" STYLE="fork" TEXT="Traffic analysis"/>
76 <node CREATED="1346101924980" ID="ID_739888184" MODIFIED="1346103084744" STYLE="fork" TEXT="Protocol exploitation"/>
77 <node CREATED="1346101946657" ID="ID_399571481" MODIFIED="1346103084744" STYLE="fork" TEXT="Deep packet inspection"/>
78 </node>
79 </node>
80 </node>
81 <node CREATED="1346101572340" ID="ID_1858484509" MODIFIED="1346103084744" STYLE="fork" TEXT="Known nodes are reachable"/>
82 <node CREATED="1346101581529" ID="ID_1107430804" MODIFIED="1346103084745" STYLE="fork" TEXT="... and seems to be legit">
83 <node CREATED="1346101603771" ID="ID_1478611500" MODIFIED="1346103084745" STYLE="fork" TEXT="Possibly spam/fake node"/>
84 <node CREATED="1346101615125" ID="ID_1471059123" MODIFIED="1346103084745" STYLE="fork" TEXT="It still may be bad">
85 <node CREATED="1346101626965" ID="ID_1604559475" MODIFIED="1346103084745" STYLE="fork" TEXT="That means following the protocol but doing malicious things in background"/>
86 <node CREATED="1346101653898" ID="ID_963674018" MODIFIED="1346103084745" STYLE="fork" TEXT="This is never known to all other nodes"/>
87 <node CREATED="1346101678996" ID="ID_291619375" MODIFIED="1346103084745" STYLE="fork" TEXT="Only social trust may help solve this problem"/>
88 </node>
89 </node>
90 </node>
91 </node>
92 <node CREATED="1346099775610" ID="ID_1399773870" MODIFIED="1346103084745" POSITION="left" STYLE="fork" TEXT="Distribution of storage information">
93 <font BOLD="true" NAME="Dialog" SIZE="16"/>
94 <node CREATED="1346100316200" ID="ID_713706886" MODIFIED="1346103084745" STYLE="fork" TEXT="Short: SI">
95 <font BOLD="true" NAME="Dialog" SIZE="12"/>
96 <icon BUILTIN="info"/>
97 </node>
98 <node CREATED="1346100674291" ID="ID_1266389108" MODIFIED="1346103084745" STYLE="fork" TEXT="General">
99 <font BOLD="true" NAME="Dialog" SIZE="12"/>
100 <node CREATED="1346102524232" ID="ID_696498680" MODIFIED="1346103084745" STYLE="fork" TEXT="Session id of storing node(s)"/>
101 <node CREATED="1346102613740" ID="ID_15245790" MODIFIED="1346103084745" STYLE="fork" TEXT="Hash chunk of stored object"/>
102 <node CREATED="1346102650501" ID="ID_16855536" MODIFIED="1346103084745" STYLE="fork" TEXT="Other hashes of stored object">
103 <node CREATED="1346102680428" ID="ID_354908104" MODIFIED="1346103084745" STYLE="fork" TEXT="Maybe TigerTreeHash?">
104 <icon BUILTIN="help"/>
105 </node>
106 <node CREATED="1346105680966" ID="ID_650457507" MODIFIED="1346105694719" TEXT="Allows other way of checking data integrity"/>
107 </node>
108 </node>
109 </node>
110 <node CREATED="1346099820019" ID="ID_155990784" MODIFIED="1346103084745" POSITION="left" STYLE="fork" TEXT="Fault tolerant">
111 <font BOLD="true" NAME="Dialog" SIZE="16"/>
112 <node CREATED="1346099836507" ID="ID_796192772" MODIFIED="1346103084745" STYLE="fork" TEXT="Archived by redundancy">
113 <node CREATED="1346099851359" ID="ID_616727287" MODIFIED="1346103084745" STYLE="fork" TEXT="Redundant copies of routing and storage informations">
114 <node CREATED="1346100026195" ID="ID_1567519522" MODIFIED="1346105595714" STYLE="fork" TEXT="Routing information is very important">
115 <node CREATED="1346100071712" ID="ID_1079398228" MODIFIED="1346103084746" STYLE="fork" TEXT="Better routing information means finding alternative routes"/>
116 </node>
117 <node CREATED="1346100037266" ID="ID_1162644751" MODIFIED="1346103084746" STYLE="fork" TEXT="Storage information is lesser important">
118 <node CREATED="1346100120954" ID="ID_345266821" MODIFIED="1346103084746" STYLE="fork" TEXT="It is not that unimportant"/>
119 <node CREATED="1346100135934" ID="ID_1413641887" MODIFIED="1346105843274" STYLE="fork" TEXT="Can be restored by reinserting the same object">
120 <node CREATED="1346100151330" ID="ID_1631864931" MODIFIED="1346105859264" STYLE="fork" TEXT="Hashes are important to be unique">
121 <icon BUILTIN="messagebox_warning"/>
122 </node>
123 <node CREATED="1346100176442" ID="ID_590807868" MODIFIED="1346103084746" STYLE="fork" TEXT="... and collision-free (in theory)"/>
124 </node>
125 </node>
126 </node>
127 <node CREATED="1346099868164" ID="ID_922060512" MODIFIED="1346103084746" STYLE="fork" TEXT="These informations must be verifiable"/>
128 </node>
129 <node CREATED="1346099894568" ID="ID_1902871566" MODIFIED="1346103084746" STYLE="fork" TEXT="If a node goes offline, no information must be lost">
130 <node CREATED="1346099945796" ID="ID_533922142" MODIFIED="1346103084746" STYLE="fork" TEXT="This would be fatal, because objects cannot be found"/>
131 <node CREATED="1346099981324" ID="ID_1230467136" MODIFIED="1346103084746" STYLE="fork" TEXT="Would cause &quot;black outs&quot; in the network"/>
132 </node>
133 </node>
134 <node CREATED="1346104531733" ID="ID_768306510" MODIFIED="1346104544659" POSITION="right" TEXT="Social trust">
135 <font BOLD="true" NAME="Dialog" SIZE="16"/>
136 <node CREATED="1346104549588" ID="ID_1382079221" MODIFIED="1346105508073" TEXT="Behind nodes are real persons">
137 <node CREATED="1346105486352" ID="ID_1815491331" MODIFIED="1346105516318" TEXT="He/she download the code and run it"/>
138 </node>
139 <node CREATED="1346104563679" ID="ID_1801687220" MODIFIED="1346104581656" TEXT="People may give trust to other people">
140 <node CREATED="1346104883231" ID="ID_435846132" MODIFIED="1346104896660" TEXT="They know each other in real life">
141 <node CREATED="1346104966303" ID="ID_1652697708" MODIFIED="1346104971236" TEXT="Long-term friends"/>
142 <node CREATED="1346104971771" ID="ID_349672853" MODIFIED="1346104991747" TEXT="Family relatives"/>
143 </node>
144 <node CREATED="1346104900145" ID="ID_1866338412" MODIFIED="1346104933993" TEXT="They trust that that the other one has a good behaviour">
145 <node CREATED="1346104939602" ID="ID_239287022" MODIFIED="1346105069352" TEXT="He/she won&apos;t run malicious code"/>
146 </node>
147 </node>
148 <node CREATED="1346105337705" ID="ID_994373891" MODIFIED="1346105441805" TEXT="Trust can be inherited">
149 <node CREATED="1346104588461" ID="ID_211054341" MODIFIED="1346104602437" TEXT="Inherited trust cannot ultimately be trusted">
150 <node CREATED="1346104609786" ID="ID_544069972" MODIFIED="1346104875537">
151 <richcontent TYPE="NODE"><html>
152   <head>
153     
154   </head>
155   <body>
156     <p style="text-align: center">
157       Say: if person A trusts person B, and person C trust person A, then person C cannot automatically trust person B.
158     </p>
159   </body>
160 </html></richcontent>
161 <icon BUILTIN="messagebox_warning"/>
162 <icon BUILTIN="idea"/>
163 </node>
164 <node CREATED="1346105141011" ID="ID_567826817" MODIFIED="1346105158067" TEXT="Same for both negative and positive trust"/>
165 </node>
166 <node CREATED="1346105175088" ID="ID_287244608" MODIFIED="1346105376103" TEXT="Needs to be trusted separately"/>
167 </node>
168 </node>
169 </node>
170 </map>