An implementation of a reliable protocol for decentralized networking through the Linux kernel is proposed in this article. The proposed protocol establishes secure peer-to-peer communications between nodes in a decentralized network. At the same time establishing and maintaining consensus between all of the nodes in the network concerning its state. A scheme called Proof-of-work is used to determine the true state of the decentralized network. The data that determines the state of the network is held in a distributed ledger called the Blockchain. The Blockchain is a chain of transaction blocks (a data-structure that hold the data of several transactions). These blocks are linked together by making the validity of a single block depend on the hash of itself and the block previously created. As the blockchain increases, security is made stronger. At the time of this writing there’s no known way to gainfully compromise the blockchain. bitcoin blog
Linux networking over the Internet is much like other operating systems. Linux users rely on the same protocols used by Internet users worldwide. These protocols are relied on for what has become common means of communications, like SMTP for e-mail, HTTP used for websites, and SIP used by VOIP (Voice Over Internet Protocol) services. These protocols are used everyday and are major tools for during business in the mainstream world. Due to the underlying complexities, these services require people and businesses that use them to depend on a third-party to provide the facilities to use them over the Internet. Sometimes relying on their Internet provider to also provide access to several other Internet protocols.
This type of reliance on third-parties for services over the Internet has given the Internet a seemingly centralized architecture. Where people depend on a supplier rather than access the resource directly from the environment. In this case the environment is the Internet. Centralized systems are efficient, scalable, and feasible, but come with a dependency on people to be honest when tempted with the probability for huge gain through dishonesty. Also, they provide a central access point to sensitive data stored on the network, making a single successful attack powerful enough to cripple the entire network. Because these limitations, centralized systems come with extreme risk and have proven to be a point of failure in our society for the reasons mentioned here.
In October 2008 Satoshi Nakamoto released a paper explaining a digital currency called Bitcoin. Along with the description of the digital currency he also explained a protocol for a stable secure decentralized network, where consensus can be successfully established between the nodes. Bitcoin currency is an experiment that has tried the decentralized network protocol implementation. To date Bitcoin has been successful in many areas that the current centralized financial systems have failed. Any weaknesses revealed in the Bitcoin protocol will be a result of new application challenges. In the financial sector, which is complex and demanding, Bitcoin has shown that it’s able to handle many other real world problems we face on the Internet today. Leveraging Bitcoin as a decentralized development platform inside the Linux kernel would allow for an easier more secure, reliable, decentralized implementation of the most popular Internet protocols in use today. Protocols could be incorporated into the heart of operating systems using decentralized technology. This approach would release Internet users from dependency on third-parties to access services like SMTP, VOIP, DNS, and other Internet based services. As a result the Internet based services would be decentralized, less expensive to manage, and their service policies more accessible to user influence.