Перейти к содержимому

Что такое двойное расходование в программировании

  • автор:

Что такое майнинг и стейкинг простыми словами. Какую математическую задачу решают майнеры?

До того, как Сатоши Накамото применил блокчейн в системе биткоина, было предпринято огромное количество попыток создать децентрализованную платежную систему. Но все они были безуспешны, так как разработчикам не удавалось создать такие условия, которые бы позволили достичь соглашения между всеми участниками сети и обеспечить ее работоспособность. Это и называется консенсусом в сети блокчейн. Он достигается тогда, когда все участники сети согласны относительно валидности транзакций и все реестры – точная копия друг друга.

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

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

Proof-of-Work (PoW). Что такое майнинг?

Для начала рассмотрим самый известный алгоритм консенсуса – Proof-of-Work, как следует из названия, — это механизм достижения соглашения между пользователями сети с публичным доказательством проделанной работы. Процесс достижения консенсуса по данному алгоритму тесно связан с майнингом.

Майнинг — это процесс добычи биткоина и других криптовалют, в результате которого в блокчейн добавляется новый блок транзакций и происходит эмиссия монет.

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

Добавление новой транзакции требует от сети затрат энергии на решение определённой криптографической задачи. Не получится просто добавить в блокчейн очередной блок – надо еще потратить очень много реальных денег, например, на оплату электричества, покупку оборудования, необходимого для решения этих крипто-задач. К слову, о мошенничестве в блокчейн-сетях. При таком устройстве системы оно просто-напросто невыгодно.

Давайте подробней рассмотрим цикл добавления вашей транзакции в блокчейн.

Вы переводите свою криптовалюту на другой адрес в блокчейне. Информация о вашей транзакции помещается в общий реестр, который называется MemPool. К нему имеют доступ все майнеры сети. Данный список постоянно пополняется новыми транзакциями, оттуда майнеры берут себе то количество операций, которое могут обработать. Затем для каждой транзакции решают сложную криптографическую задачу. Если майнеру удаётся решить задачу, то он отправляет решение на устройства других участников сети. Остальные проверяют, верно ли решена задача и правильно ли сконструирована цепочка блокчейна. Если всё верно, блок добавляется в блокчейн. Здесь стоит сказать о том, что в блокчейн добавляется блок, подготовленный майнером, который первым решил задачу. Дублирование блоков невозможно, иначе возникнет двойное расходование. (Ситуация в сети блокчейн, когда кто-то пытается отправить один биткоин двум получателям одновременно. Однако, когда транзакция подтверждена, отправить те же самые биткоины уже другому получателю невозможно. Чем больше подтверждений есть у каждой отдельной операции, тем сложнее организовать двойное расходование)

Скорость решения задачи зависит от мощности оборудования. Майнер с наибольшей вычислительной мощностью с большей вероятностью решит задачу первым.

Для удобства восприятия информации мы составили для вас небольшую инфографику:

Итак, какую же задачу решает майнер? Чтобы это понять, разберём сначала более подробно, что такое хэш-функция.

Хэш-функция.

Криптографическая хэш-функция — это математический алгоритм, который отображает данные произвольного размера в битовый массив фиксированного размера. Это функция вида F(X+N) = H, где X – любой набор символов неограниченной длины (информация, записанная в блоке), H – это значение хэш-суммы, а N – свободная переменная, в криптографии эту переменную называют Nonce, она представляет собой любое значение от 1 до 4 миллиардов. Результатом шифрования или хэширования является «хэш-сумма», многие называют его просто хешем, он представляет собой набор цифр , в котором зашифрована информация.

У хеш-функции есть очень важные на свойства, благодаря которым её и используют в криптографии:

1. Детерминированность. (В математике – определяемость) Это значит, что одно и то же сообщение с точностью до символа приводит к одному и тому же хеш-значению.

2. Уникальность. Не существует двух разных сообщений с одинаковым хэш-значением. Обратите внимание на это свойство, оно является базовым и наиболее важным. Приведём пример для понимания. Возьмём произведение Теодора Драйзера «Финансист», проведём шифрование, а затем во всём произведении уберём всего одну запятую, и получим совершенно другое значение хэш-суммы. Можете попробовать сами по этой ссылке.

3. Быстрота вычисления. Хэширование позволяет достаточно быстро вычислить нужный хэш для большого объема информации.

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

Алгоритмы хэширования.

Существует множество алгоритмов хеширования – MD5 (Message Digest 5, генерирует 128-битный ключ, что составляет 16 байт данных. Функции и классы для работы с MD5 реализованы во всех языках программирования. MD5 используется на многих веб-сайтах и веб-сервисах.);

SHA-1 (Secure Hash Algorithm 1, генерирует 160-битный ключ, что составляет 20 байт данных. Этот алгоритм считается более надежным, по сравнению с MD5, но и более сложным и выполняется немного медленней);

SHA-2(256), SHA-2(512) и т.д. (Secure Hash Algorithm 2, это вторая версия алгоритма SHA-1, алгоритм может генерировать 256-, 384-, 512-битный ключ, что составляет 32, 48 или 64 байта данных. Этот алгоритм считается более надежных, по сравнению с предшественниками.);

В блокчейне биткоина используется алгоритм SHA-2(256). Число 256 в названии алгоритма означает, что на выходе мы получим строку фиксированной длины 256 бит независимо от того, какие данные поступят на вход.

Скорее всего, к данному этапу статьи у вас возникло пару вопросов: неужели миллиарды транзакций, проведённых в биткоинах, не перебрали все наборы всего лишь 256 битной строки? И почему в начале статьи говорится о строке цифр, а в хеш-значениях присутствуют буквы?

Итак, ответ на первый: ну конечно, нет! Ведь, количество комбинаций равняется 2 в 256 степени, что приблизительно равно 1,158×1077. И да, значение хеша записывается в 16-ричной системе счисления, в которой присутствуют буквы. (В обычной же жизни мы с вами используем 10-тичную, кстати, вот вам конвертер, попробуйте сами)

Криптографическая задача.

Proof-of-Stake (PoS). Что такое стейкинг?

Алгоритм Proof-of-Stake – это механизм достижения соглашения между пользователями с доказательством доли владения, по принципу своего действия он похож на голосование среди акционеров компании — наибольшую власть получает тот, у кого больше всех акций.

Стейкинг – это процесс, при котором пользователи хранят криптовалюту и обеспечивают работоспособность блокчейна.

Как происходит транзакция?

Вы совершаете транзакцию, все транзакции автоматически отправляются в пулы и распределяются между валидаторами посредством смарт-контрактов. Узлы, называемые валидаторами стейкают криптовалюту. Размер монет в стейкинге называется ставкой.

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

Чтобы стать валидатором Ethereum, например, вам придётся внести в стейкинг 32 ETH, чтобы стать полным валидатором или немного ETH, чтобы присоединиться к пулу, запустить «Eth1», клиент Mainnet, либо серверный API, затем отправлять пакетные транзакции в новый блок или проверять работу других валидаторов.

Для того, чтобы валидировать транзакции на блокчейне Solana нужен мощный сервер, работающий на 12/24 ядерном процессоре с частотой 2,8 ГГц или выше. Также будут затраты на оплату за голосование, которые можгут составлять 1 SOL в день. Возможен стейкинг не менее 5000 токенов SOL или 50 000 SOL от делегатов.

Отличия стейкинга от майнинга.

На сегодняшний день процесс майнинга в сети биткоин – это сложный процесс, требующий больших вычислительных мощностей для получения новых блоков. Людям, которые хотят заработать на добыче блоков, приходится покупать дорогостоящее оборудование, разработанное специально для майнинга. Один из примеров подходящей техники – специализированные интегральные схемы (ASIC).

Отличия двух самых популярных алгоритмов консенсуса представлены ниже:

Стейкинг постепенно начинает вытеснять традиционный майнинг, всё больше новых блокчейн проектов кладут в свою основу алгоритм Proof-of-Stake ввиду более простого механизма заработка для пользователей и большей экологичности и энергоэффективности.

В данный момент команда разработчиков блокчейна Ethereum работает над программным кодом, который позволит второй по капитализации и популярности криптовалюте Ether перейти с PoW на PoS.

«Майнинг требует большей включенности в процесс, надо постоянно держать руку на пульсе. В случае стейкинга процесс упрощен и открыт для большего числа участников блокчейн-сообщества, порог входа в стейкинг ниже, чем порог входа в майнинг», — отметил Максим Крупышев, СЕО криптоплатежной системы Coinspaid.

Альтернативные алгоритмы консенсуса.

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

Proof-of-Authority (PoA, Процедура прихода к консенсусу с доказательством права) — Процедура консенсуса на основе разграничения прав пользователей;

Delegated Proof-of Stake (DPoS) – идея состоит в том, что каждый пользователь может голосовать за представителей – тех, кто одобряет транзакции.

Proof of Importance (PoI) – является модернизированной версией PoS. Помимо рассмотрения количества участников, владеющих валютой, алгоритм анализирует их поведение: где, когда и насколько часто монеты ими передаются.

Hybrid PoS/PoW (Гибридный PoS/PoW) — Гибридный алгоритм достижения консенсуса PoS/PoW позволяет одновременно использовать и Proof of Stake, и Proof of Work процедуры для достижения консенсуса. В этом случае можно достичь баланса между майнерами и держателями монет, создав систему управления со стороны «внешних» (майнеры) и «внутренних» (держатели) участников.

Для чего вообще знать, что такое алгоритмы консенсуса?

Технологии, на которых базируются блокчейн-системы, показывают их фундаментальную ценность. Понимая их, вы осознаёте, во что инвестируете, как устроен тот или иной актив;

У крупных инвесторов, фондов и корпораций, двигающих криптоиндустрию, есть определённые цели в развитии данных технологий, важно понимать, в какую сторону они смотрят, так как имеют большое влияние на движение цены;

На алгоритмах консенсуса в действительности можно зарабатывать, и, если порог входа в майнинг пул достаточно высок, то посредством стейкинга можно получать пассивный доход даже со 100 долларов.

Как сказал известный американский финансист и инвестор Питер Линч: «Знайте, чем вы владеете, и знайте, почему вы этим владеете».

Спасибо за прочтение. Подписывайтесь на наш Telegram-канал, там мы даём много образовательных материалов по блокчейн-технологиям и криптовалютам.

Что такое двойное расходование в программировании

Комментарии

Популярные По порядку
Не удалось загрузить комментарии.

ЛУЧШИЕ СТАТЬИ ПО ТЕМЕ

Как подключить на сайт прием криптовалют? Обзор сервиса PayKassa.pro

Давно мечтали о платежной системе, которая работала бы с криптой? Тогда вы по адресу: раскуриваем PayKassa – первый агрегатор платежей в криптовалюте.

Создаем первый смарт-контракт на Ethereum менее чем за 60 минут

Расскажем, как создать смарт-контракт на блокчейне Ethereum при помощи сервера Ganache и программы на ЯП смарт-контрактов Solidity.

Пишем свой блокчейн

Самый быстрый способ изучить работу Блокчейнов – это создать свой блокчейн. Стоит лишь только попробовать!

30+ вопросов на собеседовании с разработчиками Blockchain

Блокчейн на сегодняшний день является одной из самых революционных технологий 21 века. Более того, это часто называют вторым пришествием Интернета, и, согласно прогнозам, оно нарушит и изменит наш бизнес во всем мире.

84% компаний пытаются внедрить технологию блокчейн в свою деятельность. Таким образом, вы можете себе представить растущий спрос на блокчейн разработчиков.
Фактически, согласно отчету за 2019 год, глобальный спрос на разработчиков блокчейнов вырос на 517% больше, чем в 2018 году. Аналитики прогнозируют, что рынок блокчейнов вырастет с 1,2 млрд долларов США в 2018 году до 23,3 млрд долларов США к 2023 году .

30+ наиболее часто задаваемых вопросов на собеседовании с разработчиками Blockchain.
Вот список наиболее распространенных и сложных вопросов на собеседовании для позиции разработчика блокчейна. Кроме того, мы рекомендуем IT рекрутеру не просто запомнить их, но выделить время, чтобы понять их, чтобы убедиться, что у вас есть четкое и полное понимание концепций для проведения интервью.

№1. Что такое блокчейн?
Блокчейн — это неизменная децентрализованная технология цифрового реестра, которую можно запрограммировать для хранения транзакционных записей с акцентом на прозрачность и безопасность. Записи транзакций называются «блоками», которые связаны или «связаны» вместе с использованием криптографии.

№2. В чем разница между блокчейн Bitcoin и блокчейн Ethereum?
Биткойн в основном представляет собой децентрализованную цифровую валюту, которую вы можете использовать в качестве средства обмена для финансовых транзакций. Это похоже на цифровой доллар.

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

№3. Какие бывают типы блокчейна?
Вообще говоря, существует четыре различных типа блокчейна.

Публичный блокчейн: общедоступные блокчейны имеют открытый исходный код и позволяют любому участвовать в качестве разработчиков, майнеров и пользователей. Более того, они полностью прозрачны, что позволяет любому просматривать всю записанную информацию о транзакциях.
Частный или разрешенный блокчейн: как следует из названия, разрешенные блокчейны налагают определенные правила конфиденциальности. Например, пользователям требуется согласие, прежде чем участвовать в сети. Кроме того, все транзакции остаются конфиденциальными для внешнего мира и доступны только людям внутри экосистемы.
Блокчейн консорциума: блокчейн консорциума можно рассматривать как подкатегорию частного блокчейна. Кроме того, он обладает теми же достоинствами, что и частный блокчейн, но с дополнительным положением, что они управляются группой, а не одним объектом.
Гибридный блокчейн: гибридные блокчейны предлагают идеальное сочетание конфиденциальности и прозрачности, используя аспекты как частного, так и общедоступного блокчейна. Кроме того, это наиболее популярно среди компаний, поскольку они могут контролировать, какие данные они хотят сделать общедоступными, а какие данные они хотят сохранить конфиденциальными.

№4. На каком принципе основана технология блокчейн?
По сути, главный принцип — децентрализация. Кроме того, он также направлен на обеспечение равных возможностей для всех в сети. Биткойну это удалось. Однако другие типы технологии блокчейн могут отличаться по своему подходу.

№5. Что такое технология распределенного реестра?
Распределенный реестр, или технология распределенного реестра, по сути, представляет собой базу данных, которая существует одновременно в нескольких местах. Более того, все данные распределяются, реплицируются и синхронизируются между этими местами. В нем нет централизованного хранилища данных или администратора.

№6. В чем разница между технологией распределенного реестра и блокчейном?
Блокчейн — это, по сути, разновидность технологии DLT или цифрового реестра. То есть все блокчейны являются DLT, но не все DLT являются блокчейнами.
Блокчейн в основном добавляет дополнительный набор функций к DLT. Более того, в блокчейне все данные распределяются между всеми участниками и защищены с помощью криптографической подписи, называемой хешем. Это делает информацию, хранящуюся в цепочке блоков, неизменной, что повышает безопасность и целостность.

№7. Как блокчейн может повысить доверие?
Блокчейн спроектирован таким образом, что никакая хранимая информация или записи не могут быть изменены или даже уничтожены. Кроме того, блокчейн способствует прозрачности и устраняет единый регулирующий орган. Это дает пользователям равный доступ к информации, не беспокоясь о нарушениях безопасности, поскольку все может быть изучено кем угодно.

  • Транзакционные записи.
  • Блокировать записи.
  • Децентрализованная система.
  • Распределенный реестр.
  • Безопасная и надежная экосистема.
  • Чеканка (miting).

№11. Что означает «блок» в блокчейне?
Блок — это часть транзакционной записи или данных, которые хранятся в базе данных цепочки блоков. Затем эти блоки связываются вместе, отсюда и название — блокчейн.

№12. Являются ли данные, записанные в блокчейне, неизменными?
Да, данные, записанные в блокчейне, практически неизменяемы. Как вы знаете, данные, хранящиеся в блокчейне, называются блоками. Каждый блок связан с хеш-значением. Теперь каждый блок содержит не только свое хеш-значение, но и хеш-значение предыдущего блока. Если в блок внесены какие-либо изменения, это изменит значение хеш-функции. Следовательно, если вы хотите вмешаться в данные в одном блоке, вам придется изменить всю цепочку блоков, что практически невозможно.

  • Proof of Work : Proof of Work — это процесс, в котором майнеры соревнуются в решении сложных криптографических головоломок, вкладывая огромные вычислительные мощности с использованием высококлассного оборудования и невероятного потребления энергии. Взамен майнер, решающий проблему, награждается токеном.
  • Proof of Stake : Proof of Stake — это альтернатива Proof of Work, где нет прямой конкуренции между майнерами и кто-то случайно выбирается для «проверки» блока. Вероятность стать валидатором увеличивается в зависимости от того, какая у вас доля в блокчейне, т.е. сколько токенов блокчейна у вас есть.

№14. Что такое идентификаторы блоков?
Блок в цепочке блоков можно идентифицировать с помощью хэша заголовка блока и высоты блока.

№15. Как деревья Меркла играют важную роль в блокчейне?
Дерево Меркла — это структура данных, похожая на двоичное дерево, и используется для хранения криптографических хэшей каждого блока в цепочке блоков. Здесь листовой узел представляет собой хэш блока транзакционных данных, тогда как не конечный узел представляет собой хеш содержащего его листового узла.

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

  • Централизованные сети.
  • Децентрализованные сети.
  • Распределенные сети.

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

№19. Как работает одноранговое обнаружение в сети P2P?
Когда новый узел загружается, он не имеет информации о сети, потому что в блокчейне отсутствует центральный сервер. Таким образом, разработчик должен предоставить список доверенных узлов, непосредственно записанный в код узла, который он затем может использовать для первоначального обнаружения однорангового узла.

№20. Что такое scriptPubKey?
ScriptPubKey — это сценарий блокировки, который размещается на выходе транзакции. Он содержит определенные условия, которые необходимо выполнить для выполнения транзакции.

№21. Что такое RSA?
RSA, сокращение от Rivest-Shamir-Adelman, представляет собой алгоритм для подписи данных и шифрования. Кроме того, вы можете использовать его для защиты данных, реализуя асимметричный криптографический алгоритм, который работает с двумя разными ключами, а именно с открытым ключом и закрытым ключом. Открытый ключ может быть передан кому угодно, а закрытый ключ должен храниться в секрете.

№22. Что такое SHA-256?
SHA-256 является частью SHA-2 (Secure Hash Algorithm Version 2), который является собирательным названием для различных версий хеш-функций, включая SHA-224, SHA-384 и SHA-512. Следовательно, это в основном однонаправленная криптографическая хеш-функция, которая преобразует текст любой длины в уникальную строку, содержащую 256 бит или 32 байта.

№23. Что такое майнинг?
Майнинг — это процесс, с помощью которого транзакция проверяется в сети блокчейн. Более того, процесс по существу выполняет две функции:
Во-первых, майнинг создает новые монеты в сгенерированном блоке.
Во-вторых, он предоставляет доказательство работы сети блокчейнов, которая подтверждает транзакцию в распределенном реестре.

№24. Что такое двойное расходование? Как это остановить?
Двойное расходование относится к состоянию, при котором один цифровой токен расходуется несколько раз. Поскольку токены в основном представляют собой цифровые активы, состоящие из цифровых файлов, вы можете легко их клонировать. Следовательно, это может привести к множеству проблем для системы, включая инфляцию.

Как вы понимаете, это очень большая проблема для инфраструктуры блокчейна, но ее можно умело избежать. Однако блокчейн использует несколько сторон для подтверждения транзакции перед ее записью в реестр. Это делает двойные затраты на вычисления непрактичными.

  • Ethereum.
  • Hyperledger.
  • Qtum.
  • EOS.
  • ЙОТА.

№27. Что такое атака 51%?
Атака 51% на блокчейн происходит, когда группа или отдельный человек в конечном итоге контролируют более половины (или> 51%) хешрейта майнинга или вычислительной мощности. В этом случае они могут управлять системой, отклоняя и одобряя транзакции, и даже могут выполнять двойное расходование.

№28. Что такое секретный обмен?
Это один из основных способов обеспечения безопасности данных в блокчейне. Кроме того, вы можете использовать его для разделения личной информации (или любой секретной информации) на несколько единиц. После этого вы можете отправить их пользователю.
Вы можете получить исходную информацию только тогда, когда участник, у которого есть часть секрета, соглашается объединить ее с остальной частью группы. Это дает много преимуществ безопасности технологии блокчейн.

№29. Что такое исполнительная бухгалтерия?
Исполнительный бухгалтерский учет — это особый вид бухгалтерского учета, специально разработанный для предприятий, которые предлагают услуги своим клиентам или клиентской базе. Кроме того, он не имеет верхнего предела для услуг, что позволяет предприятиям создавать и управлять любым количеством необходимых услуг.

  • Хард-форк : хард-форк вносит изменения в протокол блокчейна, что делает его несовместимым с предыдущей версией. Это означает, что не обновленные узлы не смогут отправлять новые блоки в цепочку блоков. Вы можете использовать хард-форки, чтобы улучшить старый существующий блокчейн или вообще создать новый блокчейн.
  • Софт-форк : софт-форк — это изменение протокола блокчейна, которое обратно совместимо. Это означает, что не обновленные узлы по-прежнему могут обрабатывать транзакции и вставлять новые блоки в цепочку блоков, если они не нарушают новые протоколы. Однако пользователи обычно понимают, что старая система устарела и быстро обновляется до последней версии.
  • RSA.
  • Тройной DES.
  • Blowfish.
  • Twofish.
  • AES.

№33. Что такое BIP?
BIP — это сокращение от протокола улучшения биткойнов.

№34. Что такое алгоритм консенсуса? Какие бывают типы консенсусных алгоритмов?
Алгоритм консенсуса — это в основном метод обеспечения того, чтобы все одноранговые узлы сети блокчейн находились на одной странице относительно текущего состояния распределенного реестра. Более того, алгоритм помогает установить надежность и доверие между двумя неизвестными одноранговыми узлами в распределенной вычислительной среде.

  • Вот несколько примеров популярных алгоритмов консенсуса:
  • Доказательство работы (PoW)
  • Подтверждение емкости (PoC)
  • Доказательство активности (PoA)
  • Делегированное доказательство ставки (DPoS)
  • Доказательство ставки (PoS)
  • Подтверждение полномочий
  • Доказательство прожига
  • Подтверждение веса
  • Доказательство истекшего времени

Что такое двойная трата?

Как предотвращается двойная трата в традиционных платежных системах

Двойная трата в криптовалюте

Как предотвращается двойная трата в криптовалюте

Атака на двойную трату (атака 51%)

Заключение

Введение

В двух словах, двойное расходование средств означает использование одного и того же фонда для двух или более операций. Появление онлайн-платежей гарантирует, что власти примут меры, чтобы предотвратить возникновение этой проблемы.
Существование в традиционных платежных системах посредников между отправителем и получателем, таких как банки и компании, выпускающие кредитные карты, облегчает проверку достоверности транзакций. Этим третьим лицам доверяют, чтобы убедиться, что у отправителя достаточно баланса для проведения транзакции, и он не отправляет две или более транзакций, которые засчитываются как одна против его баланса.
Отсутствие посредника в криптовалюте требует принятия мер для предотвращения такого риска, который может скомпрометировать систему. Биткоин — первая успешная цифровая валюта, придумавшая эту меру благодаря своему механизму доказательства работы (proof-of-work).

Концепция двойного расходования средств

Давайте рассмотрим пример, чтобы еще раз проиллюстрировать двойное расходование средств. Если Джанет заплатит $30 физическими деньгами за пару обуви, она не сможет потратить те же деньги снова, потому что у нее их больше нет. Она отдала его продавцу в магазине. Дважды потратить, в ее случае, означает использовать те же 30 долларов наличными, которые она отдала продавцу, для покупки другого товара. Это крайне маловероятно при использовании физических наличных денег.
Проблема при использовании цифровых валют заключается в том, как защититься от такой ситуации, когда Джанет потенциально может скопировать 30 долларов и тратить их снова и снова. Допустим, Джанет решает заплатить за пару туфель с помощью цифровой валюты, такой как Биткоин. Для подтверждения транзакции потребуется некоторое время. Если клерк принимает платеж до подтверждения транзакции, Джанет может решить отправить тот же фонд на свой кошелек с более высокой комиссией.
Магазин станет жертвой двойной траты, если второй перевод, сделанный Джанет, будет принят и, следовательно, сделает недействительным тот, который был отправлен в оплату за туфли после ее ухода. Принятие неподтвержденной транзакции — это один из способов стать жертвой двойной траты.

Как предотвратить двойные расходы в традиционных платежных системах

Двойные траты предотвращаются в традиционных платежных системах благодаря так называемым свойствам базы данных ACID. ACID — это сокращение от:

1 Атомность:

Это означает, что не существует такой ситуации, когда баланс пользователя неизвестен в результате незавершенной транзакции. Транзакция либо завершается, либо терпит неудачу. В случае операции в торговой точке, операция либо не выполняется и выдает сообщение на торговом автомате, либо проходит и печатает чек.

2 Консистенция:

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

3 Изоляция:

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

4 Прочность:

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

Двойные расходы в криптовалюте

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

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

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

Как предотвратить двойные расходы в криптовалюте

Проблему двойных расходов в блокчейне часто иллюстрируют, используя аналогию «Проблема византийских генералов». Эта аналогия указывает на трудности, с которыми сталкиваются многие стороны, когда они не доверяют друг другу и должны участвовать в совместном предприятии, для успеха которого необходимо сотрудничество. Она объясняет, как возникают разногласия в децентрализованной системе.

В задаче «Византийские генералы» победа достигается, когда все генералы ведут согласованную атаку со своими армиями. Однако, если генерал терпит неудачу или нападает на другого генерала, вся битва, как и блокчейн, оказывается под угрозой и в конечном итоге проигрывается. Эта головоломка привела к появлению принципа, согласно которому протоколы криптовалют должны включать византийскую отказоустойчивость (BFT).

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

Транзакции в большинстве блокчейнов открыто регистрируются и обеспечиваются одновременно на тысячах узлов по всему миру. Все участники могут видеть их и проверять уже заключенные сделки. Процесс проверки зависит от механизма консенсуса. В случае Биткойна алгоритм консенсуса, известный как Proof of Work (PoW), гарантирует, что майнеры могут подтвердить новый блок транзакций только в том случае, если все узлы сети взаимно согласны с правильностью хэша блока, предоставленного майнером.

Атака с двойным расходом (51% атаки)

Несмотря на предусмотренные в блокчейне меры по предотвращению двойных трат, такая атака все еще возможна, хотя шансы на нее невелики. Одним из способов атаки двойного расходования средств является то, что известно как Атака большинства или атака 51%. Эта атака происходит, когда один человек или организация контролирует большую часть хэшрейта, потенциально нарушая работу сети. Когда это происходит, так называемый «злоумышленник» получает достаточную мощность майнинга, чтобы намеренно пропустить или изменить последовательность, в которой выполняются транзакции. В случае 51-процентной атаки злоумышленник может отменить транзакции, совершенные за это время, что приведет к двойному расходованию средств. Примером этого является атака на Bitcoin Gold, форк Биткойна в 2018 и 2020 годах.

Заключение

Двойное расходование средств означает использование одного и того же фонда два раза или более. Это происходит, когда платежная система взламывается, позволяя проводить такие сомнительные операции. Традиционные платежные системы используют свойства атомарности, согласованности, изолированности и долговечности баз данных для защиты от двойных трат.
Первая успешная цифровая валюта, Биткойн, смогла выжить благодаря тому, что в ней также присутствуют эти свойства, позволяющие доверять сети. Однако вероятность атаки большинства очень мала, поскольку для создания блокчейн с использованием механизма доказательства выполнения работы требуются огромные затраты вычислительной мощности. В случае блокчейн, использующих proof-of-stake, риск связан с потерей залогового депозита, необходимого для подтверждения сети.

Автор: Mayowa
Переводчик: Yuanyuan
Рецензент(ы): Matheus, Hugo, Joyce, Ashley

* Информация не предназначена и не является финансовым советом или любой другой рекомендацией любого рода, предложенной или одобренной Gate.io.

* Эта статья не может быть опубликована, передана или скопирована без ссылки на Gate.io. Нарушение является нарушением Закона об авторском праве и может повлечь за собой судебное разбирательство.

Статьи по теме

Что такое Tronscan и как Вы можете его использовать?

Что такое Tronscan и как Вы можете его использовать?

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

Nov 22, 2023

Руководство по трейдингу для начинающих

Руководство по трейдингу для начинающих

Эта статья открывает ворота в криптовалютную торговлю, исследует неизвестные области, объясняет криптопроекты и предупреждает читателей о потенциальных рисках.

Nov 21, 2022

Как вам провести собственное исследование рынка/токена (DYOR)?

Как вам провести собственное исследование рынка/токена (DYOR)?

«Исследование означает, что Вы не знаете, но готовы узнать.» — Чарльз Ф. Кеттеринг.
Nov 21, 2022

  • О нас
  • Карьeра
  • Польз. согл.
  • Полит. конф.
  • Комиссия
  • Медиакомплект
  • 100% Collateral
  • Gate SAFU
  • Gate Labs
  • Gate Ventures
  • Gate Grants
  • Безопасность
  • Анонсы
  • Сообщество
  • Привилегии пользователя GТ
  • Gatechain
  • Календарь
  • Соблюдение законодательства и регулирование
  • Цены на криптовалюту
  • Обновление ETH 2.0
  • P2P-Торговля
  • Торги
  • Бессрочные фьючерсы
  • Токены с плечом
  • Startup
  • Финансы
  • NFT
  • Кросс-чейн
  • Gate Pay
  • MiniApp
  • Подарочная Карта
  • ETH 2.0
  • О USDG
  • Gate OTC
  • Gate Charity
  • Gate Card
  • Основные данные
  • Отзывы пользователей
  • Помощь
  • Запрос в службу поддержки
  • Листинг
  • Безоп. Смарт-Контр.
  • Разработчики (API)
  • Поиск верификации
  • Прил. для прод. P2P
  • Приложение P2P Blue V
  • Инстит. и VIP-услуги
  • Брокерская программа
  • Программа инфлюенсера
  • Реферальная программа
  • Партнерская программа
  • Моменты
  • Опубликовать
  • Прямой Эфир
  • Чат
  • Новости
  • Будущие Мероприятия
  • Блог
  • Gate Learn
  • Криптопедия
  • Исследуйте горячие темы
  • Халвинг биткоина
  • Как Купить GT
  • Как Купить Bitcoin
  • Как Купить Ethereum
  • Как Купить USDT
  • Как Купить DOGE
  • Как купить криптовалюту
  • Прог. Цены Крипт.
  • Lend & Earn
  • Gate Wealth
  • Автоинв.
  • Стейкинг ETH2.0
  • HODL & Earn
  • Структурированные продукты
  • Двойные инвестиции
  • Крипто — кредит
  • Майнинг ликвидности
  • Облачный майнинг
  • Слот-аукционы

Русский язык

  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский язык
  • Français
  • Deutsch
  • Português (Portugal)
  • ภาษาไทย
  • Indonesia
  • Türkçe
  • 日本語
  • عربي
  • Українська
  • Português (Brasil)

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *