Вернуться   Биткоин Форум > - Помощь начинающим
24 октября 2011, 8:59:07 AM   # 1
 
 
Сообщения: 170
Цитировать по имени
цитировать ответ
по умолчанию Re: Попытка понимания Bitcoin алгоритма добычи

Взлом Биткоин адресов.
500 Биткоинов взломаны в "мозговом кошельке" с паролем "bitcoin is awesome"
Адрес кошелька: 14NWDXkQwcGN1Pd9fboL8npVynD5SfyJAE
Приватный ключ: 5J64pq77XjeacCezwmAr2V1s7snvvJkuAz8sENxw7xCkikceV6e
подробнее...


Всем кто хочет заработать Биткоины без вложений - рекомендую сайт http://bitcoin-zarabotat.ru
Здравствуй!
Я на самом деле хотел написать раздел Русских кодеров, Но потому ограничения должно спросить здесь:

Я пытаюсь моделировать добычу. Я не очень хороший кодировщик, но в любом случае.
@ Момент, как я прочитал:

Мы принимаем: Version, Prev. Блок хэш, Merkle, дата, сложности, Nonce.
Реверс каждый из них, положить в тот же "строка", Двойной хэш SHA256, обратный снова и проверить это меньше, чем трудности?

Проблемы у меня есть:
1) К какому типу я должен преобразовать одноразовый номер 00000000, чтобы получить 2e6b0a1d ???

2) В некоторых примерах я видел цель: ffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000 Как я знаю, это мое решение меньше, чем цель?

Я кодирование на C #, кстати.

благодаря
a2offrb сейчас офлайн Пожаловаться на a2offrb   Ответить с цитированием Мультицитирование сообщения от a2offrb Быстрый ответ на сообщение a2offrb


Как заработать Биткоины?
Без вложений. Не майнинг.


31 октября 2011, 9:47:45 AM   # 2
 
 
Сообщения: 170
Цитировать по имени
цитировать ответ
по умолчанию Re: Попытка понимания Bitcoin алгоритма добычи

Получил 1806 Биткоинов
Реальная история.





Никто не знает?
a2offrb сейчас офлайн Пожаловаться на a2offrb   Ответить с цитированием Мультицитирование сообщения от a2offrb Быстрый ответ на сообщение a2offrb

31 октября 2011, 3:09:53 PM   # 3
 
 
Сообщения: 1260
Цитировать по имени
цитировать ответ
по умолчанию Re: Попытка понимания Bitcoin алгоритма добычи

Отвечают ли вики на ваш вопрос?
https://en.bitcoin.it/wiki/Difficulty
Магид сейчас офлайн Пожаловаться на Maged   Ответить с цитированием Мультицитирование сообщения от Maged Быстрый ответ на сообщение Maged

31 октября 2011, 5:56:23 PM   # 4
 
 
Сообщения: 1218
Цитировать по имени
цитировать ответ
по умолчанию Re: Попытка понимания Bitcoin алгоритма добычи

1) К какому типу я должен преобразовать одноразовый номер 00000000, чтобы получить 2e6b0a1d ???

Не уверен, что вы спрашиваете здесь. Шахтер начнется в нонсе 0 и попробовать все 2 ^ 32 возможностей, пока она не достигнет 4294967295. Это позволяет несколько хэш за изменения blockheader. После того, как все одноразовые были опробованы



котировка
2) В некоторых примерах я видел цель: ffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000 Как я знаю, это мое решение меньше, чем цель?

Вы реверс снова и сравнить значение (они шестнадцатеричные)

ffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000 становится

00000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffff

Это было бы меньше
00000000fffffffffffffffffffffffffffffffffffffffffffffffffffffffe
000000008e93ed87e827f989e2b4343c43434d434efff
00000000 .... все остальное здесь меньше .....

Это было бы слишком большим
00000001ffffffffffffffffffffffffffffffffffffffffffffffffffffffff
0f28ebb00ffffffffffffffffffffffffffffffffffffffffffffffffffffffff
00000001 .... все остальное здесь слишком велик ...

Так как только наиболее значимые цифры значения обычно можно разбить хэш в 32 бит "cunks" и просто сравнить их.

Так
00000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffff

00000000.ffffffff.ffffffff.ffffffff.ffffffff.ffffffff.ffffffff.ffffffff

так, чтобы соответствовать вашему примеру целевого первого 32bit должен быть 00000000. Что-нибудь, кроме 0 слишком велико.
Так как второй сегмент 32-битный является FFFFFFFF, то любое значение хорошо (нет необходимости проверять 2-го по 8-й сегменты).

С другой стороны, если вы цель была
fffffffffffffffffffffffffffffffffffffffffffffffffffffffa00000000

который переворачивает на
00000000.afffffff.ffffffff.ffffffff.ffffffff.ffffffff.ffffffff.ffffffff

то вам нужно будет проверить, что первый сегмент <= 00000000
и второй сегмент <= afffffff
DeathAndTaxes сейчас офлайн Пожаловаться на DeathAndTaxes   Ответить с цитированием Мультицитирование сообщения от DeathAndTaxes Быстрый ответ на сообщение DeathAndTaxes

1 ноября 2011, 8:09:24 PM   # 5
 
 
Сообщения: 170
Цитировать по имени
цитировать ответ
по умолчанию Re: Попытка понимания Bitcoin алгоритма добычи

ОК. Вторая проблема будет решена.

котировка
{
  "Midstate": "eb5a28fb7c4ee0b602ecf3ddd31bd6591b9b4d2f53767cd7433fa557cf1c2127",
  "данные": "00000001acb8f97aae2fae30ec96b2bf67c7e064d134e80dcd46f52f00000dbe000000000473187 52323d170d19c090d9ea8684da21be77bad127dffc3fcfda5cb29469e4eb050191a0df0ca000000 0000000080000000000000000000000000000000000000000000000000000000000000000000000 0000000000080020000",
  "hash1": "0000000000000000000000000000000000000000000000000000000000000000000000800000000 0000000000000000000000000000000000000000000010000",
  "цель": "0000000000000000000000000000000000000000000000caf00d000000000000"
}

Мы принимаем наше зашифрованное "ответ" и сравнить его с обратной "цель", в таком случае:
0000000000000000000000000000000000000000000000caf00d000000000000
В ответ любой за первые 12 нулей в этом случае может быть что-нибудь?

А теперь первый вопрос.
Существует одноразовое значение, и его все время растет.
В первой попытке его 00000001, 00000002 второй и т.д.
В примерах, в то время как они зашифровать его с SHA256 они преобразовывают случайное слово, но я не могу найти в каком формате они преобразуют его. В примере перед преобразованием временного значения был 00000000 и перед хэширования ИТС в формате, как 2e6b0a1d. Я просто не понимаю, какой формат он должен быть преобразован.

Пытался понять WIKI, но есть 2 переменная: я глуп или его не объясняется очень хорошо в вики.

Спасибо за ответы.
a2offrb сейчас офлайн Пожаловаться на a2offrb   Ответить с цитированием Мультицитирование сообщения от a2offrb Быстрый ответ на сообщение a2offrb

1 ноября 2011, 8:12:32 PM   # 6
 
 
Сообщения: 1050
Цитировать по имени
цитировать ответ
по умолчанию Re: Попытка понимания Bitcoin алгоритма добычи

Я кодирование на C #, кстати.
DO NOT!
kokjo сейчас офлайн Пожаловаться на kokjo   Ответить с цитированием Мультицитирование сообщения от kokjo Быстрый ответ на сообщение kokjo

1 ноября 2011, 8:48:31 PM   # 7
 
 
Сообщения: 1218
Цитировать по имени
цитировать ответ
по умолчанию Re: Попытка понимания Bitcoin алгоритма добычи

ОК. Вторая проблема будет решена.

котировка
{
  "Midstate": "eb5a28fb7c4ee0b602ecf3ddd31bd6591b9b4d2f53767cd7433fa557cf1c2127",
  "данные": "00000001acb8f97aae2fae30ec96b2bf67c7e064d134e80dcd46f52f00000dbe000000000473187 52323d170d19c090d9ea8684da21be77bad127dffc3fcfda5cb29469e4eb050191a0df0ca000000 0000000080000000000000000000000000000000000000000000000000000000000000000000000 0000000000080020000",
  "hash1": "0000000000000000000000000000000000000000000000000000000000000000000000800000000 0000000000000000000000000000000000000000000010000",
  "цель": "0000000000000000000000000000000000000000000000caf00d000000000000"
}

Мы принимаем наше зашифрованное "ответ" и сравнить его с обратной "цель", в таком случае:
0000000000000000000000000000000000000000000000caf00d000000000000
В ответ любой за первые 12 нулей в этом случае может быть что-нибудь?

А теперь первый вопрос.
Существует одноразовое значение, и его все время растет.
В первой попытке его 00000001, 00000002 второй и т.д.
В примерах, в то время как они зашифровать его с SHA256 они преобразовывают случайное слово, но я не могу найти в каком формате они преобразуют его. В примере перед преобразованием временного значения был 00000000 и перед хэширования ИТС в формате, как 2e6b0a1d. Я просто не понимаю, какой формат он должен быть преобразован.

Пытался понять WIKI, но есть 2 переменная: я глуп или его не объясняется очень хорошо в вики.

Спасибо за ответы.

Я считаю, что blockexplorer показывает цель обращенную.

Так 0000000000000000000000000000000000000000000000caf00d000000000000

становится
00000000.0000d00f.ac000000.00000000.00000000.00000000.00000000.00000000
действительный хэш должен быть equall или меньше этого числа hexaecimal.

Для упрощения согласования мы можем игнорировать цель и смотреть только для меньших значений.
00000000.0000d00f.acffffff.ffffff.ffffff.ffffff.ffffff.ffffff
Валида должен быть меньше, чем это

только эти значения значения   
00000000.0000d00f.acffffff.   
если thist три ниже сегменты этого хэш является действительным.

Я не уверен, что вы имеете в виду они преобразуют временное значение. Noce является шестнадцатеричным числом. Каждый испытывается от 00000000 до FFFFFF.
После того, как все Nonce значения пыталось заголовок блока изменяется (время, если ничего другого) и весь диапазон нонса не пытались снова (00000000 до FFFFFF).


DeathAndTaxes сейчас офлайн Пожаловаться на DeathAndTaxes   Ответить с цитированием Мультицитирование сообщения от DeathAndTaxes Быстрый ответ на сообщение DeathAndTaxes

1 декабря 2011, 9:36:08 PM   # 8
 
 
Сообщения: 170
Цитировать по имени
цитировать ответ
по умолчанию Re: Попытка понимания Bitcoin алгоритма добычи

Это снова я!

Были ли прочитанные эту страницу:
https://en.bitcoin.it/wiki/Protocol_specification
Есть текст:
"Пример двойного SHA-256 кодирования строки "Здравствуйте":
Здравствуйте
2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824 (первый раунд SHA-256)
9595c9df90075148eb06860365df33584b75bff782a510c6cd4883a419833d50 (второй раунд SHA-256)"

Полученный после первого тура:
2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824
второй
a6ac4251402d8b9cbac7af2abeb7f2cd3fc96c3a1d3df508e26870dc91a079a4
или
d7914fe546b684688bb95f4f888a92dfc680603a75f23eb823658031fff766d9

Код:
публичная строка ComputeHash (строка ввода, алгоритм HashAlgorithm)
        {
            Байт [] inputBytes = Encoding.UTF8.GetBytes (вход);

            Байт [] hashedBytes = algorithm.ComputeHash (inputBytes);

            вернуть BitConverter.ToString (hashedBytes);
        }

        частная пустота button1_Click (объект отправителя, EventArgs е)
        {
            textBox2.Text = ComputeHash (TextBox1.Text, новый SHA256Cng ());
            textBox2.Text = textBox2.Text.ToLower ();
            textBox2.Text = textBox2.Text.Replace ("-", "");
     
            textBox3.Text = ComputeHash (textBox2.Text, новый SHA256Cng ());
            textBox3.Text = textBox3.Text.ToLower ();
            textBox3.Text = textBox3.Text.Replace ("-", "");
        }

Что не так?
a2offrb сейчас офлайн Пожаловаться на a2offrb   Ответить с цитированием Мультицитирование сообщения от a2offrb Быстрый ответ на сообщение a2offrb

2 декабря 2011, 11:36:05 AM   # 9
Foo
 
 
Сообщения: 409
Цитировать по имени
цитировать ответ
по умолчанию Re: Попытка понимания Bitcoin алгоритма добычи

Вы не можете сделать второй хэш со строкой в ​​качестве входных данных, вам нужно использовать номер. В этом случае число 0x2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824.
Foo сейчас офлайн Пожаловаться на Foo   Ответить с цитированием Мультицитирование сообщения от Foo Быстрый ответ на сообщение Foo

2 декабря 2011, 2:56:35 PM   # 10
 
 
Сообщения: 170
Цитировать по имени
цитировать ответ
по умолчанию Re: Попытка понимания Bitcoin алгоритма добычи

Большое спасибо.
Понял с этим кодом:

        публичная строка ComputeHash (строка ввода, алгоритм HashAlgorithm)
        {
            Байт [] inputBytes = Encoding.UTF8.GetBytes (вход);

            Байт [] hashedBytes = algorithm.ComputeHash (inputBytes);
            HashAlgorithm хеширования;
            хеширование = новый SHA256Managed ();
            textBox3.Text = BitConverter.ToString (hashing.ComputeHash (hashedBytes));
            вернуть BitConverter.ToString (hashedBytes);
        }
a2offrb сейчас офлайн Пожаловаться на a2offrb   Ответить с цитированием Мультицитирование сообщения от a2offrb Быстрый ответ на сообщение a2offrb



Как заработать Биткоины?

Bitcoin Wallet * Portefeuille Bitcoin * Monedero Bitcoin * Carteira Bitcoin * Portafoglio Bitcoin * Bitcoin Cüzdan * 比特币钱包

bitcoin-zarabotat.ru
Почта для связи: bitcoin-zarabotat.ru@yandex.ru

3HmAQ9FkRFk6HZGuwExYxL62y7C1B9MwPW