Author

Topic: Отличие соло шары от шары пула. (Read 7763 times)

legendary
Activity: 1120
Merit: 1069
Не подскажите где можно более подробно почитать про структуру блока и те моменты что я спрашивал, предпочтительнее русскоязычные источники.
Вот на русском не подскажу, а подробно про все это можно почитать тут https://en.bitcoin.it/wiki/Getwork и далее по ссылкам и ключевым словам в поиске вики

p.s. помимо простой схемы
Quote
майнер - запрос getwork -> пул (подменяет сложность в target на 1) - запрос getwork -> к кошельку пула
существуют разные надстройки и модификации алгоритма, потимизирующие потребление ресурсов при связи майнера с пулом и уменьшающие задержки между получением новой задачи, например https://en.bitcoin.it/wiki/Stratum .
member
Activity: 112
Merit: 10

Вот вы говорите поровну распределяет работу, получается что более быстрый майнер, как вы и сказали успеет выполнить всю полученный работу , а более медленный майнер нет, и если окажется что валидное решение блока находилось как раз в интервале более медленного пира который этот интервал не успел обработать - пул потеряет валидное решение ?
Тут же всё на случайностях. То что майнер А перебрал миллион nonce, а майнер Б - десять, не означает что шанс найти валидный результат следующим "атомарным" вычислением у А больше чем у Б.
Каждый альтернативный блок (с таким же порядковым номером) вычисленный кем-то другим в сети - это "потеря валидного решения", потому что для любого сформированного блока существует Nonce делающий его валидным, подписанным. И да, от недостатка мощностей каждый пул "теряет" блоки, аж все блоки что не его майнерами были найдены  Wink
newbie
Activity: 13
Merit: 0
newbie
Activity: 13
Merit: 0
legendary
Activity: 1120
Merit: 1069
Каждая шара - это собственно блок, подходящий под сложность 1 (точнее он сокращается до 512 бит от начала алгоритма получения sha256 + nonce, полученное от майнера), соответственно проверка идет просто сравнением по базе принятых шар пула (временный кеш чтобы не пересчитывать и не проверять для каждой шары, а то они очень быстро поступают).

p.s. предвижу очередной вопрос/идею надуть пул, украсть шару, подсунуть ее другому пулу и т.п.
Все майнеры пула ищут решение - собрать такой блок, чтобы награда зачислилась на кошелек владельца пула. Т.е. ценность найденная шара с любой сложностью имеет только для того, для кого она была найдена (чей getwork был использован для получения задачи майнеру).

Исключение составляет пул p2pool, на нем все майнеры ищут решение вида - собрать блок, в котором награда за майнинг начисляется вот такому то списку участников, а список постоянно пересчитывается на основании подписанных шар пула в текущее распределенной базе p2pool... при этом все шары проверяются, что в них учтены все участники правильно (все проверяют всех).
И да, есть пулы, которые для экономии на комиссиях за транзакции, отсылают награду майнерам так же в виде награды за найденный блок, например так делает eligius.st.


Пулы распределяют работу... на сколько я понимаю поровну, просто поделив возможные значения nonce на интервалы и раздавая каждому майнеру свой (интервал значений nonce для перебора), возможна оптимизация на основе знаний скорости майнеров (например более быстрым майнерам можно дать более широкий интервал, но не вижу в этом осоой пользы, новая работа в сети появляется каждую секунду, и маловероятно что майнер успеет перебрать все значения из указанного интервала, но если успевает то он делает запрос нового и пишет в лог что то типа 'нет больше задач').
newbie
Activity: 13
Merit: 0
Да, шара, удовлетворяющая условиям текущей сложности является одновременно решением.. но она такая будет одна (точнее шансы появления таковой 1/сложность сети).
Спасибо за ответ. Чтобы не плодить темы, буду благодарен более опытным товарищам за разъяснения такого вопроса :
В один момент времени вся мощность сети направлена на поиск решения для одного и того-же блока, как пулы распределяют работу между своими пирами, как достигается результат что каждый пир выполняет свою уникальную работу и не приходят дублирующие шары от разных участников.
legendary
Activity: 1120
Merit: 1069
Да, шара, удовлетворяющая условиям текущей сложности является одновременно решением.. но она такая будет одна (точнее шансы появления таковой 1/сложность сети).
newbie
Activity: 13
Merit: 0
Соло шара - это не шара, а само решение, это значит именно вы собираете транзакции в блок, подписываете и получаете всю награду (и комиссии с использованных транзакций) на свой кошелек
Коллективный майнинг - шара, это способ доказать пулу (или другим майнерам, как на p2pool) какова ваша мощность, и уже на основе этих данных, если вдруг пул найдет целевое решение (пул какраз ищет соло), пул будет делить награду между участниками.

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

Шара удобна потому, что из-за используемого алгоритма верно следующее - если пользователь с определенными мощностями будет майнить в соло на сложности X и найдет Y решений (соберетблоков), то за определенное время он использует столько же мощности, сколько потребуется для нахождения шар X*Y со сложностью 1 (или сейчас пулы позволяют указать другую сложность, то к примеру при сложности 64 найти X*Y/64).
Но ведь как я понимаю, само решение все равно находится каким-то одним участником пула(которому повезло) и в итоге та шара что нашел тот самый счастливый участник это и есть решение для текущего блока , так?
member
Activity: 112
Merit: 10
Сабж. Объясните пожалуйста разницу, как я понимаю и то и то это подпись блока.
Шара пула "валидна" с гораздо меньшей сложностью, чем реальная сложность сети. Возьмем вымышленную валюту, с реальной сложность - первые 11 нулей, и пул, который принимает как шару любую подпись у которой первые шесть нулей.
В среднем, одна из 16^5 шар такого пула, будет оказываться реальной подписью блока системы, и пул сможет выплачивать награду всем своим майнерам, определяя их мощность/вклад в общую работу как раз по количеству присланых простых шар.
legendary
Activity: 1120
Merit: 1069
Соло шара - это не шара, а само решение, это значит именно вы собираете транзакции в блок, подписываете и получаете всю награду (и комиссии с использованных транзакций) на свой кошелек
Коллективный майнинг - шара, это способ доказать пулу (или другим майнерам, как на p2pool) какова ваша мощность, и уже на основе этих данных, если вдруг пул найдет целевое решение (пул какраз ищет соло), пул будет делить награду между участниками.

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

Шара удобна потому, что из-за используемого алгоритма верно следующее - если пользователь с определенными мощностями будет майнить в соло на сложности X и найдет Y решений (соберетблоков), то за определенное время он использует столько же мощности, сколько потребуется для нахождения шар X*Y со сложностью 1 (или сейчас пулы позволяют указать другую сложность, то к примеру при сложности 64 найти X*Y/64).
newbie
Activity: 13
Merit: 0
Сабж. Объясните пожалуйста разницу, как я понимаю и то и то это подпись блока.
Jump to: