Все - большая часть полных нод. Что делают кастрированные ноды мне малоинтересно.
И какие же другие способы? SPV? Этот способ менее надёжен.
В чём хуета? Ты знаешь как проверить подпись без публичного ключа? Или хочешь сказать
ключи хранятся вечно? Про скрипты, я в курсе, если что.
Во-первых, да, я знаю как проверить подпись без публичного ключа.
Это вовсе не секрет какой-то криптографический, просто это свойство
ECDSA-криптографии, что публичный ключ может быть восстановлен из подписи
и дайджеста
Можете сами почитать про это - первая же ссылка в гугле по
запросу "recover public key from signature"
Во-вторых, не требуется отправлять "блок и публичные ключи", потому что эти публичные
ключи и так есть часть транзакции и входят в блок вместе с транзакциями и да,
они хранятся "вечно" (особенности сегвита пока не учитываем). Фраза "пересылает другим
нодам блок и публичные ключи отправителей транзакций." это аналог фразы "я в магазине купил
пакет молока и молоко" - ну бред же.
Во-третьих, как можно рассуждать "мне неинтересно что делают кастрированные ноды"
если с точки зрения стороннего наблюдателя вы не знаете - кастрированная это нода
или нет? Берлога с медведем внешне ничем не отличается от берлоги без медведя
Если палкой не тыкать
Я не утверждал что понимаю процесс более, чем абстрактно, и даже не утверждал
что моё понимание это истина. Но даже это понимание, заставляет меня сильно усомниться
в правдивости утверждения, что наверху майнеры всё решили, а сеть слепо верит.
Устал - не пиши, дело твоё.
Почему майнеры наверху? Нет, они не наверху, они равны тебе. У тебя право принимать
блоки обычного биткойна, или биткойн-кэша/биткойн-голда/биткойн-s2x или вообще есть
право нажать на крестик, не принимать ничьи блоки и пить пиво. И такое же право у
каждого человека в сети. Нет никаких "регуляторов" или "полицейских". Каждый вправе
идти в любую сторону, но удаляться в одиночку от стада индивидууму не выгодно.
По сути, вы сейчас упомянули возможность поиметь пул (фактически, других "батраков").
Другими словами, мы присасываемся к пулу, далее что-то пытаемся там майнить и получаем
процент от того, что намайнять другие (в соответствии с нашей долей в общем хешрейте пула).
Однако, если мы вдруг волею судьбы сами находим блок, нам очевидно не выгодно посылать
его в пул, а выгодно отправить в сеть самим как самостоятельному, индивидуальному майнеру.
Нет, не выйдет такое. Чтобы послать блок в сеть надо иметь по сути дела не только
"заготовку для майнинга", но и сами транзакции. Сами транзакции владельцу асика
нужны как зайцу стопсигнал, поэтому никто никогда их не передавал. Это лишний трафик.
Но это минорная проблема - дело в том что владелец асика обсчитывает "заготовку"
где уже прописан адрес владельца пула. Изменить этот адрес после нахождения nonce
вы не сможете.
Очередное подтверждение того, что ты пытаешься умничать не зная очевидного. Пул
включает в блок транзакции, coinbase транзакция в этом блоке - вознаграждение пула. Майнеру
нашедшему требуемый хеш ничего не остаётся, кроме как отправить блок в сеть, потому как
изменив адрес в coinbase транзакции, хеш блока тоже внезапно изменится и хитрозадому придётся
искать его заново.
У владельца асика нет "блока" чтобы послать его в сеть. Ему дали 80 байт заголовка этого блока
(на самом деле чуть побольше, но я уж в дебри стратум-протокола не лезу, это непринципиально)
Так вот. У владельца асика есть 80 байт из которых 76 байт неизменные и 4 байта - произвольные.
Асик перебирает все значения этого числа от 0 до 0xFFFFFFFF и если sha256d от этих данных
начинается с нескольких нулей - отправляет результат на пул. Блока у владельца асика просто нет.