Today after an in-depth talk with Troi from @eoscafe on ways to help small block producers bundle their forces inspired by the concept of mining pools as shown by the following drawing.
This would allow for efficient cooperation, as different small block producers can join forces. A set of non-high availability infrastructures can propose valid blocks to the EOS Block Emitter which selects one of the proposed blocks using a predefined strategy. For example "the first delivered" strategy, this strategy keeps block latency as low as possible. The image below shows the blocks selected to be emitted in green and ignored ones - greyed out. In block-1 the first block producer (#1) missed a block in the "production window" which is not a problem in this scenario. A nice example of intrinsic failover.
The block emitter software would keep a detailed log of events to base metrics on. All block producers in the pool would receive an even share of the reward even when their blocks are not selected for propagation.
The logical next step is, of course, to structure this cooperation in an EOS dApp, describing the rules to work together as a team of individual block producers. The EOS Block Emitter is sending metrics to the dApp and based on these metrics the different connected block producers are rewarded.
This dApp has its own constitution, arbitration, governance and would pay for the infrastructure needed to develop, operate and maintain the EOS Block Emitter infrastructure. All connected blockproducers have their vote in the governance of this dApp.
This is described as a very high-level concept, all the different aspects should be defined, discussed and explored in great detail.
We are looking for coders who can help our community make these crucial components a reality! Starting with the EOS Block Emitter. Email me at [email protected]. Or join the @eosamsterdam discord channel: https://discord.gg/6scXfhY to work out the details!