For so many people, the most popular distributed digital currency of all time, Bitcoin, is purely about money or, as we are now beginning to see, all about the person or persons who invented it. Yet, the innovation behind Bitcoin is nothing to do with money; it’s also nothing to do with Bitcoin itself. Instead, it is all about the platform, the technology that underlies Bitcoin, the blockchain. The blockchain is a distributed cryptographic ledger that is shared between all computers or nodes on the network and upon which every transaction that is successful is recorded and verified.
The blockchain is not all about money either. Although they have taken pointers from the same idea (but not using the Bitcoin P2P network), many other applications have begun to adopt the protocol to fulfill several different purposes. For example, we have:
Namecoin – used for the management of distributed domain names
Bitmessage – used for asynchronous communication
Twister – used for the same as Bitmessage
Ethereum – which you now know all about.
Like any other P2P platform all of these rely on architectures that are decentralizes for the building and maintenance of network applications, all operated for the community by the community.
As such, while these applications can enable a whole new world of possibilities, they also present a whole raft of social, legal and technical challenges, like those already presented by other P2P applications that are already out and being used, such as Tor, BitTorrent, and Freenet. However, some of the challenges presented by blockchain applications have never been seen before in the traditional P2P network.
Basically, the Bitcoin Protocol is way more cloud than P2P has ever been before. There are at least two ways that blockchain based decentralized applications differ from the traditional P2P applications:
All user data and that includes their personal data is not stored on user’s local devices. Instead, this information lives in the cloud, mostly in the senses that hosting is done on a distributed database, in this case, the blockchain, and this database is shared among all the network users. What this means is all that data is ubiquitous; users can access their data at any time they want and from any location they want, regardless of the device they are using.
All user data is transparent which means that any action or any transaction performed by a user is recorded on the blockchain and is made public to everyone. The actual identity of the user is anonymous, nobody else can see that, and the transaction content can also be encrypted for security.
Blockchain applications do not run locally; they are operated on a global basis. They get distributed across the blockchain and are run with a reliance on the resources that each network user provides. The clients will run locally, on a user’s device but the applications themselves are always available, even when those devices have been powered down, so long as sufficient resources remain dedicated to the applications.
Despite their decentralized nature, it is this that makes blockchain applications very much the same as a cloud-based service, rather than a traditional P2P application. That said, there is another substantial difference between the blockchain-based application and a traditional cloud-computing application. The blockchain applications are autonomous and they are totally independent of any central system, any third-party intermediary and from any central regulatory system. Blockchain application gets run through a combination of individual P2P clients, each of which contributes resources to their network. As well as the autonomy, the blockchain network has more resilience and is more anonymous. Simply put there is no single point of control and no single point of failure.
Because of this, the blockchain allows decentralized apps to be deployed with a combination of the elasticity and ubiquity of cloud computing and the anonymity and privacy benefits of P2P technology. Despite the blockchain being transparent users can have as many identities as they want, none of which need to relate to their real-world persona. This means that the blockchain-based applications can use anonymity to address concerns over privacy.
The Challenges
Generally, most of the challenges that are likely to be encountered by a decentralized application relate to resource availability and the difficulty that comes with the management and coordination of these resources. Sustainability over the long term is only achievable when users are given some kind of incentive to make a contribution to the network. That reward must be sufficient to ensure the right amount of resources remain available at any time. Where a decentralized application features a credit system that has been designed specifically for the app, like BitTorrent, or where they take on the function of a cryptocurrency, like Ethereum, Bitcoin or Namecoin, that objective is so much easier to reach. This goes to the extent that all these platforms will provide extra economic incentives and/or utilitarian incentives for each user to contribute to the operation of that network.
However, there are some very important legal challenges raised by the blockchain network and those challenges are much like those that traditional P2P networks raise Specifically, we are talking about anonymity and the fact that it could encourage criminal behavior or other malicious acts.
In decentralized networks of the past, these kinds of issues have been dealt with through distributed or shared liability being established among all the users that are connected to the network Even though it may be hard to identify what degree of responsibility each user should be accountable for and to assess that degree of responsibility, there are always going to be specific individuals at blame. The ultimate difficulty here will be in the assignment of responsibilities to one or more network users.
So, what would happen if the “user figure” disappeared, when the P2P applications are outside of that decentralized authority? Who would be liable? Who is accountable? We can learn some lessons from earlier P2P applications as a way of responding to these challenges but there is no denying that very important and very new legal issue are raised by the blockchain-based applications and these are of a totally different nature to the traditional P2P architecture.
Ethereum, The Distributed Autonomous Corporation, and the Smart Contract
Ethereum is a very interesting case because the proponents of it have envisioned the deployment of smart contracts that are self-enforcing. Examples of these would be financial exchange markets, joint savings accounts, trust funds, etc. alongside organizations that are
autonomous and are entirely independent of any legal or moral entity.
Ethereum is a system of contract validation and enforcement based on one of the most sophisticated of all platforms that derivative cryptocurrencies use. The reason for its sophistication is, as mentioned earlier, the inclusion of an internal scripting language that is Turing- complete and can be used for the encoding of advanced types of transactions straight to the blockchain.
Ethereum is not the same as many of the other distributed applications on the blockchain; it is more of a distributed operating system, a platform that allows applications to be developed on it with the intent of creating contracts that are self-validating and systems that are completely autonomous, all of which will operate on the blockchain directly. However, while that may be the most revolutionary feature of this system, it also has the potential to be a problem.
It is well known that a fundamental driver of economic transactions and corporations are contracts. Through the provision of the foundation that will validate the contracts, Ethereum is allowing DAC’s (Distributed Autonomous Companies or DAO’s (Distributed Autonomous Organizations) to be deployed. These are blockchain- based systems that have an autonomy all of their very own and their money is earned by charges made to users for their services, thus allowing them to pay for the resources they require, like bandwidth and processing power, to run the network.
The DAO is an autonomous entity that is totally independent of any moral or legal entity. Once it has been created and then deployed on the internet, they no longer have a need or a requirement for their creators. They may need interaction with their users but they do not have any dependency on these users. The Smart contract is enforced by the applications that run on the blockchain.
This technical self-regulating system is what governs operations and Ethereum has introduced a whole load of legal challenges relating to law enforcement and liability that have never been seen in terms of the traditional P2P network. Indeed, if the DAO is operated independently, if it is neither owned nor is it operated by a specific entity, who then is accountable for the operation of the organization? Who is responsible for it, in charge of it? And because a DAO owns sovereignty over its assets, they cannot be seized how are damages paid for in the case of torts?
With cloud computing, corporate authority remains limited in that the big online operators, such as Google, Amazon or Facebook, for example, must stick to the basic tenets of the law. With Ethereum, nobody can question the code authority and no law can repeal it. That puts the arising challenges on the same vein as those that have emerged with autonomous agents, like the evolutionary viruses in software or intelligent robots that are autonomous in their own right (although this is most likely firmly stuck in Sci-Fi, for now, it may become a reality in the future) rather than with the traditional P2P application.
While Ethereum and other applications based on the blockchain may well seek to liberate us from the rule of the larger online operators we need to ensure that we don’t exchange that rule for the “rule of code” – those that are dictated and enforced automatically by the code that underlies the platform and will only exist in the “ether”.