|
31 марта 2014, 4:42:51 AM | # 1 |
Сообщений: 25
цитировать ответ |
Re: Почему есть целевое поле в заголовках блоков?
Взлом Биткоин адресов.
500 Биткоинов взломаны в "мозговом кошельке" с паролем "bitcoin is awesome" Адрес кошелька: 14NWDXkQwcGN1Pd9fboL8npVynD5SfyJAE Приватный ключ: 5J64pq77XjeacCezwmAr2V1s7snvvJkuAz8sENxw7xCkikceV6e подробнее... Всем кто хочет заработать Биткоины без вложений - рекомендую сайт http://bitcoin-zarabotat.ru Блок заголовки имеют `bits` поле, представляющее цели в момент блок-добывали (в соответствии с Bitcoin вики). Очевидно, что клиенты не могут доверять это поле как злонамеренный шахтер может просто установить легкую мишень, делая POW бессмысленным. Какова цель наличия целевого поля в заголовках блоков, если он не может доверять?
|
31 марта 2014, 12:38:05 PM | # 2 |
Сообщения: 519
цитировать ответ |
Re: Почему есть целевое поле в заголовках блоков?
Получил 1806 Биткоинов
Реальная история. Существуют строгие правила, как вычислила цель, поэтому шахтеры не могут фальсифицировать цели, в противном случае блок является недействительным.
Например, в 2016 окне того же трудности, цель должна соответствовать предыдущей. На границах, правила для регулирования применяется трудность. |
31 марта 2014, 1:04:27 PM | # 3 |
Сообщений: 25
цитировать ответ |
Re: Почему есть целевое поле в заголовках блоков?
Конечно, я знаю, что. Я знаю, что цель и как она вычисляется.
Что интересно, почему это цель хранится в заголовках блоков, когда он должен быть рассчитан независимо от контролеров? Похоже, избыточной информации, в лучшем случае и потенциальной западню для наивных реализаций клиента в хуже. |
31 марта 2014, 1:18:08 PM | # 4 |
Сообщения: 1750
цитировать ответ |
Re: Почему есть целевое поле в заголовках блоков?
Да, я не понимаю, почему он должен существовать. С 293000 блоков до сих пор, 293000 * 4 = 1.17MB впустую. Не так много, но я не могу понять, почему
|
31 марта 2014, 4:40:33 PM | # 5 |
Сообщения: 519
цитировать ответ |
Re: Почему есть целевое поле в заголовках блоков?
О, теперь я понимаю. Не уверен, но:
1) Nbits (= целевой) в заголовке блока хранится на диске, и проверяется при загрузке, вы не хотите, чтобы пройти весь путь обратно 2) могут быть некоторые интересные проблемы при попытке вычислить Nbits "на лету" при наличии цепей реорганизации; вблизи сложности Retarget Таким образом, это, вероятно, лучше, чтобы сохранить значение в заголовке в любом случае. Если есть другая, более важная причина, я хотел бы знать это тоже. |
1 апреля 2014, 3:29:35 AM | # 6 |
Сообщения: 1218
цитировать ответ |
Re: Почему есть целевое поле в заголовках блоков?
Узлы не зависят от целевого значения так что в теории он может быть удален, однако он позволяет узлам идентифицировать плохие блоки быстрее. Если узел получает ретрансляционной блок, который имеет другую цель, чем то, что он ожидает, то блок является недействительным и проверка может остановиться. IIRC в один раз altcoin насосе и самосвалы даже не хватил мастерства, чтобы понять, что нужно изменить магические значения и порты, чтобы обеспечить цепь будет независимой от Bitcoin поэтому клиенты будут ретрансляции блоков, которые просто недействительны для сети Bitcoin ,
Технически, что вы правы, это не требуется, и это не следует полагаться. Для повышения эффективности саке узлов проверки значений заголовка в первую очередь. Если они являются недействительными блок является недействительным. Они проверить ТХ установить рядом. Если какие-либо ОЕ недействителен блок является недействительным. Merkle дерево строится рядом. Если вычисленный Merkle корень дерево хэш не совпадает с корневым хэша в заголовке, то блок является недействительным. Наконец только после того, как все, что проверка завершена узел будет хэш заголовка и убедитесь, что он создает хэш ниже цели. Блок теперь действует и будет передан другими партнерами. |
1 апреля 2014, 5:47:36 AM | # 7 |
Сообщений: 25
цитировать ответ |
Re: Почему есть целевое поле в заголовках блоков?
> Для повышения эффективности саке узлов проверки значений заголовка в первую очередь.
Имеет смысл. Благодарю. |