In my paper I look over the currently widely used decentralized, peer-to-peer data storage technologies. I introduce the principles behind the technologies of BitTorrent peer-to-peer system, the kademlia DHT (Distriputed Hash Table), the BitCoin network and the Dispersy content distribution solution.
I design my own decentralized data sharing solution, which is capable synchronizing the relational database of clients running it. The requests to the database are intercepted and stored in a log file, from which the database can be reconstructed. The entries to the log are distributed on a peer-to-peer network, so the clients can keep their logs in sync. With the synchronized log the clients can keep their local issue of the distributed database in sync with the others.
I chose appropriate technologies to implement my solution. Using this technologies I create a graphical user interface client application implementing the designed protocol. I check the correctness of my design and my implementation with test.