Because blockchain was too easy to explain to your friends
100 Words — A Basic Definition
Holochain is an open source data integrity framework for powering distributed applications.
Data Integrity = application data is created and validated using one shared set of rules that apply to everyone. We use cryptography (math) to ensure that data cannot be tampered with once it has been created, no matter where it is stored.
Framework = a database for storing, organizing, and finding data spread across many computers, so nobody has to hold it all.
Distributed Applications (dApps) = transforming the kinds of web apps controlled by a central corporation (like Wikipedia, Facebook, AirBnB, etc.), to a form people can easily host themselves.
Holochain in 200 Words — The Social Impact
Holochain empowers people and communities to reclaim control of their data, identity, and agreements from the surveillance web. You can build and run the same web apps we rely on (like social networks, communication, marketplaces, knowledge sharing) with enhanced privacy and security.
Each Holochain app is a collaborative platform where users host themselves and provide a little extra computing power and storage, so that extra copies of data are always online and agreements are mutually validated and enforced.
Holochain empowers new patterns of peer-to-peer coordination at all scales. Any group of two or more people who want to use a set of agreements to orchestrate their communication, resources, time, ideas, or wealth together can do so. The only way to stop them is to shut down EVERY user individually.
Other approaches to running dApps (such as blockchain), attempt to synchronize a single universal state across all participating computers at the same time. This “consensus” does not scale, and is so inefficient to run, they build in a currency to pay people to run it.
Holochain is millions of times more efficient — you won’t have to waste 0.5% of the planet’s electricity to achieve a mere handful of transactions per second.
Holochain in 500 Words — A Structural Understanding
Holochain functions as a database for peer-to-peer apps. It ensures data integrity and validation of state changes, enabling anyone to host their own tamper-proof data. It transforms Web 2.0 sites (such as a social network, chat, wiki, collaboration tool or marketplace) into Web 3.0 systems: cryptographically secured and peer-hosted.
Holochain apps can provide performance and experience similar to the way you use the web today (e.g., Facebook, Wikipedia, Twitter, Slack, etc.), while disrupting the trend toward centralized servers and corporate surveillance, and unlocking a truly P2P NextNet.
Each dApp (distributed application) running on Holochain is also a distinct, encrypted network of peers, with mutual enforcement of shared data integrity rules. These validation rules behave as the “DNA” enabling user’s computers to function together as cells in a collective networked “organism.”
As in biological organisms, there’s no global consensus with Holochain. Instead, each peer writes changes to its own local state. Your local hash chain provides a clear order of events and an immutable, unforgeable history of your actions.
Actions from your chain are published to a DHT (distributed hash table), as the shared database that makes data accessible to all peers within an app. Your data gets validated (or rejected) by the peers who are supposed to store and serve a copy of it. This randomizes mutual enforcement of DNA rules, while dividing up the work of validation and storage.
Holochain scales. In fact, efficiency increases as more users/peers/nodes join the network, because their portion of the overall workload decreases. This enables Holochain apps to operate at speeds and scales impossible for blockchains.
Holochain’s agent-centric architecture even enables dApps to function offline. Local changes are committed and asynchronously published to the DHT in an eventually consistent approach to validation.
Holochain apps can even be served to mainstream web users using the Holo peer hosting network. This enables dApps to reach less technical audiences who aren’t yet running next-gen crypto tech.
Holochain apps can run without a currency, because unlike blockchains, there’s no native currency built in which charges users for every action. However, cryptocurrencies can easily be built as dApps. For example, our own HoloFuel, which powers the Holo hosting network for serving dApps to web browsers.
Data validation rules for apps are written in Rust and compiled into the DNA as WebAssembly (WASM). However, most app development is focused on the User Interface, and you can build that in whatever UI framework you like or know.
We provide rapid application development tools for getting up and running quickly with minimal impediments. Our suite of tools for testing, scaling, debugging, and tracing changes are growing, making it easy to deal with the inherent complexity of distributed computing.
Holochain is naturally resilient because it is built on the patterns of nature. We have copied the architectures provided by physics and biology to produce large-scale, high-performance distributed systems. Our commitment is to achieve anti-fragility, not just Byzantine Fault Tolerance (BFT).
Efficiency. Speed. Scale. Safety. Support. Resilience.