Jump to content

Recommended Posts

Posted (edited)
290216-velikii-kitaiskii-firewall_1.jpg
 

Что плохого в увеличении размера блока? Этот вопрос не оставляет сообщество Биткоина с тех пор, как в прошлом году споры о возможности такого увеличения накалились до предела.

 

На своем последнем выступлении на Конференции Биткоин в Швейцарии разработчик Bitcoin Core Джонас Шнелли (Jonas Schnelli) описал как минимум одну из возможных проблем слишком быстрого увеличения размера блока, а именно: влияние, которое окажут большие блоки на неиспользованные ресурсы майнеров. Стоит отметить, что Шнелли решил не придерживаться общепринятого официального мнения относительно размера блока.

 

В майнинге важна каждая секунда

 

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

 

Во время своего последнего доклада в Цюрихе Шнелли объяснил эту проблему следующим образом:

 

«2-мегабайтные блоки имеют свои последствия. Китайские майнеры сейчас выступают за 2-мегабайтные блоки. Однако это вполне может обернуться для них проблемой… 

 

Здесь действительно важна каждая секунда. Когда вы добываете уже непригодный блок, не зная о существовании нового, вы теряете большое количество энергии. Даже если вы майните неверный блок в течение каких-нибудь 10 секунд, вы уже теряете время и ресурсы, и, как следствие, теряете деньги. Вот почему для майнеров важна каждая секунда, а в случае с 2-мегабайтными блоками необходима вдвое большая пропускная способность».

 

Пользователи Bitcoin Core не впервые обращают внимание на проблему распространения блоков в процессе майнинга. Многие разработчики обсуждали эту проблему на конференции Scaling Bitcoin в Монреале.

 

 

 

Читать полностью

Edited by Tomcat_MkII
Posted

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

Posted

На самом деле, в статье не упоминается одна важная технология - SPV-майнинг - которая во многом нивелирует значимость размера блоков для майнеров за ВКФ, она используется и с маленькими блоками. Работает она в общих чертах следующим образом.

Для того, чтобы майнер мог начать майнить новый блок, ему нужны:
а) Заголовок (хеш, время и т.д.) предыдущего блока;
б) Транзакции в mempool, которые можно включить в блок;
в) Текущее состояние UTXO (все непотраченные выходы, состояние обновляется с каждым блоком), чтобы понять какие транзакции из mempool ещё не включены в предыдущие блоки (если включить транзакцию из предыдущего блока в новый, то блок, естественно, станет невалидным).

Таким образом, казалось бы, майнеру, чтобы приступить к работе, действительно нужно полностью загрузить предыдущий блок (а чем он больше, тем действительно это дольше и тем больше финансовые потери). Но. В реальности можно майнить пустые блоки (не содержащие никаких транзакций, кроме транзакции с наградой майнеру). Для пустых блоков не нужно проверять текущее состояние UTXO, соответственно, не нужно и загружать предыдущие блоки целиком, нужен только заголовок предыдущего блока.

Майнеру нужно установить ноду по одну сторону ВКФ и оборудование с другой нодой по другую. Стратегия майнера становится такой:
1. Получить первой нодой заголовок последнего блока;
2. Передать заголовок оборудованию - майнить можно начинать - это 80 байт (!) + накладные расходы по пересылке - если блок найден до следующих шагов, то он будет пустым;
3. Второй нодой получить предыдущий блок целиком (при использовании thin blocks это около 90% от размера блоков, т.е. сейчас около 100 Кб в среднем), провести верификацию блока;

Итого: через ВКФ проходит 80 байт и можно начинать майнить, после того, как проходит ~10% от размера блоков, можно начинать майнить блоки с транзакциями. Это (кроме, пожалуй, части с thin blocks, я не уверен, что её многие используют из-за того, что код появился недавно) сейчас крайне распространено, наверняка все видели блоки размером по 200 с небольшим байт. Да, тут есть некоторые вопросы связанные с тем, что не очень правильно какую-то часть времени майнить блоки без валидации, и что не очень правильно майнить пустые блоки, но Schnelli неправ как минимум в том, что из-за увеличения блоков майнеры будут терять деньги из-за простаивающих мощностей - это не так (по крайней мере пока награда значительно превышает комиссии). Заголовок блока так и останется 80 байт, будь блок 1 Мб, 2 Мб или 10 Гб.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...