Сколько платить за транзакцию Bitcoin? Размер комиссии в Сатоши.

Вы уже установили кошелек Bitcoin и даже отправили тестовый перевод, но все же много осталось непонятным: Кто такие Сатошики? Что за байты у транзакции? Как не платить лишнего? Разберем на пальцах все эти вопросы.

Транзакция Биткоин

1 BTC = 1000 mBTC = 100 000 000 Satoshi
mBTC — это миллиБиткоин (BTC и mBTC это как миллиметр и метр)
Сатоши — это 10-8 Биткоина, минимальная единица этой криптовалюты, названа в честь основателя Bitcoin — Сатоши Накамото

Современные криптовалютные кошельки устроены так, чтобы пользователь мог не задумываться о том, что на самом деле происходит (ходя до настоящего удобства им еще как до луны). Пользователь вводит адрес кошелька получателя перевода, сумму перевода и размер комиссии, подтверждает перевод паролем и вуаля: монеты ушли!

electrum

Рассмотрим на примере кошелька Electrum.

Если вы двигаете бегунок «Fee», меняется размер комиссии от 0.0166 mBTC до 1.0586 mBTC. При этом скорость проведения транзакции, которую обещает кошелек, меняется в диапазоне от 25 до 1 блока соответственно.

Возможно, вы встречали понятие размера транзакции в байтах. Что это такое?
Если нажать на кнопку Preview вы получите детальную информацию о переводе:

electrum2

В красной рамочке красуется как раз размер транзакции. Как он определяется?

Биткоины, которые пришли к вам на кошелек невозможно взять и просто так разделить. Например, если вам пришел 1 BTC, а затем вы хотите отправить товарищу 0.5 BTC, то транзакция будет создана таким образом, что вы отправите 0.5 BTC товарищу и сдачу 0.5 BTC получите обратно на свой кошелек. Этот процесс можно сравнить с операцией с бумажными деньгами: если вам дали купюру 100 рублей, вы не можете разрезать ее пополам и отдать 50 рублей за батон, вам надо отдать 100 и получить 50 в виде сдачи.

Каждая транзакция — программный код, который генерируется, учитывая то откуда пришли Биткоины и то, куда они отправляются. Все очень просто: чем больше адресов участвуют в транзакции — тем длиннее получается код.
Например, вы получили 1 BTC от Васи, 2 BTC от Гриши, 5 BTC от Игоря, а затем отправили все эти BTC (8 штук) Маше -> в этой транзакции участвует 4 адреса!

  1. Каждый адрес, с которого получены средства — это ±148 байтов
  2. Каждый адрес на который уходят средства — это ±34 байта
  3. Каждая транзакция занимает еще ±10 байтов, независимо от количества адресов, которые в ней участвуют

В нашем примере с кошельком Electrum 2 входящих адреса (Inputs) и 2 исходящих адреса (Outputs):

148×2 + 34×2 + 10 = 374 байта
Мы рассчитали довольно точно (Electrum показывает 372 байта)

Стоимость транзакции в сети Биткоин не зависит от суммы транзакции, она зависит от количества адресов, участвующих в ней.

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

01000000 01 be66e10da854e7aea9338c1f91cd489768d1d6d7189f586d7a3613f2a24d5396 00000000 8c 49 3046022100cf4d7571dd47a4d47f5cb767d54d6702530a3555726b27b6ac56117f5e7808fe0221008cbb42233bb04d7f28a715cf7c938e238afde90207e9d103dd9018e12cb7180e 01 41 042daa93315eebbe2cb9b5c3505df4c6fb6caca8b756786098567550d4820c09db988fe9997d049d687292f815ccd6e7fb5c1b1a91137999818d17c73d0f80aef9 ffffffff 01 23ce010000000000 19 76 a9 14 a2fd2e039a86dbcf0e1a664729e09e8007f89510 88 ac 00000000

Как работают майнеры

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

После того, как вы подписали и отправили транзакцию в сеть Биткоин, она очень быстро распространяется по всей сети и попадает в мемпул (mempool) — очередь транзакций. Мемпул принято сравнивать с бутылкой, через горлышко которой транзакции попадают в блоки.

Размер блока в сети Биткоин на данный момент — 1 МБ, время нахождения блока — 10 минут. В один блок может попасть только 2000-3000 транзакций.

Еще раз повторимся, прикол криптовалют в их «открытости»! Вы можете сами взять и посмотреть любой блок сети: все транзакции, которые вошли в блок, сколько их было, сколько получили майнеры, какой был размер блока и т.д. и т.п. Воспользуйтесь, например сервисом https://blockchain.info/

Размер мемпула можно посмотреть на графике:

mempool

На момент написания статьи размер мемпула — 15 МБ. Это значит, что лишь 6.7% транзакций могут попасть в следующий блок, остальные будут стоять и ждать своей очереди.

Как определяется очередь? Очень просто! Первым проходит тот, кто даст больше денег! Важное замечание: пользователи обычно смотрят какую комиссию они платят за транзакцию, а майнеры смотрят сколько стоит каждый байт транзакции. Именно поэтому мы забивали вам голову всякой ерундой в начале статьи. Важно понимать, что если Вася платит комиссию 0.1 mBTC, но у него в транзакции участвует 2 адреса — его транзакция пройдет быстрее, чем Мишина, который платит 0.5 mBTC, но у него задействовано 20 адресов.

Сколько мне платить майнерам? Разумная экономия

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

Мы недавно тестировали сеть Bitcoin: при размере мемпула 4 МБ транзакция размером 225 байтов с комиссией 1 Сатоши/байт прошла за 3 блока. Мы заплатили 225 Сатоши = 0.00000225 BTC = 0.01$

Кошельки безбожно врут с оценкой необходимого количества блоков (= времени) для обработки транзакции при установке комиссии. Почему это важно? Например, в очереди стоит 10000 транзакций, пройти в следующем блоке может только 2500. 9000 транзакций стоят с комиссией 1 Сатоши/байт. Нет смысла ставить комиссию 10 Сатоши/байт, ведь даже при 2 Сатоши/байт ваша транзакция попадет в первый же блок.

Мы рекомендуем сервис http://bitcoinfees.21.co/

21bit

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

На момент написания статьи размер мемпула 15 МБ. Рекомендация сайта:

Which fee should I use?

The fastest and cheapest transaction fee is currently 200 satoshis/byte, shown in green at the top.
For the median transaction size of 226 bytes, this results in a fee of 45,200 satoshis.

При учете того, что, в среднем, транзакция занимает 226 байтов, сайт рекомендует отдать 200 Сатоши за байт. Общая комиссия за перевод составит 452 mBTC (2.5$). Это очень дорого, но транзакция будет обработана почти сразу.

Биржи

Обычно биржи не дают возможность установить комиссию, которую вы готовы заплатить за обработку транзакции. У каждой биржи есть определенная фиксированная комиссия, например, у Bitfinex Tx Fee = 0.0005 BTC (2.75$). Проблема заключается в том, что неизвестно сколько по факту биржи платят майнерам, а сколько оставляют себе.

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

photo_2017-10-18_13-56-28

TL;DR

  • Комиссия сети Биткоин не зависит от суммы перевода (будь то 0.001 BTC или 100000 BTC).
  • При выборе цены обработки транзакции следует учитывать комиссию в расчете на 1 байт.
  • Перед отправкой транзакции стоит заглянуть в мемпул и bitcoinfees.
  • Биржи не дают выбрать размер комиссии, при этом часть они могут вообще забрать себе, приходится только смириться и ждать пока транзакция пройдет.

P.S.

Немного занимательной арифметики. Биткоин часто сравнивают с платежными системами Visa, MasterCard и т.п. или с системами мгновенных переводов WesterUnion. Давайте сделаем свой просто расчет:

Смотрим последние блоки в сети: https://blockchain.info/ru/blocks
Берем, например, блок 490375: https://blockchain.info/ru/block-height/490375
Количество транзакций: 2668
Вознаграждение майнеров: 12.5 BTC + 0.96 BTC = 13.46 BTC (75 376$)
1 транзакция обошлась почти в 30$.

ЭЭЭ… ЭЭЭЭЭЭЭЭ… Все нормально? А как же замена WesternUnion’а? Или может Биткоин = пузырь? Добро пожаловать в наш чат, обсуждаем все там. Кстати, подобные рассуждения мы часто выкладываем в Telegram канал и до сайта они не успевают дойти, подписывайтесь.

Думаете в Эфире лучше? Ну-ну. Скоро и ему от нас достанется. Подождите немного.

Сколько платить за транзакцию Bitcoin? Размер комиссии в Сатоши.: 6 комментариев

  1. Поясните, почему при мемпуле 15Мб только 15% транзакций попадают в первый блок? Если средний размер транзакции 400 байт, то в очереди стоит примерно 37500 транзакций. Значит в первый блок попадают грубо говоря 2500. Это 6,7% из всей очереди. Или я что-то не так считаю?

    1. Косяк, вы правы! Арифметика простая: блок 1 МБ, если Мемпул 15 МБ, то в первый блок попадет 1/15 = 6.7%, как вы сказали. Спасибо, поправили.

  2. Можно на «пальцах» объяснить?))
    В приведённом примере Вася+Игорь+Миша=3 входящих адреса , и один (Маша) исходящий. На сколько понимаю( тут поправьте так-ли) выводов всегда минимум 2 ( пример размена 100р. купюры), 3*148+2*34=512. Если вывод только один? то 3*148+34=478. Или я действительно не понимаю?))

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