FAQ: How does Livepeer prevent self-dealing transcoders?

Livepeer is an inflationary protocol - it mints new Livepeer tokens every round. The idea is that these tokens are awarded to people who do work in the network. And since they potentially may have a value, people who are doing work can use these token to offset the cost that they may need to charge a broadcaster. This naturally prompts people to ask the question: Can transcoders cheat by broadcasting video to themselves, so that they earn more of these inflationary tokens without actually doing useful work?

The short answer is no, they would not earn more inflationary token by doing so. The longer answer is that there are significant costs that they would incur in self dealing, such that it would be more profitable to avoid this behavior and pursue inflationary rewards through other means. They’re more likely to earn more inflationary token by doing honest work than by self dealing. Read on for details…

Staking and inflation vs transcoding and fees

Doing work in Livepeer means staking your tokens - putting them down in a bond (or security deposit) for a period of time, and participating in the delegation protocol to elect the best performing transcoding nodes who are most useful to the system. Inflationary tokens are distributed to everyone who stakes - in proportion to how much is staked.

Transcoding, on the other hand, is also a very important form of work - actually contributing GPU/CPU to the network in service of encoding videos. Nodes who wish to perform this function actually charge a fee to the broadcasters, and collect this fee for doing honest work. Fees are the primary income that comes from doing transcoding work, and they scale with the number of jobs completed honestly.

Fee shares and reward cuts

There is a little wrinkle to the above: transcoders advertise a fee share and reward cut %. If people who stake delegate towards a particular transcoder, they agree that the transcoder will take the rewardCut % from their own inflationary token rewards, but they will also share feeShare % of the fees they collect back to the delegator. This is like a transcoder saying “vote for me and I’ll share some of the fees I collect with you, but you’ll also share some of the inflationary rewards back to me.” How they set these params are determined by many factors including their own costs, network usage, and how they value the long term health, cost effectiveness, and usability of the network.

A self dealing transcoder

  • Let’s start with the recognition that more work does not equal more inflationary rewards.
  • Let’s also recognize that more jobs leads to a higher cost for transcoders - more on chain claims, Ethereum transactions, etc.
  • So the only way to justify more jobs is more fees collected or higher rewardCuts from the delegators.
  • But the economics don’t line up for higher rewardCuts to exist from many delegators. We’ve extablished that a transcoder would have to be paying them out of their pocket. This is unsustainable relative to a transcoder actually doing real work and collecting real fees from 3rd party broadcasters. Any self-dealing job is a tax on the transcoder.

Finally, consider the scenario where a transcoder has 0 delegates because they are offering 0 fee share, and are keeping 100% of the block reward cut. In this scenario they receive 100% of the inflationary rewards in proportion to their stake. But they still have the cost overhead of being a transcoder. It’s cheaper to simply delegate towards another honest performing node, where they receive close to 100% of your proportional inflationary rewards, yet also receive fees, incur no transcoding costs, and benefit from the long term usefulness of a growing network.