There has to be a set of selected nodes that everyone agrees on, otherwise you run into some problems if a majority of those nodes are offline at the time of a transaction, a majority vote can never be reached.
This is the key to understanding how this can work in practice... How do you arrive at a consensus for who your consensus nodes are?
This is quite easy to explain, and it is essentially a random set.
Remember endorsements, they are the key. These are acquired through TXNs that produce transactions, and there is no way to predict which SN will get the next transaction as it is based on human behavior, and also depends on which nodes are connected to a TXN at the time of creation.
Endorsements are public, so anyone can see which nodes have been endorsed and when. You simply use a set of the most recent endorsements to determine who the current consensus nodes are for a transaction at the time it was created (and if the time is forged, it doesn't matter).
This works, is reliable and robust for a number of reasons:
1 Only endorsed nodes that were included in final transactions, voted for by a previous set of eligible nodes are selected, so you have a reliable set that everyone can agree. Consensus on the transactions results in consensus of a future agreed set.
2 Providing that the selection set is recent, then you have a very high chance that those nodes are still online and that they will be around to take part in the consensus process. Thus you have a reliable majority available. Only in rare edge cases would a majority of those nodes have all suddenly gone offline.
3 You are still able to calculate what the majority trust value should be, as you'll be able to easily calculate what the portion of total network trust is that those nodes control.
4 The same probabilities and information theory limits apply no matter set size, whether it be all the nodes in the network, or a handful.
The trust consensus is similar to other attempts in a few ways, but this is (as far as I know) the only one so far that has a agreeable, globally verifiable set of ever changing consensus nodes. Most consensus algorithms have a fixed static set that is easy to attack (as you know who the nodes are going to be at all times), or it is a leader-follower set up which is not suitable for P2P systems.
The exception is FBA (Stellar), but I'm not sure if I 100% align with the philosophy of it, as having nodes pick their own consensus nodes raises a few flags for me.