This does already exist, in many variants. It's called a "permissioned blockchain". One example is the Bitcoin "sidechain" Liquid. As all nodes are known, if one node misbehaves, he can be excluded from the list.
A slightly more decentralized variant is DPoS or delegated Proof of Stake, where stakers (coin owners) vote a subset of validators.
However, 50% for a "vote" has been proven too low for these algorithms. Most use two thirds (66%), which is also the threshold for PBFT, the technical base of Ethereum since the Merge.
Double spending is also not fixed by "revealing a private key". Normally in double spends two subsets of nodes are tricked, one (with the victim(s) amoung them) into believing that a transaction is valid, the other that it never existed or that it was invalid.
In a permissioned blockchain however this is normally not possible. But all nodes have to trust each other. So I see no advantage of your "reveal private key" approach to the traditional Bitcoin transaction format, where you don't revel a private key but sign a transaction.