Bitcoin Forum
November 09, 2024, 03:36:35 AM *
News: Latest Bitcoin Core release: 28.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: « 1 [2]  All
  Print  
Author Topic: Алгоритм майнинга  (Read 11620 times)
DeepBit
Donator
Hero Member
*
Offline Offline

Activity: 532
Merit: 501


We have cookies


View Profile WWW
April 08, 2012, 08:32:45 AM
 #21

midstate и hash1 это deprecated параметры и сегодня они не используются, передаются для совместимости.
Они не необходимы, но всё же иногда используются.
Могут быть полезными для FPGA-майнинга, например. Хотя их можно и на клиентской стороне получить.

Welcome to my bitcoin mining pool: https://deepbit.net ~ 3600 GH/s, Both payment schemes, instant payout, no invalid blocks !
Coming soon: ICBIT Trading platform
MadF
Newbie
*
Offline Offline

Activity: 2
Merit: 0


View Profile
January 21, 2014, 01:51:33 PM
 #22

Добрый день, Господа.

Пробовал по вашим исследованиям создать/повторить алгоритм расчета litecoin - не удалось (много вопросов).
Удалось до конца отработать алгоритм?

зы: без влезание в JSON.
зы2: мне это нужно для понятия сколько ресурсов требуется, чтобы потом (возможно) сделать всё это аппаратно.
hazarun
Legendary
*
Offline Offline

Activity: 2128
Merit: 1019


View Profile
January 21, 2014, 08:35:05 PM
 #23

Удалось до конца отработать алгоритм?

Присоединяюсь к вопросу. Тема, довольно интересна.
strelok369
Newbie
*
Offline Offline

Activity: 56
Merit: 0


View Profile
January 22, 2014, 08:42:35 AM
 #24

hash1 и midstate. Для лайта не знаю (точнее там в начале scrypt'а тоже SHA256), в чистом sha256:
"Первые 80 байт"(а надо их из сетевого порядка в человеческий перевернуть) это 640 бит, в sha256 можно затолкать
512 (с учетом правила дополнения сообщений в конце последнего куска по 512бит должна быть длина, то есть если
имеем 512 бит сообщения, то полный "конвеер"(да я делал конвеером, им понятнее, но пришлось делать классикой
по 3раунда последовательно, тк ни в одну FPGA не влезло)) надо прогонять 2 раза: первый 512бит сообщения, второй 1 в начале и длина (512) в конце.
Обратно на землю. 640 бит это 512 + 128, причем мы меняем только последние 32 из тех 128, дальше 1 и "640длина" в конце.
Таким образом hash1 это результат sha256 после первого прогона(первые 512бит), чтобы получить хэш сообщения
надо допрогнать еще один проход(128бит_"1"0000....0000"640"). То есть hash1 не нужен, тк есть midstate.
Ну и собственно вопрос а что нам мешает считать второй прогон только с места где мы меняем nounce, а не с начала?
А ничего. Вот midstate и будет являться тем самым состоянием в конце постоянной части.
То есть если мы используем midstate, то нам надо прогнать sha256 1,8125 раза вместо 3 раз, когда мы меняем nounce.
К сожалению формат midstate не знаю, всегда считал его отдельно.

На своем игрушечном майнере на спартане 3 никогда не майнил, но блоки он "находил" уже найденные,
я кормил его найденными блоками с blockchain.info и проверял, найдет ли он нужный nounce, было 1-2Мх/с с 30МГЦ.
Делал летом, со злости распаял взапчасти.

тьфу все зря написал, уже было, всеравно запощу.
MadF
Newbie
*
Offline Offline

Activity: 2
Merit: 0


View Profile
January 24, 2014, 06:28:53 AM
 #25

Спасибо.

Но как-то всё сумбурно/эмоционально написано, что ничего не понятно. Я ожидал четко, по полочкам разложенного ответа (мы же тут не стихи пишем). Видимо тема не актуальна.
strelok369
Newbie
*
Offline Offline

Activity: 56
Merit: 0


View Profile
January 27, 2014, 12:21:29 PM
 #26

Ну преподавание для меня никогда не было особо приоритетным навыком.
Без эмоций можно разобраться вот с этим:
http://ru.wikipedia.org/wiki/SHA-2 про SHA256, я разбирался с Биткоинами,
поэтому SHA256, он не лишний, scrypt им "пропитан". Советую нарисовать схему
полного SHA256, если хочется "понять" его до оптимизации, моя склеена из листов А4 - 5 метров.

/**************************OFF************************************/
Пошел против SHA256 "алгеброй" вместо статистики(уже как месяца 3). Вчера получил
уравнение для самого длинного "пути" в раунде(a=t1+t2), искал решение "запакованным" т.е. со
скобками и минимальной длинной в модифицированной (для слов вместо битов, паршиво
модифицированной) алгебре Жегалкина. Весит гадость 300МБ текста и не в какую не
решается, хочу для двух раундов построить и поискать межраундную характеристику
по Wi, кажись ничего не получится, надо софтину заново переписывать чтоб диск загадить
вместо оперативы - выделение из свопа ужасно, оптимизировать (32ГБ как слону дробина),
все равно не решится, в лом.
К проблемме майнинга на калькуляторе и как успеть найти блок без асика,
чтобы все думали, что асик был.
/**************************OFF************************************/

Про то, что плюет тебе GETWORK и как перевернуть порядок байт написано тут:
https://en.bitcoin.it/wiki/Getwork , про stratum не знаю, не интересовался.

Если умеешь читать C#, почитай тут:
https://github.com/lithander/Minimal-Bitcoin-Miner 316 строк
Майнить на нем бестолку, но понять, что там и как, можно.
Pages: « 1 [2]  All
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!