Подтвердить что ты не робот

Почему Git не считается "цепочкой блоков"?

Git внутренняя структура данных - это дерево объектов данных, в которых каждый объект указывает только на своего предшественника. Каждый блок данных хэшируется. Модификация (битовая ошибка или атака) будет замечена промежуточным блоком, когда сохраненный хэш и фактический хеш отклоняются.

Как это понятие отличается от цепочки блоков?
Git не указан в качестве примера цепей блоков, но, по крайней мере, в резюме, оба описания структуры данных выглядят одинаково: блок данных, обратное связывание по одному направлению, хеши,...).

Итак, где же разница, что Git не называется цепочки блоков?

4b9b3361

Ответ 1

git не является примером технологии blockchain по нескольким причинам (это было первое, что пришло в голову):

  • В реализации blockchain каждый блок проверяется независимо несколько раз, прежде чем он будет добавлен в блок-цепочку. Это действительно одна из самых важных вещей в технологии blockchain и является тем, что обеспечивает ее "неустранимость". С другой стороны, многие проекты git не требуют независимой проверки, и, когда они это делают, им требуется только один человек, который должен подписаться на изменение до того, как он будет привязан к репозиторию. Следовательно, с не более чем одной точкой проверки, которой вы должны доверять, git нарушает один из основных принципов технологии blockchain.

  • Репозиторий git не обязательно дублируется на многих серверах. Вы можете работать из репозитория git локально, и если ваш локальный диск был поврежден, вы потеряете все. Технология Blockchain подразумевает воспроизведение книги на серверах.

  • Вы можете переписать историю git. A git push <remote> <branch> --force, где <branch> устанавливается в прежнее состояние, чем при <remote>, переписывает историю. В блочных цепях книга является неизменной историей.

Ответ 2

Причина, по которой Git и blockchains выглядят одинаково, заключается в том, что они используют merkle trees в качестве своей базовой структуры данных. Дерево мерок - это дерево, где каждый node помечен криптографическим хэш-значением их содержимого, которое включает в себя метки его дочерних элементов.

Git s направленный ациклический граф в точности соответствует дереву merkle, где каждый node (тег, commit, tree или blob-объект) помечен хешем его содержимого и меткой его "дочернего". Обратите внимание, что для коммитов термин "дочерний" немного конфликтует с пониманием родителей Git: родительские коммиты - это дети коммитов, вам просто нужно посмотреть на график как дерево, которое продолжает расти, повторно запустив его.

Блокированные цепи очень похожи на это, поскольку они также продолжают расти таким образом, и они также используют свое свойство дерева merkle для обеспечения целостности данных. Но, как правило, блокировки понимаются как нечто большее, чем просто деревья merkle, где они отделяются от "глупый трекер контента" Git. Например, блоксхемы обычно также означают наличие высоко децентрализованной системы на уровне блоков (не все блоки должны находиться в одном и том же месте).

Понимание блокчейнов довольно сложно (лично, я все еще далек от понимания всего об этом), но я считаю понимание внутренних элементов Git хорошим способом понять деревья merkle, которые определенно помогают понять основную часть о цепных цепях.

Ответ 3

Кибер-валюты, такие как биткойн, используют распределенную консенсусную криптографическую цепочку блоков (дерево merkle). Общее использование сократило это до "blockchain"

В то время как git использует цепочку блоков (дерево merkle), ей не хватает распределенных консенсусов криптографических компонентов, которые подразумевают использование термина "BlockChain".

Ответ 4

В отличие от криптовалютных блокчейнов; У git нет p2p-механизма безнадежного консенсуса.

Ответ 5

Blockchain - это не просто цепочка блоков.

Blockchain - это когда есть способ определения главной цепи, когда две или более переадресованы, и когда для этого определения не требуется центральный орган.

Ответ 6

Я думаю, что было бы интересно вычислить git-хэш из предыдущего хэша, даты и времени, количества комитов, имени коммиттера и содержимого коммита. Это позволило бы проверить все коммиты и доказать целостность хранилища.