@devadutta The more thought I put into it the more it’s becoming clear that the “traditional” mining pool model of PoW is inappropriate for VideoCoin. What we really need are anti-pools. Hear me out.
The reason that mining pools first originated in both Bitcoin and Ethereum is that the underlying incentive (BTC / ETH) are fixed for each block time. Since the network difficulty is variable, designed to maintain a constant block time to avoid double-spend & uncle/orphan blocks, the ability of a given unit of hash to derive the incentive via competition is stochastic (variable). This means even the operators with the largest amount of hash available have no economic guarantee of earning awards, and even less so, those with less hash.
The solution to this uncertainty of capital deployment was to form a pool of operators that agree to split the reward mined by any participant in the pool in direct proportion to their relative hash contribution. This makes sense because it’s taking the risk proposition of deploying capital for hashing and spreading it evenly among the hashrate.
VideoCoin does not work that way, nor does transcoding. The amount of work introduced to the VideoCoin network, and therefore the incentive payout for that work, has nothing do with a stochastic process nor a fixed block time. Furthermore, the distribution of that work, although weighted by VID delegation in the randomizer, is in proportion to the network throughput for a quantity of 30 second packets. This means a saturated VideoCoin network (more demand for compute than available supply) means that all workers will obtain work regardless of VID staked above the minimum self-stake.
This is true because a video of any significant duration will exceed the real-time available transcode compute in a saturated condition and packets will “waterfall” to the next available worker in the que because all of the other workers with greater quantities of VID are “busy” with the first round of packets.
Let’s imagine a scenario in which there are 100 workers on the network and for simplicity the total time for processing of a micro-job (packet of video) is equal to real-time (1:1) because of network latency and CPU performance. If 3,000 seconds of video (50 minutes) come into the network for processing the network will become saturated. Now imagine the first 50 of those workers has twice the amount of VID as the second half of 50 workers, it won’t matter because all the workers will get work in this scenario.
Given this understanding, if we return to the pool concept we realize it’s backwards. Each worker in a saturated network is guaranteed to get work (regardless of total VID staked). What actually matters isn’t that workers / delegators share risk of deploying capital (like in the case of BTC pools) for rewards, what matters is that their capital receives the MAXIMUM amount of value in greater proportion to the competition.
In theory delegators should want workers in which they don’t have to share their rewards with any other delegators. This is because lone-delegation in a saturated network is guaranteed capture the full 20% of the transcoding revenue. This in contrast to shared delegation in which a delegator receives a prorated amount as compared to the total stake (other delegators + worker self-stake).
The long term growth of the network is therefore predicated on workers striving to dedicate compute to delegators without them having to share it. This is how workers can differentiate themselves, not by spreading the risk of capital to all worker nodes and delegators, but rather committing a dedicated amount of compute per unit of VID delegation. Those workers that provide a given unit of transcode on a per VID basis (think fps / VID) will ultimately outperform the competition. I called this the Anti-Pool.