21 идея
9.54K subscribers
1.78K photos
74 videos
38 files
2.57K links
21ideas.org — некоммерческий образовательный проект о Биткоине.

• Реклама: 21ideas.org/ads
• Поддержать проект: 21ideas.org/contribute
• Обратная связь: @alexweldon / @Tony_Crusoe
加入频道
Сложность биткоин-майнинга вновь достигла исторического максимума, превысив 26.6 триллионов
Forwarded from CryptoBotan
​​
Спецификация протокола Stratum V2

Для стека биткоина
⬇️⬇️⬇️
Предыдущие посты о протоколах майнинга: Stratum V1 и BetterHash. Stratum V2 - это объединение этих двух решений для повышения децентрализации майнинга.

Stratum V1, разработанный SlushPool 7 лет назад, используется почти всеми майнинговыми пулами. С ростом сети, изъяны, которые никуда не делись, стали представлять угрозу для экосистемы Биткойна:

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

Майнинг в соло имеет проблему, связанную с неравномерным распределением наград. Если обратиться к статистике, то 3-4 пула, контролируют 50% хэшрейта сети и могут выбирать транзакции, которые будут включены в блоки.

Коротко о майнинге в пуле:

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

Пул состоит из n-го количества майнеров и каждый пытается найти решение для блока. Майнеры запрашивают у оператора пула частичный “шаблон блока" (“block template”). Это неполный блок Биткойна, без доказательства работы. В процессе поиска майнеры отправляют свои решения (Share, Шары) оператору пула и тот проверяет правильность решения.

Новая версия позволит майнерам добывать собственные блоки, вместо предлагаемых пулом. Также Stratum V2 использует решение "Job Negotiation", дающее майнерам возможность выбирать транзакции включаемые в блоки. Вместо того чтобы оператор пула отправлял шаблон блока майнеру (“block template”), майнер отправляет шаблон блока оператору пула. Такое решение позволяет майнерам самим выбирать транзакции и версию блока.

Stratum V1 основан на JSON и не имеет криптографической аутентификации, что делает его более медленным, тяжелым и менее безопасным. Связь Stratum V2 осуществляется в двоичном коде.

Stratum V2 повышает передачу данных между майнерами, прокси-серверами и операторами пулов, что повышает пропускную способность сети.
\\\
Stratum V1 имеет проблемы с безопасностью, так как уязвима для атак MITM (Человек посередине), что позволяет перехватывать хэшрейт и присваивать награду третей стороне. Изображение

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

Новая версия протокола использует режим блочного шифрования - AEAD для устранения этой уязвимости. Операторы пула криптографически подписывают шаблоны частичных блоков. Если майнер знает открытый ключ оператора пула, он может проверить, что шаблон частичного блока поставляется с действительной подписью и, следовательно, действительно предоставляется оператором.

Еще больше об изменениях в протоколе здесь
stratumprotocol.org
Video about Stratum V2 by ChicoCrypto

#Mining