Перейти к содержанию

Логика работы с пулом.


kievpool

Рекомендуемые сообщения

Привет всем продвинутым майнерам! :)

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

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

Итак, до этого времени я полагал что пул каким-то образом разбивает задачу по поиску хеша на более мелкие и раздает их манерам, а после получения от майнеров верных решений, каким-то образом это дело суммирует и получает в итоге заветный хеш блока. Я думал что берутся какие-то куски заголовка блока и раздаются для поиска их хешей. Я стал изучать исходники майнеров и понял что на самом деле всем майнерам отправляется одна и та же задача - найти хеш текущего блока (вернее заголовка блока, который формируется из отдельных частей - текущая версия + хеш предыдущего блока + merkel root и т.д.), просто задание дается найти хеш слабенький, то есть хеш который может найти существующая мощность каждого майнера.

Таким образом майнерам с мощным хешрейтом даются задания найти более сложный хеш, тем что послабее - хеши попроще.

Я не буду объяснять тут что значит попроще и посложнее, тем кто в теме и так понятно о чем я пишу. Просто объясняю как я это понял для себя.

Итак, все майнеры ищут хеш текущего блока (то есть задание у всех одинаковое), но с разной сложностью. Потом все присланные хеши определенным образом подсчитываются, то есть хеши с более высокой сложностью имеют соответственно более высокий вес при расчете вознаграждения. Если в итоге блок найден - награда делится пропорционально присылаемым хешам и их сложности, но сейчас не об этом. В определенный момент кто-то из майнеров (может даже самый слабенький) находит заветный хеш, который и даст пулу возможность получить награду за блок. И вот тут меня начинают терзать смутные сомнения - а зачем майнер отдает такой хеш пулу, почему ему не получить целиком награду за блок самому? Для этого ведь всего лишь надо написать умный манер, который в случае нахождения решения блока перенаправит хеш на свой соло манер и получит награду. То есть выгода очевидна, мы майним на пуле, получаем себе какой-то небольшой доход за решенные шары, а в случае если повезет - срываем весь куш. Я не прав?

 

 

Ссылка на комментарий
Поделиться на другие сайты

@kievpool, я смотрю, великая жажда халявы и непобедимое желание наеобмануть ближнего не покидает сердца адептов "Чистой Прибыли" уже много лет подряд.

 

А дело в том, что майнер (программа) сама не знает, какой же хеш нужен. Потому и шлет возможные решения на ПУЛ или СОЛО Кошелек, которые и проверяют валидность хеша.

Иначе нафига гнать на ПУЛ все шары подряд, достаточно бы было считать их втихую и выдавать "на гора" готовое решение - ту самую золотую шару.

Ссылка на комментарий
Поделиться на другие сайты

Майнер (программа), без проблем может определить какой хеш нужен. Это тот хеш который удовлетворяет текущей сложности сети и является заветным. Дело тут в другом. Когда майнер ищет нужный хеш, перебирая миллионы вариантов, он работает с заготовкой (шаблоном) блока который присылает ему пул. В данной заготовке участвует меркл рут списка транзакций. В данном списке транзакций первая транза это выплата вознаграждения за блок на адрес пула. Подменив эту транзакцию на свою, ты изменишь меркл рут и изменишь тем самым шаблон блока для майнинга. За такие шары пул тебе платить не будет соответсвенно, так как при проверке хеша он будет подставлять свой шаблон и шара будет отвергнута (invalid/rejected). Это равносильно тому, чтобы просто самому встать в соло майнинг и в случае если тебе повезет то получить награду.

 

 Вариант с халявай кстати существует вот рецепт это халявы:

 

Предположим у тебя крупный пул и ты обладаешь 8% мощности сети ( то есть это где-то 150-200 петахешей). Ты делишь всю свою мощность на 2 части. Первой половиной ты подключаешься к различным пулам и майнишь на них но "прокаченным" майнером. Этот майнер должен работать как обычно но в том случае если он найдет блок должен зажать его и не отдать пулу. Другая половина мощности майнит на тебя в обычном режиме.  При таком сценарии ты понижаешь удачу всей остальной сети на 4%, при этом получая выплаты как ни в чем небывало за эти мощности. В итоге твой пул имеет преимущество в виде более высокой удачи и чаще находит блоки чем должен был бы, на те же 4%.  Данную махинацию со стороны крупного манйера обнаружить можно только анализируя удачу своего пула поняв что она ниже чем должна быть, а найти среди своих клиентов того, кто крысит тоже весьма не просто. Вот примерно как то так крупные майнеры могут вести нечестную игру.

Ссылка на комментарий
Поделиться на другие сайты

 

 

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

 

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

Ссылка на комментарий
Поделиться на другие сайты

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

Ссылка на комментарий
Поделиться на другие сайты

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

Технически в вычислении хеша заголовка блока участвует только меркл рут ( хешируется только заголовок блока )

 

https://en.bitcoin.it/wiki/Block_hashing_algorithm

 

 

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

Изменено пользователем 4_tochka
Ссылка на комментарий
Поделиться на другие сайты

 

 

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

 

Описание стратума на примере биткойна по ссылке выше. При подписке или новом задании клиент получает следующее:

 

This is sent at regular intervals by the server. It should be sent almost immediately after an acknowledge subscription.
Work pushes contain:
params[0] = Job ID. This is included when miners submit a results so work can be matched with proper transactions.
params[1] = Hash of previous block. Used to build the header.
params[2] = Coinbase (part 1). The miner inserts ExtraNonce1 and ExtraNonce2 after this section of the coinbase.
params[3] = Coinbase (part 2). The miner appends this after the first part of the coinbase and the two ExtraNonce values.
params[4][] = List of merkle branches. The coinbase transaction is hashed against the merkle branches to build the final merkle root.
params[5] = Bitcoin block version, used in the block header.
params[6] = nBit, the encoded network difficulty. Used in the block header.
params[7] = nTime, the current time. nTime rolling should be supported, but should not increase faster than actual time.
params[8] = Clean Jobs. If true, miners should abort their current work and immediately use the new job. If false, they can still use the current job, but should move to the new one after exhausting the current nonce range.

 

Результат работы пул проверяет не по содержимому шаблона, обратно его никто не отправляет, а по job id и nonce + экстранонс если он есть.

При наличии шары выше текущей сложности - пулу не нужно ничего считать и тратить время, нужно просто отправить ее в сеть.

 

Нельзя майнить на пул, а нужную шару отправлять в сеть отдельно и получить награду на свой адрес. Именно это хочет ТС.

Ссылка на комментарий
Поделиться на другие сайты

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

вот такие вопросы до сих пор у меня без ответа:

Куда цепляется кошелек?, то есть к какому серверу.

Как проходит процесс раздачи пулом работы и проверка что хэш не просто набор символов.

Ссылка на комментарий
Поделиться на другие сайты

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

вот такие вопросы до сих пор у меня без ответа:

Куда цепляется кошелек?, то есть к какому серверу.

Как проходит процесс раздачи пулом работы и проверка что хэш не просто набор символов.

 

 

Кошелек, если ты имееш ввиду сам bitcoind то он сам может быть запущен в режиме майнинга насколько я понимаю.

Раздача и заданий осуществляется по протоколу stratum

 

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

Ссылка на комментарий
Поделиться на другие сайты

@4_tochka,интерес есть, знаний нет. Я больше по железкам.
Ссылка на комментарий
Поделиться на другие сайты

Я думаю ТС уже понял что схитрить не получиться. :)

 

Дружище, что такое ТС? Пока у меня в голове крутятся только самые нехорошие варианты :)

Да, в общем то я понял что разработчик биткоина человек не глупый, так с умом заложить все функции в эту задумку, причем спустя столько лет никто не может найти в ней лазейки, это я вам скажу просто гениально. Ладно палю еще одну идею, которая тоже оказалась несостоятельной (хотя, кто его знает...), итак:

Я вот подумал, почему бы не схитрить и не начать майнить наперед, то есть не спеша находить хеши будущих задач и заносить из в базу. Потом, имея огромную базу по хешам, ждать когда 80 битный заголовок который необходимо схешировать совпадет с одним из значений в нашей базе - и вуаля, у нас уже есть готовое решение :) Чтобы получить все хеши нам надо 2 в 80 степени решений, но на самом деле нужно меньше, так как перыве четыре байта это версия, она не меняется, потом в хеше предыдущего блока тоже на данный момент 8 бит которые всегда равны 0, итого нужно 2 в 68 степени решений. Но так как мы люди не жадные и нам не нужно разгадывать все блоки, то 2 в 60 степени думаю будет достаточно. Собираем команду, дружно майним хеши на будушее и весь мир у наших ног.   Но вот чертов мекл рут я думаю опять портит все мои планы.

Ссылка на комментарий
Поделиться на другие сайты

Привет всем продвинутым майнерам! :)

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

Если уж Вам так хочется посчитать наперед, то можете считать для Эфира.

Там всего 40 бит.

Но задание нужно принимать от пула которые не требуют вместе с решением дайджест.

Например, дварфпул требует дайджест.

Найсхеш не требует.

Но это может работать теоретически в пределах одной эпохи.

Изменено пользователем Etar
Ссылка на комментарий
Поделиться на другие сайты

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

Если уж Вам так хочется посчитать наперед, то можете считать для Эфира.

Там всего 40 бит.

Но задание нужно принимать от пула которые не требуют вместе с решением дайджест.

Например, дварфпул требует дайджест.

Найсхеш не требует.

Но это может работать теоретически в пределах одной эпохи.

 

Спасибо за совет, но биткоин мне тем и интересен, что он более понятен. По крайней мере я уже написал (вернее переделал для своих нужд) несложный майнер на Java, сделал майнер на микроконтроллере, это прости интересно. А все остальные форки только и делают что усложнняют алгоритмы и вводят какие-то непонятные для меня вещи, топа эпохи...  Я понимаю что иду по граблям, но мне интересен сам процесс поиска уязвимости. В этом деле выиграет тот, кто будет идти не вместе с толпой, а додумается до чего-то оригинального. 

Ссылка на комментарий
Поделиться на другие сайты

"Дружище, что такое ТС?"  -  общепринятое сокращение на форумах означает Топик Стартер, то есть, тот кто начал данный топик. В данном случае это ты, ничего обидного в этом нет ;)

Изменено пользователем 4_tochka
Ссылка на комментарий
Поделиться на другие сайты

  • 7 месяцев спустя...

Возник вопрос к знатокам майнинга.

Смотрите современные майнеры BTC ищут хэш со скоростью  ~ 13 TH/s т.е. получается если каждый хэш это 64 бита, то каждый майнер должен обменивается информацией с пулом на скорости 13*64 = 832Tbit/s 

Очевидно понятно что таких скоростей при майнинге нет. Более того один современный майнер вполне комфортно работает с 3G модемом.

Получается что майнер все-таки ищет не полный хэш и как?

Ссылка на комментарий
Поделиться на другие сайты

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

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
  • Similar Topics

    • Подарите пожалуйста шанс встать с инвалидной коляски + мои изделия ручной работы

      Здравствуйте всем добрым и понимающим людям!меня зовут Виктория,я инвалид-колясочник 1-гр.В 18 лет я получила травму,которая приковала меня к коляске.И вот уже 14 лет ищу любую возможность заработать в интернете средств, чтобы просто выжить. Я живу с мамой на одну мою пенсию 1.769 грн и помощь по уходу за мной мама получает 200 грн. При этом моя реабилитация в международной клинике восстановительного лечения, сроком на 11 дней, стоит 14000 грн. Неподъемная сумма для меня! И это без проживания и

      в Благотворительность

    • Требуется специалист у кого был опыт работы в автообменнике либо был свой автообменник

      Что вы должны уметь для данной работы:   Понимание криптоплатежей Понимание организации выплат на карточки Навыки маркетинга автообменника Понимание организации менеджмента автообменника   Удаленная работа в новой платежной системе. Зарплата 2000 USD. Белая удаленная работа.   При выходе на прибыль возможен небольшой %   Шлите в Телеграм @fintechmonster описание вашего релевантного опыта работы

      в Работа

    • Сингапур ужесточит правила работы криптовалютных компаний

      Законодатели Сингапура внесли поправки в Закон о платежных услугах. Поправки усложнят регулирования цифровых активов. Декларируемая цель: защита криптовалютных трейдеров и инвесторов. Денежно-кредитное управление Сингапура (MAS) пообещало, что дополнения к Закону о платежных услугах вступят в силу постепенно, начиная с 4 апреля 2024 года. Измененные правила будут распространяться на поставщиков услуг, занимающихся передачей и обменом токенов, даже если сами сервисы не владеют криптоактивами

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

    • Биржа Binance анонсировала частичную приостановку работы сервиса Convert

      Крупнейшая криптобиржа мира объявила о плановом техническом обслуживании сервиса Binance Convert и временном прекращении обслуживания 15 торговых пар. Команда торговой площадки уточнила, что 28 февраля временно прекратит доступ к торговым парам на Binance Convert, включая: WBNB-BNB, WETH-ETH, GXS-REI, BTTOLD-BTTC, TRXOLD-TRX, STGOLD-STG, RDNTOLD-RDNT, QUICKOLD-QUICK, AVAOLD-AVA, OPUSDCE-USDC, MATICUSDCE-USDC, ARBUSDCE-USDC, TUSDOLD-TUSD, PAX-USDP и BUSD-FDUSD.   Компания объяснила: г

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

    • Поиск работы (Стабильные проекты)

      Здравствуйте ув.форумчане   Что я предлагаю усторить вашему проекту: - Постоянный контроль чатов, социальных страниц, форумов, веток а так-же пост информации - Создание баннеров (дизайн) и пост, ежедневно, поддерживание целевой аудтиории в активе. - Идеи и реализации маркетинговых ходов по минимальному бюджету (тест-режим так-же возможен) - Проведение, организация мероприятий онлайн, оффлайн не важно. (Так-же входит работа по bitcointalk.org) - Еженедельный(месячные) отчёты п

      в Работа

×
×
  • Создать...