|
21 сентября 2017, 4:07:27 PM | # 1 |
Сообщения: 7
цитировать ответ |
Re: Блок предельного размера в исходном коде
Взлом Биткоин адресов.
500 Биткоинов взломаны в "мозговом кошельке" с паролем "bitcoin is awesome" Адрес кошелька: 14NWDXkQwcGN1Pd9fboL8npVynD5SfyJAE Приватный ключ: 5J64pq77XjeacCezwmAr2V1s7snvvJkuAz8sENxw7xCkikceV6e подробнее... Всем кто хочет заработать Биткоины без вложений - рекомендую сайт http://bitcoin-zarabotat.ru Может кто-нибудь пожалуйста, скажите мне, где щеколда максимальный размер блока (1M) определена и где она используется в коде, чтобы проверить? Благодарю.
|
21 сентября 2017, 5:23:09 PM | # 2 |
Сообщения: 1848
цитировать ответ |
Re: Блок предельного размера в исходном коде
Получил 1806 Биткоинов
Реальная история. Может кто-нибудь пожалуйста, скажите мне, где щеколда максимальный размер блока (1M) определена и где она используется в коде, чтобы проверить? Благодарю. Это переменная называется MAX_BLOCK_WEIGHT, и это в файле в Консенсус подкаталог consensus.h (и это 4M, не 1M) |
21 сентября 2017, 5:51:32 PM | # 3 |
Сообщения: 840
цитировать ответ |
Re: Блок предельного размера в исходном коде
Может кто-нибудь пожалуйста, скажите мне, где щеколда максимальный размер блока (1M) определена и где она используется в коде, чтобы проверить? Благодарю. Ограничение не больше не 1MB, и больше не определяется размером, но вес 4 миллиона БЛОКОВ https://github.com/bitcoin/bitcoin/blob/master/src/consensus/consensus.h Цитата: Bitcoin Github / ** Максимально допустимый размер для сериализованном блока в байтах (только для ограничения размера буфера) * / Статическая сопзЬ неподписанных INT MAX_BLOCK_SERIALIZED_SIZE = 4000000; / ** Максимально допустимый вес для блока, см BIP 141 (правило сети) * / Статическая сопзЬ неподписанных INT MAX_BLOCK_WEIGHT = 4000000; / ** Максимально допустимое число проверочных операций подписи в блоке (правило сети) * / статический Const int64_t MAX_BLOCK_SIGOPS_COST = 80000; / ** выходы сделки Coinbase могут быть потрачены только после этого числа новых блоков (правило сети) * / статического сопзЬ INT COINBASE_MATURITY = 100; Это позволяет Blocks до 4MB теоретически, но более реалистичный максимум размера блок будет иногда редко 3.7MB (предполагается, что около 100% segwit передатчиков) https://testnet.smartbit.com.au/block/00000000000016a805a7c5d27c3cc0ecb6d51372e15919dfb49d24bd56ae0a8b 90% и выше segwit ОЕ использования приведут к 1.9-2.1MB среднего размера блока на основе типа ОГО смешиваться мы видим сегодня. |
21 сентября 2017, 6:05:45 PM | # 4 |
Сообщения: 7
цитировать ответ |
Re: Блок предельного размера в исходном коде
Большое спасибо BitUsher и Карлтон банка.
|
21 сентября 2017, 7:17:42 PM | # 5 |
Сообщения: 1848
цитировать ответ |
Re: Блок предельного размера в исходном коде
Это позволяет Blocks до 4MB теоретически, но более реалистичный максимум размера блок будет иногда редко 3.7MB (предполагается, что около 100% segwit передатчиков) https://testnet.smartbit.com.au/block/00000000000016a805a7c5d27c3cc0ecb6d51372e15919dfb49d24bd56ae0a8b 90% и выше segwit ОЕ использования приведут к 1.9-2.1MB среднего размера блока на основе типа ОГО смешиваться мы видим сегодня. Я думаю, что это может быть разумным, чтобы указать на то, что "мы видим сегодня" является важным условием вашего заявления. В будущем, Молния, КТ и МАСТ сделки могут подтолкнуть, что в среднем выше. |
21 сентября 2017, 8:47:35 PM | # 6 |
Сообщения: 2002
цитировать ответ |
Re: Блок предельного размера в исходном коде
Обратите внимание, что есть также:
Код: статического сопзЬ INT WITNESS_SCALE_FACTOR = 4; https://github.com/bitcoin/bitcoin/blob/505955052e60e0681865f3064e005ca0d3aa90bf/src/consensus/consensus.h#L21И при проверке размера полученного блока, используется следующий код: Код: BOOL CheckBlock (Const CBlock& блок, CValidationState& состояние, Const Консенсус :: Params& consensusParams, BOOL fCheckPOW, BOOL fCheckMerkleRoot) https://github.com/bitcoin/bitcoin/blob/f088a1bb392eaecd912ff9bca6967a8f4765c2b7/src/validation.cpp#L2814{ // Эти проверки, которые не зависят от контекста. . . . // Ограничение размера если (block.vtx.empty () || block.vtx.size () * WITNESS_SCALE_FACTOR > MAX_BLOCK_WEIGHT || :: GetSerializeSize (блок, SER_NETWORK, protocol_version | SERIALIZE_TRANSACTION_NO_WITNESS) * WITNESS_SCALE_FACTOR > MAX_BLOCK_WEIGHT) вернуть state.DoS (100, ложный, REJECT_INVALID, "плохо-BLK-длина", ложный, "Пределы размера не удалось"); Так что если block.vtx.size () больше, чем 1000000 тогда block.vtx.size () * WITNESS_SCALE_FACTOR будет больше, чем 4000000 который является значением MAX_BLOCK_WEIGHT Таким образом, любой блок таким образом, что block.vtx.size () больше 1 мегабайт будут отклонены как недействительные. |
22 сентября 2017, 11:39:50 AM | # 7 |
Сообщения: 7
цитировать ответ |
Re: Блок предельного размера в исходном коде
Вау, спасибо DannyHamilton ... Легендарная объяснение!
Ответы, как это поможет многое понять логику в коде. |