Como poke dijo :
Git y Blockchains parecen similares porque ambos usan Merkle Trees para almacenar transacciones ordenadas con marca de tiempo. Un árbol de merkle es una estructura de datos de árbol donde cada nodo está etiquetado con el valor hash criptográfico de sus contenidos, que incluye las etiquetas de sus elementos secundarios.
La primera diferencia es la función Hash : Blockchain tiene una función hash muy costosa, por lo que cada bloque debe ser extraído, donde se puede crear un "bloque" Git con un simple mensaje de confirmación.
El propósito de Bitcoin es agregar confianza al orden de las transacciones. La atención se centra en la cadena más larga, ya que es más costoso de calcular y, por lo tanto, es más probable que sea la verdad.
Bitcoin logra esto al exigir que el hash cumpla con ciertos parámetros (comienza con un número específico de 0s), al incrementar un valor ("nonce") en el mensaje hasta que se encuentre un hash satisfactorio. Esto requiere esfuerzo para encontrar, pero solo 1 cálculo para verificar un nonce; y si múltiples nonces producen un hash satisfactorio, entonces uno será más bajo y se tomará como la verdad. Otros esquemas de autenticación hacen que el hash sea confiable al centralizar la emisión del hash a una autoridad, quizás votada por acuerdo de red, o algún otro método.
Los datos de la cadena de bloques se limitan a las transacciones, que deben cumplir con la validación. La transacción debe ser válida para ser incluida en el siguiente bloque. Una transacción de Bitcoin corresponde a algo importante en el mundo real que justifica el uso de un bloque costoso para registrar esta transferencia, como el intercambio de valor monetario. En realidad, no nos importa el libro final, es una metáfora de algo en el mundo real.
Por el contrario, los bloques Git son arbitrarios, ya que una confirmación puede contener cualquier cantidad de datos. El valor radica en los cambios de datos que se organizan en el árbol git porque nos importa el producto final, está validado por la existencia del repositorio git.
El propósito de Git es permitir que los "libros de contabilidad" baratos rastreen múltiples alternativas de productos. El "libro mayor" en Git es lo que nos importa, es nuestro producto final; Los datos de las transacciones solo registran cómo se construyó el producto. Queremos que sea muy barato hacer múltiples versiones de productos finales, lo suficiente para que el creador registre cómo construyeron este producto. No se realiza una validación explícita de los datos, usted mantiene el producto final si se ve bien, y esa existencia hace que sea útil tener la cadena de creación de este producto. Si el producto final es malo o el orden de las confirmaciones no es válido, este "libro mayor" se elimina durante la recolección de basura.
La segunda diferencia es que las transacciones de Blockchain deben provenir de una fuente válida anterior. En Git, no nos importa qué datos utilizas para extender el árbol. En Blockchain, las transacciones deben provenir de una fuente válida anterior. En ese sentido, Git rastrea la extensión de nuestro entorno, mientras que Blockchain rastrea el intercambio de valor dentro de un entorno cerrado.