OFF System
   HOME

TheInfoList



OR:

The Owner-Free File System (''OFF System'', or ''OFFS'' for short) is a
peer-to-peer Peer-to-peer (P2P) computing or networking is a distributed application architecture that partitions tasks or workloads between peers. Peers are equally privileged, equipotent participants in the network. They are said to form a peer-to-peer ...
distributed file system A clustered file system is a file system which is shared by being simultaneously mounted on multiple servers. There are several approaches to clustering, most of which do not employ a clustered file system (only direct attached storage fo ...
in which all shared files are represented by
randomized In common usage, randomness is the apparent or actual lack of pattern or predictability in events. A random sequence of events, symbols or steps often has no order and does not follow an intelligible pattern or combination. Individual ra ...
multi-used data blocks. Instead of anonymizing the network, the data blocks are anonymized and therefore, only data garbage is ever exchanged and stored and no forwarding via intermediate nodes is required. ''OFFS'' claims to have been created with the expressed intention "to cut off some gangrene-infested bits of the copyright industry."


History

''OFFS'' development started within the
hacktivism In Internet activism, hacktivism, or hactivism (a portmanteau of ''hack'' and ''activism''), is the use of computer-based techniques such as hacking as a form of civil disobedience to promote a political agenda or social change. With roots in hac ...
grou
The Big Hack
in 2003 by the
hackers A hacker is a person skilled in information technology who uses their technical knowledge to achieve a goal or overcome an obstacle, within a computerized system by non-standard means. Though the term ''hacker'' has become associated in popu ...
Cheater512, CaptainMorgan, Aqlo and WhiteRaven. In 2004, a rudimentary version was finished, written in PHP, which was distributed as two demo CDs. Following these, SpectralMorning re-implemented the functionality in 2004 in
C++ C++ (pronounced "C plus plus") is a high-level general-purpose programming language created by Danish computer scientist Bjarne Stroustrup as an extension of the C programming language, or "C with Classes". The language has expanded significan ...
, which led to the current "mainline" ''OFFS'' client. On August 14, 2006, CaptainMorgan posted a letter of "closing" addressed to the "Copyright Industry Associations of America", such as the RIAA and
MPAA The Motion Picture Association (MPA) is an American trade association representing the five major film studios of the United States, as well as the video streaming service Netflix. Founded in 1922 as the Motion Picture Producers and Distribu ...
, stating that they have created ''OFFS'' with the purpose of ending "all of your problems with consumer copyright infringement." In 2008, the network consisted of around 50 nodes. On April 11, 2008, a beta test was held with a network size of over 100 nodes. Since SpectralMorning stopped work on ''OFFS'' in late 2008, only minor bug fix releases were made to mainline ''OFF''. Starting from 2007, an alternative, but compatible client was developed, called BlocksNet. Written in
Ruby A ruby is a pinkish red to blood-red colored gemstone, a variety of the mineral corundum ( aluminium oxide). Ruby is one of the most popular traditional jewelry gems and is very durable. Other varieties of gem-quality corundum are called ...
and well-maintained, it saw major improvements over recent time. It has been under development until 2011. The client OFFLoad is a
fork In cutlery or kitchenware, a fork (from la, furca 'pitchfork') is a utensil, now usually made of metal, whose long handle terminates in a head that branches into several narrow and often slightly curved tine (structural), tines with which one ...
from mainline ''OFFS'', which seemingly adds no features. Reasons for the fork are unclear. Another distantly related program i
Monolith
which uses a similar principle to ''OFFS''. It was created after ''OFFS'' and features no multi-use of blocks and no networking.


Functional Principle

The ''OFF System'' is a kind of anonymous, fully decentralized P2P file sharing program and network. In contrast to other anonymous file sharing networks, which derive their anonymity from forwarding their data blocks via intermediate network nodes, ''OFFS'' derives its anonymity from anonymizing the data files. Thus, the system refers to itself as a ''brightnet'' to contrast its method of operation with that of private file sharing systems known as
darknet A dark net or darknet is an overlay network within the Internet that can only be accessed with specific software, configurations, or authorization, and often uses a unique customized communication protocol. Two typical darknet types are social ne ...
s and with traditional, forwarding anonymous P2P programs.


Store Procedure

In order to store a file into the local OFFS storage, resp. ''block cache'', choose the tuple size t (default 3), split the source file s into blocks s_i of size 128 KiB (pad with random data to fit) and for each, do the following: # Select t-1 blocks for use as randomizer blocks, or for short, ''randomizers'', from the existing OFFS cache, which have not been used in previous iterations. If not enough randomizers exist in the cache, generate them using a random number generator. # Calculate o_i = s_i \oplus r_1 \oplus r_2 \oplus ... \oplus r_ and store the resulting block o_i in the cache, \oplus being the XOR operation. # Update the ''descriptor list'', which contains the information on how to restore each source block s_i, with a new entry, which is a set of size t: \. Finally, store the ''descriptor list'' in its own block (or blocks, if the list is larger than 128 KiB) and insert these blocks d_i into the block cache and generate an ''OFFS URL'' for referencing the source file and output it to the user or into the local ''OFFS URL'' database.


Retrieve Procedure

To retrieve, obtain the descriptor block or blocks and for each contained set of size t, do the following: # Obtain the listed blocks b_1, b_2 ... b_t. Though they have no identity any more at this point, they could be called o_i, r_1, r_2 ... r_. # Perform s_i = b_1 \oplus b_2 \oplus ... \oplus b_t and output the resulting source data block s_i to a viewer program or to storage.


Anonymity

''OFFS'' derives its anonymity from the following: # No source file content is stored in the block cache, only blocks that consist of probably random data. # No source file content is searched for on the network. # No source file content is transmitted over the network. # (No block in the cache is copyrightable by itself, because numbers - however large - cannot be subject to copyright (and neither would be small parts of a copyrighted work).) # The original uploader remains unknown, because blocks are dispersed into the network and therefore downloading is done from multiple sources. # During disperse, the usage of the block cannot be stated, because blocks are re-used in other contexts to re-assemble other source file blocks. (TODO that is true also for retrieve) # (No block can be copyrighted without logical contradictions, because blocks used for re-assembling a source file block are re-used for re-assembly of other source file blocks. It is undecidable who would have copyright on a block, which has several meanings. Everyone would have copyright on everything.) # If the ''OFF''-internal search function is used, search terms are untraceable to its originator, because the search request is forwarded to the next node and its results back to that node instead of directly to the originator. It is thus not possible to decide whether a node is the originating node or a node doing a search request on behalf of another node. # TODO add digital copyright note


Efficiency

Because ''OFFS'' anonymizes the data blocks being exchanged instead of the network, no forwarding via intermediate nodes is required. Therefore, this method has a higher degree of efficiency than traditional, forwarding-based anonymous P2P systems. The forwarding method requires that a data block is uploaded and downloaded several times before it reaches its destination, which happens between 5 and 15 times., which, according to the resulting formula s * (hi + ho + 1) * 2 - s, is equivalent to an overhead of 900 to 2900%, while the overhead of ''OFFS'' without optimizations is about 200%. (s is the source file size, hi the inbound tunnel length and ho the outbound tunnel length. Plus 1 for the hop between the ''Outbound Endpoint'' and the ''Inbound Gateway''.) Efficiency can be further increased: #Re-use some of the result blocks o_i and ''randomizer blocks'', which reduces the overhead to s * (t-1) * \frac {100},http://sourceforge.net/projects/offsystem/ OFF System source code and developer correspondence where s is the source file size, t the tuple size and e the percentage of unrelated blocks used in the randomizing step during the store procedure. By default, e is chosen 75 (and t chosen 3), which leads to an overhead of 150%. #If some of the blocks required to fully retrieve, resp. re-assemble, the source file are already present in the block cache from other transfers or stored files because of the multi-use nature of ''OFFS'' blocks, the degree of efficiency is increased further. #Use of the ''targeted store'' feature leads to the blocks of specific other files to be chosen as randomizers for this file with higher probability and therefore a reduction in overhead. This is especially useful when storing a group of related files.


See also

*
Anonymous P2P An anonymous P2P communication system is a peer-to-peer distributed application in which the nodes, which are used to share resources, or participants are anonymous or pseudonymous. Anonymity of participants is usually achieved by special routi ...


References


External links


''OFF System Development homepage''

OFF System download
(
SourceForge SourceForge is a web service that offers software consumers a centralized online location to control and manage open-source software projects and research business software. It provides source code repository hosting, bug tracking, mirroring ...
)
''On copyrightable numbers with an application to the Gesetzklageproblem''
- A detailed explanation of the mathematical principles behind the OFF System. (pdf)

Support forum for OFF System.

Support forum for OFF System. OFF implementations:
OFF System
(reference implementation)
OFFLoad

BlocksNetsecondary repository
Distributed file systems File sharing networks