I don't think they know what should be in a block. They only see what is in there after the block is forged.
But everyones sees what *could* be in a block, so it can be noticed if a node is shady
No. Not everybody sees what could be in a block, in fact nobody will see that in the not-so-distance future as nodes and clients will send transaction only to those nodes chosen by TF to reach the 1000 TPS.
Node 1 forges a block as defined by TF algo.
Node 2 (chosen by TF) verifies that node 1 forged its block correctly and forges the next block this is includes the validation or not of Node 1 block
If Node 1 block is invalidated then Node 1 gets no fees and the transactions are included in the list for the next node chosen by TF - NOT Node 2 the node that invalidated the block
Node 3 get its turn, it gets its transactions plus those that need to be forged from the Node 1 invalidated block and it gets to verify Node 2's block including its decision to invalidate Node 1's block.
If Node 3 decides that Node 2 made a bad decision on its transactions or the verification of Node 1 then node 4 gets Node 2s transactions.
This cycle repeats where nodes benefit from good decisions but cannot benefit if they make bad decisions which are found by other nodes and deciding a node is bad when it is not is also a bad decision.
It sound a bit complicated but essentially, what each node has to do is simply verify the immediately preceding nodes work in order to;
a) benefit from its forging opportunity
b) not be penalised by making the wrong decision about a previous nodes work.
the Next node needs to validate the previous nodes work but does not benefit from it
if the Next node makes a bad decision it is penalised but the verifying node does not benefit
because of TF the node invalidating the work cannot influence or control where the next block id forged and therefore control the outcome of its decision or benefit from it directly.
So if TF picks several bad nodes in a row then they will benefit but any 2 or more good nodes in the chain will unravel the bad nodes work.
I don't think complicated consensus rules are needed with this because a node knows its decision is verified by the next node and it can't control who the verifier of its work will be.
hope I explained this well enough.. may still be too complicated.
TF does not choose nodes. It chooses accounts.
Still, no node can/will ever know every to-be-verified transaction in the foreseeable future. Why? Because, we cannot have a broadcast in such a distributed network. It's too expensive and too slow.