Ok, aber ich glaube du bringst trotzdem noch die Begriffe Validierung und Bestätigung durcheinander.
Wenn eine Transaktion letztendlich in einen Block aufgenommen wird, und anschließend noch weitere Blöcke angehängt werden, bekommt die Transaktion immer mehr Bestätigungen.
D.h. es wird immer sicherer, dass die Transaktion nicht doch noch aus der Blockchain verschwindet, weil sich eine parallel geminte Kette durchsetzt. Ein Zahlungsempfänger will sich aber sicher sein, dass das Geld endgültig gezahlt wurde, wenn er z.B. etwas dafür verkauft. Deshalb wartet man einige Bestätigungen ab.
Davor schon wird die Transaktion aber erst einmal über die Nodes im kompletten Netzwerk verteilt. Dabei wird die Transaktion immer wieder validiert, d.h. geprüft ob sie den aufgelisteten Regeln entspricht. Die Miner machen das am Ende mit ihrer Node natürlich auch nochmal.
Ich bin mir nicht sicher auf welchen dieser beiden Punkte in der Liste du dich hier beziehst.
-
Neither lists of inputs or outputs are empty.
→ Hier wird nur geprüft, dass in der Transaktion überhaupt Inputs und Outputs stehen. -
For each input, the referenced output must exist and cannot already be spent.
→ Jeder Input der Transaktion muss ein Output einer vergangenen Transaktion sein, der bisher noch nicht ausgegeben wurde, also ein „Unspent Transaction Output“ (UTXO). Auf gut Deutsch, du musst das Geld besitzen, was du ausgeben möchtest.
Für die Überprüfung wird allerdings nicht jedes Mal die gesamte Blockchain durchsucht. Stattdessen pflegt jede Node ein „UTXO Set“, in dem sich zu jedem Zeitpunkt alle aktuellen UTXOs befinden.