When some role in a system is essential, we often think that role has to have some special power over the system. But this is not the case.
Any user have the same power a witness has: posting units into database. The difference: user address is not written on units witnesses lists.
The user who post the unit, with some restrictions.
Your witnesses list has to be a compatible parent, this is, your witnesses list has to be at least same 11 witnesses as the parent one.
Of course not. That makes no sense. If any user can choose their own witnesses, why having a common ledger then?
Any user acts as a witness for himself because when he posts a unit is declaring their view of the ledger.
He knows their view of the ledger is the real one because he checks if majority of witnesses units posted on it.
A single witness is expected to do two things:
If an attacker builds a shadow chain (with or without some double spend) and tries to merge with the main chain, users will reject that chain because it has not any witness unit on it.
A single witness can not do any harm to the network, even if it doesn't behaves like is expected, because it is easily replaceable. Network will continue running under those conditions.
A group of witnesses, only if collude, could:
Yes. This is very unlikely to happen since they should care about their reputation.
No, this unlikely state of the ledger is contemplated on the whitepaper.
Schism. The protocol is ready to fork in a easy and panicless way.
All units posted has an "alt" field. New good units would have a different "alt " field and a different witnesses list.
So users would have two coins with same balances at a certain point. Also all data until the fork will be available to both.
Then, market would decide which is the right one :)
Transactions would not confirm, and nobody would know if their ledger view is the same than rest of nodes.
They could do it (because any node can choose the parent of the unit is going to post), but it would be immediately visible on the DAG, hence they would lose all trust they had.
Trust is something hard to gain but very easy to lose.
Byteball is not a trustless system. However, the entity which roots the system into reality has almost no power except saying "I am here, this is what I see". Even then, could be replaced if there was another witness with more reputation and more trustable.
Consequence of this, any user can trust the witnesses list of the last confirmed unit if he does not know who to trust.
Read more: https://busy.org/@henric/byteball-misunderstood-fundamental-aspects