Holochain in exactly 100 words
Holochain provides a data structure that can be used to build decentralized apps. You have your own chain, which you can add data to, including financial transactions. The chains can merge, split, and interact in complex ways. The data is stored in a decentralized way (like Bittorrent). The data has a hash, which is a mathematical fingerprint that corresponds to the data. If someone tampers with the data, the mismatch between the data and the hash will be noticed, and the data rejected as invalid. Digital signatures guarantee the authorship of the data. It’s Bittorrent plus git plus digital signatures.
Holochain in exactly 200 words
Holochain is a more efficient alternative to blockchain. The Ethereum blockchain burns through huge amounts of computational power. It does that to achieve a universal consensus, to make sure everyone agrees on where all the coins are.
Holochain has no native currency, it’s a “roll your own currency” crypto-accounting platform. Instead of watching coins, we keep an eye on accounts. Invalid transactions (increasing balance illicitly) simply get rejected by the network.
This eliminates the need for consensus, and that allows us to make our computing much more efficient. We reckon it will be at least 10,000 times more efficient than Ethereum.
There is huge interest in developing decentralized applications, but sooner or later they run into the inherent problems of blockchain. Besides being inefficient, Ethereum uses a unique programming language called Solidity. Solidity developers are in short supply, and I have seen many projects delayed by this shortage. Holochain can be coded with any language that can be compiled to WebAssembly.. There are many developers who knows WASM compatible language to every Solidity developer, so the development of distributed applications will move along quicker.
Holochain in exactly 500 words
Holochain combines hashing, digital signatures, and DHTs to form a tamper-proof distributed ledger.
Hashing is a technique that collapses a bunch of data into a fingerprint that looks like this:
If you change just one byte in the data, it no longer matches the hash. If you download a software program, and make sure what you downloaded has the proper hash, then you know that no one has inserted any malware or funny stuff.
Dual-key cryptography is a basic cryptographic technique, used in all sorts of ways in computer science. There is a public key (like a username) that is shared with the world, and a private key (like a password) that is not.
Dual-key cryptography is used to create digital signatures. Digital signatures work like this: I take a message, combine it with my private key, and stir it with some mathematics to create a signature. You can look at the signature, the message and my public key, and verify that the owner of the corresponding private key signed that message. If the message was altered, the signature wouldn’t check out. If someone tried to sign it without knowing my private key (which I store offline), it wouldn’t check out. I trust a software publisher, I know their public key, and so I download the software and check they’ve signed it. That confirms that the software really came from them, and hasn’t been altered since they signed it.
If I stream video from YouTube, the video is stored on YouTube’s computers. I point my browser to a particular URL, and it downloads whatever file is sitting there. I am a recipient only. By contrast, a distributed hash table (DHT) is a thing that allows you to download data from your neighbours. With a DHT, I ask peers on the network, “Who has the file with the hash 23ae47x?”, download chunks of it from whoever has it near me, and then combine them to form a full file.
DHT downloads are faster and more resilient than downloading from a server. They also put less strain on the network. Imagine a group of friends all watch a viral video on YouTube. Every time one of them watches it, the server — which may be on the other side of the world — has to send it again. If they were watching using a peer-to-peer system like a DHT, once one of them had it, he could send it to his neighbours.
Because content on a DHT is identified by its hash, I always get exactly what I asked for; it’s impossible for an attacker to replace it with something fishy.
These are the tools that build holochains. Digital signatures ensure no one can mess with my ledger without leaving a trail of signatures. Hashing ensures the data transferred is exactly what was requested. A DHT decentralizes the storage of this data, so that it’s hosted by the community rather than a company. This makes it a secure, distributed, tamper-proof ledger.