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

В этом руководстве разобраны все расчёты, которые действительно нужны владельцу биткоина: от перевода 0,000125 BTC в сатоши до оценки размера транзакции, проверки сдачи и чтения данных в обозревателе блоков. Формулы можно применять вручную, в обычном калькуляторе или в собственном кошельке. Главное — понимать, какие данные являются постоянными, какие меняются вместе с состоянием сети, а какие зависят от выбранного источника справочной цены.

Что должен считать калькулятор биткоина

Три разных расчёта, которые нельзя смешивать

Под одним названием обычно скрываются три самостоятельные операции. Первая — перевод между единицами Bitcoin: BTC, миллибиткоинами и сатоши. Здесь результат определяется только арифметикой, поэтому 1 BTC всегда равен 100 000 000 сатоши. Вторая — справочный пересчёт BTC в рубли, доллары или другую обычную валюту. Такой результат зависит от выбранной цены и времени её фиксации. Третья — расчёт сетевой комиссии: он зависит не от денежной ценности отправляемой суммы, а от виртуального размера транзакции и выбранной ставки в сатоши за виртуальный байт.

Разделение важно не только для теории. Человек может видеть на экране «0,001 BTC = N рублей», но сеть не знает рублёвого эквивалента и не использует его при проверке транзакции. Точно так же отправка 0,01 BTC не обязана стоить в десять раз дороже отправки 0,001 BTC. Если у обеих транзакций одинаковое число входов и выходов, их размер и комиссия могут быть почти одинаковыми. Хороший биткоин-калькулятор поэтому показывает исходные данные отдельно и подписывает каждую величину.

Какие данные являются точными

Точным можно считать перевод BTC в сатоши, если исходное число введено правильно и программа не округляет его раньше времени. Точной становится и комиссия уже сформированной транзакции: она равна разнице между суммой всех входов и суммой всех выходов. До формирования транзакции комиссия остаётся оценкой, потому что кошелёк ещё может выбрать другие UTXO, добавить выход сдачи или изменить тип скрипта. Справочный эквивалент в обычной валюте точен только относительно указанной цены и момента: через минуту он может стать другим, хотя количество BTC не изменилось.

Из этого следует практическое правило: возле результата всегда должны быть видны единица измерения, время получения изменяемых данных и способ округления. Запись «125 000» без подписи бесполезна: это могут быть сатоши, рубли или ставка, умноженная на размер. Запись «125 000 sat» однозначна. Запись «примерно 125 000 ₽ по справочной цене X ₽ за 1 BTC, полученной в 14:30» также понятна, но уже содержит условие, при котором рассчитана.

Какие исходные поля действительно нужны

Для простого перевода между BTC и сатоши достаточно одного поля суммы и переключателя направления. Для расчёта справочного эквивалента нужны сумма BTC и цена одного BTC в выбранной валюте. Для оценки комиссии потребуются ставка sat/vB и предполагаемый виртуальный размер. Если размер неизвестен, его можно приблизительно получить по числу и типу входов, числу и типу выходов. Более точный результат даёт кошелёк после выбора конкретных монет, потому что он знает реальную структуру будущей транзакции.

Не стоит перегружать форму десятками параметров с первого экрана. Удобная логика состоит из базового режима и расширенного. В базовом режиме пользователь переводит BTC в сатоши или вводит сумму и получает справочный эквивалент. В расширенном появляются входы, выходы, типы адресов, ставка и ожидаемая комиссия. Это снижает риск случайно принять предположение о размере за точное значение.

Задача Исходные данные Формула Характер результата
BTC в сатоши Сумма BTC BTC × 100 000 000 Точный при корректном вводе
Сатоши в BTC Количество sat sat ÷ 100 000 000 Точный при корректном вводе
BTC в рубли BTC и справочная цена BTC × цена 1 BTC Оценка на указанный момент
Комиссия vsize и sat/vB vsize × ставка Оценка до сборки, факт после неё
Сумма получателю Значение конкретного выхода Считывается из транзакции Точная после подписания

Почему одного итогового числа недостаточно

Пользователь должен понимать путь от исходных данных к ответу. Если форма показывает только итог, невозможно заметить неверную цену, запятую вместо точки, ошибочную единицу комиссии или неожиданное округление. Прозрачный расчёт выглядит как короткая цепочка: «0,00125 BTC × 100 000 000 = 125 000 sat» или «141 vB × 8 sat/vB = 1 128 sat». Такая запись позволяет повторить вычисление самостоятельно и сравнить его с показанием кошелька.

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

Проверка калькулятора перед важным расчётом

Перед использованием незнакомого инструмента полезно провести три контрольных теста. Введите 1 BTC: результат обязан составить 100 000 000 sat. Введите 1 sat: результат должен быть 0,00000001 BTC. Затем проверьте значение с большим числом нулей, например 0,00001234 BTC: правильный ответ — 1 234 sat. Если форма округляет последний пример до 1 200 или 1 000, она не подходит для подготовки точной суммы.

Для комиссии удобен тест 140 vB при ставке 5 sat/vB. Ответ должен быть 700 sat. Если отображается 700 байт, 700 BTC или значение в обычной валюте без отдельной строки в sat, единицы смешаны. Наконец, измените только справочную цену: количество BTC и сатоши должно остаться прежним, а меняться должен лишь валютный эквивалент. Эти простые проверки обнаруживают большинство интерфейсных ошибок ещё до работы с реальной транзакцией.

Единицы Bitcoin: BTC, сатоши, mBTC и bits

Почему базовой единицей расчёта служит сатоши

В программном коде Bitcoin суммы удобно хранить целыми числами сатоши. Один биткоин содержит ровно 100 000 000 сатоши, поэтому минимальная единица в обычной транзакции записывается без плавающей запятой. Это защищает расчёт от характерных для десятичных дробей ошибок: компьютер не пытается приблизительно представить 0,1 BTC, а работает с точным целым значением 10 000 000 sat. Подробнее происхождение и назначение единицы объясняет статья что такое сатоши.

Для пользователя BTC остаётся привычной крупной единицей, но проверять последний этап полезнее в sat. Если нужно отправить 0,000025 BTC, строка «2 500 sat» помогает сразу увидеть порядок числа. Она также удобна при расчёте комиссии, потому что ставка сети обычно выражается в sat/vB, а итоговая плата — в sat. Переключение представления не меняет саму сумму: меняется только масштаб, подобно переходу от метров к миллиметрам.

Таблица единиц и разрядов

Единица Обозначение В BTC В сатоши
Биткоин BTC 1 100 000 000
Миллибиткоин mBTC 0,001 100 000
Микробиткоин µBTC 0,000001 100
Сатоши sat 0,00000001 1

Название bits иногда используют для микробиткоина, то есть для 100 sat, однако интерфейсы применяют его непоследовательно. Если кошелёк предлагает такую единицу, сначала посмотрите пояснение внутри приложения. Надёжнее ориентироваться на явные обозначения BTC и sat. mBTC встречается реже, но может быть удобен для сумм порядка тысячных долей биткоина. В любом случае перед подтверждением нужно привести показания отправителя и получателя к одной единице.

Как перевести BTC в сатоши

Формула проста: умножьте сумму BTC на 100 000 000. Например, 0,0042 BTC × 100 000 000 = 420 000 sat. Практический способ без умножения — перенести десятичную точку на восемь позиций вправо и дописать недостающие нули. Для 0,00000075 BTC получатся 75 sat. Для 2,35 BTC — 235 000 000 sat. После переноса дробной части быть не должно, потому что количество сатоши является целым.

Если результат содержит дробь сатоши, исходное число имеет больше восьми знаков после запятой. Обычная транзакция Bitcoin не может отправить 0,5 sat в отдельном выходе. Программа должна либо отклонить значение, либо явно применить правило округления. Молчаливое округление опасно: при массовом расчёте или повторении операции накопленная разница может стать заметной. Для ручной проверки лучше не округлять промежуточные числа и перевести исходную сумму в sat в самом начале.

Калькулятор сатоши в биткоин: как выполнить обратный перевод

Обратная формула: разделите количество сатоши на 100 000 000. Так, 12 345 sat ÷ 100 000 000 = 0,00012345 BTC. Можно представить исходное целое число в виде строки из восьми разрядов справа от точки: для 500 sat это 0,00000500 BTC, для 50 000 000 sat — 0,50000000 BTC. Нули в конце не меняют величину, но иногда помогают проверить разряды.

При копировании результата убедитесь, что программа не использовала научную запись. Значение 1e-8 математически равно 0,00000001, однако не каждый кошелёк принимает такую форму ввода. Безопасный вариант — обычная десятичная запись с точкой или локализованной запятой, которую ожидает конкретный интерфейс. Перед подписанием смотрите на сумму, которую отображает сам кошелёк, а не только на вставленную строку.

Запятая, точка и разделители тысяч

В русской записи десятичным разделителем служит запятая, а в большинстве технических форматов — точка. Поэтому «0,001 BTC» в статье и «0.001 BTC» в URI обозначают одну величину, но программное поле может принять только один вариант. Пробелы обычно используются для группировки тысяч: 100 000 000 sat. В некоторых странах ту же роль выполняет запятая, из-за чего запись «100,000» может быть понята как сто целых или как сто тысяч.

Надёжный калькулятор нормализует ввод, но не должен угадывать двусмысленные значения. Строку с одной запятой между нулём и цифрами можно безопасно распознать как дробь, а «1,000» уже требует уточнения. Для платёжного URI применяется точка и не допускаются запятые в сумме. Если вы формируете QR-код вручную, используйте формат вроде amount=0.00125, а после сканирования обязательно сравните показанную кошельком сумму с ожидаемыми 125 000 sat.

Правильное округление

Для BTC нельзя сохранять больше восьми десятичных знаков в обычном выходе. Если расчёт в обычной валюте даёт, например, 0,00012345678 BTC, сначала определите назначение результата. Для примерной оценки его можно показать с дополнительными знаками как промежуточное число, но сумму будущего выхода нужно привести к целому количеству sat. Округление вниз исключает отправку больше заданного предела; округление к ближайшему даёт меньшую среднюю ошибку; округление вверх подходит, когда требуется обеспечить не меньше указанного количества. Выбранное правило должно быть видно пользователю.

Для комиссии округление имеет отдельную логику. Виртуальный размер по определению округляется вверх до целого vB. Если ставка и размер дают нецелое количество sat, практическая реализация также должна обеспечить достаточную целую комиссию, обычно округляя итог вверх. Нельзя округлять ставку, затем размер, а потом ещё и результат без понимания: несколько последовательных округлений способны завысить плату. Сначала сохраняйте точные промежуточные значения, затем применяйте требуемое правило на финальном этапе.

Примеры для быстрой самопроверки

Исходная сумма Результат Как проверить
0,1 BTC 10 000 000 sat Один знак BTC соответствует семи нулям в sat
0,001 BTC 100 000 sat Это ровно 1 mBTC
0,00001 BTC 1 000 sat Пять знаков после запятой дают три нуля в sat
0,00000001 BTC 1 sat Минимальная единица
250 000 sat 0,0025 BTC Деление на 100 000 000
12 345 678 sat 0,12345678 BTC Восемь разрядов справа от точки

Пересчёт BTC в рубли и другие обычные валюты

Почему валютный результат всегда привязан ко времени

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

Такой пересчёт полезен для личного учёта, сверки стоимости имущества на конкретную дату, подготовки отчёта или понимания масштаба суммы. Он не создаёт обещания, что кто-то примет биткоин именно по этой цене. Если задача состоит в документировании, фиксируйте не только результат, но и исходные данные: 0,002 BTC, справочная цена 1 BTC, дата, время и правило округления. Тогда расчёт можно воспроизвести позднее.

Базовая формула валютного эквивалента

Если B — количество BTC, а P — цена одного BTC в рублях, эквивалент R рассчитывается как R = B × P. Допустим, для учебного примера используется условная цена 6 400 000 ₽ за 1 BTC. Тогда 0,00125 BTC × 6 400 000 ₽ = 8 000 ₽. Это не текущая котировка и не рекомендация; число выбрано только потому, что позволяет легко проверить арифметику. При другой цене результат изменится пропорционально.

Обратный расчёт выполняется делением: B = R ÷ P. При тех же условных данных 8 000 ₽ ÷ 6 400 000 ₽ = 0,00125 BTC = 125 000 sat. Получив число BTC, переведите его в сатоши и примените понятное правило округления. Так вы исключите доли sat и увидите фактически представимую в сети величину.

Как выбирать справочную цену

Для последовательного учёта важнее не искать «идеальную» цифру, а заранее определить правило. Это может быть значение на конкретный момент, среднее за день или официально принятая в вашей системе учёта методика. Нельзя в одном отчёте выбирать максимальную цену для одной записи и минимальную для другой только потому, что так удобнее. Метод должен применяться одинаково и оставлять проверяемый след.

Если калькулятор агрегирует несколько источников, выясните, что именно он показывает: медиану, среднее, последнее значение или цену одного источника. Разница между этими способами особенно заметна при резком движении. Для бытовой оценки она может быть несущественной, для документа — важной. Сохраняйте снимок или выгрузку исходных данных, когда расчёт связан с отчётностью; конкретные требования к документам зависят от цели и юрисдикции.

Справочная стоимость и сумма транзакции — разные вещи

В блокчейне записываются значения выходов в sat, а не рублёвый эквивалент. Если при отправке 100 000 sat справочная стоимость на экране изменилась, уже подписанная сумма не стала больше или меньше: получатель по-прежнему получает указанный выход в sat. Изменилось только внешнее представление. Это различие полезно помнить при проверке чека или скриншота: валютная цифра не доказывает наличие транзакции и не заменяет проверку по идентификатору TxID.

То же относится к комиссии. Кошелёк может рядом показать её примерную стоимость в рублях, но сеть оценивает комиссию как количество sat относительно виртуального размера. Поэтому при разборе задержки смотрите на sat/vB, структуру транзакции и состояние mempool. Валютный эквивалент помогает оценить расходы человеку, но не определяет приоритет.

Прямой и обратный пересчёт без двойного округления

Распространённая ошибка возникает, когда рублёвую сумму сначала округляют до копеек, затем BTC — до шести знаков, а после этого sat — до сотен. Чтобы сохранить точность, держите исходные числа в максимальной доступной разрядности и округляйте один раз — на уровне конечной единицы. Если конечный результат предназначен для транзакции, им должно быть целое количество sat. Если для отчёта в рублях — округляйте по правилам этого отчёта после умножения точной суммы BTC.

Проверить цепочку можно обратным действием. Допустим, расчёт дал 123 456 sat. Переведите их в 0,00123456 BTC, умножьте на использованную цену и сравните с исходным рублёвым заданием. Небольшая разница допустима из-за округления до целого sat; значительная указывает на ошибку единицы, цены или разделителя.

Как учитывать комиссию в валютном эквиваленте

Сначала рассчитайте комиссию в sat, затем переведите её в BTC и только после этого — в рубли по той же справочной цене. Например, комиссия 1 200 sat равна 0,000012 BTC. При условной цене 6 400 000 ₽ это 76,80 ₽. Если начать с оценки в рублях и пытаться вывести из неё ставку sat/vB, легко получить неверный результат, поскольку сначала нужно знать виртуальный размер транзакции.

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

Таблица для документирования расчёта

Поле Что записать Зачем
Количество BTC и эквивалент в sat Исключить ошибку разрядов
Справочная цена Значение за 1 BTC Воспроизвести умножение
Время Дата, часы, часовой пояс Привязать изменяемый показатель
Метод Последнее значение, среднее или иной способ Применять единое правило
Комиссия Факт в sat, отдельно от суммы Не смешивать плату и перевод
Округление Вниз, вверх или к ближайшему Объяснить возможную разницу

Когда валютному результату нельзя доверять без проверки

Насторожитесь, если сервис не показывает время обновления, принимает только округлённые доли BTC, меняет результат после перезагрузки без объяснения или выводит одно число без исходной цены. Отдельный риск — подмена десятичного разделителя: 0.01 и 0,01 должны означать одно и то же, но не каждый ввод обработан корректно. Сравните ответ с ручной формулой и вторым независимым калькулятором, а для отправки окончательно подтвердите сумму в sat.

Скриншот валютного результата не подтверждает ни владение монетами, ни отправку. Любую картинку можно изменить, а справочную цифру — получить с другими исходными данными. Если нужно установить факт перевода, проверяют адрес, конкретный выход, сумму sat и статус транзакции в обозревателе блоков. Калькулятор помогает читать числа, но не заменяет сетевое доказательство.

Расчёт комиссии Bitcoin

Комиссия зависит от места в блоке, а не от цены монет

Транзакция занимает определённое место в блоке, поэтому основой расчёта служит её виртуальный размер. Пользователь выбирает ставку в sat/vB, а общая комиссия равна произведению ставки на vsize. Формула выглядит так: комиссия в sat = виртуальный размер в vB × ставка в sat/vB. Если размер составляет 154 vB, а ставка — 7 sat/vB, ожидаемая плата равна 1 078 sat.

Сумма перевода в эту формулу не входит. Транзакция на 50 000 sat с одним входом и двумя выходами может занимать столько же места, сколько транзакция на 50 000 000 sat с такой же структурой. Больший денежный номинал не делает цифровую запись длиннее. Размер растёт, когда добавляются входы, выходы или более тяжёлые скрипты. Полное практическое руководство по выбору ставки дано в материале о комиссии Bitcoin в sat/vB.

Что такое виртуальный байт

После внедрения Segregated Witness разные части транзакции учитываются с разным весом. Базовые данные получают полный вес, а свидетельства подписей — уменьшенный. Вес вычисляется в weight units, после чего виртуальный размер равен весу, делённому на четыре с округлением вверх. Благодаря этому две транзакции с одинаковым физическим размером файла могут иметь разный vsize, если доля свидетельств у них различается.

Для расчёта пользователю обычно не нужно вручную сериализовать транзакцию. Кошелёк показывает прогнозный или готовый vsize, а обозреватель — фактический. Важно лишь не путать bytes, vB и weight units. Ставка 10 sat/vB умножается именно на vsize. Если ошибочно умножить её на вес в wu, итог окажется примерно в четыре раза выше. Если умножить на физические байты witness-транзакции, ошибка будет зависеть от структуры.

Ставка sat/vB и общая комиссия

Ставка показывает, сколько сатоши приходится на каждый виртуальный байт. Общая комиссия — сколько сатоши транзакция отдаёт целиком. Эти показатели связаны, но отвечают на разные вопросы. Ставка помогает сравнивать приоритет транзакций одинаково, независимо от их размера. Общая сумма показывает фактический расход владельца. Транзакция 400 vB с платой 2 000 sat имеет ставку 5 sat/vB; транзакция 120 vB с платой 1 200 sat — ставку 10 sat/vB и может получить более высокий приоритет, хотя платит меньше всего.

При проверке задержки смотреть только на общую плату неправильно. У большой транзакции 10 000 sat могут давать низкую ставку, а у компактной 1 000 sat — достаточную. Калькулятор должен показывать оба числа и позволять восстановить одно из другого: ставка = комиссия ÷ vsize; vsize = комиссия ÷ ставка. Для уже опубликованной транзакции эти вычисления помогают проверить сведения обозревателя.

Как выбрать ставку

Ставка определяется желаемым сроком подтверждения и текущим состоянием mempool. Оценщик анализирует, какие транзакции подтверждались при разных ставках, и предлагает значение для выбранного числа блоков. Это вероятностная оценка, а не очередь с гарантированным временем. Новые транзакции могут быстро изменить конкуренцию за место, а добыча блоков происходит через неравные интервалы.

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

Расчёт для нескольких сценариев

Vsize Ставка Комиссия Проверка
110 vB 2 sat/vB 220 sat 110 × 2
141 vB 8 sat/vB 1 128 sat 141 × 8
208 vB 12 sat/vB 2 496 sat 208 × 12
375 vB 5 sat/vB 1 875 sat 375 × 5
620 vB 20 sat/vB 12 400 sat 620 × 20

Числа в таблице учебные: они демонстрируют формулу, а не рекомендуют конкретную ставку. Текущие условия нужно проверять непосредственно перед отправкой. Сначала оцените структуру, затем подставьте актуальную ставку. Если кошелёк после выбора монет показывает другой vsize, пересчитайте итог по фактическому прогнозу.

Почему оценка меняется перед подписанием

Пока кошелёк не выбрал конкретные UTXO, он не знает точного числа входов. Предварительная форма может предполагать один вход, но для покрытия суммы понадобятся три небольших выхода прошлых транзакций. Vsize вырастет, а вместе с ним вырастет и общая комиссия при той же ставке. Другой источник изменения — появление или исчезновение выхода сдачи. Если остаток слишком мал, кошелёк может прибавить его к комиссии вместо создания отдельного выхода.

Тип подписи тоже влияет на размер, причём отдельные подписи могут иметь небольшую вариативность. Современные кошельки умеют оценивать верхнюю границу достаточно точно, однако окончательное число известно после формирования. Поэтому на первом экране корректно писать «оценочная комиссия», а на экране подписи — показывать структуру и итог. Пользователь должен иметь возможность отказаться, если выбор входов неожиданно сделал транзакцию дорогой.

Как вычислить фактическую комиссию по транзакции

У готовой транзакции сложите значения всех входов и вычтите сумму всех выходов. Разница и есть комиссия. Например, входы дают 300 000 sat, один выход получателю — 180 000 sat, второй выход сдачи — 118 500 sat. Комиссия составляет 1 500 sat. Если обозреватель показывает vsize 150 vB, ставка равна 1 500 ÷ 150 = 10 sat/vB.

Для самостоятельной проверки нужно знать значения предыдущих выходов, на которые ссылаются входы. Хороший обозреватель получает их из блокчейна и показывает готовую сумму. Не принимайте за комиссию разницу между балансом кошелька до и после операции: туда могут входить сдача, другие неподтверждённые операции и особенности отображения. Сетевой расчёт всегда строится по конкретным входам и выходам.

Комиссия сверх суммы или из суммы

В режиме «добавить комиссию» значение выхода получателя остаётся равным введённой сумме, а кошелёк подбирает входы, покрывающие сумму, плату и возможную сдачу. В режиме «вычесть комиссию» один или несколько выходов уменьшаются. Пользователь может ввести 100 000 sat, но получатель увидит 98 800 sat при плате 1 200 sat. Оба способа технически возможны, однако смысл операции различается.

Если требуется передать точное количество, выбирайте режим, при котором комиссия оплачивается сверху, и проверяйте значение конкретного выхода. Если важно потратить не больше заданного остатка, вычитание может быть уместно, но получатель должен ожидать меньшую сумму. Интерфейс обязан сообщать это до подписи. Калькулятор полезен, когда выводит обе версии рядом: «получателю» и «всего расходуется с учётом комиссии».

UTXO, входы, выходы и сдача

Почему баланс не является одной монетой

Баланс биткоин-кошелька состоит из непотраченных выходов предыдущих транзакций — UTXO. Каждый такой выход имеет отдельное значение и условия расходования. Если в кошельке показывается 0,01 BTC, внутри это могут быть один UTXO на 1 000 000 sat, десять UTXO по 100 000 sat или множество разных сумм. Для нового перевода кошелёк выбирает один или несколько из них как входы.

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

Простой пример со сдачей

Предположим, кошелёк контролирует UTXO на 200 000 sat. Нужно создать выход получателю на 120 000 sat, а ожидаемая комиссия составляет 1 000 sat. Вход расходуется полностью, поэтому новый выход сдачи будет равен 79 000 sat: 200 000 − 120 000 − 1 000. После подтверждения старого UTXO больше нет; вместо него существуют выход получателю и выход сдачи.

Сдача обычно направляется на новый адрес того же кошелька. В обозревателе невозможно надёжно определить её только по позиции в списке: она может быть первой, второй или отсутствовать. Для расчёта это неважно — достаточно сложить все выходы. Но для контроля собственной суммы нужно смотреть данные кошелька, который знает, каким адресом сдачи управляет.

Когда требуется несколько входов

Если ни один UTXO не покрывает сумму и комиссию, кошелёк объединяет несколько. Например, доступны 50 000, 70 000 и 90 000 sat, а передать нужно 150 000 sat. Двух первых недостаточно, поэтому алгоритм может взять 70 000 + 90 000 = 160 000 sat либо выбрать все три в зависимости от правил, приватности и будущих расходов. Каждый дополнительный вход увеличивает vsize.

Заранее считать плату как фиксированный процент здесь бессмысленно. При одинаковой сумме один пользователь может иметь один крупный вход, другой — двадцать мелких. Их транзакции будут различаться по размеру. Чтобы получить точный прогноз, включите контроль монет или дождитесь, пока кошелёк покажет выбранные UTXO. Если интерфейс скрывает выбор, оставляйте запас и оценивайте диапазон, а не одно гарантированное число.

Почему количество выходов тоже имеет значение

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

Если отправляется весь выбранный баланс, выход сдачи может не понадобиться. Такая транзакция иногда компактнее, но её сумма получателю определяется после вычета комиссии. Если оставить слишком маленький остаток, кошелёк также может отказаться от сдачи и добавить его к плате. Перед подтверждением проверьте, не стала ли фактическая комиссия значительно выше выбранного произведения sat/vB из-за такого решения.

Пылевой остаток и экономический смысл выхода

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

Для пользователя важен не термин, а следствие: формула сдачи может дать положительное число, но отдельного выхода всё равно не появится. Если остаток 200 sat, а добавление и последующее расходование выхода нерационально, программа выберет иной вариант. В расширенном калькуляторе полезно иметь предупреждение «сдача может быть признана слишком малой» вместо уверенного обещания.

Выбор монет и приватность

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

Ручной выбор даёт контроль, но требует понимания. Нельзя выбирать входы только по минимальному числу, игнорируя происхождение, подтверждения и будущую сдачу. Если задача обычная и вы не уверены, разумнее использовать хорошо протестированный алгоритм кошелька. Если важны разделение учёта или приватность, сначала изучите режим coin control и проведите пробный расчёт без подписи.

Как составить UTXO-калькуляцию вручную

  1. Выпишите доступные UTXO в sat и отметьте их типы.
  2. Выберите набор, сумма которого покрывает выходы и предварительную комиссию.
  3. Оцените vsize по числу и типам входов и выходов.
  4. Умножьте vsize на актуальную ставку.
  5. Пересчитайте сдачу: входы минус выходы минус комиссия.
  6. Если сдача слишком мала или отрицательна, измените набор входов и повторите.
  7. Сравните результат с предварительным просмотром кошелька.

Расчёт итеративный: комиссия зависит от структуры, а структура может измениться после оценки сдачи. Например, предварительно вы заложили два выхода, но сдача исчезла; тогда vsize уменьшится и плата при той же ставке станет ниже. Либо, наоборот, понадобился дополнительный вход, который увеличил размер и потребовал ещё немного средств. Программа выполняет эти циклы автоматически, но ручная схема помогает понять неожиданный итог.

Пример сравнения двух кошельков с одинаковым балансом

Параметр Кошелёк A Кошелёк B
Общий баланс 500 000 sat 500 000 sat
Структура 1 UTXO на 500 000 sat 10 UTXO по 50 000 sat
Задание Отправить 400 000 sat Отправить 400 000 sat
Минимум входов 1 Не менее 9 с запасом на плату
Ожидаемый размер Относительно компактный Значительно больше
Комиссия при равной ставке Ниже Выше

Таблица объясняет, почему простой «процент от суммы» не работает. Одинаковый баланс и одинаковая задача дают разную плату из-за разного числа входов. Поэтому калькулятор, не спрашивающий структуру UTXO, может дать только грубый ориентир. Самый надёжный прогноз формирует кошелёк, располагающий конкретным набором монет.

Как тип адреса влияет на размер транзакции

Адрес — это представление условий расходования

Строки, начинающиеся с 1, 3, bc1q или bc1p, относятся к разным форматам и сценариям скриптов. По префиксу можно сделать предварительный вывод, но нельзя восстановить всю будущую структуру только по одному адресу. Для комиссии особенно важен тип тратимого входа: именно он определяет, какие данные подписи должны войти в транзакцию. Тип нового выхода тоже влияет на размер, но обычно меньше, чем вход.

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

Классический формат Legacy

Классические адреса Pay-to-Public-Key-Hash обычно начинаются с 1. При расходовании такого UTXO подпись и открытый ключ размещаются в базовой части, без скидки witness. Поэтому вход получается тяжелее современного P2WPKH. Если кошелёк содержит много мелких legacy-выходов, их объединение заметно увеличит vsize и итоговую плату.

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

Вложенный SegWit P2SH-P2WPKH

Адреса, начинающиеся с 3, могут представлять вложенный SegWit, но тот же префикс используется и для других P2SH-сценариев. Для типичного вложенного SegWit часть данных подписи переносится в witness и получает скидку веса, однако вход содержит дополнительный redeem script. В результате он обычно компактнее P2PKH, но тяжелее нативного P2WPKH.

Калькулятор должен различать конкретный сценарий, а не считать любой адрес с 3 одинаковым. Если известен только префикс, результат следует обозначать диапазоном. Точный тип входа можно определить по предыдущему выходу и данным кошелька. Для уже созданной транзакции обозреватель показывает скрипты и фактический vsize.

Нативный SegWit P2WPKH

Адреса bc1q часто используются для нативных SegWit-выходов версии 0. Типичный вход P2WPKH компактен по виртуальному размеру, поскольку данные свидетеля учитываются с меньшим весом. Для простых переводов это распространённый и предсказуемый вариант. Однако bc1q может также представлять P2WSH, чей размер расходования зависит от скрипта и может быть намного больше.

Поэтому в форме оценки полезно выбирать не просто «bc1q», а «P2WPKH» или «P2WSH с известным скриптом». Для обычного одно-подписного кошелька чаще подходит P2WPKH. Для сложной политики нужны реальные параметры: число ключей, длина witness script и количество подписей.

Taproot P2TR

Адреса bc1p относятся к SegWit версии 1 и используют Bech32m. При расходовании через ключевой путь типичный вход P2TR имеет компактный и предсказуемый witness. При расходовании через путь скрипта размер зависит от раскрываемого сценария и управляющих данных. Поэтому «Taproot-вход» не всегда означает одну фиксированную цифру.

В базовом калькуляторе допустимо использовать типовой ключевой путь с явной подписью допущения. Для точного расчёта сложной политики нужно знать, какой путь будет применён. Если кошелёк уже сформировал PSBT или предварительную транзакцию, берите vsize из неё, а не из усреднённой таблицы.

Ориентиры для простой транзакции

Элемент Ориентировочный vsize Комментарий
Вход Legacy Pay-to-Public-Key-Hash Около 148 vB Подпись находится в базовой части; фактический размер может немного отличаться
Вход P2SH-P2WPKH Около 91 vB Вложенный SegWit с дополнительным redeem script
Вход P2WPKH Около 68 vB Типичный нативный SegWit
Вход P2TR, ключевой путь Около 58 vB Оценка для обычной подписи, не для пути скрипта
Выход Legacy Pay-to-Public-Key-Hash 34 vB Зависит от scriptPubKey
Выход P2WPKH 31 vB Нативный SegWit версии 0
Выход P2TR 43 vB SegWit версии 1

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

Формула приблизительного vsize

Для простой оценки можно взять базовые накладные данные, прибавить vsize каждого входа и размер каждого выхода. Например, один P2WPKH-вход, один P2WPKH-выход получателю и один P2WPKH-выход сдачи дают ориентир около 10,5 + 68 + 31 + 31 = 140,5 vB, то есть примерно 141 vB после округления. При ставке 8 sat/vB ожидаемая комиссия составит около 1 128 sat.

Если тот же платёж использует два P2WPKH-входа, добавляется ещё примерно 68 vB: итог около 209 vB и плата около 1 672 sat при прежней ставке. Разница вызвана не суммой, а дополнительным входом. Сравните прогноз с тем, что показывает кошелёк после выбора UTXO. Расхождение в несколько единиц возможно из-за конкретной сериализации; большое расхождение означает, что структура отличается от предположенной.

Почему нельзя определять размер только по адресу получателя

Адрес получателя описывает один новый выход. Основную долю размера нередко создают входы, а они относятся к прошлым UTXO отправителя. Пользователь может видеть bc1q-адрес получателя и ошибочно считать всю транзакцию нативным SegWit, хотя собственные монеты лежат в legacy-выходах. В таком случае выход будет компактным, а входы — тяжёлыми.

Для оценки соберите два набора данных: типы расходуемых UTXO и типы создаваемых выходов. Если доступна только информация о получателе, укажите неопределённость. Калькулятор, обещающий точную комиссию по одному вставленному адресу, скрывает критически важную часть расчёта.

Mempool, срок подтверждения и изменение комиссии

Что показывает mempool

Mempool — локальный набор неподтверждённых транзакций, принятых конкретным узлом. У разных узлов содержимое может немного различаться из-за времени получения, настроек и правил ретрансляции. Поэтому нельзя говорить об одной абсолютно одинаковой очереди для всей сети. Тем не менее распределение транзакций по ставкам даёт полезное представление о текущей конкуренции за место в следующих блоках.

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

Цель в блоках, а не обещание в минутах

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

Поэтому результат калькулятора правильно читать так: «при текущих данных эта ставка оценивается как подходящая для заданной цели», а не «транзакция подтвердится в 16:42». Для несрочной операции выбирайте более широкий горизонт. Для срочной оставляйте запас и заранее проверяйте возможность повысить плату, если условия изменятся.

Экономичная и консервативная оценка

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

Выбор зависит от последствий задержки. Для собственного перемещения без жёсткого срока экономичный профиль может быть разумным. Для платежа с ограниченным временем ожидания нужен больший запас. Калькулятор не должен автоматически называть самый высокий вариант «правильным», а самый низкий — «выгодным»: сначала определяется требуемый срок, затем выбирается соответствующая оценка.

Минимальная ставка ретрансляции и ставка mempool

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

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

RBF: замена транзакции с большей комиссией

Replace-by-Fee позволяет создать заменяющую транзакцию, которая расходует те же входы и платит больше. В классическом opt-in варианте исходная транзакция сигнализирует заменяемость через поля sequence. Современная политика отдельных узлов может принимать замену и шире, но пользователю нельзя рассчитывать на одинаковое поведение всех участников. Надёжнее заранее использовать кошелёк с понятной поддержкой повышения комиссии.

При замене важно увеличить не только ставку, но и абсолютную плату достаточно для правил ретрансляции. Кошелёк обычно уменьшает сдачу или добавляет входы. Добавление входа увеличивает vsize, поэтому простое прибавление фиксированных 100 sat может оказаться недостаточным. Пересчитайте всю новую структуру: входы, выходы, новый размер, новую ставку и разницу абсолютных комиссий.

CPFP: потомок оплачивает пакет

Child Pays for Parent применяется, когда контролируется выход неподтверждённой транзакции. Создаётся дочерняя транзакция с высокой платой, чтобы совокупная ставка родителя и потомка стала привлекательной для включения пакетом. Рассчитывать нужно не ставку ребёнка отдельно, а общий результат: сумма комиссий обеих транзакций делится на сумму их виртуальных размеров.

Допустим, родитель имеет 200 vB и плату 400 sat, а ребёнок — 110 vB. Чтобы пакет достиг 10 sat/vB, общая плата должна составить 310 × 10 = 3 100 sat. Следовательно, ребёнку нужна комиссия около 2 700 sat. Если ошибочно поставить ребёнку только 10 × 110 = 1 100 sat, совокупная ставка останется около 4,84 sat/vB. Практические ограничения и безопасная последовательность рассмотрены в статье о том, что делать, если зависла транзакция Bitcoin.

Формулы для RBF и CPFP

Сценарий Что считать Формула
Обычная транзакция Общая плата vsize × целевая ставка
RBF Плата новой версии new vsize × new rate с учётом минимального абсолютного прироста
CPFP Нужная плата ребёнка (parent vsize + child vsize) × target rate − parent fee
Фактическая ставка пакета Средняя ставка (parent fee + child fee) ÷ (parent vsize + child vsize)

Почему ускоритель не является частью сетевого расчёта

Сторонняя страница может обещать «ускорить» перевод, но калькулятор не способен проверить реальный контроль над выбором транзакций для блока. Ввод TxID сам по себе не меняет плату в подписанной транзакции. Технически понятные методы — корректная замена или создание оплачивающего потомка при наличии контролируемого выхода. Любое другое обещание требует отдельного доказательства механизма.

Никому не нужны seed-фраза или приватный ключ для расчёта комиссии, просмотра mempool либо работы с TxID. Запрос секрета — признак кражи, а не технической помощи. Проверку выполняют по публичным данным; подпись новой версии создаётся только в собственном кошельке. Никогда не вставляйте секрет восстановления в веб-форму.

Когда лучше подождать

Если срок не критичен и транзакция ещё не создана, ожидание снижения нагрузки часто проще, чем последующее повышение платы. Сохраните сумму в sat, подготовьте адрес, но обновите ставку непосредственно перед подписью. Не используйте вчерашнюю рекомендацию: mempool динамичен, а оптимальное значение может измениться в обе стороны.

Если транзакция уже опубликована, решение зависит от её ставки, политики кошелька, заменяемости, наличия контролируемой сдачи и цели. Иногда ожидание разумно, иногда нужна RBF или CPFP. Сначала соберите факты в обозревателе, затем считайте вариант. Повторная отправка той же суммы без понимания входов может создать конфликт или вторую независимую операцию.

Практические сценарии расчёта

Сценарий 1: перевести заданные BTC в сатоши

Нужно проверить сумму 0,00275 BTC. Умножаем на 100 000 000 и получаем 275 000 sat. Затем обратным действием делим 275 000 на 100 000 000: получаем 0,00275 BTC. Две операции сошлись, дробных sat нет. Этого достаточно, если задача — только согласовать единицу между двумя людьми или проверить поле суммы.

Перед отправкой сравните именно значение выхода получателю с 275 000 sat. Комиссия должна отображаться отдельно. Если интерфейс показывает «списать 276 120 sat», это может означать 275 000 sat получателю плюс 1 120 sat платы. Если же включён режим вычитания, выход может оказаться меньше. Откройте детализацию, а не делайте вывод по общему списанию.

Сценарий 2: определить BTC по заданному числу сатоши

Требуется передать 48 500 sat. Делим на 100 000 000: 0,000485 BTC. В поле, принимающем BTC, вводим обычную десятичную запись. Если кошелёк показывает только пять знаков после запятой и округляет до 0,00049, он не позволяет задать точное число в этом режиме; переключитесь на отображение sat или используйте интерфейс с восьмью знаками.

После ввода снова проверьте sat. Округление до 0,00049 BTC даёт 49 000 sat — разница 500 sat. Она может быть небольшой по внешней оценке, но означает, что задача выполнена неточно. Переход в целые sat устраняет двусмысленность.

Сценарий 3: оценить плату для одного входа и двух выходов

Предположим, используется один P2WPKH-вход, один P2WPKH-выход получателю и один такой же выход сдачи. Ориентировочный размер — 141 vB. Актуальная выбранная для учебного примера ставка — 6 sat/vB. Комиссия: 141 × 6 = 846 sat. Если отправляется 100 000 sat, а вход содержит 150 000 sat, расчётная сдача равна 49 154 sat.

Теперь кошелёк выбирает фактический UTXO и строит предварительный просмотр. Если показывает 142 vB, плата при 6 sat/vB станет 852 sat, а сдача — 49 148 sat. Это нормальное уточнение оценки. Если показывает два входа и 210 vB, нужно понять, почему выбран другой набор, и пересчитать итог 1 260 sat.

Сценарий 4: несколько мелких UTXO

Есть четыре P2WPKH-выхода по 30 000 sat. Нужно передать 90 000 sat. Три входа ровно покрывают сумму, но не оставляют средств на комиссию, поэтому понадобятся четыре входа либо меньший выход получателю. При четырёх входах и двух выходах ориентир будет около 10,5 + 4 × 68 + 2 × 31 = 344,5 vB, то есть примерно 345 vB.

При 5 sat/vB плата составит около 1 725 sat, а сдача из общего входа 120 000 sat — около 28 275 sat. Этот пример показывает, почему нельзя сначала выбрать входы «ровно по сумме» и забыть плату. Она покрывается той же суммой входов и должна быть учтена до подписи.

Сценарий 5: отправить весь доступный остаток

В кошельке один P2WPKH UTXO на 250 000 sat. Пользователь выбирает «отправить максимум», поэтому сдачи нет. Если предполагаемый размер с одним входом и одним P2WPKH-выходом около 110 vB, а ставка 7 sat/vB, комиссия будет примерно 770 sat. Получателю уйдёт около 249 230 sat.

Здесь нельзя сначала поставить выход 250 000 sat и затем добавить плату: входа не хватит. Функция максимума вычисляет сумму выхода после комиссии. Если фактический размер отличается, изменится именно значение получателю. Проверьте его в sat, особенно если предварительно сообщали точную сумму.

Сценарий 6: расчёт CPFP

Неподтверждённый родитель занимает 180 vB и платит 360 sat, то есть 2 sat/vB. Доступный выход можно потратить ребёнком размером 120 vB. Для общего ориентира 12 sat/vB пакету нужна плата (180 + 120) × 12 = 3 600 sat. Родитель уже внёс 360 sat, поэтому ребёнок должен внести около 3 240 sat.

Ставка ребёнка отдельно будет 27 sat/vB, но это не переплата «без причины»: она компенсирует низкую плату родителя. Перед созданием убедитесь, что выход действительно контролируется, кошелёк умеет построить потомка и сумма выхода покрывает плату без создания проблемного остатка. Политика принятия пакетов может отличаться, поэтому результат остаётся оценкой.

Сценарий 7: сверить рублёвый эквивалент

Для записи на конкретную дату имеется 0,015 BTC и зафиксированная по принятому методу справочная цена 6 000 000 ₽ за BTC. Умножение даёт 90 000 ₽. Сумма в sat составляет 1 500 000. Если сетевой расход равен 1 500 sat, его справочный эквивалент по той же цене — 90 ₽, а количество, переданное получателю, нужно брать из конкретного выхода.

В записи сохраните дату, время, часовой пояс, цену, 1 500 000 sat, отдельную комиссию 1 500 sat и TxID после отправки. Тогда каждый элемент проверяем. Не подменяйте цену позднейшим значением, иначе расчёт перестанет соответствовать выбранному моменту.

Сценарий 8: проверить сумму из QR-кода

Платёжный URI может содержать адрес и параметр amount в десятичных BTC. Например, amount=0.00025 означает 25 000 sat. После сканирования кошелёк должен показать адрес и сумму для ручного подтверждения. Сравните первые и последние символы адреса с исходным запросом и переведите сумму в sat. Не подтверждайте операцию автоматически только потому, что QR-код выглядит знакомо.

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

Сценарий 9: проверить расчёт после публикации

Откройте транзакцию по TxID и выпишите сумму входов, список выходов, комиссию, vsize и ставку. Проверьте: сумма входов должна равняться сумме выходов плюс комиссия. Затем разделите плату на vsize и сравните полученную ставку с показанием. Значение конкретного выхода должно совпасть с согласованной суммой.

Не считайте весь исходящий объём суммой получателю: среди выходов может быть сдача. Кошелёк помогает определить собственный выход, а публичный обозреватель показывает структуру без гарантированной подписи «сдача». Если нужно дополнительно сверить доступные средства адреса, используйте инструкцию по проверке баланса Bitcoin, учитывая, что баланс адреса и баланс HD-кошелька — не одно и то же.

Ошибки, безопасность и проверка результата

Ошибка в одном нуле

Восемь знаков после запятой создают визуальную нагрузку. 0,0001 BTC — это 10 000 sat, а 0,00001 BTC — 1 000 sat: разница в десять раз скрывается в одном нуле. Защита проста: всегда показывайте обе единицы рядом и группируйте sat пробелами. Для важной суммы выполните обратное преобразование.

Не торопитесь при копировании с изображения или сообщения. Лучше получить сумму текстом и согласовать её в sat. Если одна сторона говорит в BTC, а другая в sat, явно запишите равенство. Комиссию указывайте отдельной строкой, чтобы она не выглядела частью суммы.

Двоичная арифметика и числа с плавающей точкой

В программировании обычный тип floating point не всегда точно представляет десятичные дроби. Выражение, которое человек считает точным, внутри может стать 0,099999999. Если затем умножить его и округлить неподходящим способом, возникнет ошибка в sat. Надёжные реализации хранят количество как целое число sat либо используют десятичную арифметику с контролируемой точностью.

Пользователю необязательно знать код, но можно проверить поведение на граничных значениях: 1 sat, 99 sat, 100 sat, 99 999 999 sat и 1 BTC. Если калькулятор выдаёт 0,99999998 BTC вместо 0,99999999 BTC или теряет последнюю единицу после обратного перевода, не используйте его для подготовки точной суммы.

Раннее округление

Если валютный эквивалент округлить до целых рублей, затем разделить обратно на цену и получить BTC, результат уже не обязан совпасть с исходным. То же происходит, когда vsize сначала грубо округляют до сотен, а затем умножают на ставку. Округление должно применяться на финальной единице и по известному правилу.

Для интерфейса разумно показывать удобное короткое число визуально, но хранить и раскрывать точное. Например, рядом с «примерно 90 ₽» должна быть строка «1 500 sat» и использованная цена. Для комиссии рядом с краткой оценкой показывают vsize, sat/vB и произведение.

Подмена буфера обмена

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

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

Поддельный калькулятор и запрос секретов

Для пересчёта BTC в sat не требуются адрес, подключение кошелька, seed-фраза, приватный ключ или подпись сообщения. Для оценки комиссии достаточно публичных параметров. Страница, требующая секрет восстановления ради «точного баланса» или «активации расчёта», пытается получить контроль над средствами.

Используйте офлайн-арифметику для базового преобразования. Если форма получает состояние mempool, ей нужен доступ к публичным данным, но не к ключам. Не устанавливайте неизвестное расширение только ради калькулятора. На устройстве с крупным балансом минимизируйте сторонние программы и проверяйте цифровые подписи кошелька.

Неверная сеть или тестовые монеты

Одинаковая запись «BTC» в интерфейсе не гарантирует, что выбран основной Bitcoin. Существуют testnet, signet и другие среды, чьи монеты не имеют того же назначения. Адресные префиксы и формат URI помогают различать сеть, но окончательное предупреждение должен показывать кошелёк. Калькулятор единиц выдаст одинаковые 100 000 000 sat на BTC, однако это не делает активы взаимозаменяемыми.

Перед подписью проверьте название сети и адрес. Не пытайтесь исправить ошибку увеличением комиссии: плата влияет на включение в блок своей сети, а не переносит транзакцию в другую. Если адрес отклонён, остановитесь и уточните реквизиты.

Скриншот вместо TxID

Изображение с суммой, временем и статусом легко изготовить или изменить. Даже настоящий экран «отправлено» может означать, что транзакция создана локально, но ещё не распространена. Проверяемым идентификатором служит TxID, а факт поступления устанавливается по конкретному выходу и подтверждениям. В статье что такое TxID подробно объясняется его роль.

Получив TxID, не ищите только крупную цифру «total». Одна транзакция может содержать несколько выходов, включая сдачу. Найдите свой адрес, его индекс и значение в sat. Затем проверьте статус. Калькулятор нужен для независимого пересчёта, но сетевые данные остаются первичным доказательством.

Неверное понимание комиссии

Некоторые интерфейсы показывают общую комиссию, другие — ставку, третьи — валютный эквивалент. Число «10» может означать 10 sat/vB, 10 sat целиком или 10 единиц обычной валюты. Единица должна стоять рядом. Если её нет, откройте подробности и не подтверждайте транзакцию.

Восстановите цепочку: фактическая плата в sat, vsize, частное fee/vsize. Если ставка выглядит разумно, но общая плата неожиданно высока, вероятна крупная транзакция с множеством входов. Если общая плата мала, а ставка высока, транзакция компактна. Эти различия нельзя определить по одной сумме перевода.

Проверка собственного калькулятора

Если вы делаете таблицу или небольшую программу, храните BTC как строку до преобразования, проверяйте не более восьми знаков и переводите в целые sat. Запрещайте отрицательные значения и неявную научную запись там, где её не ожидают. Для комиссии храните vsize и ставку отдельно, подписывайте единицы и округляйте итог вверх согласно логике реализации.

Добавьте автоматические тесты на 1 BTC, 1 sat, максимальное допустимое значение вашей формы, запятую и точку, пустой ввод, лишние пробелы, несколько разделителей и дробный sat. Для структуры транзакции проверьте ноль входов, необычно много выходов и изменение varint. Сравнивайте несколько готовых примеров с данными, сформированными проверенным кошельком, например изучив возможности Bitcoin Core.

Пошаговая проверка перед подтверждением

  1. Переведите сумму получателю в целые sat и выполните обратную проверку.
  2. Сверьте сеть и адрес после вставки, желательно на отдельном доверенном экране.
  3. Посмотрите выбранные UTXO и число входов, если кошелёк это позволяет.
  4. Проверьте выход получателю и выход сдачи.
  5. Сверьте vsize, ставку sat/vB и общую комиссию.
  6. Убедитесь, что выбранный срок подтверждения соответствует задаче.
  7. Проверьте, доступно ли повышение платы при необходимости.
  8. Только после этого подписывайте и сохраняйте TxID.

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

Как выбрать калькулятор и правильно читать итог

Признаки качественного инструмента

Хороший калькулятор показывает BTC и sat одновременно, не теряет восемь знаков, раскрывает формулу и подписывает изменяемые данные временем. Калькулятор биткоина онлайн должен работать по тем же проверяемым формулам, что и обычный офлайн-расчёт. Для комиссии он различает vsize, weight и физические байты, позволяет задать типы входов и выходов либо честно называет результат приблизительным. При пересчёте в обычную валюту он показывает использованную цену и не выдаёт её за гарантированное значение.

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

Когда достаточно обычного калькулятора

Для BTC ↔ sat специализированная страница не обязательна. Умножение или деление на 100 000 000 выполняет обычный калькулятор. Для справочного валютного эквивалента также достаточно двух исходных чисел. Это снижает зависимость от сторонних форм и позволяет сохранить расчёт офлайн.

Специализированный инструмент полезен, когда нужно оценить vsize по типам скриптов, подобрать UTXO, рассчитать пакет CPFP или получить актуальный ориентир ставки. Но финальный расчёт всё равно сравнивают с предварительным просмотром кошелька. Он располагает конкретными входами и способен дать более точную структуру.

Почему встроенный расчёт кошелька важнее общей формы

Универсальная форма не знает ваши UTXO, политику выбора монет, формат сдачи и детали подписи. Кошелёк знает их после разблокировки нужного аккаунта и построения транзакции. Поэтому внешняя оценка отвечает на вопрос «какой порядок расходов ожидается», а встроенный просмотр — «что именно будет подписано сейчас».

Если числа расходятся, не выбирайте автоматически меньшее. Сравните входы, выходы, vsize и ставку. Возможно, внешняя форма предполагала один вход, а кошелёк выбрал пять; возможно, выбран другой тип сдачи; возможно, один интерфейс показывает плату сверху, другой — вычтенную. Причину можно установить по структуре.

Как читать финальный экран

Строка Что она должна означать Что проверить
Получатель Конкретный адрес и выход Сеть, начало и конец адреса
Сумма Значение выхода получателю BTC и точный эквивалент в sat
Комиссия Разница входов и выходов Общая плата в sat
Ставка Комиссия на vB sat/vB и цель подтверждения
Размер Виртуальный размер vB, а не wu или обычные bytes
Сдача Новый выход собственного кошелька Не вычтена ли она ошибочно из суммы
Итого Реальное изменение контролируемых средств Как интерфейс учитывает сдачу

История вычислений и журнал

Для значимых операций сохраняйте исходную сумму в sat, целевую ставку, оценочный и фактический vsize, комиссию, TxID и время. Если использовался валютный эквивалент, добавьте цену и метод её получения. Такой журнал помогает объяснить расхождение между предварительной оценкой и фактом, а также повторить расчёт без догадок.

Не храните в журнале seed-фразы, приватные ключи и полные резервные копии. Публичный TxID можно записать, но совокупность адресов и сумм раскрывает финансовую историю, поэтому ограничьте доступ к файлу. Практическую структуру записей предлагает руководство о том, как вести журнал криптотранзакций.

Итоговый алгоритм расчёта

  1. Определите конечную задачу: единицы, справочная стоимость или комиссия.
  2. Приведите сумму к целым sat и сохраните исходное значение.
  3. Для валютной оценки зафиксируйте цену, время и метод.
  4. Для комиссии получите реальные UTXO или задайте обоснованные типы входов и выходов.
  5. Рассчитайте vsize и умножьте на актуальную ставку sat/vB.
  6. Проверьте уравнение входы = выходы + комиссия и отдельно найдите сдачу.
  7. Сравните ручную оценку с финальным экраном кошелька.
  8. После отправки проверьте конкретный выход по TxID и сохраните фактические данные.

Такой порядок отделяет неизменную арифметику от динамической оценки. Перевод BTC в sat проверяется точно, валютный эквивалент документируется как значение на момент, а комиссия рассчитывается по структуре и состоянию сети. Результат становится не просто цифрой на экране, а воспроизводимым вычислением.

Главный вывод

Калькулятор биткоина полезен, когда делает расчёт прозрачным. Один BTC всегда равен 100 000 000 sat; справочная стоимость зависит от выбранной цены; комиссия равна произведению виртуального размера на ставку и окончательно определяется структурой входов и выходов. Эти три правила закрывают большинство практических вопросов.

Перед подписью доверяйте не красивому итоговому виджету, а проверяемым данным: адресу, значению выхода в sat, выбранным UTXO, vsize, ставке и общей плате. После публикации сверяйте TxID в обозревателе. Если любой этап нельзя объяснить простой формулой или конкретным полем транзакции, остановитесь и найдите причину до отправки.