In thinking about how to set up an election for default data providers, I start from the point that what we need in the client is a list of data feed providers, along with URLs, signature URLs, address and the percentage of the votes the provider received.
To derive the percentage of votes for each provider I suggest that all data feed providers submit a motion that represents their candidacy to be a default data provider. It might say something like this:
Voting for this motion will increase the probability that provider A will be chosen as a default data feed provider upon a specific installation of B&C Exchange version 5. This represents the candidacy of provider A to become a default data feed provider.
While data feed providers will likely want to say why shareholders should vote for them, that shouldn’t be a part of the motion in my opinion.
The date at which votes should begin to be counted will be April 25th UTC. This means @Cybnate, @Cryptog, @crypto_coiner and any other candidate will need to post their motion well in advance of that so it can be added to clients and data feeds. And yes, of course each data feed provider will vote for itself and no other. That works to accurately reflect the real popularity of each feed. Voting will end when the 5.0 release is otherwise code complete. A minimum of 5000 blocks and a maximum of 20000 blocks of votes will be counted, starting on April 25th. Individual shareholders may vote for none, one, some or all of the competing default data feed motions.
A hypothetical example will clarify how votes are to be counted:
The release is code complete except for the default data feed voting results 12,000 blocks after the start of April 25th. Within those 12,000 blocks, provider A received 6000 votes while provider B received 4000 votes for their respective motions. This means that 60% of the time running through the client install, provider A will be selected as the default data feed provider while the other 40% of the time provider B would be selected initially by default.
Any data feed provider who receives even a single vote will be included in the 5.0 release as a default data provider.
For any release that occurs more than 90 days from the release of 5.0, a new vote will be held for default data feed providers.