So what is Borsch?
Borsch is a completely anonymous dynamic routing system designed to ride on top of your current IP stack. What makes this anonymous network different then others is both the concept of intelligent byte rerouting and pure io streams.
What do i meat when i say efficient byte rerouting?
Normally when a packet is sent via the Internet it is routed statically via thousands of relays over the world. Each time a packet is relayed the computer (usually) just passes the information to the next link statically. Borscht handles the problem of network congestion by opening several links to several nodes completely independent of each other. If one of these links is more efficient then another borsch will reroute more bytes to the more efficient channel. The concept of intelligent byte rerouting is this. If we can find a more efficient way to get to point b use it.
what do i mean by pure io streams.
The Borscht API is Native Java. Rather then reinventing the wheel. Borscht allows compatibility with proven java technology. Using the built in well-known java classes allows easy integration into any system either through a java to c++ DLL or through java directly. Using this technique I managed to port the bit-torrent software to use the Borsch Network in about 3 hours.
Anonymous? The end result of the borsch network is a Point to multi point to point proxying network. When you request a connection to a node on the borsch network a series of connections are made via peers hiding the originating and destinations IP-Address and Borscht ID's. What makes borsch unique is that that peers are not connected to each other and no peer knows about any other peer. Instead all peers are connected to an array of borsch master nodes that handle communication and global requests such as tests and connection requests. When a command is sent to the borsch bus for a connection the master nodes will relay requests to a random peer member to connect a given node ip. As there is no way to associate a node and an IP (only the node knows there IP) there is no way to tell who or what this node is. Further more all communication with the master nodes is non-compromising. Even if a compromised master node or compromised peer is placed on the network, no names, IPís, or data logging can occur.
So how does it work?
When the API is instantiated a call in made onto an array of centralized servers. These servers act as a communications bus the entire network. Through this array any message can be sent to any instantiated client.
The initialization handshake provides to both the client and the master nodes a bus id that will be used to identify the client. The encrypted bus id and password is sent randomly as a java secure object a random member of the bus nodes. No member of the master node array is able to identify was socket connection is associated with a bus id.
When an anonymous secure tunnel is requested by a client API a message is sent to the master node array specifying a destination id. Randomly a tunnel of specified depth is created to a random node. The random node then sends a message the master nodes array specifying a link to the destination API. A message is sent to every client API informing of the request. Only the matching client API will respond finishing the tunnel.
If this is not intended to be a P2P file sharing app, why is there a File Sharing demo in the distribution?
The file sharing client and server applications are meant to be a proof of concept. I have made the applications as stable as possible for testing purposes. I do not intend this application to be used as a way of trading copyrighted material. I feel that this demo will create a load on the network, which will aid in debugging and efficiency testing.
What is the purpose of this network?
I want to create a way for people to communicate with each other in a secure anonymous manner. The larger the network the more anonymous the network becomes.
Are there any resources that are available on the internet that help me understand some of the terms and concepts used here?
How the internet works
JBuilder Development Suite