Jump to content
polym0rph

Расчет комиссий биткоин

Recommended Posts

Всем привет!

 

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

Мы решили в связи с этим сделать свою утилиту, которая анализирует мемпул и показывает, какую комиссию лучше всего поставить.

 

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

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

 

Плюс градацией цветов в воронке мы отображаем сколько каких транзакций в ней по комиссии.

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

 

Ссылка на прототип - https://bits.media/bitcoin-fee/

 

 

Версия 1:

Скрытый текст

 

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

 

Bitcoin-fee.png

 

 

Версия 2:

Скрытый текст

 

Было решено отказаться от пропорциональной воронки, т.к. простыня эта была совсем неюзабельна. Теперь воронка фиксированной высоты, полная высота = максимум за последние 24 часа.

Также добавили графики минимальной и средней комиссии, а также статистику нахождения блоков, чтобы можно было понимать по скачкам, что сейчас происходит.

 

изображение.png

 

 

 

Share this post


Link to post
Share on other sites

@polym0rph , отлично, написал про утилиту в нашем топике про поиск оптимальной комиссии. 
Пока что с припиской, что это прототип.

Share this post


Link to post
Share on other sites

@polym0rph в целом очень правильное начинание. Все расчеты комиссий, что я видел, по качеству были от "не очень" до "совсем плохо".

6 часов назад, polym0rph сказал:

наиболее эффективно взять половину от среднеарифметического средней и минимальной комиссии, добавить это значение к средней комиссии и с ней отправлять

Т е формула (mid+min)/2/2+mid ? Средняя комиссия - по мемпулу, в последнем блоке или в нескольких последних блоках? Тот же вопрос про минимальную?

Воронку можно вверх ногами развернуть.

 

Ох. Вот сейчас (09:10 МСК) bits.media рекомендует 4-7 сатоши за байт:

621618352_Screenshotfrom2020-12-2909-09-58.thumb.png.9702cb8473ee356aa1b6b00a80cb49aa.png

И это при том, что в мемпуле 4.7 Мб транзакций с комиссией > 7 сат/байт и уже более 10 часов транзакции с комиссией <10 сат/байт не проходят совсем (если не считать "льготников"):

1610342952_Screenshotfrom2020-12-2909-10-53.thumb.png.19a74f6ede017fe9ca4b585c828fcf98.png

 

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites
9 часов назад, sankopolo сказал:

Т е формула (mid+min)/2/2+mid ?

Нет, не min а max там должно быть. Остальное верно.

 

9 часов назад, sankopolo сказал:

Средняя комиссия - по мемпулу, в последнем блоке или в нескольких последних блоках? Тот же вопрос про минимальную?

В блоках особо не имеет смысла считать что было. Так что все расчеты по текущему мемпулу.

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

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

9 часов назад, sankopolo сказал:

Воронку можно вверх ногами развернуть.

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

9 часов назад, sankopolo сказал:

Ох. Вот сейчас (09:10 МСК) bits.media рекомендует 4-7 сатоши за байт:

 

7 часов назад, Graf34 сказал:

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

Это пример как страница может выглядеть для обсуждения. Я специально писал - "Пока не закончим разработку просьба не относиться к рекомендациям как к достоверным. Ссылку на утилиту нигде в меню не выносим специально, это можно сказать черновая версия в процессе разработки. " и нигде ссылку на эту страницу не давал, кроме этого топика. Сейчас только к сайту прикрутили, там еще не набрались данные, да и не факт что все стабильно будет работать тут, когда наберутся. Не надо ориентироваться на эти значения! Я напишу, когда эта штука будет стабильно работать. Пока только обсуждение какие данные и как лучше выводить, чтобы это было всем удобнее и нагляднее.
 

Share this post


Link to post
Share on other sites

Можно добавить параметр - расчетная комиссия для попадания в первый блок при 1 час задержке блоков.

Share this post


Link to post
Share on other sites
17 minutes ago, polym0rph said:

формула (mid+min)/2/2+mid

Но минимум по мемпулу уже давно единица и не меняется? Тогда получается (mid+min)/2/2+mid=1.25*mid+0.25*min=1.25*mid+0.25 ?

 

Не верится мне в такие формулы... Большая часть мемпула никак не влияет на возможность попадания в блок в короткосроке - скажем, за 6 блоков. Реально влияет только 5-10 мб "верхушка". Может, попробовать оценивать по ней?

 

Я хочу сказать, что сделать хороший рекомендатор комиссий - реально сложно. Хотя бы потому, что никакая разумная комиссия не гарантирует попадание в первый (или даже первые 6) блоков. Максимум, что можно достоверно посчитать - при такой комиссии вероятность попадания в первый блок будет примерно p_1, во второй - примерно p_2 и т д. Но кому из пользователей нужна эта куча вероятностей и что он будет с ней делать?

12 hours ago, polym0rph said:

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

Кстати, эта проблема на 95% решается включением replace-by-fee в кошельке - у транзакции можно будет менять легко комиссию на лету.

Share this post


Link to post
Share on other sites
1 час назад, 2222 сказал:

Можно добавить параметр - расчетная комиссия для попадания в первый блок при 1 час задержке блоков.

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

 

1 час назад, sankopolo сказал:

Не верится мне в такие формулы

И правильно. Потому что min учитывать практически бесполезно, да и этот параметр узлы вообще сами настраивать могут, меньше какой комиссии они не обрабатывают.

В формуле у нас используется max и mid. Они уже позволяют более адекватно оценить вероятность попасть в ближайшие блоки.

 

1 час назад, sankopolo сказал:

Кстати, эта проблема на 95% решается включением replace-by-fee в кошельке - у транзакции можно будет менять легко комиссию на лету.

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

Share this post


Link to post
Share on other sites

Может как-то графически отображать тенденцию к росту или снижению комиссии? Например, красная стрелка вверх - в последних блоках комса росла, зеленая вниз - снижалась.

Share this post


Link to post
Share on other sites

@vernichter  Как вариант график средней комиссии добавить. Чтобы пользователи могли сами интерпретировать тенденцию.

Share this post


Link to post
Share on other sites
17 hours ago, polym0rph said:

Как вариант график средней комиссии добавить.

График минимальной комиссии в блоке был бы очень неплох. А ещё лучше - пятый (третий, десятый) процентиль, чтобы убрать "льготников".

Это будет график необходимой комиссии для попадания в блок.

Share this post


Link to post
Share on other sites

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

Если увидите любые аномалии - пишите.

Ну и по внешнему виду по-прежнему предложения принимаются, сейчас понятно что это черновой вариант все еще.

Share this post


Link to post
Share on other sites

Так, при 120+Мб транзакций в мемпуле сервак начинает не справляться с обработкой в реалтайме, там все транзакции отдельно обрабатываются. Похоже надо что-то оптимизировать.

Share this post


Link to post
Share on other sites

Обновили страницу https://bits.media/bitcoin-fee/

Было решено отказаться от пропорциональной воронки, т.к. простыня эта была совсем неюзабельна. Теперь воронка фиксированной высоты, полная высота = максимум за последние 24 часа.

Также добавили графики минимальной и средней комиссии, а также статистику нахождения блоков, чтобы можно было понимать по скачкам, что сейчас происходит.

Работает весьма стабильно сейчас уже, прошлые подвисания все вылечили. Есть еще что шлифовать, но в целом уже рабочий инструмент, как мне кажется. Что скажете?

Share this post


Link to post
Share on other sites

Обновили страницу https://bits.media/bitcoin-fee/

 

Вместо сатоши/Кбайт сделали BTC/Кбайт, т.к. это значение в Bitcoin Core, удобнее сверяться.

 

Добавили значение в баксах для минимальной по объему транзакции(225 байт) при рекомендованной комиссии для быстрой отправки. Обратите внимание, что реальные транзакции обычно имеют несколько входов/выходов, поэтому занимают больше места и обходятся дороже. Минимальный размер приведен для примера, чтобы быстро в баксах можно было оценить текущую ситуацию в сети.

 

Добавили значение в баксах по средней комиссии, которую сейчас платят люди. То есть буквально по текущему срезу мемпула берется сумма всех комиссий и делится на количество транзакций.

 

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

 

изображение.png

 

UPD:
При скачках удачи бывает так, что комиссий оказывается и у халявщиков даже больше, чем нужно
изображение.png

 

Share this post


Link to post
Share on other sites

@polym0rph , спасибо большое! Реально удобная штука!!!!

Только у вас там ашиппки:

"платят отправители за свои трензакции"

 

"

Share this post


Link to post
Share on other sites

@Dmitrii Storm Спасибо, сейчас поправим.

Share this post


Link to post
Share on other sites

У вас один из самых удобных калькуляторов, спасибо!

Share this post


Link to post
Share on other sites

Обновили код утилиты, ускорили обработку транзакций в несколько раз. По идее ничего отвалиться не должно)

Share this post


Link to post
Share on other sites
7 часов назад, polym0rph сказал:

Обновили код утилиты, ускорили обработку транзакций в несколько раз. По идее ничего отвалиться не должно)

 

Шик-блеск-красота!

 

Такое предложение:

возможно на бочке мем-пула сделать зарубки? Например, сбоку где-то обозначить, что в апреле 2020 было на  максимуме, условно, 350 МБайт.

А то смотришь на цифру 132 Мб и не понимаешь, это много или мало. Не с чем сравнить.

В порядке бреда, конечно.

 

А так - отличный инструмент! Спасибо!

Share this post


Link to post
Share on other sites

Поломалась шайтан-машина

2134270579_.thumb.png.acf9eb9a499075bc3acbe38d74a34b9c.png

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Recently Browsing   0 members

    No registered users viewing this page.

  • Similar Topics

    • Энтони Скарамуччи: «те, кто изучают биткоин, убедятся в его потенциале»

      Сооснователь хедж-фонда SkyBridge Capital называет биткоин «цифровым золотом». По его мнению, потенциал криптовалюты очевиден, если внимательно ее изучить. Энтони Скарамуччи (Anthony Scaramucci) говорит, что такие крупные инвесторы, как Рэй Далио (Ray Dalio, Пол Тюдор Джонс (Paul Tudor Jones) и Стэнли Дракенмиллер (Stanley Druckenmiller) изучили вопрос и пришли к выводу, что им нужно иметь биткоин в своем портфеле. Для того, чтобы понять потенциал криптовалюты, он предлагает прочитать Белую кни

      in Новости криптовалют

    • Эмин Гюн Сирер: рынок криптовалют созреет, когда стейблкоины обойдут биткоин

      Основатель сети Avalanche Эмин Гюн Сирер (Emin Gün Sirer) заявил, что «обоснованная» ценность стейблкоинов обеспечит их преимущество над другими криптовалютами. Генеральный директор Ava Labs считает, что первым признаком массового успеха криптовалют станет то, что какой-либо стейблкоин обгонит биткоин и станет ведущей цифровой валютой.   «Мы и близко не закончим формирование крипторынка, пока монетой номер один не станет стейблкоин. Это мой показатель настоящего успеха».  

      in Новости криптовалют

    • Токенизированный биткоин и прочие заморозки

      Разговор с самой собой .... Вопрос:   зачем замораживать биткойн на бирже и получать взамен токенизированный биткойн на erc-20? Ответ:      наверное чтобы бирже не отдавать настоящий биткойн. Вопрос:    а почему его не хотят отдавать? Ответ:       наверное потому что у биржи его нет. И в правду, объем замороженных биткоинов растет, замораживает их как правило биржа которая выдает тебе взамен токены 1к1, всячески стимулируя это низкой комиссией на вывод токена. Ситуация с прочими мон

      in Общий

    • Биткоин - Ванга

      Лучше других знаешь, какой будет курс Bitcoin? Надоело доказывать свою правоту неверующим? ДОКАЖИ ИМ ВСЕМ!   Ты можешь каждый понедельник оставлять прогноз, какой курс Bitcoin будет в воскресенье в 12.00 по Москве на бирже Bitstamp. В конце недели будем смотреть, кто оказался ближе всего к истине.   Если при не менее 5 участниках ты 3 раза подряд окажешься самым догадливым, то можем по желанию установить статус в профиле "Великий Вангователь", или в другой формулировке по желанию. А если 5 раз -

      in Конкурсы

    • Биткоин придумал сам сатана.

      Доброго времени, господа. Я сильно сомневаюсь, что мои слова тут кто-нибудь поймет, но все же не теряю надежды быть не только услышанным, но и понятым. По моему мнению, биткоин придумал сам сатана, ибо только ему присуща такая изуверская хитрость. Так сгубить миллионы душ мог только он.   Все вы мечтаете о курсе 1 000 000$ за 1BTC, ждете нового 17го года,  шутите о квартире в Цитаделе. Так вот - бойтесь своих желаний. Не дай Бог оказаться вам богачем по среди толпы нищих людей.

      in Клиника

×
×
  • Create New...