Ага, теперь понятно. Спасибо большое в очередной раз))).
Если я соберусь сам написать статью про майнинг (на своём сайте), то как бы мне упомянуть в ней Вас? Может ссылки на какие-то Ваши ресурсы? Просто всё, что будет написано, это по большей части Ваши знания.
Очевидно что Вы давно занимаетесь майнингом, а я вот увлёкся сосем недавно, и мощностей у меня можно сказать нет никаких, все домашние компьютеры на круг выдают 50-60 солов. Однако стал интересен принцип работы, отсюда такая назойливость.
Прочитал Вашу ссылку про Dagger Hashimoto. Насколько я понял, они хотят ограничить влияние «асиков» за счёт использования ОЗУ в качестве лимитирующего фактора скорости добычи.
В общем стали интересны протоколы. Получается что понимание их работы очень сильно помогает в выборе того, что майнить и сейчас, и в будущем. Сижу изучаю.
Однако не даёт покоя одна фраза в Вашем комменте:
Майнер берёт несколько транзакций из пула, формирует блок, начинает майнить, т.е. подбирать nonce, чтобы блок удовлетворял требованиям сложности.
nonce — это ведь случайное число его же вроде нужно увеличивать на еденицу, а не подбирать? Или Вы выразились фигурально?
В каждом блоке есть поле, называемое nonce. Это число размером несколько байт, которое нужно увеличивать на единицу, дописывать к блоку и опять считать от него хэш.
Собственно моё понимание построилось, в большой части, на Ваших комментах и частично на той статье. И это противоречие (как мне кажется) не даёт покоя. Поясните пожалуйста где правда. )))
Набравшись храбрости))), возьму на себя смелость продолжить диалог с Вами, не задавая бесконечные вопросы, а скорее ища подтверждения своим мыслям.
Ведь правильно я понимаю, что алгоритм работы какой-то криптовалюты, это не только алгоритм шифрования? Шифрование это составляющая часть протокола, который содержит ещё и другие компоненты — условия работы сети, условия регуляции сложности, выбор того кто будет подписывать транзакцию (я имею в виду Proof-of-stake) и ещё какие-то условия работы всего механизма данной валюты.
Я это к тому, что везде только и говорят о хешировании, из-за этого складывается впечатление, что алгоритм работы криптовалюты = агоритм хеширования и больше ничего.
Разрешите последний вопрос. Всё в голове смешалось.
У меня никак не выстраивается в логичную последовательность такие понятия как — транзакция, подтверждение и блок.
Что такое транзакция? На bitcoinwiki написано что это — подтверждённая подписью секция данных, которая передаётся по сети Bitcoin и собирается в блоки. Вроде бы все ищут блоки, а оказывается блоки собираются из транзакций...
Откуда она берётся эта транзакция и что значит собирается в блоки?
Как связаны между собой транзакции и блоки, и что требует подтверждения?
Может Вы опишите простым языком этот механизм, то есть, что за чем, следует?
…
То есть ни кто-то, сидя где-то, не придумывает задания, а сама сеть их порождает за счёт того, что кто-то совершает переводы из одного кошелька в другой?
Если это так, то что будет, если никто не будет делать переводов? Сеть прекратит генерировать задания?
Вы извините меня ради бога, за то, что мучаю вопросами, просто хочется глубоко вникнуть в этот механизм, а где про это почитать я не знаю. Даже bitcoinwiki не даёт развёрнутого ответа на большенство вопросов, я уж не говорю про статьи-копипасты, которыми пестрит интернет.
П.С. Может Вы напишите статью про майнинг? Мне кажется Вам под силу написать понятное объяснение этому явлению.
qw1 Разрешите задать Вам ещё вопрос. В этой статье, на хабре, написано:
Тот, кому удалось получить хэш, удовлетворяющий условиям сложности, рассылает всем блок с включенными в него транзакциями. На случай, если несколько человек сделали это одновременно, вводится условие, что несколько цепочек блоков существовать вместе не могут, а побеждает самая длинная. Таким образом, если у нас есть две цепочки:
Block1->Block2->Block3A
Block1->Block2->Block3B
то победит та, для которой 4й блок найдут раньше времени. А меньшая цепочка выкидывается и её транзакции снова попадают в очередь на подтверждение.
Правильно ли я понимаю, что в данном случае не может произойти коллизии (два одинаковых блока не запишутся в одну цепочку). То есть в любом случае какой-то блок окажется в цепочке раньше другого и эта цепочка выиграет?
Если с биткойном всё более-менее понятно — расчет хэша заголовка блока, который включает в себя, среди прочего, хэш заголовка предыдущего блока, хэш набора транзакций и случайное число. Если значение хэша оказывается меньше, чем текущая цель (которая обратно пропорциональна сложности), новый блок формируется и майнер получает 25 только что созданных биткойнов. Если хэш больше таргета, изменяется случайное число и рассчитывается новый хэш. (прочитал здесь)
Тогда объясните пожалуйста (попроще), что происходит при майнинге zcash?
Извиняюсь за длинные и нудные вопросы, ответы на которые могут быть ещё более нудными и длинными, но просто хочется понять.
Позволю себе задать вопрос специалистам. Майню Zcash на 5-ти старых, домашних компьютерах, как на GPU, так и на CPU (на круг получается 50-70 сол/с., баловство конечно, но всё-таки какая-то копейка), копаюсь через пулл suprnova.
Вопрос заключается в следующем: нужно ли для каждого компа создавать отдельного воркера или можно все компы через один воркер запускать? То есть, как правильней сделать? (все компы стоят в одном месте и выходят в сеть через один роутер)
Немного офтопа: Mazda Eunos Cosmo — это действительно «космос», одна торпеда чего стоит (вторая фото). Мне доводилось ездить на такой машине.
А для тех, кто интересуется роторными двигателями, то там в «стоке» стоит трёхсекционник.
Если я соберусь сам написать статью про майнинг (на своём сайте), то как бы мне упомянуть в ней Вас? Может ссылки на какие-то Ваши ресурсы? Просто всё, что будет написано, это по большей части Ваши знания.
Прочитал Вашу ссылку про Dagger Hashimoto. Насколько я понял, они хотят ограничить влияние «асиков» за счёт использования ОЗУ в качестве лимитирующего фактора скорости добычи.
В общем стали интересны протоколы. Получается что понимание их работы очень сильно помогает в выборе того, что майнить и сейчас, и в будущем. Сижу изучаю.
Однако не даёт покоя одна фраза в Вашем комменте:
nonce — это ведь случайное число его же вроде нужно увеличивать на еденицу, а не подбирать? Или Вы выразились фигурально?
Вот цитата из статьи (хабр):
Собственно моё понимание построилось, в большой части, на Ваших комментах и частично на той статье. И это противоречие (как мне кажется) не даёт покоя. Поясните пожалуйста где правда. )))
Ведь правильно я понимаю, что алгоритм работы какой-то криптовалюты, это не только алгоритм шифрования? Шифрование это составляющая часть протокола, который содержит ещё и другие компоненты — условия работы сети, условия регуляции сложности, выбор того кто будет подписывать транзакцию (я имею в виду Proof-of-stake) и ещё какие-то условия работы всего механизма данной валюты.
Я это к тому, что везде только и говорят о хешировании, из-за этого складывается впечатление, что алгоритм работы криптовалюты = агоритм хеширования и больше ничего.
У меня никак не выстраивается в логичную последовательность такие понятия как — транзакция, подтверждение и блок.
Что такое транзакция? На bitcoinwiki написано что это — подтверждённая подписью секция данных, которая передаётся по сети Bitcoin и собирается в блоки.
Вроде бы все ищут блоки, а оказывается блоки собираются из транзакций...
Откуда она берётся эта транзакция и что значит собирается в блоки?
Как связаны между собой транзакции и блоки, и что требует подтверждения?
Может Вы опишите простым языком этот механизм, то есть, что за чем, следует?
…
Заранее извиняюсь, но больше спросить не у кого.
Это да)))
Ещё раз спасибо, и за ссылки тоже.
Скажите, где Вы почерпнули эти знания? Опыт или есть какое-то годное чтиво?
Может напишите статью на эту тему, а? Было бы очень круто.
То есть ни кто-то, сидя где-то, не придумывает задания, а сама сеть их порождает за счёт того, что кто-то совершает переводы из одного кошелька в другой?
Если это так, то что будет, если никто не будет делать переводов? Сеть прекратит генерировать задания?
Вы извините меня ради бога, за то, что мучаю вопросами, просто хочется глубоко вникнуть в этот механизм, а где про это почитать я не знаю. Даже bitcoinwiki не даёт развёрнутого ответа на большенство вопросов, я уж не говорю про статьи-копипасты, которыми пестрит интернет.
П.С. Может Вы напишите статью про майнинг? Мне кажется Вам под силу написать понятное объяснение этому явлению.
Правильно ли я понимаю, что в данном случае не может произойти коллизии (два одинаковых блока не запишутся в одну цепочку). То есть в любом случае какой-то блок окажется в цепочке раньше другого и эта цепочка выиграет?
Я прочитал про "Парадокс дней рождения" и не совсем понимаю, как это применить к zcash?
Если с биткойном всё более-менее понятно — расчет хэша заголовка блока, который включает в себя, среди прочего, хэш заголовка предыдущего блока, хэш набора транзакций и случайное число. Если значение хэша оказывается меньше, чем текущая цель (которая обратно пропорциональна сложности), новый блок формируется и майнер получает 25 только что созданных биткойнов. Если хэш больше таргета, изменяется случайное число и рассчитывается новый хэш. (прочитал здесь)
Тогда объясните пожалуйста (попроще), что происходит при майнинге zcash?
Извиняюсь за длинные и нудные вопросы, ответы на которые могут быть ещё более нудными и длинными, но просто хочется понять.
Это зависит от используемого алгоритма шифрования или от конкретной валюты?
1. Pool Hash: 8,029.70 kSol/s
2. Pool Workers: 7235
3. Net Hash: 191,092.34 kSol/s
4. Bittrex: 0.09819996 BTC
Второй пункт мне понятен, а вот остальные...
Вопрос заключается в следующем: нужно ли для каждого компа создавать отдельного воркера или можно все компы через один воркер запускать? То есть, как правильней сделать? (все компы стоят в одном месте и выходят в сеть через один роутер)
А для тех, кто интересуется роторными двигателями, то там в «стоке» стоит трёхсекционник.