|Page Name:||Algorithm and Implementation|
The main property, where the Silktorrent differs from the other similar projects is that its algorithm is modular. The modularity of its implementation is at least as granular as its algorithm.
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.
Optional Silktorrent Packet Header Fields
Silktorrent package 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_".