Инициирующий транзакцию кошель широковещательно рассылает информацию о транзакции
Кошелек обычно подключен к 8 случайным узлам, он передает им транзакцию, а они передают дальше по цепочкам.
Да, это верное уточнение. Ноды обычно добавляют либо вручную, либо разработчики вносят в конфиг, либо как в битке - через централизованный сервер.
Простые кошели, которые не майнят, вообще могут не заморачиваться на контроле незапечатанных транзакций.
Они их проверяют, и если транзакция невалидна дальше не пересылают.
Хм. Попробуем сообразить...
В кеше висят еще не попавшие в блок транзы (а куда им еще деваться). Есть еще невалидные блоки, которые в дальнейшем отбраковываются сетью и из них тоже надо выковырнуть все транзы и проверить на двойную трату. Все это надо шерстить.
То бишь любой кошель должен проверять на валидность
-все словленные им транзы
-каждый новый добытый блок
и пересылать их дальше участникам или не пересылать. Если учесть, сколько сейчас транз в секунду проходит через сеть биткойн, довольно приличная нагрузка...
Факт получения денег обычный кошель осознает после получения блока с этой транзакцией...
Если bitcoin-qt подключен к сети он видит входящую транзакцию моментально, еще до того как она будет включена в блок.
Ну вот это уже лажа насчет моментальности. Сеть работает не моментально. Если все пересылается через ограниченное число узлов, фактически, канал, пусть даже широкий, это уже тормоз. Хотя насчет "до включения в блок" спорить не буду. Хотя, где-то в этом есть какая-то фундаментальная уязвимость... после блока было бы как-то надежнее.