Основы основ. Как проходят транзакции в экосистеме BTC. Подробно и понятно
В интернете есть много информации по данному вопросу. Но она практически всегда неполная и/или труднодоступная для понимания. Давайте совместными усилиями разберем данный вопрос...
Как я понимаю принцип работы сети:
Когда ты отправляешь BTC другому пользователю твой сформированный запрос с подробностями транзакции идет сначала на НОДу ( или Узел сети, это полная(примечания1) версия блокчейна Биткоина, история всех транзакций размером 124гб, по сути "программа" установленная на обычном компьютере ) такой клиент может быть установлен у тебя на компьютере и находиться онлайн ( самый надежный способ ), если же ты не имеешь своей НОДы, то запрос пойдет на какую-то рандомную в сети. Она проверит имеются ли у тебя деньги на счету ( посредством проверки всего блокчейна транзакций вплоть до зачисления на твой кошелек ) и прочие факторы. Если НОДу все устраивает и валидность (правдивость) транзакции подтверждена, то НОДа направляет данную информацию майнерам. Майнеры начинают собирать новый блок цепи, в который они и включают все(примечания2) присланные Узлами транзакции. После чего Майнеры отправляют собранный блок информации НОДе, та проверяет блок и информацию в нем на валидность, и если ее все устраивает добавляет его как новое звено цепи. Таким образом и достигается децентрализация, каждая НОДа работает отдельно, проверяет всю информацию. Каждая НОДа собирает свой блокчейн, НЕЗАВИСИМО от других. Но так как все работаю по одинаковым правилам, то эти цепи получаются абсолютно идентичными...Стоит отметить, что НОДы не доверяют друг другу и каждый Узел сети перепроверяет всю полученную информацию от других.
Примечания:
1) НОДа может быть неполной и включать в себя только часть всего блокчейна, например 50%, что менее надежно.
2) Размер одного блока в цепи 1мб (максимум) и когда одновременно поступает много запросов на транзакции, то вся эта информация не помещается в этот 1мб, так появляется (мемпул, memory pool), тоесть список транзакций которым не хватило места и они ждут своей очереди в следующий блок. Естественно майнеры включают в первую очередь те транзакции блок, которые платят им наибольшие комиссии. Это и есть проблема масштабизации. Много пользователей, много транзакций единовременно и все они не помещаются в 1 блок. Увеличить размер блока можно только с помощью *Харфорка*...
Исправьте ошибки и добавьте информацию от себя...
Ссылки на качественный! обучающий контент приветствуются.
p.s. На фоне вышеизложенного я делаю вывод, что в вопросе активации софт-форка самую важную роль играют именно НОДы, майнеры же просто собирают транзакции в новый блок. Таким образом если майнеры активируют СегВит, SegWitX2 (тоесть начнут применять измененные правила для создания блоков и проверки информации), то НОДы будут просто отклонять такие новые блоки, так как они функционируют по несколько иным правилам. Итог: в вопросах изменений правил наибольшую роль играют Узлы сети и их решения какие правила консенсуса использовать, майнеры вынуждены работать по тем правилам которые принимают большинство НОД, или их блоки будут отклоняться, соответственно они не будут получать прибыль и работать "в холостую".