Заменить комиссией — модификации биткойнов


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

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

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

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

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

Здесь на сцену выходит Replace by Fee. Предлагается, чтобы нулевое подтверждение — это плохо, и для его устранения вводится новое правило, изменяющее правило «первым пришел — первым включен в блок» на «блок с самой высокой платой за майнинг, включенной в блок». Это означает, что первоначальная транзакция с нулевым подтверждением может быть заменена более поздней транзакцией с более высокой комиссией.

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

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

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

Также утверждается, что майнеры вправе принять замену за плату, потому что устоявшееся правило первого увиденного не подлежит исполнению. Любой майнер может просто использовать функцию replace by fee и максимизировать свою прибыль.

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

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


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