Owner free filing system
Encyclopedia
The Owner-Free File System (OFF System, or OFF for short) is a peer-to-peer
Peer-to-peer
Peer-to-peer computing or networking is a distributed application architecture that partitions tasks or workloads among peers. Peers are equally privileged, equipotent participants in the application...

 distributed file system
Distributed file system
Network file system may refer to:* A distributed file system, which is accessed over a computer network* Network File System , a specific brand of distributed file system...

 in which all shared files are represented by randomized
Randomization
Randomization is the process of making something random; this means:* Generating a random permutation of a sequence .* Selecting a random sample of a population ....

 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. OFF claims to have been created with the expressed intention "to cut off some gangrene-infested bits of the copyright industry."

History

OFF development started within the hacktivism
Hacktivism
Hacktivism is the use of computers and computer networks as a means of protest to promote political ends. The term was first coined in 1994 by a member of the Cult of the Dead Cow hacker collective named Omega...

 group The Big Hack in 2003 by the hackers 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++
C++ is a statically typed, free-form, multi-paradigm, compiled, general-purpose programming language. It is regarded as an intermediate-level language, as it comprises a combination of both high-level and low-level language features. It was developed by Bjarne Stroustrup starting in 1979 at Bell...

, which lead to the current "mainline" OFF 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, stating that they have created OFF with the purpose of ending "all of your problems with consumer copyright infringement."
In 2008, the network consisted of around 50 nodes
Node (networking)
In communication networks, a node is a connection point, either a redistribution point or a communication endpoint . The definition of a node depends on the network and protocol layer referred to...

. On April 11 2008, a beta test was held with a network size of over 100 nodes. Since SpectralMorning stopped work on OFF 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
Ruby (programming language)
Ruby is a dynamic, reflective, general-purpose object-oriented programming language that combines syntax inspired by Perl with Smalltalk-like features. Ruby originated in Japan during the mid-1990s and was first developed and designed by Yukihiro "Matz" Matsumoto...

 and well-maintained, it saw major improvements over recent time.

The client OFFLoad is a fork
Fork (software development)
In software engineering, a project fork happens when developers take a legal copy of source code from one software package and start independent development on it, creating a distinct piece of software...

 from mainline OFF, which seemingly adds no features. Reasons for the fork are unclear. Another distantly related program is Monolith, which uses a similar principle to OFF. It was created after OFF 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, OFF 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 darknets and with traditional, forwarding anonymous P2P programs.

Store Procedure

In order to store a file into the local OFF storage, resp. block cache, choose the tuple size (default 3), split the source file into blocks of size 128 KiB (pad with random data to fit) and for each, do the following:
  1. Select blocks for use as randomizer blocks, or for short, randomizers, from the existing OFF cache, which have not been used in previous iterations. If not enough randomizers exist in the cache, generate them using a random number generator.
  2. Calculate and store the resulting block in the cache, being the XOR operation.
  3. Update the descriptor list, which contains the information on how to restore each source block , with a new entry, which is a set of size : .

Finally, store the descriptor list in an own block (or blocks, if the list is larger than 128 KiB) and insert these blocks into the block cache and generate an OFF URL for referencing the source file and output it to the user or into the local OFF URL database.

Retrieve Procedure

To retrieve, obtain the descriptor block or blocks and for each contained set of size , do the following:
  1. Obtain the listed blocks . Though they have no identity any more at this point, they could be called .
  2. Perform and output the resulting source data block to a viewer program or to storage.

Anonymity

OFF derives its anonymity from the following:
  1. No source file content is stored in the block cache, only blocks that consist of provably random data.
  2. No source file content is searched for on the network.
  3. No source file content is transmitted over the network.
  4. (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).)
  5. The original uploader remains unknown, because blocks are dispersed into the network and therefore downloading is done from multiple sources.
  6. 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)
  7. (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.)
  8. 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.
  9. TODO add digital copyright note

Efficiency

Because OFF 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 , is equivalent to an overhead of 900 to 2900 %, while the overhead of OFF without optimizations is about 200 %. ( is the source file size, the inbound tunnel length and the outbound tunnel length. Plus 1 for the hop between the Outbound Endpoint and the Inbound Gateway.)

Efficiency can be further increased:
  1. Re-use some of the result blocks and randomizer blocks, which reduces the overhead to , where is the source file size, the tuple size and the percentage of unrelated blocks used in the randomizing step during the store procedure. By default, is chosen 75 (and chosen 3), which leads to an overhead of 150 %.
  2. 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 OFF blocks, the degree of efficiency is increased further.
  3. 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.

External links



OFF implementations:
The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK