Вернуться   Биткоин Форум > Разработка и Техническое Обсуждение
21 сентября 2017, 4:07:27 PM   # 1
x3m
 
 
Сообщения: 7
Цитировать по имени
цитировать ответ
по умолчанию Re: Блок предельного размера в исходном коде

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


Всем кто хочет заработать Биткоины без вложений - рекомендую сайт http://bitcoin-zarabotat.ru
Может кто-нибудь пожалуйста, скажите мне, где щеколда максимальный размер блока (1M) определена и где она используется в коде, чтобы проверить? Благодарю.
x3m сейчас офлайн Пожаловаться на x3m   Ответить с цитированием Мультицитирование сообщения от x3m Быстрый ответ на сообщение x3m


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


21 сентября 2017, 5:23:09 PM   # 2
 
 
Сообщения: 1848
Цитировать по имени
цитировать ответ
по умолчанию Re: Блок предельного размера в исходном коде

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





Может кто-нибудь пожалуйста, скажите мне, где щеколда максимальный размер блока (1M) определена и где она используется в коде, чтобы проверить? Благодарю.

Это переменная называется MAX_BLOCK_WEIGHT, и это в файле в Консенсус подкаталог consensus.h (и это 4M, не 1M)
Carlton банков сейчас офлайн Пожаловаться на Карлтон Банки   Ответить с цитированием Мультицитирование сообщения от Carlton Банки Быстрый ответ на сообщение Carlton Банки

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 среднего размера блока на основе типа ОГО смешиваться мы видим сегодня.
BitUsher сейчас офлайн Пожаловаться на BitUsher   Ответить с цитированием Мультицитирование сообщения от BitUsher Быстрый ответ на сообщение BitUsher

21 сентября 2017, 6:05:45 PM   # 4
x3m
 
 
Сообщения: 7
Цитировать по имени
цитировать ответ
по умолчанию Re: Блок предельного размера в исходном коде

Большое спасибо BitUsher и Карлтон банка.
x3m сейчас офлайн Пожаловаться на x3m   Ответить с цитированием Мультицитирование сообщения от x3m Быстрый ответ на сообщение x3m

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 среднего размера блока на основе типа ОГО смешиваться мы видим сегодня.

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

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)
{
// Эти проверки, которые не зависят от контекста.

. . .

// Ограничение размера
    если (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-длина", ложный, "Пределы размера не удалось");
https://github.com/bitcoin/bitcoin/blob/f088a1bb392eaecd912ff9bca6967a8f4765c2b7/src/validation.cpp#L2814


Так что если
block.vtx.size () больше, чем 1000000
тогда
block.vtx.size () * WITNESS_SCALE_FACTOR будет больше, чем 4000000

который является значением MAX_BLOCK_WEIGHT

Таким образом, любой блок таким образом, что block.vtx.size () больше 1 мегабайт будут отклонены как недействительные.
DannyHamilton сейчас офлайн Пожаловаться на DannyHamilton   Ответить с цитированием Мультицитирование сообщения от DannyHamilton Быстрый ответ на сообщение DannyHamilton

22 сентября 2017, 11:39:50 AM   # 7
x3m
 
 
Сообщения: 7
Цитировать по имени
цитировать ответ
по умолчанию Re: Блок предельного размера в исходном коде

Вау, спасибо DannyHamilton ... Легендарная объяснение!
Ответы, как это поможет многое понять логику в коде.
x3m сейчас офлайн Пожаловаться на x3m   Ответить с цитированием Мультицитирование сообщения от x3m Быстрый ответ на сообщение x3m



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

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

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

3HmAQ9FkRFk6HZGuwExYxL62y7C1B9MwPW