Why is Git not considered a "block chain"?

(stackoverflow.com)

4 points | by kkoncevicius 12 hours ago ago

3 comments

  • symbolicAGI 10 hours ago

    Git is a block chain in which successive data entries (commits) include the hash of the predecessor in the data such that the entire data set can be verified against data corruption by recomputing the hash codes of each successive entry and comparing the final hash code with the separately recorded latest hash code for the data set.

    Other sequential data sets use this efficient consistency check, for example the Kafka log files do this.

    In contrast, cryptocurrencies for example Bitcoin, use block chains whose hash codes are crypographically (slowly) calculated so that it is practically impossible to corrupt the data to arrive at a given hash code.

    Git and Kafka use very efficient hash codes that do not have this anti-hacker feature. They only detect ordinary corruption from example missing, duplicated or garbled data as opposed to malicious data falsification.

    "Blockchain" in common speech has the meaning of cryptographic block chain and that is why Git is not ordinarily considered to be a "Blockchain" despite it having data blocks whose verification is performed by chained (efficient non-cryptographic) hash functions.

    • compressedgas 6 hours ago

      The hash function in Git is a cryptographic hash.

      The reason that Git is not a Blockchain has nothing to do with its choice of hash function. Rather a Blockchain has a procedure through which nodes decide what successor is acceptable, Git doesn't care it allows all successors.

      Kafka has a procedure for consensus which determines who can declare what the successor is.

    • fhfjfk 7 hours ago

      Is malicious data falsification feasible with git?