Project Lightnet Introduction - TrueMathematics/Lightnet GitHub Wiki
Premise
There has been recent interest in more distributed networks, so called “darknets”. A darknet is a network-layer technology. Network-layer technologies must be used with Application-layer technologies, which provide user-experience and therefore draw interest from average, non-technical users. Examples of application-layer technologies (in the meaning intended by this document) include Apache Web Server, MySQL, PHP, javascript, AJAX, and so on.
Theoretically, the darknet can be used with existing application-layer technologies. However, existing application-layer technology does not translate well to the darknet sphere. Currently, application-layer technology is generally used such that people designing and developing any web service (such as a web forum, virtual bank, email service, etc) also host and manage the service. Running any web service requires technical knowledge and extensive management work.
Those who have interest in providing a service over a darknet often are not inclined to maintain the software for that service. If providing a web service over a darknet was as easy as using a desktop or smartphone app, then darknets would be able to match the Internet in richness of user-experience.
Finally, existing web technologies have significant oversights in terms of user privacy. On the Internet, it is nearly impossible for a user to protect their email, real name, identifying info such as IP addresses and financial info; generally users are forced to choose between either never taking advantage of their credit cards and email accounts, and potentially losing that information to identity theft.
Put simply, any darknet technology would be greatly complemented by privacy-sensitive, user-friendly, distributed application layer technologies.
Objective
We will provide a simple “app store”, called the Depot and Platform Server (PS) that can be easily deployed on commodity PCs. A constellation of Platform Servers (multiple machines networked together) provides a richness of user experience akin to the internet, but without relying on expensive server-class equipment or dedicated IT professionals. By providing a low barrier to entry, PS admins can close the user-experience gap between darknets and the internet.
Also, we will provide a User Information Management System (UIMS) so that end users can confidently use financial accounts and identities on the darknet.
Scope
The objective of Project Lightnet is only to provide 1) a format for packing and sharing Web Application Packages or WAPs and 2) a PS which hosts WAPs. Lightnet should not try to develop in-house any programming language, execution environment or VM, operating system, database system, or network protocol; acceptable off-the-shelf solutions exist for all these problems.
Deliverables
Project Lightnet will deliver the following four software products:
ISO
A simple to use (“turnkey”) linux ISO and liveCD based on a popular linux distro, which, when booted on a commodity PC, provides the Platform Server (PS). The PS will immediately connect to accessible darknets and provide the Lightnet Platform on that network.
Lightnet Platform:
A software application platform which runs WAPs. The software application platform will probably be an existing solution. Obvious solutions include node.js, LAMP, and Java EE; we may support a variety of solutions. A database (possibly distributed) should also be part of the platform. Ideally, this platform should scale horizontally, so that a PS constellation handle a much larger user base than any single PC. Finally, we should provide extensive developer documentation and a development toolchain.
WAP depot:
A web app which allows management of the platform. This would include a repository of WAPs. We would also supply a default set of WAPs, including a web forum (chan-like, phpBB-like, or reddit-like), a virtual bank, IM-style and email-style direct messaging, a blog host, a file host, a bittorrent host, and a wiki.
UIMS browser plugin
A browser plugin (or other technology) which provides a key-store database of vital user information (financial accounts, geographic location, real name, and so on). The user will generally be prompted before this information is provided. Also, some information can be hidden from the WAPs themselves. For example, rather than giving a WAP access to credit card numbers, the PS could give the WAP a handle. All financial requests are proxied through the PS or the user’s browser, so that the user can confidently control how that financial information is used.
Unanswered Questions
What software platform should we choose?
Node.js, LAMP, and Java EE are the most obvious solutions; we should probably choose one of these.
What open-source license should we choose?
Obviously, licensing should be open-source. Any open-source license would work nicely.
What linux distro should we choose?
Any distro would work nicely. X11 support is not necessary if the web management interface is good enough.
What database should we choose?
Distributed databases such as CouchDB and MongoDB are good choices.
What are the important considerations when inter-operating with a darknet?
Is there anything that might make us want to limit support to only Tor, only I2P, etc?
What browsers should the UIMS browser plugin be implemented for?
We obviously should support Firefox and Chrome; other browsers would be a lower priority.
“App store” and “app” are legal property of Apple, Inc. The terms are used here for illustrative purposes; no one involved in Project Lightnet claims ownership of either term.