Holochain Security Model

Holochain Security Model

@holoFAQ



These cryptographic tools are pretty simple, but put together they make for a surprisingly tamper-resistant system:

* Each user holds a ‘source chain,’ a cryptographic ledger or hash chain of their actions in the network. A hash chain is a data structure where modifications to history immediately break the integrity of everything that comes after. They're used in blockchain as well. The difference with Holochain is that there’s no single hash chain to protect and secure, which means that the payback for corrupting data is lower. This has the side effect of requiring a lot less energy.


* Each chain entry is signed by its author, preventing impersonation by other agents, repudiation by the author, or modification of the data by anyone.


* Each application has validation rules that verify the integrity of data you write and receive, so you know everyone else is playing by the rules by analyzing all the entries on their chain. You don’t need a network of miners to vouch for someone you’re interacting with; you just inspect their source chain. (Note: There is a type of hash chain attack called a ‘Finney attack,’ in which someone tries to rewind their chain and write new data onto it. The chain is technically valid, but it’s been ‘forked.’ which means your counterparty might be able to spend money they don’t have, or pretend that they didn’t say something they said. We’ll get to how Holochain defends against this in a moment.)


* All public chain entries are shared to a ‘distributed hashtable,’ or DHT. This is a global data store, and every peer plays a part in maintaining it by storing a small portion of the data. DHTs are not new, but Holochain goes one step further by having every peer validate the data they receive before storing it. This ‘validating DHT’ does a few things: it makes sure everyone is playing by the application’s rules, it detects forks/modifications to chains (preventing Finney attacks), it allows peers to access data even when the agent who published it is offline, and it speeds up validation by pre-validating existing data.


* If a peer finds invalid data, it publish a ‘warrant’ against it. The cheating agent’s own signature on the invalid data is irrefutable evidence against them. Other peers can use this warrant to ignore the agent, effectively pushing them out of the network. This creates an 'immune system' for the network.


* Peer validators for a piece of data are chosen at random to prevent collusion. This is accomplished by something called XOR distance, where the peers who are responsible for validating a piece of data are the ones whose identity hashes are most similar to the hashes of the data.


* Because there is no central data structure like a blockchain, the payback for corrupting data is reduced while the cost remains high. Any group wishing to corrupt a network would need to either collude to validate each other’s bad data (which would involve hashcracking similar to mining), intercept good data and either erase it or publish warrants against it, or obstruct the flow of good communications. On top of this, they’d have to find some way of circumventing the app creator’s Sybil resistance mechanisms. Majority attacks would require control of much more than 51% of the network, due to the fact that the validating DHT forms a dense network of intertwined communications channels among mutually sovereign nodes. A net is more resilient than a rope.


* Holochain does not implement any particular Sybil resistance mechanism. We believe that most distributed networks work better when there’s a high degree of trust and social cohesion among its members, which necessitates persistent (though not necessarily government-issued) identities. So we recommend that app creators implement membranes for participation that involve an appropriate level of identity verification. For a high-stakes app, this might mean that members must submit a photo of themselves with their passport; for another app, this might merely mean that the member has a valid email address. App creators who truly require permissionless membership are free to implement traditional Sybil resistance mechanisms such as staking or mining.



Report Page