Транзакции бывают различных видов. На картинке для примера показаны три транзакции с суммой 1 и комиссией 1, возвратная, входящая и исходящая:
Возвратной транзакцией можно отправить монеты/сообщение самому себе. Это имеет смысл при создании аккаунта. Чтобы он стал полноценным, с него должна быть сделана хотя бы одна исходящая транзакция. Можно послать самому себе любую сумму, хоть 0; минимальная комиссия 2 XEM будет для суммы в промежутке [8; 4547).
А это транзакция, фиксирующая в блокчейне факт активации / деактивации делегированного харвестинга (importance transfer transaction):
В сети NEM с периодичностью в среднем 1 минута (реальный разброс от 1 с до нескольких минут) генерится очередной блок, в который включаются все транзакции, совершаемые после предыдущего блока. Если к этому моменту не было совершено ни одной транзакции, то создается блок с нулевыми транзакциями/комиссиями, а списке транзакций аккаунта, нашедшего блок, появится фиктивная транзакция без Sender/Recipient (N/A, not available), с нулевыми Fee и Amount, и сообщением Block #[число].
Установлен лимит максимально допустимого количества транзакций в одном блоке. Сейчас в Nem это 120 tx/block (≈ 2 tps), в Nxt эта величина составляет 255 tx/block (≈ 4 tps), в Bitcoin ≈ 7 tps (≈ 3000...5000 tx/block)… Осуществляемые транзакции образуют очередь, упорядоченную по величине комиссии, первые в очереди транзакции с бóльшей комиссией. В случае одинаковых комиссий главнее будет транзакция, имеющая мéньший временнóй штамп.
При отправке монет в NEM (и в других криптовалютах) вы, помимо адреса получателя, суммы и комиссии, ещё указываете предельное время ожидания для транзакции (по умолчанию 24 часа). Если по истечении этого времени ни один активный сервер (с открытым портом 7890) не возьмет в свой очередной блок вашу транзакцию, то она будет аннулирована, и сумма вернётся вам на счёт. Поэтому в будущем, когда транзакций станет много, будет лучше указывать предельное время 1 час, и в случае аннуляции снова запускать платёж, но уже с повышенной комиссией.
В тестовой сети, до версии 0.5.x, комиссии вычислялись по формуле:
где a - сумма в XEM [amount].
Действующая формула для вычисления величины комиссии для суммы, участвующей в транзакции:
где a - сумма в XEM,
___скобки-верхние уголки означают целую часть числа в сторону увеличения (функция Айверсона потолок),
___скобки-нижние уголки означают целую часть числа в сторону уменьшения (функция Айверсона пол).
- Код:
- [0; 1) 10
[1; 2) 9
[2; 3) 8
...
[7; 3) 3
[8; 4547) 2
[4547; 6064) 3
[6064; 7583) 4
[7583; 9103) 5
[9103; 10624) 6
[10624; 12148) 7
...
Действующая формула для вычисления величины комиссии для сообщений:
где m - количество байт в сообщении [message].
- Код:
- 0 0
[1; 31] 2
[32; 47] 4
[48; 63] 6
[64; 79] 8
...
При совершении MS транзакций, дополнительно к комиссии f(a) + f(m) взимается комиссия 6 XEM, независимо от количества соучастников.
Величина комиссии, взимаемая при создании / редактировании MS аккаунта, зависит от количества добавляемых / удаляемых соучастников c:
f(c)=10+6c
где c - количество добавляемых / удаляемых соучастников [cosignatories].
При активации / деактивации делегированного харвестинга за транзакцию передачи значимости узла (importance transfer transaction) взимается комиссия 10 XEM.
Оригинал: http://free.userboard.net/t128-topic