pull down to refresh

I have been busy all this afternoon doing a massive revision of the Indranet White Paper, which can be found here:
The last few weeks have brought a massive amount of clarifications, refinements and deletions of ideas that have been inspired partly by the implementation and partly by the whatever it is that causes new ideas to pop into my head.

Highlights

  • Hidden services! Yes, and the best part is that implementing it in Indra's design is a lot simpler than I initially thought, due to its source routing. And even better, because of the way it constructs routing headers, instead of passing through 6 hops like Tor, the paths are only 3 hops long, and the client constructs the return path.
  • Exit tunnelling - I initially thought that it would be better to make Indra focus on allowing relay operators to offer client-side anonymity to sending messages out on distributed networks only (Bitcoin, LN, Bittorrent, IPFS, etc) and this will still be easy to do, adding clearnet exit tunnelling is just a matter of placing a Socks5 proxy on the end of a local port that forwards requests to that port. Relay operators will be able to allow blanket relaying, or only provide relaying to a limited set of protocol types (ports).
  • More clear ideas about how applications will interface with and send traffic out over Indra in general.
  • More details about interoperability with bidirectional socket protocols like WebSockets and push messages.
  • Congestion mitigation - there is now a specification for the several measures that allow the network to dynamically adjust its use of relays so that they can enforce their bandwidth limits without identifying users and without.
  • Failure recovery - more details about how nodes will avoid unpleasant delays in traffic proactively. Also how to deal with intermittent uptime such as PCs and mobile devices as a means to improving the anonymity of a client's traffic.
  • Sybil attack countermeasures - some who are following more closely may know something about this, but the TL;DR is the use of a kind of "fidelity bond" time locked spend, a TXID that proves the age of a relay, and various ways to combine these data points to limit the ways in which griefers and general villainy from abusing the protocol to make money without delivering service.

Recent Development Activity

Aside from lots of inspirations of late the implementation is moving forward nicely, all the handy little helpers have been built to simplify constructing and delivering onions onto a simulated network composed of goroutines and channels serving in place of network connections.
The immediate next piece of work will relate to path failure diagnostics, and then most likely move towards starting the building out of the probabalistic path selection algorithm, meaning the first scratchings related to the HODL Consensus in the path selection code.
The Super Shadowy Sponsor has been very busy too, equally manic as I have been in the last few weeks, we now have the basis of a full multi-platform binary and Docker release system, as well as the initial scratchings for the actual application server executable.
Any updates? I'm ready to run a node.