Hey @sakhan in my
Witness proposal you asked me to reply. I was already monitoring this chat, but a bit busy with the pricefeed scripts themselves atm
Btw, this discussion has been talked about in the forums before, see for example with some interesting chats and opinions:
https://bitsharestalk.org/index.php/topic,23607.0.html How I feel about pricescripts and how they should come to life? First off, as the
white paper [section 2.2] states, pricefeeds are important to have a fair price for settlements of Smartcoins on the Dex. It is important to have accurate information, but the software has some build in fault resistance as you can conclude from that paragraph.
I think setting up a trustworthy pricefeed for your witness means:
1. Sourcing from markets with enough volume.
2. Sourcing from a multitude of markets.
3. Have limits in place to prevent black swan events or sudden spikes / drops.
4. Adjust parameters to your reasoning and be open about your bias.
In general I am a huge fan of
@xeroc's work in python. He made me dive into python (finally). I have been testing his scripts, mainly his multi-source pricefeed script, which had some recent edits by
@iHashFury incorporated here.
IMHO
@xeroc's script does this and enables you to add as many sources as you like, it also has built in limits which should be monitored and therefore I am writing to expand the script to report to me on my telegram bot with manual verification or rejection of the feed publishing.
Having a paid for account for 1 (live) source won't change that much seeing
GRAPHENE_DEFAULT_PRICE_FEED_LIFETIME in the config of 24 hours imho and especially it won't be a good idea to make the price-feeds part of the DEX software being dependent on it, as it would mean having a single point of failure.
Nonetheless I totally follow
@Thom to have some decent witness performance overview in place, like we have for Steem / Golos:
https://steemdb.com and
https://golosdb.com where it is easy to see who is missing blocks and how many, and who is slow on updating pricefeeds. This could help judge witnesses and actually vote / unvote them based on factual data and performance.
Alternatively we could all put trust in a machine script / AI and proxy your votes into that dedicated account who then votes / unvotes witnesses based on performance parameters to be set in a BSIP. In Steem it happens all the time once an active witness starts to miss blocks, and he/she is unresponsive, immediately he/she is voted out for the time being to keep the network at 100% participation. After the event is resolved and explained, the witness most always regains their votes.