Комиссия
Комиссия может быть включена в любую транзакцию в сети Bitcoin.
Как рассчитывается комиссия
На данный момент большое количество транзакций обслуживаются таким образом, что комиссию можно не платить. В свою очередь, если в транзакции много входов (то есть она обладает большим размером данных), небольшая комиссия – в порядке вещей.
Любой майнер является обработчиком транзакции и получателем комиссии. Когда в сети находится новый блок, в него включается вся информация по транзакциям и, в том числе, их комиссия. Таким образом, пользователь или группа пользователей, которые нашли этот блок, получат и награду за блок, и комиссию за все транзакции, включённые в него.
Включение комиссии в транзакцию – процесс добровольный, но, пользователь нашедший блок, может включать в состав блока транзакции по своему усмотрению. Таким образом, транзакции с нулевой комиссией имеют самый низкий приоритет, а транзакции даже с минимальной комиссией (~0.0001 BTC на данный момент) имеют стандартный приоритет и с высокой вероятностью будут включены в состав блока.
В будущем, при снижении награды за блок, основным источником дохода майнеров станет комиссия за транзакции. Даже когда награда за блок исчезнет вовсе, смысл майнить по-прежнему останется, так как при нахождении блока пользователь будет получать комиссию за все транзакции.
Комиссия за отправку транзакций
Транзакция с нулевой комиссией может быть удачно отправлена, если соблюдаются следующие условия:
В противном случае транзакция будет округлена до 1000 байт и будет добавлена комиссия в размере 0.0001 BTC. За каждые последующие 1000 байт в этой транзакции так же будет добавлено по 0.0001 BTC комиссии.
Таким образом, комиссия в транзакции размером 750 байт будет составлять 0.0001 BTC, а в транзакции размером 1001 байт – 0.0002 BTC. Стандартный Bitcoin кошелек (Bitcoin-Qt) всегда запрашивает у пользователя подтверждение на комиссию, если пользователь не согласен ее платить он может отменить транзакцию. Средний размер транзакции, на текущий момент, составляет примерно 500 байт, что соответствует комиссии в 0.0001 BTC.
Включение в блоки
В этой части будет описан текущий принцип включения транзакций в блок. Эта настройка является гибкой для каждого майнера, если они хотят иметь больший или меньший размер блока, содержащий больше или, соответственно, меньше транзакций.
30 000 байт в блоке выделены для транзакций с высочайшим приоритетом, они никак не зависят от комиссии. Затем в блок добавляются транзакции, которые имеют минимальную и выше комиссию. Чем выше комиссия, тем больше приоритет. Максимальный размер блока составляет 300 000 байт. Не вошедшие в состав блока транзакции остаются в памяти майнера и могут быть включены в последующие блоки.
Ретрансляция транзакций
Правила ретрансляции транзакций (англ. — «relaying») по сети схожи с правилами включения транзакций в блок. Комиссия в 0.0001 BTC используется для опознавания транзакции как «свободная». Для того, чтобы избежать DDoS атаки на сеть путем ретрансляции большого количества минимальных транзакций был введен лимит на «свободные» транзакции – 15 000 байт в минуту.
Настройки транзакции
Настройки | Значение по умолчанию (единица измерения) |
---|---|
paytxfee | 0.0000 (BTC) |
limitfreerelay | 15 (thousand bytes per minute) |
mintxfee | 0.0001 (BTC) |
blockmaxsize | 300000 (bytes) |
blockminsize | 0 (bytes) |
blockprioritysize | 30000 (bytes) |
Приоритет транзакций
Приоритет транзакции рассчитывается следующим образом:
Приоритет транзакции должен быть не менее 57,600,000 для избежания лимитирования. Лимит записан в коде в виде: COIN * 144 / 250, что предполагает, что транзакция содержит «монету» с возрастом в 1 день (144 это количество предполагаемых блоков в день) и размер транзакции составляет 250 байт.
Приведем пример, транзакция, которая содержит 2 входа, один из них на 5 BTC с 10ю подтверждениями и один на 2 BTC с 2мя подтверждениями, транзакция имеет размер в 500 байт, таким образом ее приоритет будет равен: (500000000 * 10 + 200000000 * 3) / 500 = 11,200,000