Как тык сказал :
Git и Blockchains выглядят одинаково, потому что они оба используют Merkle Trees для хранения упорядоченных транзакций с метками времени. Дерево меркла - это древовидная структура данных, где каждый узел помечен криптографическим значением хеш-функции их содержимого, которое включает в себя метки его дочерних элементов.
Первым отличием является функция Hash : Blockchain имеет очень дорогую хэш-функцию, так что каждый блок должен быть добыт, тогда как «блок» Git может быть создан с помощью простого сообщения фиксации.
Цель Биткойна - добавить доверие к порядку транзакций. Основное внимание уделяется самой длинной цепочке, поскольку она является наиболее дорогой для вычисления и, таким образом, скорее всего, будет правдой.
Биткойн выполняет это, требуя, чтобы хеш соответствовал определенным параметрам (начинается с определенного числа 0), увеличивая значение («nonce») в сообщении, пока не будет найден удовлетворительный хеш. Это требует усилий, чтобы найти, но только 1 расчет для проверки одноразового номера; и если множественные одноразовые числа дают удовлетворительный хэш, тогда один будет ниже и будет принят за истину. Другие схемы аутентификации делают хэш надежным за счет централизации выдачи хэша органу власти, возможно, проголосованному сетевым соглашением или каким-либо другим способом.
Данные блокчейна ограничены транзакциями, которые должны соответствовать проверке. Транзакция должна быть действительной, чтобы быть включенной в следующий блок. Биткойн-транзакция соответствует чему-то важному в реальном мире, что оправдывает использование дорогостоящего блока для записи этого перевода, например обмен денежной стоимости. На самом деле нас не волнует последняя книга, это метафора чего-то в реальном мире.
Напротив, блоки Git являются произвольными, поскольку коммит может содержать любое количество данных. Ценность заключается в изменениях данных, организованных в дерево git, потому что мы заботимся о конечном продукте, это подтверждается существованием репозитория git.
Цель Git - позволить дешевым «бухгалтерским книгам» отслеживать несколько вариантов продукта. «Леджер» в Git - это то, что нас волнует, это наш конечный продукт; данные транзакций просто записывают, как был построен продукт. Мы хотим сделать несколько версий конечных продуктов очень дешевыми, достаточно затрат, чтобы создатель записал, как они создали этот продукт. Никаких явных проверок данных не производится, вы поддерживаете конечный продукт, если он выглядит хорошо, и это существование делает полезным иметь цепочку создания этого продукта. Если конечный продукт плохой или порядок фиксации недействителен, этот «регистр» удаляется во время сборки мусора.
Второе отличие состоит в том, что транзакции Blockchain должны исходить из предыдущего действительного источника. В Git нам не важно, какие данные вы используете для расширения дерева. В Blockchain транзакции должны исходить из предыдущего действительного источника. В этом смысле Git отслеживает расширение нашей среды, тогда как Blockchain отслеживает обмен ценностями в закрытой среде.