Вернуться   Биткоин Форум > Разработка и Техническое Обсуждение
15 декабря 2011, 3:29:51 AM   # 1
 
 
Сообщений: 52
Цитировать по имени
цитировать ответ
по умолчанию Re: пара вопросов о хэшировании - Нужна помощь

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


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

Есть несколько проблем с пониманием вычисления хэш:

1. Блок-хэш генерируется с использованием версии, трудности, пред. блок хэша, корень Merkle, время и временное значение - но может кто-нибудь объяснить мне:
    а) то, что произойдет, если кто-то находит блок в то же время, как другой компьютер?
    б) то, что одноразовое значение используется, когда все числа в 32-битном междунар используются? она чрезмерно подсчетов все время, если я помоему, например 10gh / с? Есть здесь какое-либо специальное дополнительное одноразовое значение для этого?

2. Я прибегая к помощи / поиск всего форума для получения информации об акциях в объединенной добыче - как они рассчитываются? Я имею в виду - Что отличается в расчете на шахтера, что он не рассчитывает ту же работу, как и другие шахтера? А как доля подтвердила действительный объединенном горно-сервер?


Я признателен за любую помощь, заранее спасибо!
kstepyra сейчас офлайн Пожаловаться на kstepyra   Ответить с цитированием Мультицитирование сообщения от kstepyra Быстрый ответ на сообщение kstepyra


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


15 декабря 2011, 3:35:36 AM   # 2
 
 
Сообщения: 1218
Цитировать по имени
цитировать ответ
по умолчанию Re: пара вопросов о хэшировании - Нужна помощь

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





1
а) Merkle корень включает в себя все операции, в том числе coinbase. Таким образом, двое горняков (или два бассейна добыча) не будет, по существу никогда не имеют один и тот же корень Merkle. Таким образом, вы никогда не будете иметь ситуацию, когда результаты данных же ввода в двух шахтеров (или бассейнах) Решая блок одновременно. Шахтеры / пулы не могут решить блоки примерно в то же время. Шахтер / бассейн, который propegates решение остальной части сети является первым общепринятым блоком. 

б) один раз нонс диапазон exausted вы просто пересчитывать заголовок блока. Любые другие переменные будут изменения приводят к появлению новых хэши для Нонс -range

2
Доля = 1 трудно хэш
блок решения = текущее сложность хэш

когда вы помоему в бассейне вы передаете все хэш, которые действительны для трудности 1 цели. Они ничего не стоят, но пул использует их для ведения учета, чтобы разделить вознаграждение, которое приходит только из блока решения. Примечание: в большинстве бассейнов использует сложность 1, но разделяют трудность может быть что угодно < блок решения трудности.
DeathAndTaxes сейчас офлайн Пожаловаться на DeathAndTaxes   Ответить с цитированием Мультицитирование сообщения от DeathAndTaxes Быстрый ответ на сообщение DeathAndTaxes

15 декабря 2011, 4:10:40 AM   # 3
 
 
Сообщений: 52
Цитировать по имени
цитировать ответ
по умолчанию Re: пара вопросов о хэшировании - Нужна помощь

1. а) 2 шахтеры не будет иметь тот же блок (основная сделка отличается для каждого государственного счета), но может найти блок в то же время - что происходит тогда? что, если это же время (позволяет сказать, что же milisecond так запаздывает в сети не может рассчитывать на, слово еще не распространяется) в секундах и как распространить слово, чтобы, как 50% компьютеров? Компьютер А получает новый блок от рудничных А и компьютера B получает блок из рудничной B - что произойдет, когда компьютер А говорит на компьютер В "эй я получил новый блок для вас"?

б) заголовок блока вычисляется практически из тех же данных, за исключением (иногда) меняющихся операций (который изменяет корень Merkle), метка времени и OFC нонса (я не считать это, как это завышение так, как статические после нескольких секунд, так и на быстрые машины еще меньше, чем второй, поэтому временные метки не имеют никаких шансов изменить вычисленные хэш из предыдущего Нонса-пака). Я нашел это на вики: "Всякий раз, когда Нонс переполнения (что он делает часто), extraNonce часть операции генерации увеличивается, который изменяет корень Меркла." - разве хэш для сделки рассчитывается один раз? или они дали основную сделку (горнодобывающую) специальный дополнительный одноразовый номер? - обнаружил, что да * п coinbase основных параметров и теперь я знаю

2. поэтому я вычислить хэш для 1 дифференциала, и я посылаю правильный хэш для бассейна, и он просто проверяет его? Это выглядит разумно и хорошо, но здесь снова (с рабочей стороны) - как работа распределяется не получить такую ​​же работу, как и другие шахтера? Как я предполагаю, что мы добываем на той же «счета» (ключ), так что даже основная сделка же для расчета - это будет получить временное значение над подсчетом в как милисекунд с большим бассейном. Даже давая различные extraNonces для каждого шахтера будет давать небольшое количество работы каждому работнику. Как работники получают другую работу?
kstepyra сейчас офлайн Пожаловаться на kstepyra   Ответить с цитированием Мультицитирование сообщения от kstepyra Быстрый ответ на сообщение kstepyra

15 декабря 2011, 7:55:58 AM   # 4
 
 
Сообщения: 186
Цитировать по имени
цитировать ответ
по умолчанию Re: пара вопросов о хэшировании - Нужна помощь

Что такое coinbase?

Спецификация протокола упоминает это немного, но это немного расплывчатым:

https://en.bitcoin.it/wiki/Protocol_specification

Каким образом это особое, оно имеет специальный формат? хмм ..

"coinbase" почти походит на специальное поле или что-то ...?!? но до сих пор, кажется, имя / название для специальной операции?
Skybuck сейчас офлайн Пожаловаться на Skybuck   Ответить с цитированием Мультицитирование сообщения от Skybuck Быстрый ответ на сообщение Skybuck

15 декабря 2011, 9:12:00 AM   # 5
 
 
Сообщения: 2016
Цитировать по имени
цитировать ответ
по умолчанию Re: пара вопросов о хэшировании - Нужна помощь

1. а) 2 шахтеры не будет иметь тот же блок (основная сделка отличается для каждого государственного счета), но может найти блок в то же время - что происходит тогда? что, если это же время (позволяет сказать, что же milisecond так запаздывает в сети не может рассчитывать на, слово еще не распространяется) в секундах и как распространить слово, чтобы, как 50% компьютеров? Компьютер А получает новый блок от рудничных А и компьютера B получает блок из рудничной B - что произойдет, когда компьютер А говорит на компьютер В "эй я получил новый блок для вас"?
Скажем, последний блок # 157596, и все шахтеры пытаются найти блок # 157597. Два шахтеров найти блок в то же время, один с хэш-a651a9 ... и один с хэш-f6498d .... Каждый вещает его всем, что знает, до 50% от сети не знает блок a651a9 ... и 50% знает блок f6498d .... Если на компьютере А предлагает поставить блок a651a9 ... к компьютеру B, который уже f6498d ..., это в основном говорят "Нет, спасибо, я уже есть блок для позиции # 157597", (Может быть, это будет скачать и сохранить его, но не признать его правильным.) Сеть будет разногласие о том, что последний блок (это называется цепной вилкой), и каждый шахтер строит блок # 157598, основанные на что он признает в качестве блока # 157597. Когда блок # 157598 найдено, скажем, его хэш-b66848 ..., компьютер B будет в конечном итоге будет проинформирован об этом, и так как это более длинной цепи, чем то, что он знает, что он будет принимать a651a9 ... и b66848 ... и признать их как действительные блоки вместо f6498d ... (это цепная переустройство).

2. поэтому я вычислить хэш для 1 дифференциала, и я посылаю правильный хэш для бассейна, и он просто проверяет его? Это выглядит разумно и хорошо, но здесь снова (с рабочей стороны) - как работа распределяется не получить такую ​​же работу, как и другие шахтера? Как я предполагаю, что мы добываем на той же «счета» (ключ), так что даже основная сделка же для расчета - это будет получить временное значение над подсчетом в как милисекунд с большим бассейном. Даже давая различные extraNonces для каждого шахтера будет давать небольшое количество работы каждому работнику. Как работники получают другую работу?
Каждый различный заголовок блока дает шахтеру 4 миллиарда новых хэш, чтобы попробовать. Изменение extranonce изменения корневой Меркл и, таким образом заголовок блока. Когда шахтер заканчивает свою работу он получает новый заголовок с другим extranonce.

Что такое coinbase?
Это сделка, которая дает шахтеру 50 BTC (или что это) вознаграждение блока (или в качестве альтернативы, ввод этой сделки).

Только coinbase сделка может иметь coinbase вход и coinbase вход единственный вид входа, который не соответствует более раннему выходу.
Мени Розенфельда сейчас офлайн Пожаловаться на Мень Rosenfeld   Ответить с цитированием Мультицитирование сообщения от Мени Rosenfeld Быстрый ответ на сообщение Мени Rosenfeld

15 декабря 2011, 9:49:13 PM   # 6
 
 
Сообщения: 1218
Цитировать по имени
цитировать ответ
по умолчанию Re: пара вопросов о хэшировании - Нужна помощь

1. а) 2 шахтеры не будет иметь тот же блок (основная сделка отличается для каждого государственного счета), но может найти блок в то же время - что происходит тогда? что, если это же время (позволяет сказать, что же milisecond так запаздывает в сети не может рассчитывать на, слово еще не распространяется) в секундах и как распространить слово, чтобы, как 50% компьютеров? Компьютер А получает новый блок от рудничных А и компьютера B получает блок из рудничной B - что произойдет, когда компьютер А говорит на компьютер В "эй я получил новый блок для вас"?

Тогда сеть разделяется. Это происходит время от времени. После того, как компьютер имеет действительный "новейший блок" он игнорирует другие блоки, представленные. Обе части сети будут работать на разных цепочках. После того как одна части сети находит следующий блок он будет иметь бесспорную длинную цепочку, а другая цепь будет потеряна.

Так, например:
текущий блок # 123
майнинг решает следующий блок = # 124 (мы будем называть его # 124A, чтобы сохранить его простым)
майнинг B решает следующий блок = # 124 (мы будем называть эти один # 12)

Каждый майнинг передает свой блок к сети. Так что на данный момент времени некоторые из сети имеет # 124Ы и некоторые есть # 12 в качестве последнего блока.

Сеть разделена, но не волнуйтесь, обе части сети работают на блоке # 125. Который когда-либо часть решает блок # 125 для своей цепи становится доминирующей цепью. Так сказать, шахтер, который имеет # 124A решает следующий блок # 125. Когда он передает его в сеть все клиенты будут принимать его. Даже те ж / # 124B, потому что # 124A, # 125 больше, чем их цепи.

Плохая новость заключается в пуле, который добывал # 124B получите уведомление, что их блок является устаревшим / недействительным. Нет награды монеты для них.

Bitcoin имеет 10-минутный блок и очень быстрое время блок Размножение. Для майнинга, чтобы быть конкурентоспособными, они нуждаются в большом количестве ссылок к сети (чтобы стало известно об изменениях блока & вытолкнуть их блоки быстро), так цепь расщепляется довольно редки.


котировка
2. поэтому я вычислить хэш для 1 дифференциала, и я посылаю правильный хэш для бассейна, и он просто проверяет его? Это выглядит разумно и хорошо, но здесь снова (с рабочей стороны) - как работа распределяется не получить такую ​​же работу, как и другие шахтера? Как я предполагаю, что мы добываем на той же «счета» (ключ), так что даже основная сделка же для расчета - это будет получить временное значение над подсчетом в как милисекунд с большим бассейном. Даже давая различные extraNonces для каждого шахтера будет давать небольшое количество работы каждому работнику. Как работники получают другую работу?

То есть работа у бассейна. Шахтеры послал GETWORK просит бассейн убеждается все они имеют разные "дополнительный одноразовый" Значения в coinbase, чтобы гарантировать, что они работают над уникальными решениями. Что касается бассейна "просто проверить его", Ага. Помните проверки один хэш очень легко. Она занимает одну миллионную долю секунды или менее для современного процессора. Таким образом, каждая доля отправка пул занимает те же исходные данные вычисляют хэш, сравнивает его с вашим "ответ" и убеждается, что меньше, чем доля трудности 1. 

Если она есть, и эта доля не черствая (больше не действует, так как изменение блока произошла) увеличивает пул вашего количества акций на единице. Для каждого 1 GH в хэширования мощности бассейна нужно будет получать и проверять ~ 15 акций в минуту. Так Deepbit ж / 3000GH проверяет около 42 000 акций в минуту.
DeathAndTaxes сейчас офлайн Пожаловаться на DeathAndTaxes   Ответить с цитированием Мультицитирование сообщения от DeathAndTaxes Быстрый ответ на сообщение DeathAndTaxes

15 декабря 2011, 10:45:54 PM   # 7
 
 
Сообщения: 1988
Цитировать по имени
цитировать ответ
по умолчанию Re: пара вопросов о хэшировании - Нужна помощь

Скажем, последний блок # 157596, и все шахтеры пытаются найти блок # 157597.
Оба Мени Р. и смерть А.Т. 100% правильно в описании сетевых расколов.

Существует дополнительное wrinke когда block_number мод 2016 == 2015. Эта ситуация называется "перенацелить", В тех ситуациях, блоки отличаются не только "предыдущая хэш" поле, но и "трудность" поле.

Глобальная сеть будет по-прежнему сходиться к доминирующей, самой длинной цепи; только что сходимость потенциально может занять гораздо больше времени. Но разница в сложности создает интересные проблемы как с точки управления, теории зрения, а также из теоретико-игровой точки зрения.

Например доминирующими бассейны горнодобывающие были DDoS-эд непосредственно перед Retarget, вероятно, в надежде на создание более прочного разделение сети и взаимное недоверие между бассейнами.
2112 сейчас офлайн Пожаловаться на 2112   Ответить с цитированием Мультицитирование Сообщения от 2112 Быстрый ответ на сообщение 2112

21 декабря 2011, 3:56:24 PM   # 8
 
 
Сообщений: 52
Цитировать по имени
цитировать ответ
по умолчанию Re: пара вопросов о хэшировании - Нужна помощь

Теперь все кажется ясным, в техническом плане, хотя я просто немного запутался об этом всей coinbase вещи - здесь каких-нибудь примеры, как это точно сгенерированные? Я знаю, что приходит goldenNonce или extraNonce, однако блоки сгенерированные имеют совершенно другую coinbase (в длину и способ, которым они построены) на blockexplorer. Похоже, есть одна статическая часть, показывающая в большинстве блоков:

Блок 158480: "0468860e1a020277522cfabe6d6d8b49cd63aebdb9536d0f880e41271e1a9c58269162b950e0c4e5f3b48081d1 1f0100000000000000"
Блок 158479: "07456c69676975730284362c4d4d3d3d17bf49f82f631b1ecc798ccd3ac96c38d577c77ce72b035 f118d17de626c647b0100000000000000074f505f4556414c"
Блок 157478: "0468860e1a015c" -> Вот 15c выглядит как extraNonce
(5 последующих блоки содержат это «почти статичные» тоже)

но все-таки, почему один, как 10-20 шестнадцатеричном долго, а другие удлиненные? то, что другие части, что делает его так долго?

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

21 декабря 2011, 4:13:36 PM   # 9
 
 
Сообщения: 1218
Цитировать по имени
цитировать ответ
по умолчанию Re: пара вопросов о хэшировании - Нужна помощь

Теперь все кажется ясным, в техническом плане, хотя я просто немного запутался об этом всей coinbase вещи - здесь каких-нибудь примеры, как это точно сгенерированные? Я знаю, что приходит goldenNonce или extraNonce, однако блоки сгенерированные имеют совершенно другую coinbase (в длину и способ, которым они построены) на blockexplorer. Похоже, есть одна статическая часть, показывающая в большинстве блоков:

Блок 158480: "0468860e1a020277522cfabe6d6d8b49cd63aebdb9536d0f880e41271e1a9c58269162b950e0c4e5f3b48081d1 1f0100000000000000"
Блок 158479: "07456c69676975730284362c4d4d3d3d17bf49f82f631b1ecc798ccd3ac96c38d577c77ce72b035 f118d17de626c647b0100000000000000074f505f4556414c"
Блок 157478: "0468860e1a015c" -> Вот 15c выглядит как extraNonce
(5 последующих блоки содержат это «почти статичные» тоже)

но все-таки, почему один, как 10-20 шестнадцатеричном долго, а другие удлиненные? то, что другие части, что делает его так долго?

Спасибо за все ответы! Они объяснили, почти все

Потому что она используется только для энтропии и как таковой вы можете положить все, что вы хотите в нем. Различные бассейны имеют различные методы для загрузки coinbase сделки, чтобы обеспечить уникальное распределение работы для каждого шахтера. Один бассейн даже путы "Сообщения" там. Если для заданного набора данных (время, предшествующего блока хэша, установленных на транзакции, и все) вы одноразовых номеров не находят решения для блока (и вы не 999999 раз из миллиона), то вам нужно "попробуй еще раз", Очевидно хэширования же данные приведут к таким же не-решения, так что вы должны изменить данные. Решением Bitcoin для изменения заголовка блока произвольно и, таким образом, заголовок хэш-блока является случайным coinbase поля.

 Теперь с объединенномом добывающего coinbase будет также содержать хэш зависимого blockchains последнего блока.
DeathAndTaxes сейчас офлайн Пожаловаться на DeathAndTaxes   Ответить с цитированием Мультицитирование сообщения от DeathAndTaxes Быстрый ответ на сообщение DeathAndTaxes

21 декабря 2011, 8:26:47 PM   # 10
 
 
Сообщения: 1652
Цитировать по имени
цитировать ответ
по умолчанию Re: пара вопросов о хэшировании - Нужна помощь

Coinbase должен быть длиной от 2 до 100 байт и должен быть действительным, когда десериализации как "CScript", но может содержать произвольные данные.

Блок 158479 выглядит, как он делает слитую добычу.
«07456c6967697573» в начале это строка «Элигий».
Материал в середине выглядит как хэш для других блоков цепей.
И «074f505f4556414c» на endis является строка «OP_EVAL».
Гэвин Андресен сейчас офлайн Пожаловаться на Гэвин Андресен   Ответить с цитированием Мультицитирование сообщения от Gavin Andresen Быстрый ответ на сообщение Гэвин Андресен



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

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

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

3HmAQ9FkRFk6HZGuwExYxL62y7C1B9MwPW