Artifact Content
Not logged in

Artifact 96d4087a2bee484a22d01f95f150be5fe25100f6:

Wiki page [Algorithm and Implementation] by martin_vahi on 2016-06-21 07:10:32.
D 2016-06-21T07:10:32.690
L Algorithm\sand\sImplementation
P 876f4cfadb380410270364de94246555d0100131
U martin_vahi
W 2724
<p><b>The main property, where the Silktorrent differs from the other similar
projects is that its algorithm is modular.</b> The modularity of its
implementation is at least as granular as its algorithm.</p>

<p><br>
</p>

<h1>Algorithm</h1>

<div><br>
</div>

<h2>Silktorrent Packets</h2>

<p>Silktorrent packets are tar-files that have a name that contains the size of
the file and at least one cryptogaphically secure hash of that tar-file. The
reason, why tar is used in stead of tar.gz, zip, xz, etc. is that multi-TiB
files that consist of only regular patterns, may be all zeros or all ones, can
be compressed to a very small file and that kind of file can be used for
DoS-attacking computers that run software that unpacks the compression result.
The Silktorret packet contains folders "header" and "payload". The folder
"header" contains a file "silktorrent_salt.txt" or "silktorrent_salt.blob",
which slightly salts also the size of the Silktorrent packet and allows the
same payload to be transported by different Silktorrent packets. The idea is
that when one package name is blacklisted by censors, the same payload can be
distributed by using a different Silktorrent packet.&nbsp;</p>

<p><br>
</p>

<h3>Optional Silktorrent Packet Header Fields</h3>

<p>All of the files in the "header" folder are part of the tar-file and
influence the secure hash of the tar-file. Secure hash algorithms do have
collisions, but within the limits of those collisions the headers are
inseparable from the Silktorrent packet. Silktorrent packet creation software
is allowed to add additional, implementation specific, files to the "header"
folder, provided that none of the implementation specific files in the "header"
folder has a name that starts with the prefix "silktorrent_". The optional,
"standard", files in the "header" folder are:</p>

<p></p>
<ul>
<li>silktorrent_packet_suggested_deletion_date_t1.txt &nbsp;<font color="#ff0000">(TODO:
describe format after implementation is ready)</font></li>
</ul>

<p></p>

<p><font color="#ff0000">(TODO: Chapter to be completed.)</font></p>

<p><br>
</p>

<h2>Silktorrent Tunnels&nbsp;</h2>

<p>The general idea is that there's a random graph, an addressing scheme for
navigating in a huge random graph and the tunnels are the edges of the graph. A
tunnel can be an USB-stick that is passed on, literally a mail pigeon with a
memory card attached to its leg, a drone with an USB-stick, ordinary HTTP,
BitTorrent, Tor network, <a href="https://freenetproject.org/">Freenet</a>,
etc. The details are at a separate document.</p>

<p><a href="http://longterm.softf1.com/specifications/experimental/silktorrent_v_1_0/">Specification_v_1_0</a><br>
</p>

<p><br>
</p>

<p><br>
</p>

Z f87fd2aad7c67951d01608415241cf56