Home

Ondrej Kapral

Distropine

This text is not finished and some referenced wiki pages may not be created yet. Sorry for inconvenience ;-)

What is it

Distropine network is distributed peer-to-peer (P2P) network for commenting of sources on the internet. You can think of it as a big discussion site, where every internet URL is a potential discussion thread.

Distropine network is based on distributed hash table Kademlia P2P algorithm. The one, which is also used in various torrent technologies. All the content created in the Distropine network is stored at client's computers throughout the internet in several copies and replicated regularly. This is how independance from commented content's providers is achieved. Discussion is simply not placed at the same place as discussed content.

State of the work

This project is a beta version. For now, there is no running P2P Distropine network you could connect to (even if this can change in quite a short time). The reason is that Distropine network is not fully decentralized. You need a speacial node, called [Certification Authority] (CA), responsible of registration of new users and functioning as a bootstrap peer. CA's DNS address (or IP address) and its
public signature key must be known to all other nodes of Distropine network. For the time being, there is no such publicly accessible node under my administration.

Anyway, each Distropine application has ability to become either ordinary node or the CA node. This gives you everything you need to run your own Distropine P2P network! You can do it for development use or (if you consider this early version as meeting your needs) for use in your company etc. More on this topic on the page [Certification Authority].

Even more, Distropine application is capable to run not one, but numbers of individual node instances in parallel. This allows you to simulate a Distropine network on your single computer. More on this on the page [Configuration & Console].

Requirements

Distropine application requires:

  • Windows XP+ (i.e. XP, Vista, 7...) operating system with .NET Framework 3.5 installed
  • Google Chrome as your internet browser. Chrome serves as a user interface of Distropine
  • 50MB on your HDD, cca 50MB spare RAM capacity
  • internet connection which doesn't block UDP packets and no NAT between you and your targeted peers (Distropine can't deal with this issues so far).

Installation and basic schema of the application

Installation is straightforward - just choose installation directory. After installation, you get a Distropine.exe file (among many other insatalled files). This executable file is core program which serves all P2P comunication, encryption, data storage etc. When launched, it appears like a icon at system tray of your Windows.

Front-end of Distropine is embedded into your Google Chrome browser as extension. You can see it listed at "chrome://extensions" and, what is more important, the extension manifests itself through a little icon next to the address bar. When you click it, pop-up window appears. This window is populated with comments of Distropine discussion thread of a web page you're currently viewing. It allows you to interactively and comfortably access discussion as you browse.

Distropine extension is registered into Chrome at each launch of the core program and unregistered when program is terminated. If you don't see Distropine icon in the Chrome, it's maybe because Chrome was running when you lounched Distropine core program. Just restart Chrome - it will take a new extension into account.

On security

The pursuit of security is the main feature of this project. Involvement of cryptography at several levels provides properties, which are obvious for server architecture (= discusion on a web page), but hard to achieve at P2P decentralized design:

  • unique identity: nobody (but you) can act in your name.
  • nobody can change the comments you've written.
  • cheating should be eliminated, for example comment's author shouldn't be able to place a false date of comment's creation.

For details go to [User identity & certificates].


Related

Home: Certification Authority
Home: User identity & certificates