News for hackers. Stuff that matters.
Re:How Merkle Trees Enable the Decentralized Web by yosito on Tuesday October 24, 2017 @09:54AM (#15541498)
Can someone ELI5 what happens when I want to change a piece of data in a tree? What if I have a document, and I notice a typo, and I want to fix it?
Re:How Merkle Trees Enable the Decentralized Web by nattmat on Tuesday October 24, 2017 @10:11AM (#15541641)
By using an append-only Merkle tree, you make 'edits' by adding a new piece of data with information on what was changed in the older data. You get the benefit of also keeping a version history. I think Git works like this.
Re:How Merkle Trees Enable the Decentralized Web by palunon on Tuesday October 24, 2017 @10:47AM (#15541944)
Note that Git commit graph isn't really a tree, but a directed acyclic graph, in which nodes (commits) points to actual Merkle trees (trees/blobs).

(Also, git keeps the full data, not only diffs)

Re:How Merkle Trees Enable the Decentralized Web by yosito on Thursday November 02, 2017 @09:08AM (#15610032)
Interesting. I suppose deleting sensitive data is a more difficult challenge.
Re:How Merkle Trees Enable the Decentralized Web by tbv on Tuesday October 24, 2017 @10:00AM (#15541537)
Not quite ELI5, but Blahah explained how Dat handles changes below:

https://news.ycombinator.com/item?id=15541392

Re:How Merkle Trees Enable the Decentralized Web by toomim on Tuesday October 24, 2017 @10:01AM (#15541552)
Exactly. Then merkle trees don't help you. They only work for static documents.
Re:How Merkle Trees Enable the Decentralized Web by pfraze on Tuesday October 24, 2017 @10:41AM (#15541883)
letlambda's explanation for IPFS is right. In Dat, that method is used to produce an append only log out of a merkle tree. Each time you add an entry, a leaf is added to the tree, and the new head is signed. I wrote about it here [1] and have some gifs demonstrating the process.

Merkle trees can work just fine for dynamic content. You just need to use a pubkey pointer.

1. https://beakerbrowser.com/2017/06/19/cryptographically-secur...

Re:How Merkle Trees Enable the Decentralized Web by letlambda on Tuesday October 24, 2017 @10:17AM (#15541685)
They certainly don't make that easier. But if the system supports a mutable link, you can have documents that always link to their own latest version.

IPFS does this by storing (mutable link, contentID) pairs in the DHT, which can be updated if you know the private key for the mutable link.