/custom_tax_bitcoin

Primary LanguagePerlBSD 2-Clause "Simplified" LicenseBSD-2-Clause

Идея

Общая идея проекта это использования некой усредненной комиссии для транзакций в сетях подобных bitcoin, в которых комиссия зависит от объема транзакции.

Постановка задачи

Усредненная комиссия лучше минимальной возможной комиссии из-за предотвращения заполнения кошелька мелкими входными транзакциями (input). Минимальные комисси сегодня в будущем могут привести к огромным комиссиям, так как для одной выходной транзакции (output) будет необходимо собирать большое множество input'ов, что увеличит размер транзакции, а как следствие комиссии. А это может быть неприятным сюрпризом для владельца кошелька. Что бы добавить прогнозируемости комиссии и создан этот алгоритм. Оператором указывается усредненная комиссия для транзакций и контролируется количество input'ов в кошельке, если растет, то стоит поднять комиссию, если сильно снижается количество input'ов, то возможно уменьшение оной.

Логика

Логика основывается на текущем состоянии сети и установленной оператором комиссии. Для каждой транзакции вычисляется максимальное количество input'ов. Из самых маленьких input'ов пытается собраться сумма для output'а. Если не выходит, то самый большой из собранных input'ов заменяется самым большим input'ом из кошелька и так далее, пока не наберется необходимая сумма.