Какая разница между распределенной технологией хеш-таблицы и блочной цепочкой биткойнов?

Этот вопрос может пойти на форум биткойнов, но я пытаюсь понять с точки зрения программирования.

Существуют технологии, используемые для распределенного хранения, такие как распределенные хэш-таблицы (например, kademlia или аналогичные). Как биткойн-блок-цепочка отличается от распределенных хэш-таблиц? Или, может быть, распространенная технология хеш-таблицы, лежащая в основе биткойн-блокады? Или почему биткойн-блок-цепочка приветствуется как такой прорыв по сравнению с DHT?

Ответ 1

Распределенная таблица хешей

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

Алгоритм маршрутизации позволяет выполнять запросы в хэш-таблице без знания каждого узла сети.

Например, в Chord DHT, который является относительно простой реализацией DHT, каждому узлу присваивается идентификатор и он отвечает за ключи, которые ближе к его идентификатору.

Представьте, что существует 4 узла с идентификаторами: 2a6c, 7811, a20f, e9c3. Данные с идентификатором 2c92 будут сохранены на узле 2a6c.

Представьте себе, что теперь вы знаете только узел 7811, и вы ищете данные с идентификатором eabc.

Вы запрашиваете узел 7811 для данных eabc. 7811 не имеет его, поэтому он запрашивает узел e9c3, который отправляет его на узел 7811, который отправляет его вам.

Умный алгоритм позволяет находить данные в прыжках O (log (N)). Без сохранения всей таблицы маршрутизации сети (адреса каждого узла). В основном вы задаете ближайший узел идентификатору данных, который, как вы знаете, сам задает ближайший узел, который он знает, и так далее, уменьшая размер прыжка на каждом шаге.

DHT очень масштабируема, поскольку данные распределены равномерно между узлами, а время поиска обычно растет в O (log (N)).

Blockchain

Блок-цепочка также является распределенной структурой данных, но ее назначение совершенно иное.

Подумайте об этом как о истории или книге. Цель состоит в том, чтобы хранить постоянно растущий список записей без возможности вмешательства и пересмотра.

Он в основном используется в валютной системе биткойна для отслеживания транзакций. Его свойство быть защищенным от несанкционированного доступа позволяет каждому узнать точное сальдо счета, зная его историю транзакций.

В блочной цепочке каждый узел сети хранит полные данные. Таким образом, это абсолютно не та же идея, что и DHT, в котором данные разделяются между узлами. Каждая новая запись в блокчейне должна быть проверена процессом, называемым "добыча", чьи данные выходят за рамки этого ответа, но этот процесс обеспечивает согласие с данными.

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

Ответ 2

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