viktor1987 (OP)
Newbie
Offline
Activity: 13
Merit: 0
|
|
April 29, 2013, 12:23:01 PM |
|
Сабж. Объясните пожалуйста разницу, как я понимаю и то и то это подпись блока.
|
|
|
|
rPman
Legendary
Offline
Activity: 1120
Merit: 1069
|
|
April 29, 2013, 12:40:01 PM |
|
Соло шара - это не шара, а само решение, это значит именно вы собираете транзакции в блок, подписываете и получаете всю награду (и комиссии с использованных транзакций) на свой кошелек Коллективный майнинг - шара, это способ доказать пулу (или другим майнерам, как на p2pool) какова ваша мощность, и уже на основе этих данных, если вдруг пул найдет целевое решение (пул какраз ищет соло), пул будет делить награду между участниками.
Шара пула нигде в blockchain не отмечается, это просто временная информация, пул хранит эти шары и статистику исключительно из-за того, что это требуют его алгоритмы грамотного (неподдельного) учета мощностей участников.
Шара удобна потому, что из-за используемого алгоритма верно следующее - если пользователь с определенными мощностями будет майнить в соло на сложности X и найдет Y решений (соберетблоков), то за определенное время он использует столько же мощности, сколько потребуется для нахождения шар X*Y со сложностью 1 (или сейчас пулы позволяют указать другую сложность, то к примеру при сложности 64 найти X*Y/64).
|
|
|
|
Storan
Member
Offline
Activity: 112
Merit: 10
|
|
April 29, 2013, 12:43:54 PM |
|
Сабж. Объясните пожалуйста разницу, как я понимаю и то и то это подпись блока.
Шара пула "валидна" с гораздо меньшей сложностью, чем реальная сложность сети. Возьмем вымышленную валюту, с реальной сложность - первые 11 нулей, и пул, который принимает как шару любую подпись у которой первые шесть нулей. В среднем, одна из 16^5 шар такого пула, будет оказываться реальной подписью блока системы, и пул сможет выплачивать награду всем своим майнерам, определяя их мощность/вклад в общую работу как раз по количеству присланых простых шар.
|
|
|
|
viktor1987 (OP)
Newbie
Offline
Activity: 13
Merit: 0
|
|
April 29, 2013, 12:44:16 PM |
|
Соло шара - это не шара, а само решение, это значит именно вы собираете транзакции в блок, подписываете и получаете всю награду (и комиссии с использованных транзакций) на свой кошелек Коллективный майнинг - шара, это способ доказать пулу (или другим майнерам, как на p2pool) какова ваша мощность, и уже на основе этих данных, если вдруг пул найдет целевое решение (пул какраз ищет соло), пул будет делить награду между участниками.
Шара пула нигде в blockchain не отмечается, это просто временная информация, пул хранит эти шары и статистику исключительно из-за того, что это требуют его алгоритмы грамотного (неподдельного) учета мощностей участников.
Шара удобна потому, что из-за используемого алгоритма верно следующее - если пользователь с определенными мощностями будет майнить в соло на сложности X и найдет Y решений (соберетблоков), то за определенное время он использует столько же мощности, сколько потребуется для нахождения шар X*Y со сложностью 1 (или сейчас пулы позволяют указать другую сложность, то к примеру при сложности 64 найти X*Y/64).
Но ведь как я понимаю, само решение все равно находится каким-то одним участником пула(которому повезло) и в итоге та шара что нашел тот самый счастливый участник это и есть решение для текущего блока , так?
|
|
|
|
rPman
Legendary
Offline
Activity: 1120
Merit: 1069
|
|
April 29, 2013, 12:49:38 PM Last edit: April 29, 2013, 12:59:50 PM by rPman |
|
Да, шара, удовлетворяющая условиям текущей сложности является одновременно решением.. но она такая будет одна (точнее шансы появления таковой 1/сложность сети).
|
|
|
|
viktor1987 (OP)
Newbie
Offline
Activity: 13
Merit: 0
|
|
April 29, 2013, 12:58:47 PM |
|
Да, шара, удовлетворяющая условиям текущей сложности является одновременно решением.. но она такая будет одна (точнее шансы появления таковой 1/сложность сети).
Спасибо за ответ. Чтобы не плодить темы, буду благодарен более опытным товарищам за разъяснения такого вопроса : В один момент времени вся мощность сети направлена на поиск решения для одного и того-же блока, как пулы распределяют работу между своими пирами, как достигается результат что каждый пир выполняет свою уникальную работу и не приходят дублирующие шары от разных участников.
|
|
|
|
rPman
Legendary
Offline
Activity: 1120
Merit: 1069
|
|
April 29, 2013, 12:59:53 PM |
|
Каждая шара - это собственно блок, подходящий под сложность 1 (точнее он сокращается до 512 бит от начала алгоритма получения sha256 + nonce, полученное от майнера), соответственно проверка идет просто сравнением по базе принятых шар пула (временный кеш чтобы не пересчитывать и не проверять для каждой шары, а то они очень быстро поступают).
p.s. предвижу очередной вопрос/идею надуть пул, украсть шару, подсунуть ее другому пулу и т.п. Все майнеры пула ищут решение - собрать такой блок, чтобы награда зачислилась на кошелек владельца пула. Т.е. ценность найденная шара с любой сложностью имеет только для того, для кого она была найдена (чей getwork был использован для получения задачи майнеру).
Исключение составляет пул p2pool, на нем все майнеры ищут решение вида - собрать блок, в котором награда за майнинг начисляется вот такому то списку участников, а список постоянно пересчитывается на основании подписанных шар пула в текущее распределенной базе p2pool... при этом все шары проверяются, что в них учтены все участники правильно (все проверяют всех). И да, есть пулы, которые для экономии на комиссиях за транзакции, отсылают награду майнерам так же в виде награды за найденный блок, например так делает eligius.st.
Пулы распределяют работу... на сколько я понимаю поровну, просто поделив возможные значения nonce на интервалы и раздавая каждому майнеру свой (интервал значений nonce для перебора), возможна оптимизация на основе знаний скорости майнеров (например более быстрым майнерам можно дать более широкий интервал, но не вижу в этом осоой пользы, новая работа в сети появляется каждую секунду, и маловероятно что майнер успеет перебрать все значения из указанного интервала, но если успевает то он делает запрос нового и пишет в лог что то типа 'нет больше задач').
|
|
|
|
viktor1987 (OP)
Newbie
Offline
Activity: 13
Merit: 0
|
|
April 29, 2013, 01:12:31 PM |
|
Каждая шара - это собственно блок, подходящий под сложность 1 (точнее он сокращается до 512 бит от начала алгоритма получения sha256 + nonce, полученное от майнера), соответственно проверка идет просто сравнением по базе принятых шар пула (временный кеш чтобы не пересчитывать и не проверять для каждой шары, а то они очень быстро поступают).
p.s. предвижу очередной вопрос/идею надуть пул, украсть шару, подсунуть ее другому пулу и т.п. Все майнеры пула ищут решение - собрать такой блок, чтобы награда зачислилась на кошелек владельца пула. Т.е. ценность найденная шара с любой сложностью имеет только для того, для кого она была найдена (чей getwork был использован для получения задачи майнеру).
Исключение составляет пул p2pool, на нем все майнеры ищут решение вида - собрать блок, в котором награда за майнинг начисляется вот такому то списку участников, а список постоянно пересчитывается на основании подписанных шар пула в текущее распределенной базе p2pool... при этом все шары проверяются, что в них учтены все участники правильно (все проверяют всех). И да, есть пулы, которые для экономии на комиссиях за транзакции, отсылают награду майнерам так же в виде награды за найденный блок, например так делает eligius.st.
Пулы распределяют работу... на сколько я понимаю поровну, просто поделив возможные значения nonce на интервалы и раздавая каждому майнеру свой (интервал значений nonce для перебора), возможна оптимизация на основе знаний скорости майнеров (например более быстрым майнерам можно дать более широкий интервал, но не вижу в этом осоой пользы, новая работа в сети появляется каждую секунду, и маловероятно что майнер успеет перебрать все значения из указанного интервала, но если успевает то он делает запрос нового и пишет в лог что то типа 'нет больше задач').
Спасибо, вы хорошо предвидили последующие вопросы =) Не подскажите где можно более подробно почитать про структуру блока и те моменты что я спрашивал, предпочтительнее русскоязычные источники.
|
|
|
|
viktor1987 (OP)
Newbie
Offline
Activity: 13
Merit: 0
|
|
April 29, 2013, 01:26:46 PM |
|
Каждая шара - это собственно блок, подходящий под сложность 1 (точнее он сокращается до 512 бит от начала алгоритма получения sha256 + nonce, полученное от майнера), соответственно проверка идет просто сравнением по базе принятых шар пула (временный кеш чтобы не пересчитывать и не проверять для каждой шары, а то они очень быстро поступают).
p.s. предвижу очередной вопрос/идею надуть пул, украсть шару, подсунуть ее другому пулу и т.п. Все майнеры пула ищут решение - собрать такой блок, чтобы награда зачислилась на кошелек владельца пула. Т.е. ценность найденная шара с любой сложностью имеет только для того, для кого она была найдена (чей getwork был использован для получения задачи майнеру).
Исключение составляет пул p2pool, на нем все майнеры ищут решение вида - собрать блок, в котором награда за майнинг начисляется вот такому то списку участников, а список постоянно пересчитывается на основании подписанных шар пула в текущее распределенной базе p2pool... при этом все шары проверяются, что в них учтены все участники правильно (все проверяют всех). И да, есть пулы, которые для экономии на комиссиях за транзакции, отсылают награду майнерам так же в виде награды за найденный блок, например так делает eligius.st.
Пулы распределяют работу... на сколько я понимаю поровну, просто поделив возможные значения nonce на интервалы и раздавая каждому майнеру свой (интервал значений nonce для перебора), возможна оптимизация на основе знаний скорости майнеров (например более быстрым майнерам можно дать более широкий интервал, но не вижу в этом осоой пользы, новая работа в сети появляется каждую секунду, и маловероятно что майнер успеет перебрать все значения из указанного интервала, но если успевает то он делает запрос нового и пишет в лог что то типа 'нет больше задач').
Вот вы говорите поровну распределяет работу, получается что более быстрый майнер, как вы и сказали успеет выполнить всю полученный работу , а более медленный майнер нет, и если окажется что валидное решение блока находилось как раз в интервале более медленного пира который этот интервал не успел обработать - пул потеряет валидное решение ?
|
|
|
|
Storan
Member
Offline
Activity: 112
Merit: 10
|
|
April 29, 2013, 01:52:46 PM |
|
Вот вы говорите поровну распределяет работу, получается что более быстрый майнер, как вы и сказали успеет выполнить всю полученный работу , а более медленный майнер нет, и если окажется что валидное решение блока находилось как раз в интервале более медленного пира который этот интервал не успел обработать - пул потеряет валидное решение ?
Тут же всё на случайностях. То что майнер А перебрал миллион nonce, а майнер Б - десять, не означает что шанс найти валидный результат следующим "атомарным" вычислением у А больше чем у Б. Каждый альтернативный блок (с таким же порядковым номером) вычисленный кем-то другим в сети - это "потеря валидного решения", потому что для любого сформированного блока существует Nonce делающий его валидным, подписанным. И да, от недостатка мощностей каждый пул "теряет" блоки, аж все блоки что не его майнерами были найдены
|
|
|
|
rPman
Legendary
Offline
Activity: 1120
Merit: 1069
|
|
April 29, 2013, 02:16:09 PM |
|
Не подскажите где можно более подробно почитать про структуру блока и те моменты что я спрашивал, предпочтительнее русскоязычные источники. Вот на русском не подскажу, а подробно про все это можно почитать тут https://en.bitcoin.it/wiki/Getwork и далее по ссылкам и ключевым словам в поиске вики p.s. помимо простой схемы майнер - запрос getwork -> пул (подменяет сложность в target на 1) - запрос getwork -> к кошельку пула существуют разные надстройки и модификации алгоритма, потимизирующие потребление ресурсов при связи майнера с пулом и уменьшающие задержки между получением новой задачи, например https://en.bitcoin.it/wiki/Stratum .
|
|
|
|
|