Вернуться   Биткоин Форум > - Помощь начинающим
10 февраля 2014, 12:21:22 AM   # 1
 
 
Сообщения: 238
Цитировать по имени
цитировать ответ
по умолчанию Re: Почему блоки получить сложнее проверить дальше в сканировании я получаю?

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


Всем кто хочет заработать Биткоины без вложений - рекомендую сайт http://bitcoin-zarabotat.ru
Когда я повторно -reindex, я замечаю, что делать первые 100k блоков примерно пять минут, затем следующий 100k примерно через час, а затем, когда я получаю около 250k это идет в нескольких десять блоков в минуту. Почему блок становится все сложнее в дальнейшем проверить через это получает? Разве это не просто хэширования их проверки хэш, и, переходя к следующему? Я понимаю, почему порождающий блоки будет получить сложнее, но, не проверяя их. Разве это не весь смысл недетерминистической полиномиальной функции?

Может кто-нибудь объяснить мне, что проверка блока на самом деле влечет за собой? Что разница между «checklevels» в Bitcoin-кварт / д?
Автоматический офлайн сейчас Пожаловаться на автоматическое   Ответить с цитированием Мультицитирование сообщения от автоматического Быстрый ответ на сообщение Автоматический


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


10 февраля 2014, 12:22:34 AM   # 2
 
 
Сообщения: 1218
Цитировать по имени
цитировать ответ
по умолчанию Re: Почему блоки получить сложнее проверить дальше в сканировании я получаю?

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





Он проверяет все Txs в блоке. Количество ОГО на блок увеличилось в течение долгого времени (что это хорошая вещь BTW).

Существует больше, чтобы проверить блок-действителен, чем просто хэширования его.

Сначала блок не может быть действительным, если какие-либо ОЕ является недействительной.

Для ТХ быть действительным клиент должен проверить, что:
а) имеет действительную форму & состав.
б) что входы все действительны и не были потрачены в предыдущем ОМ (то есть входы в UXTO во время Ого)
в) подпись действительна
г), что, когда Публичный хэшированные производит Публичный хэш в предыдущем выходе
е) (для coinbase только TX) сумма coinbase < субсидии + ТХ сборы.

Если какие-либо из этих проверок не, ТЙ является недействительным, и в результате блок является недействительным.

Второй блок-не может быть действительным, если какая-либо часть заголовка является недействительной.
После того, как все ТЕ аттестованы как действительный заголовок блока проверяется.

Merkle строится дерево и Merkle корень дерева хэш вычисляется. Если Merkle корень хэш в блоке не совпадает с вычисленной один, то блок является недействительным.
Кроме того, клиент должен проверить другую информацию в заголовке действует (до блока хэша, версия, и т.д.). Кроме временного значения и метки времени они детерминированы, и если они не совпадают
что клиент ожидает, то блок является недействительным. 
Клиент должен проверить, метку времени находится в пределах допустимых по протоколу. Bitcoin позволяет "свободный" метка времени, поэтому клиент должен построить допустимый диапазон и обеспечить временной метки блока падает в нее. Если метка времени находится за пределами ожидаемого диапазона, то блок является недействительным.

После заголовка проверяется клиент будет хэш заголовка и проверить полученный хэш меньше, чем цель на основе блока сложности.
Если blockhash не меньше, чем целевая сложность блок является недействительным.

Только если все эти проверки успешны является блок считается действительным и добавляются к локальному blockchain. Затем клиент переходит к следующему блоку. Самое время шаг потребления является валидация сделок (а именно проверки подписи ECDSA на каждом входе).
DeathAndTaxes сейчас офлайн Пожаловаться на DeathAndTaxes   Ответить с цитированием Мультицитирование сообщения от DeathAndTaxes Быстрый ответ на сообщение DeathAndTaxes

10 февраля 2014, 12:24:17 AM   # 3
 
 
Сообщения: 238
Цитировать по имени
цитировать ответ
по умолчанию Re: Почему блоки получить сложнее проверить дальше в сканировании я получаю?

Он проверяет все Txs в блоке. Количество ОГО на блок увеличилось в течение долгого времени (что это хорошая вещь BTW).

Это действительно единственная причина? Я вижу, как все больше сделок на блок будет замедлить его, но, не до скорости это в настоящее время происходит. Разве это не простой хэш-блока, сравнить, и «делать»?

EDIT: - О, это проверка всех операций в блок, как, проверки сделок себя, да, достаточно справедливо. Я понимаю, как это было бы замедлить его. Справедливо.


Могу ли я тогда спросить, в чем разница между уровнями проверки (0, 1, 2, 3 и 4)?

Код:
-checklevel =        Как кап блок верификации (0-4, по умолчанию: 3)

https://en.bitcoin.it/wiki/Running_Bitcoin#Bitcoin.conf_Configuration_File

EDIT2: - Могу ответить на мой собственный вопрос: -
https://github.com/bitcoin/bitcoin/blob/95e66247ebaac88dadd081f850ebf86c71831e61/src/main.cpp#L2767-L2807

Код:
// Проверка уровня 1: проверить блок валидность

(Могу ли я спросить, что «отменить действительность» есть?)
Код:
// проверить уровень 2: проверить законность отмены

(У меня также нет DIEA, что это такое)
Код:
// уровень проверки 3: проверить наличие несоответствий в ходе памяти только для отключения наконечника блоков

Код:
// проверить уровень 4: повторите попытку подключения блоков

EDIT3: -
Он проверяет все Txs в блоке. Количество ОГО на блок увеличилось в течение долгого времени (что это хорошая вещь BTW).

Существует больше, чтобы проверить блок-действителен, чем просто хэширования его.

Сначала блок не может быть действительным, если какие-либо ОЕ является недействительной.

Для ТХ быть действительным клиент должен проверить, что:
а) имеет действительную форму & состав.
б) что входы все действительны и не были потрачены в предыдущем ОМ (то есть входы в UXTO во время Ого)
в) подпись действительна
г), что, когда Публичный хэшированные производит Публичный хэш в предыдущем выходе

Coinbase ТХ необходимо проверить, что оно имеет правильный размер (coinbase < Субсидия + ТХ сборы).

После того, как все ТЕ аттестованы как действительный заголовок блока проверяется.

Merkle дерева (который представляет собой весь блок TX с одним хэш) и Merkle корень дерева необходимо построить.
Клиент должен проверить Merkle корень дерева производит спички заголовка блока.
Кроме того, клиент должен проверить другую информацию в заголовке действует (до блока хэша, версия, и т.д.).
Клиент должен проверить, метку времени находится в пределах допустимых по протоколу.
После заголовка проверяется клиент будет хэш заголовка и проверить полученный хэш меньше, чем цель на основе блока сложности.

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

Самое время шаг потребления является валидация сделок (а именно проверки подписи ECDSA на каждом входе).


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

10 февраля 2014, 12:40:27 AM   # 4
 
 
Сообщения: 1218
Цитировать по имени
цитировать ответ
по умолчанию Re: Почему блоки получить сложнее проверить дальше в сканировании я получаю?

IIRC checklevel не относится к обеспечению соблюдения правил протокола она проверяет, делается на локальной копии базы данных для обнаружения и, возможно, правильной коррупции и ошибок в основной базе данных. Вы не должны, как правило нужно изменить checklevel. Я вспоминаю одно время ошибка в клиенте вызвало отказ, и работает на более низком уровне проверки (нижняя = более обширной проверки) был использован в качестве обходного пути.
DeathAndTaxes сейчас офлайн Пожаловаться на DeathAndTaxes   Ответить с цитированием Мультицитирование сообщения от DeathAndTaxes Быстрый ответ на сообщение DeathAndTaxes

10 февраля 2014, 12:45:37 AM   # 5
 
 
Сообщения: 238
Цитировать по имени
цитировать ответ
по умолчанию Re: Почему блоки получить сложнее проверить дальше в сканировании я получаю?

IIRC checklevel не относится к обеспечению соблюдения правил протокола она проверяет, делается на локальной копии базы данных для обнаружения и, возможно, правильной коррупции и ошибок в основной базе данных. Вы не должны, как правило нужно изменить checklevel. Я вспоминаю одно время ошибка в клиенте вызвало отказ, и работает на более низком уровне проверки (нижняя = более обширной проверки) был использован в качестве обходного пути.

Вы уверены, что ниже = выше проверка? Я, кажется, наоборот от источника: -
Код:
если (nCheckLevel >= $ Значение) {

который, если я бегу 4, все они будут вызывать, если я бегу 0, никто не вызовет.
Автоматический офлайн сейчас Пожаловаться на автоматическое   Ответить с цитированием Мультицитирование сообщения от автоматического Быстрый ответ на сообщение Автоматический

10 февраля 2014, 12:50:52 AM   # 6
 
 
Сообщения: 1218
Цитировать по имени
цитировать ответ
по умолчанию Re: Почему блоки получить сложнее проверить дальше в сканировании я получаю?

Да жаль ваше право выше = более обширной проверки.

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



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

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

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

3HmAQ9FkRFk6HZGuwExYxL62y7C1B9MwPW