Artifact Content
Not logged in

Artifact a4f84820c45d137a9f8df86d3a0477e2147ceefc:

Wiki page [Action Plan] by martin_vahi on 2016-11-14 04:57:25.
D 2016-11-14T04:57:25.317
L Action\sPlan
P af8bf85740d9a5abdacf7c01f09a565ef92ffa77
U martin_vahi
W 4360
<h1>Overview</h1>

<div>Architecture wise all Silktorrent sub-projects can be classified to at
least one of the following 3 categories: <b>storage, tunnels, search</b>. The
storage projects try to figure out, how to store a vast amount of Silktorrent
packets, the tar-files that have their cryptographic hash as their file name,
so that the usage of various computing resources is minimized. The tunnels
projects try to figure out, how to copy those tar-files from one computer to
another at the presence of various adversaries, including censors. The search
projects try to figure out, how to find the tar-files or sets of tar-files at
the presence of various adversaries, including censors,
<a href="http://www.projecthoneypot.org/">honeypots</a>, lying Silktorrent
servers/nodes.</div>

<div><br>
</div>

<div><br>
</div>

<h1>Short Term Wish List</h1>
<ul>

<blockquote></blockquote>
<li>Write a reference tunnel implementation for USB-sticks. <i>(Silktorrent
packages must be placed to different folders to keep the file system operating
at bearable speeds. To avoid reading file names, Silktorrent packet names, from
distant memory regions of the HDD/RAM/some-slow-USB, there must be some SQLite3
database that has a table with relative file paths and the file basenames. The
silktorrent packets have to be verified before insertion.) </i><font color="#008000">Current
latest milestone release allows to create/unpack and verify the Silktorrent
packets, but to keep the file system usage fast, the files must be distributed
to different folders, like the Doxygen project does. The naive solution that
distributes the packets to different folders, is the one that is currently
missing, but, for a few thousand hundred-MiB-sized files it is probably
possible to get by without it.</font></li>
<li>The USB-stick tunnel implementation will be the core of many, if not all,
network based tunnels. Implement a gateway component to many network based
tunnels. Metadata like "suggested-deletion-timestamp" is tunnel implementation
specific and must be closely tied to authentication.</li>
<li>Write a Ruby application that implements a timeline-graph command line
utility. The utility is expected to use the silktorrent_fs_storage_t1 for
storing the packages and an SQLite database for the index. The SQLite database
is meant to be used directly by Silktorrent applications that depend on the
timeline-graph.</li>
<li>Write a Ruby application that swaps out the content of a folder according
to the content of the timeline-graph SQLite database. The folder might be the
web_root of some web server or a sub-folder of the web_root. That's the base
technology for Silktorrent based updatable web sites. To implement e-mail
clients and Forums, the same application must add, not swap out, and that's
also one of its modes of operation.</li>
<li>Implement updatable website application. The very first, simplistic,
version might be based on <a href="https://www.libreoffice.org/">LibreOffice</a>
documents, where the people are offered a time-graph, where they can choose,
which version of the document they want to read, including the "newest".</li>
<li>Improve the updatable website application by adding "document type" option.
One of the options might be "<a href="https://github.com/silexlabs/Silex">Silex
Document</a>".</li>
</ul>

<div><br>
</div>

<div><br>
</div>

<h2>Long Term Wish List</h2>
<ul>
<li>Silktorrent tunnel that is based on the <a href="https://ipfs.io/">IPFS</a>.</li>
<li>Write a fast, formally verified, version of the proper symmetric cropto
algorithm, essentially the mmmv_shallowcrypt_t1. <i>(It probably takes 2 months
to complete that step, one month for the GPU based implementation, OpenGL ES,
and the other for the plain CPU based implementation.)</i></li>
<li>Implement Apache Cordova based smartphone software that allows people to
propagate info through an ad-hoc network, including bus drivers, who drive
regular routes, etc. <i>(It probably takes 3 months to complete that step,
because it assumes the use of native code and on phones the use of native code
can be very problematic.)</i></li>
<li>Plugin for <a href="https://nextcloud.com/">Nextcloud</a>?&nbsp;</li>
</ul>

<p>Some later stage is about the physical drones, swapping of
firmware-malware-prone-USB-sticks, studying of various private LAN
technologies, etc.</p>

Z 6186b26c735452080d9f4f211f600da4