News for hackers. Stuff that matters.
Re:How to Store a Chess Game in 26 Bytes Using Bit-Level Mag... by rcxdude on Saturday September 16, 2023 @03:06AM (#37532639)
That's a Merkle tree. Blockchains are a Merkle tree plus some form of consensus algorithm, often a trustless one. It's the usefulness of the consensus algorithm which is usually called into question by critics (generally because it's often expensive and cannot reference anything outside the system).
Re:How to Store a Chess Game in 26 Bytes Using Bit-Level Mag... by r3trohack3r on Saturday September 16, 2023 @12:00PM (#37535943)
IIUC a merkle tree is a data structure where the leaf nodes are the hashes of data. The inner nodes of the tree are hashes of the child hashes up to a root hash.

Merkle trees are helpful for quickly validating the integrity of a chunked file. Both IPFS and BitTorrent use merkle trees to validate files.

I do not understand how git could represent its history using a merkle tree.

Re:How to Store a Chess Game in 26 Bytes Using Bit-Level Mag... by nextaccountic on Saturday September 16, 2023 @10:30PM (#37540910)
git commits themselves are merkle trees (or more like, DAGs) that contain filesystem trees, a set of parent commits, and metadata

each parent commit in turn contains their own parents etc, until you reach an initial commit

the funny thing here is that parent commits don't have references to children, it's children that have references to parents (like the union find data structure) so the relationship here is inverted. that's because git objects are immutable