Holochain provides a distributed computing platform to its user shifting its focus from the data-centric model currently prevalent in the modern world to an agent-centric model. Led by Arthur Brock, the U.S. based organization provides an entire platform upon which people can build decentralized and distributed peer-to-peer applications.
Holochain is itself a platform to build apps and frameworks and blockchain is just another network design that can be developed by the use of Holochain. The major feature to look out for in holochain is its agent-centric approach. It is unlike the blockchain framework because blockchain employs a data-centric approach in its skeleton. Hence, holochain embraces a world beyond the limits of blockchain.
Holochain vs Blockchain
As we already know blockchain has a consensus framework employed at its core. Whenever proceedings take place on a blockchain network, each node involved in the network get updated. Each transaction that takes place on the network has a record associated with it available on each node involved in the framework. Once a transaction is confirmed, a record is sent to each node to be kept publicly.
All in all, a consensus regarding the history of each proceeding is maintained on each node. Each node maintains the same state of the network or one global truth. This is the major reason for the issue that is involved with the scalability of the blockchain network. There is a limit to which the number of transactions take place on a blockchain. This comes due the fact that the transactions need to be synchronized on the network. All the distributed applications built on blockchain have this issue associated with them.
In case of holochain, there is no concept of a consensus to be made on the network and it does not force it. Instead on the holochain framework, each node referred to as an agent and each agent maintains its own history. Just like the blockchain, a holochain is a hashed chain, but instead of having one hashed chain for the entire network, each agent has its own tamper-proof hashed chain associated with it. Every action that an agent is performing, either a social media post or transaction, is stored in its own local hash chain. Unlike blockchain, the common central chain framework is pushed to the edges of the network.
Each agent associated with the holochain has a signature associated with it. Every record that an agent keeps is signed with its private key. A source chain and a private key technically represent an agent in the network. The main concept to be implemented for the success of this network is to maintain tamper-proofing on each agent’s hash chain.
Distributed Hash Table (DHT)
We know that in a holochain framework, each agent associated with the network has its own record maintained on a chain. But what happens if an agent is offline? In order to avoid this problem, a distributed hash table is employed in the network. For each entry in a source chain of an agent, redundant copies are also kept with other agents of the network. This prevents the issue of accessing information from an agent source chain if it is offline and the user can get information using the DHT. In order to make information accessible all the time, a fixed number of copies are maintained on the network and this number can be defined while building application on the holochain framework.
Distributed Validation of Content
In order to build high-trust applications involving the usage of cryptocurrencies, distributed validation framework is employed in the network. For each application that is built on the holochain network, certain validation rules are defined for that application. The codes that make up an application are collectively called the DNA for that particular application. The validation rules are defined using this DNA.
The DNA of the application is also shared with each agent so that validation can take place for each entry that is shared by an agent of the network. Although this is also a consensus that is present on the network, but unlike blockchain, it is a consensus for the validation rules not the hashed chain.
If an agent gets compromised in the network and is attacked by a hacker, it has to change the validation rules associated with DNA of the application built on the network in order to produce malicious entries or fake transactions. Now, whenever the malicious entries are distributed on the network using the DHT, the validating agents can run the validation rules for the application on the shared entries. In case of a mismatch, the malicious entry can be marked and the signature of the sending agent can be extracted to identify the attacker. This malicious entry can also be confirmed by other agents on the network which run the same validation rules from the DNA of the application. This is known as the immune system of the network.
After identifying the attacker, appropriate measures can be taken in the network. It can either be blocked from the network or if there is no need to take such drastic actions, it may be allowed to run depending on the application requirements.
In order to become a part of an application on the network, Proof-of-Work or Proof-of-Service can be used by the agents. Proof-of-Service is basically showing the evidence of working with other people’s applications on the network. Vouching can also be done by a certain number of people for someone to enter the application network. Certain reputation in different applications can also be demanded to become a part of another application. Proof-of-Stake or Proof-of-Presence can also be used in order to enter an application network.
Holochain is a Complete Framework
In a nutshell, holochain is a framework for distributed applications. Everything that comes out of holochain is an application, with each application representing an entire network. A DNA is also associated with a particular application. It can also be seen as if an entire blockchain network is associated with each application.
An agent can be a part of many networks of applications and can talk to different agents through these networks. Bridging between different applications on a holochain can be done through the agents. DNA for applications can be installed on agents in order to enable them for accessing different applications.
Rounding up holochain’s comparison with blockchain, holochain is actually a framework on which an application can be developed that employs a blockchain network. Blockchain is just one of the possible distributed network design pattern that can be developed with holochain. Other distributed network patterns can also be developed with holochain other than blockchain. The complete technical details for the platform are explained thoroughly in its white paper.
Holochain is also summed up well on its official website as:
Holochain applications (hApps) are held entirely by people. No trusted third parties. No central points of failure. They enable direct architectural consent and cryptographic communication that are low risk, for less cost. Each agent owns an immutable hash chain and stores public data as a monotonic DHT node. Think lightweight, secure decentralized computing possible on mobile devices!
Initial Community Offering for Holo
The platform currently building out a large scale use of holochain framework is Holo. Despite being an open-source project with collaborative work coming out of many sources, most of the support for the current holochain framework development comes from Holo.
An ICO was also raised for Holo, but unlike traditional ICOs, it was termed as the Initial Community Offering. This was done because the platform is not coin-centric or token-centric, it is agent-centric. Instead of expanding their user base through selling out coins, Holo aims at providing a user with a proper platform. Temporary tokens ERC20 (HOT) were given out by the company, but they act just as receipts which can later on be used as fuel for agents after the Holo platform launches. After redeeming the receipts the agent accounts get credited. So the money raised will actually be distributed to the users. This is how Holo platform focuses on its community rather than coins. The ERC20 tokens were purchased with ETH in the ICO. 1 ETH bought 4.410,747,31. Initial supply provided by Holo was 25,000,000,000 HOT. 25% of the token were kept by the organization and the remaining were held by the community.
Roadmap for Holo
In the hindsight of all this, Holo platform aims at deploying the holochain framework on a large scale for public use and expanding the user base using this framework.