Двойные траты - Double-spending

Двойные траты является потенциальным недостатком в цифровые деньги схема, в которой такой же сингл цифровой токен можно потратить более одного раза. В отличие от наличных денег, цифровой токен состоит из цифрового файла, который можно скопировать или подделать.[1][2] Как и с фальшивые деньги, такое двойное расходование приводит к инфляция путем создания новой суммы скопированной валюты, которая ранее не существовала. Это обесценивает валюту по сравнению с другими денежными единицами или товарами и снижает доверие пользователей, а также обращение и удержание валюты. Основные криптографические методы предотвращения двойных расходов при сохранении анонимности транзакции: слепые подписи и, особенно в автономных системах, секретное разделение.[2]

Централизованные валюты

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

Децентрализованные валюты

В децентрализованной системе проблему двойных расходов решить значительно сложнее. Чтобы избежать необходимости в доверенном третьем лице, многие серверы должны хранить идентичные актуальные копии публичной транзакции. бухгалтерская книга, но поскольку транзакции (запросы на трату денег) транслируются, они будут приходить на каждый сервер в несколько разное время. Если две транзакции пытаются потратить один и тот же токен, каждый сервер будет считать первую транзакцию действительной, а другую - недействительной. Если серверы расходятся во мнениях, невозможно определить истинный баланс, поскольку наблюдения каждого сервера считаются одинаково достоверными. Большинство децентрализованных систем решают эту проблему с помощью консенсус алгоритм, способ восстановить синхронизацию серверов. Два примечательных типа механизмов консенсуса: доказательство работы и доказательство ставки.

К 2007 году ряд распределенные системы для предотвращения двойного расходования.[3][4]

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

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

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

51% атака

Общая вычислительная мощность децентрализованной системы Proof-of-Work - это сумма вычислительной мощности узлов, которая может существенно различаться в зависимости от используемого оборудования. Большая вычислительная мощность увеличивает шанс выиграть награду за майнинг за каждый новый добытый блок, что создает стимул для накопления кластеров узлов майнинга, или пулы для майнинга. Любой пул с мощностью хэширования 51% может эффективно отменять сетевые транзакции, что приводит к двойным расходам. Одна из вилок Биткойн, Биткойн Золото, подверглась такой атаке в 2018 году, а затем снова в 2020 году.[5]

Восприимчивость данной криптовалюты к атакам зависит от существующей мощности хэширования сети, поскольку злоумышленнику необходимо ее преодолеть. Чтобы атака была экономически жизнеспособной, рыночная капитализация валюты должна быть достаточно большой, чтобы оправдать затраты на аренду хэш-мощности.[6][7]

В 2014 году майнинг-пул Ghash.io получил мощность хэширования 51%, что вызвало серьезные споры о безопасности сети. Пул добровольно ограничил свою мощность хэширования на уровне 39,99% и попросил другие пулы последовать этому примеру, чтобы восстановить доверие в сети.[8]

Рекомендации

  1. ^ Проблема двойных расходов и криптовалюты. Банковский и страховой журнал. Сеть исследований в области социальных наук (SSRN). По состоянию на 24 декабря 2017 г.
  2. ^ а б c Марк Райан. «Цифровые деньги». Школа компьютерных наук Бирмингемского университета. Получено 2017-05-27.
  3. ^ Яап-Хенк Хёпман (2008). «Распределенное предотвращение двойных расходов». arXiv:0802.0832v1 [cs.CR ].
  4. ^ Осипков, И .; Vasserman, E. Y .; Hopper, N .; Ким, Ю. (2007). «Борьба с двойными расходами с помощью кооперативных P2P-систем». 27-я Международная конференция по распределенным вычислительным системам (ICDCS '07). п. 41. CiteSeerX  10.1.1.120.52. Дои:10.1109 / ICDCS.2007.91.
  5. ^ Канеллис, Дэвид (27.01.2020). «Биткойн Голд пострадал от атак 51%, $ 72 тыс. В криптовалюте потрачено дважды». Hard Fork | Следующая Сеть. Получено 2020-02-29.
  6. ^ «Стоимость атаки 51% для различных криптовалют | Crypto51». www.crypto51.app. Получено 2020-02-29.
  7. ^ Варшней, Нир (24.05.2018). «Почему Proof-of-Work не подходит для небольших криптовалют». Hard Fork | Следующая Сеть. Получено 2018-05-25.
  8. ^ «Популярный пул для майнинга биткойнов обещает ограничить свои вычислительные мощности, чтобы предотвратить фиаско 51%». TechCrunch. Получено 2020-02-29.