Holochain is a framework for distributed applications. Unlike blockchains which are data-centric, Holochain uses an agent-centric paradigm. It combines technologies like Bittorrent, git and digital signatures to enable individual chains to merge, split and interact with each other in complex and secure ways
Many projects in the cryptocurrency space employ a data-centric approach to designing protocols. In other words, blockchains tend to focus on the data that is being shared between nodes, be it a transaction history or the state of the blockchain.
Holochain, on the other hand, puts the node at the center of its design philosophy. It seeks to bring individual nodes more freedom and flexibility and enables them to choose how to interact with peers and what to share. Therefore, there is no network consensus in Holochain. People themselves establish the rules for their services and Holochain only makes sure that those rules are observed by the users of the application.
Distributed Hash Table
Holochain applications are stored on people’s computers, and not on remote servers. This ensures the decentralization of applications, as they are not dependent on a single server.
To ensure direct architectural consent and secure communication between nodes, Holochain uses a distributed hash table (DHT). DHT is a technology borrowed from Bittorrent which is essentially a network of nodes that provide a lookup service in the form of a hash table. The DHT stores key-value pairs, and any participating node can efficiently retrieve the value associated with a given key. Keys are unique identifiers which map to particular values, which in turn can be anything from addresses, to documents, to arbitrary data. In Holochain, each node owns an immutable hashchain and stores public data as a DHT node.
Every application runs its own holochain on its own terms that its users must agree on. The users of the application are also its hosts. This means that each app scales better with a bigger userbase, which at the same time decreases its maintenance cost.
When a user decides to try out a holochain app, they download the app’s DNA—essentially its source code that runs it. That data cannot be counterfeited, tampered with, or lost. Each app stores its data in a validating DHT creating redundancy of public data across randomized nodes. When nodes go offline, the DHT is self-healing and rebalances the data to different nodes. And if someone alters their own app code, they effectively fork themselves out of the shared DHT space into an entirely different application.
Holochain has what the authors call the immune system. Holochain’s immune system is a set of mechanisms that detect attempts to compromise data consistency by bad actors on the network. For example, the immune system can blacklist someone who keeps posting invalid data, or counterfeits data as if it was created by others.
This flexibility implies that blockchains can potentially be hosted on Holochain with no practical trade offs because Holochain does not enforce its own consensus.
Holochain does not have a native token but it has a way of rewarding nodes for hosting applications — the HOT token. The total supply of HOT is 177,619,433,541 tokens.
The Holochain ICO occurred from March 29 through April 28, 2018, at which time 25,000,000,000 HOT were released as ERC-20 tokens. The supply was steadily increased until 133,214,575,156 HOT were minted and 30,202 ETH was raised. Of the tokens released, 75% were distributed through the crowdsale, and 25 percent were held by the founding team to fund future expenses.
Once the mainnet goes live, HOT will be convertible to Holo fuel at 1:1 ratio. You can think of Holo fuel as Ethereum’s gas, or a currency denominated in computing power that will be used to cover the costs of computing (processing, bandwidth, and storage).
Holo is the first application built on top of the Holochain. Holo is a decentralized web-hosting service. Customers of Holo can host their applications using Holo services instead of, say, Amazon Web Services.
Holo Company also manufactures and distributed holoports. HoloPort is a piece of hardware optimized for hosting on Holochain. It’s basically a computer with pre-installed Holochain node that you can plug and play.