For running a full node of any public blockchain- Bitcoin and Etherum we need to download fully copy of database which consist all the transaction since its genesis. That doesn’t go really well with lightweight systems like Smartphone. Holochain comes up with a new approach where partipiant node doesn’t need to actually have fully copy of database, instead they have part of it.
Holochain use DHT(Distributed Hash Table) technology which is being use by Bittorrent as a data look up service. DHT contacts all the nodes in the swarm/network asking for data which is requested by Client node. It collects piece of data from different nodes and download it on Client Node. In This process, each node doesn’t require to have full copy of data, which makes the system lightweight and scalable.
A holochain is a monotonic distributed hash table (DHT) where every node enforces validation rules on data before publishing that data against the signed chains where the data originated.
In other words, a holochain functions very much like a blockchain without bottlenecks when it comes to enforcing validation rules, but is designed to be fully distributed with each node only needing to hold a small portion of the data instead of everything needing a full copy of a global ledger.
There are two modes to participate in a holochain: as a **chain author**, and as a **DHT node**. We expect most installations will be doing both things and acting as full peers in a P2P data system. However, each could be run in a separate container, communicating only by network interface.
Authoring your Local Chain
Your chain is your signed, sequential record of the data you create to share on the holochain. Depending on the holochain’s validation rules, this data may also be immutable and non-repudiable. Your local chain/data-store follows this pattern:
- Validates your new data
- Stores the data in a new chain entry
- Signs it to your chain
- Indexes the content
- Shares it to the DHT
- Responds to validation requests from DHT nodes
DHT Node — Validating and Publishing
For serving data shared across the network. When your node receives a request from another node to publish DHT data, it will first validate the signatures, chain links, and any other application specific data integrity in the entity’s source chain who is publishing the data.
For more information about Holochain Project, Check: http://ceptr.org/projects/holochain