когда они проверяются на двойной тратит или фальшивые монеты? Разве что, когда шахтеры поместить их в блок?
Шахтер поставил операции в блоке, которые действительны для текущего blockchain. Когда другой пул находит блок, что делает сделку недействительной, то она будет exluded из следующего atempt, чтобы найти блок. Кроме того, если два или более транзакций происходить подавление, которая аннулирует друг друга (двойной расходы), каждый шахтер выбирает одну из них, чтобы включить в свой блок
Итак, из звуков этого, шахтеры только положить действительные сделки в потенциальный блок? Таким образом, я предполагаю, что шахтеры проверить, когда они помещают их в блок.
Верный. Блок с некорректным ТМ является недействительным блоком и трата огромного количества работ, необходимых для ее решения. Недействительный блок будет немедленно отвергнут всеми другими узлами и никогда не будет частью самой длинной цепи.
Однако шахтеры на самом деле проверить Txs как только они получают их. На самом деле все узлы проверки ТХ, как только они получают их. Не используйте слово "подтвердить" иметь в виду, проверить, как "подтвердить" как правило, используются для обозначения TX, который включается в решаемом блоке, который был добавлен к blockchain и является частью самой длинной цепи.
Таким образом, узел (любой узел) получает TX от своего партнера. Если он недействителен узел отбрасывает его. Если это действительно добавляет его в пул памяти (список неподтвержденных ТХ), а затем передает его на все свои сверстник. Эти сверстники делают то же самое (в том числе независимой проверки ОГО). Теперь, если узел является также шахтером * это займет некоторые Ое из пула памяти (все из которых уже действует) собрать их в Merkle дерево и построить блок заголовок от этого. Если блок решается шахтер будет транслировать блок к другим узлам.
Когда узел получает новый блок, он проверить блок, включающий:
1) все ТХ в блоке действительны
б) Merkle дерево и Merkle корень дерева действует
3) вся информация в заголовке блока действует
4) блок хэш соответствует целевой сложности
После того, как узел подтверждает блок действует он добавит блок в blockchain и удалить ТЙ, включенные в блоке из пула памяти. Узел будет ретранслировать блок для всех своих сверстников, которые делают то же самое. Если блок когда-либо сиротой узел добавит все ОЕ, которые были в блоке обратно в пул памяти.
Таким образом, все узлы имеют два "списки"
а) пул памяти = список допустимых неподтвержденные ТХ не включены в блок.
б) blockchain = связанный список блоков и подтвержденный ТХ они содержат.
Все узлы в следующей последовательности (для обоего передатчиков и блоков)
Получать -> проверки -> магазин / обновление -> реле