Pos Mining

Discussion in 'Русский (Russian)' started by sergey zasorin, Feb 11, 2016.

  1. 2017/12/15 - Decred v1.1.2 released! → Release Notes  → Downloads
  1. Potro

    Potro New Member

    Jan 10, 2016
    9
    0
    Male
    Заметил такую особенность на Raspberry Pi 2, что если голосуешь за блок, а следующий блок находят уже через 20 секунд (или около того), то проголосовать не успеваешь и получаешь Revoked missed ticket.
    Revoked.png
     
  2. Dyrk

    Dyrk Sr. Member
    Developer

    Jan 7, 2016
    518
    376
    Male
    Wonderland
    Скорее всего такое случается не только с Raspberry (хотя у неё риск выше из-за домашнего интернета, там счёт идёт на миллисекунды отклика).

    В пулах тоже случаются пропуски, когда находят 2 блока с разницей в пару сек.
    Неприятно конечно, но ты почти ничего не теряешь (комиссии за транзакции теряешь), а вот PoW майнер твоего Блока потерял 20% награды за упущенный голос.
     
  3. Courier

    Courier New Member

    Feb 19, 2016
    43
    1
    Male
    Майню PoS на VPS практически с момента запуска PoS на 4096-м блоке (даже раньше запустил), такой проблемы (тьфу-тьфу-тьфу) не заметил. Всего один билет revoked, и тот в самом начале, когда в сети было много нестабильности. Так что дело скорее всего действительно в домашнем инете.

    Potro, а айпишник белый? Входящий порт открыт?
     
  4. Courier

    Courier New Member

    Feb 19, 2016
    43
    1
    Male
    А вот интересно... Как в пулах формируется максимальная цена для покупки билетов? Могут ли участники пула на нее влиять? Или пул тупо покупает по текущей цене, какой бы она ни была?
     
  5. Dyrk

    Dyrk Sr. Member
    Developer

    Jan 7, 2016
    518
    376
    Male
    Wonderland
    #65 Dyrk, Apr 21, 2016
    Last edited: Apr 21, 2016
    Ты сам выбираешь по какой цене купить билет.

    Автоматически:
    Code:
    dcrwallet --testnet --enablestakemining --ticketmaxprice=8 --ticketaddress=TckvkAyiUcxC4F9Qje9JBaCQqCDNisBf1Yr
    Вручную:

    Code:
    dcrctl --testnet --wallet purchaseticket "default" 8 1 TckvkAyiUcxC4F9Qje9JBaCQqCDNisBf1Yr
    
    , где 8 - максимальная цена, а "TckvkAyiUcxC4F9Qje9JBaCQqCDNisBf1Yr" - твой адрес в пуле.

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

    А второй кошелек всегда с балансом 0 и всегда разлочен (в пуле или не в пуле, не важно), онлайн 24 / 7. На него ты делегируешь право отдать голос. Деньги придут на твой первый офлайн кошелек.

    PS. Я на этой неделе запущу PoS-пул и напишу подробную инструкцию на русском языке.
     
    Courier likes this.
  6. Potro

    Potro New Member

    Jan 10, 2016
    9
    0
    Male
    #66 Potro, Apr 21, 2016
    Last edited: Apr 21, 2016
    Такой вопрос. Ну вот цена билета упала и мой кошелёк накупил билетов.
    Статус Immature они когда получат? Поздно уже комиссию увеличивать?

    Гарантирует ли (см.скриншот) покупку билетов?
     

    Attached Files:

  7. Dyrk

    Dyrk Sr. Member
    Developer

    Jan 7, 2016
    518
    376
    Male
    Wonderland
    Да, поздно. Твои билеты сейчас в очереди на покупку (mempool), который сейчас насчитывает 4000 билетов: https://dcrstats.com/

    В каждый блок включается максимум 20 билетов, только эти становятся immature (а через 256 блоков сами превращаются в live и участвуют в лотерее). До изменения цены билета (которая очевидно возрастет) осталось 74 блока, то есть из 4000 в мемпуле статус immature получат еще только 74 * 20 = 1480 билетов.
    Деньги за остальные билеты будут возвращены владельцам за вычетом комиссии на транзакции (любые транзакции всегда оплачиваются). То есть будет даже незначительная потеря денег. Хотя конечно хотя бы один проголосовавший билет перекрывает стоимость десятков/сотен пропущенных / недокупленных, тк награда за голос 1.8 DCR, а транзакции по 0.01 - 0.075 dcr
     
  8. Courier

    Courier New Member

    Feb 19, 2016
    43
    1
    Male
    Спасибо, как всегда исчерпывающий ответ :)

    Позволю себе еще вопрос тогда. Заметил, что значение "ownmempooltix" в выхлопе команды
    Code:
    ./dcrctl --wallet getstakeinfo
    не бывает больше 6. Это какое-то специальное ограничение, не больше 6 билетов в mempool от одного хоста?
     
  9. Dyrk

    Dyrk Sr. Member
    Developer

    Jan 7, 2016
    518
    376
    Male
    Wonderland
    Нет, такого ограничения нет. Вот мой результат прямо сейчас:

    Code:
    {
      "poolsize": 42345,
      "difficulty": 6.50133864,
      "allmempooltix": 3921,
      "ownmempooltix": 21,
      "immature": 34,
      ....
    }
     
  10. Potro

    Potro New Member

    Jan 10, 2016
    9
    0
    Male
    Можно ли быть уверенным, что билеты будут куплены, если поставить комиссию Чуть больше средней? Как вообще узнать какие комиссии у билетов в очереди?
     
  11. Dyrk

    Dyrk Sr. Member
    Developer

    Jan 7, 2016
    518
    376
    Male
    Wonderland
    В идеальном мире конечно можно. Комиссии идут только в награду PoW-майнеру нашедшему блок. И этот майнер может включить максимум 20 билетов в свой блок. Конечно же он хочет включать билеты с самыми высокими комиссиями (например по 0.1 dcr), чем какой-то мусор с комиссией 0.00125.

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

    Я пока что всегда использую комиссию 0.011 - результат вполне приемлемый даже в такие пиковые дни как сегодня.
     
  12. Potro

    Potro New Member

    Jan 10, 2016
    9
    0
    Male
    Спасибо! А то я уже напрягся как перебивать комиссии... А раз смысла нет, то и ладно.
     
  13. Courier

    Courier New Member

    Feb 19, 2016
    43
    1
    Male
    Хм... Значит как-то странно мой кошель покупает билеты: immature растет, а ownmempooltix = 6. Возможно, покупка новых просто совпадает с возвращением цены+награды за ранее сыгравшие билеты, поэтому такой эффект...

    А про какой эксплорер речь, где можно им побаловаться?

    P.S. В версии 0.1.0 вроде были какие-то фиксы на эту тему:
    Code:
    Fixed an issue with the mining transaction selection algorithm where it failed to sort stake transactions effectively. The codebase now defaults to no priority size spacing in the block, correctly sorts transactions by their stake importance, and then sub-sorts them by fees (113-2ba4225)
     
  14. Potro

    Potro New Member

    Jan 10, 2016
    9
    0
    Male
    #74 Potro, Apr 21, 2016
    Last edited: Apr 22, 2016
    Что-то мне не досталось ничего с комиссией 0.03
    А вам?

    P.S. тут пишут о подобных проблемах, что даже при 0.1 комиссии не купилось ни одного билета.
    https://forum.decred.org/threads/whats-is-going-on-in-price-of-ticket.3030/#post-18490
    ???
     
  15. Courier

    Courier New Member

    Feb 19, 2016
    43
    1
    Male
    Я вчера с комиссией 0.03 купил 23 билета. И еще 4 не успело созреть до повышения цены.

    Dyrk же говорил, что сейчас это чистый рандом, и комиссия мало что решает. Должны пофиксить, или уже пофиксили в версии 0.1.0. Ждем, пока сеть обновится, возможно станет лучше.
     
  16. Beoga

    Beoga New Member

    Mar 2, 2016
    30
    0
    А как комиссию для покупки билетов задать? Я так понимаю, что сейчас по умолчанию комиссия 0.01?
     
  17. Courier

    Courier New Member

    Feb 19, 2016
    43
    1
    Male
    Посмотреть текущую:
    Code:
    dcrctl --wallet getticketfee
    Установить новую:
    Code:
    dcrctl --wallet setticketfee 0.02
     
  18. Potro

    Potro New Member

    Jan 10, 2016
    9
    0
    Male
    Я правильно понял англоязычных друзей,
    https://forum.decred.org/threads/ticket-fee.3361/
    что с версии 0.1.0 нужно комиссию за покупку билетов выставлять с коэффициентом 0.3 ?
    т.е. чтобы заплатить 0.03 нужно setticketfee=0.1
    0.06..................setticketfee=0.2
    ?

    А то может поэтому у меня билеты перестали закупаться, что ставил 0.03, а умноженное на коэф. получатось 0.009
     
  19. Dyrk

    Dyrk Sr. Member
    Developer

    Jan 7, 2016
    518
    376
    Male
    Wonderland
    #79 Dyrk, Apr 24, 2016
    Last edited: Apr 24, 2016
    В принципе правильно*, но в реальности может быть по-разному, нужно тестировать и понимать что означает комиссия за KB.
    Суть в том, что ты выставляешь теперь цену за килобайт транзакции, что логично, майнеры не могут мгновенно проводить гигабайты чужих транзакций при текущем уровне развития интернета. А если лет через 5-10 технологии такое позволят, то можно легко при помощи PoS-голосования на референдуме протолкнуть идею на увеличение размеров блока до 100-1000мб и тд и тем самым значительно уменьшить размер комиссий на мелкие транзакции вроде покупки билетов или перевода денег на биржу с одного адреса.

    Так вот, возвращаясь к "комиссии за килобайт". Стоит понимать, что перевод с одного адреса на другой - это минимально возможная транзакция (возможно те самые 300б, упомянутые разработчиком). Но чем больше "текста" участвует в твоей транзакции, тем тяжелее и дороже она будет. То есть если у тебя 100 адресов по 0.1dcr и ты хочешь купить билет за 9.95 dcr, то это будет транзакция с участием 100 адресов для покупки одного билета (то есть транзакция с переводом со 100 адресов на 1). Я не могу назвать конкретных чисел, но комиссия за этот билет будет значительно выше (скорее всего в десятки раз).

    Каких-то ужасных комиссий тут ожидать не стоит, тем не менее важно понимать, что вы делаете. Если вы установите комиссию за 1кб = 0.5 dcr, то будьте готовы заплать 1.5 DCR комиссии за свою транзакцию размером в 3кб.
     
  20. Beoga

    Beoga New Member

    Mar 2, 2016
    30
    0
    #80 Beoga, Apr 24, 2016
    Last edited: Apr 25, 2016
    Это дикая недоработка. Пользователь должен абсолютно точно понимать сколько денег он тратит на комиссии.
    Надеюсь, что со временем это поправят.
     

Share This Page