На днях мы вскользь напугали вас размером комиссии за транзакции в сети Bitcoin, поэтому сегодня совместно с сайтом 2bitcoins решили рассказать о том, почему местами всё не так уж и страшно, а заодно и объяснить на пальцах, как делаются эти самые криптовалютные переводы.
Когда мы пользуемся мобильным банковским приложением или его веб-версией, мы мало задумываемся о том, что же там такого происходит внутри. Просто берём и совершаем различные операции с деньгами: получаем переводы, оплачиваем коммунальные услуги, переводим деньги на карты других пользователей — всё это происходит в два-три клика или нажатия по экрану и сделано очень просто и понятно. Как же всё обстоит с криптовалютными кошельками и переводами? Да примерно так же. За небольшим исключением.
Для начала немного цифр: 1 BTC = 1000 mBTC или 100 000 000 Satoshi mBTC. Сатоши — минимальная единица Биткоина, названная так в честь придумавшего эту криптовалюту Сатоши Накамото. Эта информация может оказаться полезна в будущем, а пока посмотрим на свой биткоин-кошелёк.
Тут всё тоже довольно просто и понятно, поэтому вы уже наверняка приготовились отправить автору статьи скромный гешефт в биткоинах за труды: вбили его кошелёк в графу «Pay to», указали сумму перевода, подтвердили свои намерения с помощью пароля… Но подождите! Что это за бегунок в графе «Fee»? Это размер комиссии, которую вы заплатите за перевод. И да, сумму комиссии можно варьировать, выставляя её величину по своему усмотрению. Зачем это нужно?.. (Пока можете просто нажать «Ok», чтобы транзакция с гешефтом уже прошла.) Теперь давайте разбираться.
Для начала неплохо бы понять, что такое эта транзакция вообще и что происходит с отправленной получателю суммой. Каждая транзакция представляет собой программный код, который автоматически генерируется с учётом того, откуда пришли биткоины и куда их отправили. Если получателей несколько, увеличивается длина и вес кода.
Каждый адрес, с которого получены средства, равен примерно 148 байтам. Каждый адрес, на который уходят средства, — примерно 34 байта. Каждая транзакция сама по себе занимает ещё примерно 10 байт. Её вес от количества участников перевода не зависит.
На скриншоте с кошельком Electrum видно два входящих адреса (Inputs) и 2 исходящих адреса (Outputs).
148 × 2 + 34 × 2 + 10 = 374 байта (Electrum показывает 372 байта) — столько весит эта транзакция. И именно за вес этой транзакции в байтах мы и платим, а не перечисляем проценты от суммы перевода. После того как транзакция подтверждена, она отправляется в сеть Биткоин и попадает в очередь транзакций, которая называется mempool и которую можно сравнить с пипеткой — через неё транзакции попадают в блоки, из которых и строится вся сеть.
Размер очереди варьируется, да и не все транзакции сразу попадают в блок. Приоритет как раз и отдаётся тем, кто выставил больший размер комиссии — в ряде случаев это влияет на скорость проведения транзакции. Поэтому, если вы решили как можно быстрее порадовать человека своим переводом, иногда стоит задуматься о том, чтобы сумму комиссии увеличить. Если же оба участника операции не торопятся, бегунок можно установить на минимум — рано или поздно платёж всё равно пройдёт.
Перед осуществлением перевода желательно посмотреть на размер мемпула.
Если он практически пуст, даже транзакции с очень маленькой комиссией пройдут довольно быстро, но часто бывает наоборот, поэтому важно прикинуть поточнее, какую сумму желательно «зарядить» за свой перевод. Для выполнения сложных расчётов можно посетить какой-нибудь специализированный сайт, который сам подскажет оптимальный размер комиссии, но ничего не мешает пересчитать всё самостоятельно и трезво оценить обстановку.
Представим, что перед нами очередь в 10 000 транзакций, но пройти в следующем блоке может только 2500 из них. При этом 9000 транзакций стоят с комиссией 1 Сатоши/байт. Поэтому, если вы миллионер или любите сорить деньгами, то ставьте комиссию хоть в 10 Сатоши/байт, пожалуйста. Но имейте в виду, что даже при выставленной вами комиссии в 2 Сатоши/байт ваша транзакция попадет в первый же блок.
В ситуации с криптовалютными биржами ситуация обстоит несколько иначе — там пользователи не могут выставлять размер комиссии собственноручно, и он уже заранее предопределён владельцами биржи, которые могут изменять его по своему усмотрению.
Кому же в итоге достанется вся эта комиссия за переводы? Майнеру, который получит её вместе с вознаграждением за очередной добытый блок.