Каждый, кто хотя бы раз минтил NFT или переводил куда-либо криптовалюту знает, что в блокчейнах существуют комиссии на транзакции. В этой статье я расскажу зачем они нужны и как на них сэкономить.
Существует две основные причины, по которым в блокчейнах существуют комиссии (сетевые сборы). Первая причина – поддержка майнеров/валидаторов. Они необходимы для того, чтобы подтверждать транзакции. Вторая причина – обеспечение безопасности сети. Комиссия выступает как средство защиты от атак. Благодаря комиссии, злоумышленники, скорее всего, не станут запускать несколько сотен тысяч переводов одновременно – это просто будет очень дорого.
Сбор комиссии за транзакции происходит по-разному в разных блокчейнах. В этой статье я расскажу про то, как это работает у Bitcoin и Ethereum. Но сначала небольшой ликбез.
Майнер – это либо человек, который занимается майнингом («добычей» криптовалюты на своем компьютере), либо программа, которая упаковывает транзакции в блоки.
Валидатор – это либо человек, который имеет N штук криптовалюты (в случае с Ethereum для того, чтобы стать валидатором необходимо иметь 32 ETH) и имеет на своем компьютере программу валидатор, либо сама программа, которая упаковывает транзакции в блоки.
Если кто-то хочет статью, в которой я расскажу про майнеров и валидаторов более подробно – просто напишите в комментарии.
1) #биткоин . При отправлении транзакции проводится проверка ее корректности, наличия у отправителя достаточного количества монет. После этого транзакция попадает в специальную очередь транзакций, называемую “mempool”. В этой очереди транзакция будет находиться до момента ее упаковки в блок. Пока транзакция не добавлена майнером в блок – она считается неподтвержденной. Под майнером следует понимать не человека, а специальную программу. После того, как транзакция была записана в блок – она окончена. Транзакции из mempool`a выходят не в порядке их поступления. Чем большую комиссию платит отправитель – тем приоритетнее ее место. Из-за этого транзакции с маленькой комиссией могут выполняться дольше. Более подробно о транзакциях Bitcoin вы можете прочитать в статье, которую я оставил в комментариях.
2) Ethereum. При отправлении транзакции происходит все примерно то же самое, что и в блокчейне Bitcoin. Существенным отличием является то, что подтверждением транзакций в блокчейне Ethereum занимаются валидаторы, а не майнеры. Также отличается алгоритм формирования комиссии. Стоимость комиссии зависит от сложности транзакции и загруженности сети. В стоимость комиссии входит 2 параметра – это лимит газа (GAS limit) и гвей (GWEI). GAS - это единица измерения вычислительной мощности, которая будет затрачена при осуществлении транзакции. GAS limit – это максимальный размер вычислительной мощности, который может быть затрачен на осуществление конкретной транзакции. Например, при переводе ETH с одного кошелька на другой GAS limit составляет 21000 GAS. Это не значит, что именно столько газа будет потрачено, это лишь максимальное значение. GWEI – это стоимость газа. 1 GWEI равен 1 наноэфиру или 0, 000000001 ETH (10^-9 ETH). По итогу, комиссия равна GAS limit * GWEI.
А теперь к самому интересному. Все знают, что современные кошельки сами считают оптимальную комиссию и предлагают ее пользователю. На некоторых кошельках, например MetaMask, у пользователя есть возможность изменить комиссию и попробовать совершить транзакцию с измененной комиссией. Но это не значит, что транзакция будет совершена. Далее я буду говорить лишь про свой опыт пользования и касаемо лишь сети BSC. Если вы попытаетесь выставить сумму комиссии меньше предложенной, то транзакция просто не пройдет. Но это можно обойти. Есть сервисы, которые позволяют менять комиссии в кошельках. Для этого необходимо выбрать желаемый блокчейн и нажать «Add Network» (добавить сеть). На ваш кошелек будет добавлена новая сеть, в которой транзакции уже будут отправляться с измененной комиссией. По сути, это та же самая основная сеть BSC, только с программной «прослойкой», которая позволяет изменять комиссию, но нужно учитывать, что при уменьшении суммы комиссии транзакция будет выполняться дольше.