Como puxão disse :
Git e Blockchains parecem semelhantes porque ambos estão usando as árvores Merkle para armazenar transações com registro de data e hora ordenadas. Uma árvore de merkle é uma estrutura de dados de árvore em que cada nó é rotulado com o valor de hash criptográfico de seu conteúdo, que inclui os rótulos de seus filhos.
A primeira diferença é a função Hash : o Blockchain tem uma função de hash muito cara, de modo que cada bloco precisa ser extraído, onde um "bloco" do Git pode ser criado com uma simples mensagem de confirmação.
O objetivo do Bitcoin é adicionar confiança à ordem das transações.O foco está na cadeia mais longa, já que é mais caro de calcular e, portanto, provavelmente a verdade.
O Bitcoin realiza isso exigindo que o hash atenda a determinados parâmetros (começa com um número específico de 0s), incrementando um valor ("nonce") na mensagem até que um hash satisfatório seja encontrado. Isso exige esforço para encontrar, mas apenas 1 cálculo para verificar se há um nonce; e se várias nonces produzem um hash satisfatório, então uma será menor e tomada como verdade. Outros esquemas de autenticação tornam o hash confiável, centralizando a emissão do hash para uma autoridade, talvez votada por acordo de rede ou algum outro método.
Os dados da Blockchain são limitados a transações, que devem estar em conformidade com a validação. A transação deve ser válida para ser incluída no próximo bloco. Uma transação de Bitcoin corresponde a algo importante no mundo real que justifica o uso de um bloco caro para registrar essa transferência, como troca de valor monetário. Na verdade, não nos preocupamos com o livro final, é uma metáfora para algo no mundo real.
Por outro lado, os blocos Git são arbitrários, pois uma confirmação pode conter qualquer quantidade de dados. O valor está nas alterações de dados que estão sendo organizadas na árvore git porque nos preocupamos com o produto final, que é validado pela existência do repositório git.
O objetivo do Git é permitir que "livros-razão" baratos rastreiem várias alternativas de produtos.O "livro-razão" no Git é o que nos interessa, é o nosso produto final; os dados das transações apenas registram como o produto foi construído. Queremos tornar muito barato a criação de várias versões dos produtos finais, apenas o suficiente para exigir que o criador registre como eles criaram esse produto. Nenhuma validação explícita é feita nos dados, você mantém o produto final, se parecer bom, e essa existência torna útil ter a cadeia de criação desse produto. Se o produto final estiver ruim ou a ordem de consolidação for inválida, esse "razão" será excluído durante a coleta de lixo.
A segunda diferença é que as transações Blockchain devem vir de uma fonte válida anterior. No Git, não nos importamos com quais dados você usa para estender a árvore. No Blockchain, as transações devem vir de uma fonte válida anterior. Nesse sentido, o Git rastreia a extensão do nosso ambiente, enquanto o Blockchain rastreia a troca de valor dentro de um ambiente fechado.