History
''OFFS'' development started within the hacktivism grouFunctional 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 darknets 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 (default 3), split the source file into blocks of size 128 KiB (pad with random data to fit) and for each, do the following: # Select 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 and store the resulting block in the cache, being theRetrieve Procedure
To retrieve, obtain the descriptor block or blocks and for each contained set of size , do the following: # Obtain the listed blocks . Though they have no identity any more at this point, they could be called . # Perform and output the resulting source data block 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 noteEfficiency
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 , is equivalent to an overhead of 900 to 2900%, while the overhead of ''OFFS'' 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: #Re-use some of the result blocks and ''randomizer blocks'', which reduces the overhead to ,http://sourceforge.net/projects/offsystem/ OFF System source code and developer correspondence 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%. #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 P2PReferences
External links