Here are the timing results of running my client and server nodes through the onion system. The configuration is as follows: +--------+ +-----------+ +--------+ +--------+ | Client |-->| Raw Proxy |-->| OR Net |-->| Server | +--------+ +-----------+ +--------+ +--------+ The Client communicated to the server via the Raw Proxy, using the proxy interface to communicate the Server's endpoint address. The Client transfered 48 Mb of in-core data to Server and timed the transfer. The Client and Server nodes used 4 Kb buffer size for the transfers. The Onion system was tested for the non RSA, fast RSA and non-crypto configurations, using the non mixing versions. For the non RSA configuration, the throughput measured: 54.60 KB/sec For the fast RSA configuration, the throughput measured: 53.6171 KB/sec For the non-crypto configuration, the throughput measured: 75.3677 KB/sec The mixing version is expected to be even slower :( From the previous benchmarks, the raw network speed for a Client/ Server configuration is around 30376.90 KB/sec. Dividing this number by N=6 (the number of hops), the max speed we could expect to see is about 5063 KB/sec, which is about 67 times greater than the non-crypto throughput. I think the next order of business is to examine the architecture of the current implementation and either analytically and/or experimentally, try to determine the cause of the performance degradation. Hopefully there is a "magic bullet" that might solve this problem. At least the results suggest something is going on that is not cryptographically or number of hops related.