21:42 Как улучшить рынок комиссионных в сети Биткоин? |
За последний год мы увидели то, как быстро развивается финансовая сторона сети Биткоин. По мере увеличения общего количества операций растет и спрос на вместительность блоков. Сейчас она ограничивается одним мегабайтом в, примерно, каждые 10 минут. Эта статья сосредоточится на прошлой и нынешней ситуации с выплатами за транзакции в сети Биткоин. Как было раньше? В первые годы существования системы плата за операции была опциональной, поскольку она считалась «пожертвованием» майнеру. В «официальном» клиенте Bitcoin Core эта ставка менялась вместе с ростом курса обмена криптовалюты, от 0.01 BTC до 0.0005 BTC и до 0.0001 BTC. С течением времени стало понятно, что запрограммированные статические комиссионные являются весьма неудачным решением по нескольким причинам:
Релиз программы версии 0.3.15 в ноябре 2010-го года включал в себя изменения касаемо вычисления суммы гонорара. До этого ставка зависела от объема информации внутри транзакции. Тем не менее, не все электронные кошельки поддерживали изменения, поэтому многие пользователи продолжали слепо устанавливать статическую плату за операцию. Это не являлось проблемой до того момента, пока не начались разговоры о максимальном размере блока, так как майнеры могли подтвердить практически любую валидную сделку. В 2015-м году стало понятно, что лучшим решением будет использование динамичного алгоритма оплаты, так как он более приспособлен к меняющимся условиям в сети. Программа Bitcoin Core начала высчитывать динамические платежи начиная с версии 0.10 в феврале 2015-го года. С тех пор Алекс Моркос постоянно улучшал систему. Появление рынка комиссионных Антуан ле Кальвез, разработчик p2sh.info, предоставил исторический анализ динамических и статических комиссионных (далее ДК и СК соответственно). Вот график за последние два года: Мы видим значительные скачки в использовании ДК во время стресс-теста сети и атак на неё последней осенью. Есть подозрение, что причиной этому послужил не переход обычных пользователей на ДК-кошельки, а то, что сами злоумышленники совершали платежи, которые намеренно были выше используемых в большинстве кошельков СК. Некоторые из более продвинутых пользователей откорректировали запрограммированные суммы во время атак, но такие люди были в меньшинстве. Также можно заметить скачок в начале марта 2016-го года ― это, скорее всего, результат ввода ДК в новый клиент Блокчейн-системы месяцем ранее. Расти Расселл блестяще проанализировал развивающийся РК в декабре 2015-го года. Разбор показал, что все больше используются ДК, а средняя цена операции увеличивается, в то время как маленькие платежи вытесняются из Блокчейна. А. Таунс совершил более глубокий разбор. Он определил восемь этапов развития РК в истории сети Биткоин: Таунс пришел к нескольким выводам касаемо того, как этот рынок повлиял на пользователей:
В любом случае, не все так просто с ДК. Как гласит поговорка, каждое решение порождает новые проблемы. Трудности использования ДК Расчёты ДК никогда не будут идеальными, так как они являют собой попытку предвидеть будущее. Датский физик Нильс Бор однажды сострил: «предсказание ― трудная штука, особенно когда оно касается будущего». Если метод подсчета выплаты неверно вычислит будущее положение дел на РК, то люди попадут в своеобразную ловушку. Это может произойти в том случае, когда человек совершает операцию с приемлемой ценой гонорара, но сразу после этого совершается множество других, с более высокими суммами. Таким образом, первая сделка теряет свой приоритет среди майнеров. Проблема в невозможности обновить цену без использования метода ‘replace-by-fee’. Наличие в расчётных инструкциях багов также несет потенциальную угрозу стабильности РК. Стоит только вспомнить недавнюю пользовательскую ошибку, которая привела к тому, что кто-то совершил транзакцию с колоссальным гонораром в 300 BTC. Вряд ли это было приятно человеку, который, скорее всего, перепутал сумму сделки с отчислениями майнеру в «так себе» написанной программе. Кроме того, это вызвало «волновой эффект»: Кальвез в своем твиттер-аккаунте прокомментировал график следующим образом: «Хм, возможно, @BlockCypher нуждается в пересмотре их алгоритма расчёта комиссионных для предотвращения таких выбросов». Кальвез не имел намерения подразнить BlockCypher. Дело в том, что множество клиентов имеют проблемы с гонорарами за подтверждение передачи. Этому подвержен даже BC. Над этим стоит призадуматься. Сеть с точки зрения вашего узла может отличаться от того, как её «видят» другие, а это уже непосредственно влияет на прогнозы. Макрокризис Невзирая на множество сложных задач, которые появляются перед разработчиками Биткоин-сети касаемо платы за транзакцию, надо быть также осведомленными о том, что влияет на РК в целом. Есть несколько потенциальных сценариев, которые могут взвинтить уровни комиссионных быстрее, чем следует:
Создание второстепенных РК ― недавняя разработка, которой не удалось привлечь к себе достаточно внимания, невзирая на потенциальную возможность повлиять на рынок в целом. Она может принять форму специальных «побудительных» программ, как например BTCC’s BlockPriority или воплотиться в приватных закупках предоплаченного блок-места. Это являет собой проблему для разработчиков алгоритмов из-за существования непрозрачных РК, которые невидимы для остального мира. Приводим цитату из пресс-релиза BTCC: «BlockPriority обращает внимание на транзакции всех пользователей BTCC, включая тех, которые вообще не платят отчислений майнерам». Это не должно стать проблемой для алгоритма приложения BC, но более бесхитростные приложения могут пострадать. Урок для разработчиков ― если вы видите подтвержденные операции с низкими ставками «майнерских комиссионных», это больше не значит, что оперирование сделками с такой же ценой будет безопасным для сервиса. Это имеет экономическое значение для майнерских пулов. Они могут продавать заранее оплаченные контракты на блок-место, так как это предоставляет им новый и предсказуемый поток дохода. Вместе с тем, хотелось бы предостеречь участников пулов: вы не сможете скрывать подобную активность, если она будет иметь значительную долю ваших транзакций. Существует достаточное количество разработчиков кошельков, которые следят за таким поведением. Если это станет проблемой ― обо всем узнает общественность. Соответственно, хэшеры покинут пул в поисках более прибыльного места. Продвигаясь вперед Сейчас осталось довольно много клиентов и Биткоин-сервисов, где до сих пор не реализована функция ДК. Подобное бездействие скорее всего не сулит пользователям ничего хорошего. Без имплементации ДК, каждая осуществляемая транзакция значит одно из двух:
Вариант, когда транзакция с СК попадает «в точку» рыночного курса, имеет очень маленькую вероятность. Разработчики должны добавить механизмы защиты в свои клиенты. Примером могут быть «пределы здравого смысла» на микроуровне и прерыватели цикла на макроуровне. Это не даст пользователям «выстрелить себе в ногу». В кошельках должен быть установлен минимальный порог ― выше, чем минимальные комиссионные. Наблюдая за транзакциями с самыми маленькими платежами, которые попадают в блоки, мы можем сделать вывод, что не стоит платить меньше, чем пять сатоши за байт. Разработчикам также стоит поразмыслить о собственных методах с точки зрения конкуренции и сделать их надежными относительно разнообразных эксцессов. Не помешает и мониторинг данных расчёта платежей вместе с оповещениями об их излишней волатильности. Необходимо осознавать, что не существует универсального метода ― все зависит от конкретного случая и условий. Алгоритм Bitcoin Core нацелен на максимальную обобщенность и консервативность для увеличения надежности. В некоторых случаях это выливается в переплачивание. Джеймсон Лопп призывает все Биткоин-клиенты сделать открытый доступ к своим системам расчётов. Сами алгоритмы имеют дело с конкуренцией, поэтому не страшно, если они останутся закрытыми, но с помощью мониторинга высчитывания мы сможем пресечь любую необычную активность. Возможно, кто-то даже создаст с этой целью отдельное приложение. Мы должны понять, что рынок платежей за транзакции не является рынком в привычном понимании этого слова. Люди предлагают свою сумму при совершении передачи, но майнеры не публикуют свои запросы ― клиенты должны делать предположения, основанные на тех сделках, которые недавно были подтверждены. Биткоин-пользователи не должны следить за подтверждением блоков. Это задача клиентов, равно как и наличие нескольких простеньких опций при отправке транзакции. Необходимо, чтобы цены за операцию отображались в тех единицах, которые удобны пользователю аккаунта, например в долларах. Не будет лишним добавить возможность показывать гонорар в процентном соотношении при превышении определенного порога. Таким образом, люди смогут сами решать, что им выгоднее: совершить сделку за эту цену или подождать её снижения. Кристов Атлас красноречиво описал те риски, на которые мы идем, планируя экономические изменения в Биткоин-системе без целостного и всеобъемлющего их изучения. Разработчикам следует иметь это ввиду при разработке алгоритмов. Нам следует стремиться к такому РК, которым люди будут управлять с помощью машин, а не наоборот. Создателям кошельков стоит внимательно обходиться с логикой платежей, чтобы обеспечить безупречное взаимодействие человека с приложением. Нельзя отнимать у человека свободу выбора, ведь именно это является ключевым фактором для нормального функционирования рынка комиссионных платежей. |
|
Всего комментариев: 0 | |