Як сказав poke :
Git і Blockchains виглядають схожими, оскільки вони обидва використовують Merkle Trees для зберігання впорядкованих транзакцій, розмічених часом. Меркелеве дерево - це структура даних дерева, де кожен вузол позначений криптографічним значенням хешу їх вмісту, що включає мітки його дочірніх.
Перша відмінність полягає у функції Hash : Blockchain має дуже дорогу хеш-функцію, так що кожен блок повинен бути видобутий, коли "блок" Git можна створити за допомогою простого повідомлення про фіксацію.
Мета Bitcoin - додати довіру до порядку транзакцій. Основна увага приділяється найдовшій ланцюжку, оскільки обчислити це найдорожче, і, отже, це правда.
Біткойн виконує це, вимагаючи, щоб хеш відповідав певним параметрам (починається з певної кількості 0с), збільшуючи в повідомленні значення ("немає"), поки не знайдеться задовільний хеш. Для цього потрібні зусилля для пошуку, але лише 1 розрахунок, щоб перевірити його на відсутність; і якщо декілька значень дають задовільний хеш, то один буде нижчим і вважатиметься правдою. Інші схеми аутентифікації роблять хеш надійним, централізуючи видачу хешу органу, можливо, проголосованому мережевою угодою чи іншим методом.
Дані блокчейн обмежені транзакціями, які повинні відповідати валідації. Трансакція повинна бути дійсною для включення в наступний блок. Угода про біткойн відповідає чомусь важливому в реальному світі, що виправдовує використання дорогого блоку для запису такого переказу, як, наприклад, обмін грошової вартості. Нас нас справді не цікавить остаточна книга, це метафора чогось у реальному світі.
Навпаки, блоки Git є довільними, оскільки фіксація може містити будь-яку кількість даних. Цінність полягає у зміні даних, що впорядковуються в дереві git, оскільки ми дбаємо про кінцевий продукт, це підтверджено наявністю сховища git.
Мета Git - дозволити дешевим «книгам» відстежувати декілька альтернатив продукту. «Ведення книги» в Git - це те, про що ми дбаємо, це наш кінцевий продукт; дані транзакцій просто записують, як продукт був побудований. Ми хочемо зробити дуже дешевим виготовлення декількох версій кінцевої продукції, достатньо накладних витрат, щоб вимагати від творця записати, як вони побудували цей продукт. Ніякої чіткої перевірки даних не робиться, ви підтримуєте кінцевий продукт, якщо він виглядає добре, і це існування робить корисним ланцюжок створення цього продукту. Якщо кінцевий продукт поганий або порядок комісій недійсний, ця "книга" буде видалена під час вивезення сміття.
Друга відмінність полягає в тому, що транзакції Blockchain повинні надходити з попереднього дійсного джерела. У Git нам не байдуже, які дані ви використовуєте для розширення дерева. У Blockchain транзакції повинні надходити з попереднього дійсного джерела. У цьому сенсі Git відстежує розширення нашого середовища, тоді як Blockchain відстежує обмін цінності в закритому середовищі.