OMG, welcome back to the “Colluding parties”
This was recently discussed in the developers chat and went something like this:
Q: but how to protect staking pool from sybil attack? half of the pools is controlled by one organizition?
A: nohow. Better incentives for more independed pools from the system, and better demand for transparency from the public. More honest organisation can create pools. People can “fire” pools that do not provide transparency.
And howether secure you make any system - every security argument may be actually contradicted with “But what 'bout colluding parties?” question. So in order to make anything remotely practical you have to assume honest majority.
It’s like
– We have developed a system that allows a buch of honest parties to develop better sustainable long-term consensus and detect malicious activity.
– Yeah… but what if all those parties collude… and they are actually evil? (O.O)
This is exactly why it is important for the public to understand what a staking pool is and what delegates should demand in return for their fees, since the public basically adopts the responsibility for keeping the system live, in return for the system providing value to them
Yes, you can detect a weird stuff happening on the chain if you see the average number of empty slots raising. This is one of the metrics in PoS systems and all users are advised to wait for longer confirmations if this metric goes up, since it might indicate a poor overall average networking or a malicious activity. Once you get enough confirmations on you block - there’s nothing much even a colluding party can do.
Basically - there’s not that much stuff a malicious node or a party can do in Ouroboros at all I advise you to read thru this whole thread first to understand the subject further: