The price feed median is calculated on every block produced from all the scheduled witnesses in that round. Meaning that every time there is a backup witness on that 21 witnesses round, the price feed advertised by that backup witness will be used for the calculation. Hence, backup witnesses should have a correct price feed.
This is not correct. Price feed median is calculated every round, not every block.
Then, as the computed value is a median and not an average, the fact that a backup witness with an inaccurate price feed comes into play does not really matter as long as there is no big split between values reported by the top 20 witnesses.
There is therefore technically no reason to require a witness to update his price feed and a witness is free to report the price he wants. When it comes to who votes for him and who should or should not approve such behavior, that's another debate.
Humm The way I read the code, I understood that for every block pushed it would also re-calculate the median. Need to check again the database source.
It would be useless to do it at each block as the underlying values do not change.
Yeah… they don’t even change per rounds sometimes.. but I was just analysing the code. Seeing the possibilities of hacking.
And thinking from a perspective of “if someone wants” to mess up with prices, would it be possible. But I guess that having the top 20 right with the median is 99% right… if they keep it right.
And yeah… it eventually all comes down to voting… my hole point from the post.
Thanks both, you and @felixxx for forcing me 😁 to check more.