News for hackers. Stuff that matters.
Re:Is Git a Block Chain? by ngoldbaum on Saturday April 25, 2015 @12:22AM (#9437188)
I thought it was a directed acyclic graph. Care to share the distinction?
Re:Is Git a Block Chain? by petertodd on Saturday April 25, 2015 @02:03AM (#9437421)
The terminology used in #bitcoin-wizards is to call it a merkelized dag, or merkle-dag.

Similarly, we also refer to "Merkelized Abstract Syntax Trees", a way of hashing code originally proposed by Pieter Wuille and Russel O'connor(1) that will probably be added to Bitcoin's scripting system eventually.

Pretty much any data structure can have hash functions added to it to "merkelize" it, producing an authenticated data structure: http://www.cs.umd.edu/~amiller/gpads/

1) https://download.wpsoftware.net/bitcoin/wizards/2014-12-16.h...

Re:Is Git a Block Chain? by nivertech on Saturday April 25, 2015 @06:13AM (#9437876)
Bitcoin Script is Forth-like RPN, why does it need AST? Do you mean there are plans to add more languages/DSLs to Bitcoin which with multiple compiler front-ends generating ASTs. which then translated to "machine opcodes"? Something similar to Ethereum?

Or maybe it's a solution for transaction scriptSig malleability? [1]

[1] https://en.bitcoin.it/wiki/Transaction_Malleability

Re:Is Git a Block Chain? by cfallin on Saturday April 25, 2015 @12:30AM (#9437203)
You can see git's DAG as a dedup'd Merkle tree: in other words, if two child pointers in two places in the tree point to nodes (blobs) with the same hash, make them share a single node instead.

This works because the hash "is" the content/entire subtree (modulo hash collisions), so the resulting data structure has the same meaning as before.

Content/hash-addressed stores are related to referential transparency and immutability (and deep equality) in languages like Haskell, FWIW. I've always thought it's sort of beautiful how cleanly the ideas come together like that.