Public Transcoder Pools Implementation Ideas


#1

One of the core proposals in the Streamflow paper is breaking down the traditional Transcoder role described in the Whitepaper into a new Orchestrator role, and Transcoder Pools. In the Streamflow proposal, rewards and fees are paid directly to the Orchestrator. One of the key issues is that the Orchestrators and Delegators stake tokens, and therefore could be slashed upon any malevolent behavior. If the Transcoder Pool maliciously encodes the wrong content, the protocol would not directly penalize the Transcoder but would slash the Orchestrators and Delegators.

The goal is to be able create a solution that will ensure that all participants have the necessary skin in the game to properly align incentives and equitably pay for their contributions to network. Here are a list of initial ideas outlined by Doug and the Livepeer team so far:

  1. Check the Work: Orchestrator can check all the work, and maybe the extra costs are recovered by the gains in efficiency by opening up your pool to the world.
  2. Use redundancies and randomization: Make multiple Transcoders compete to perform the work, compare their results to one another, and only check it if they disagree. Use some sort of randomness as to who is eligible to do the work to minimize the chance of collaborating Transcoder screwing you over.
  3. Secure the work via Transcoder Stake: Transcoders have to deposit some stake into a smart contract, that can be slashed if they provide an improperly encoded segment. This has the downside of Transcoders now needing to be crypto-aware rather than just dumb hardware.
  4. Use a quasi-trusted pool with governance: Run the pool as a DAO, where Transcoders have to buy in to do work. If the Orchestrators gets slashed, it hurts the funds that the DAO would otherwise control. Use governance to determine who can/can’t do work based upon a number of factors.

Please feel free to chime in with new ideas or thoughts around the costs/benefits of the proposed ideas outlined above.


#2

The real power of public pools is that it would allow anyone with idle hardware to point it at the LP network, in a totally low barrier, PoW-like way. Definitely worth running at if there’s a way to make it cost effective against private pools!


#3

I’ve provided a high level summary of a possible approach to designing the incentives around the Public Transcoder Pools. The crux of the new model is centered on the relationship between the Orchestrator and the Transcoder. Here is how the Orchestrator and Transcoder are able to work together:

  1. Orchestrators decide the quality of video to offer to Broadcasters, and curate their transcoder pool to ensure that they are able to deliver the designated video quality.
  2. Orchestrators determine % of total fees and LPT inflation to pay to Transcoders.
  3. The Orchestrators sets a deposit per unit of computational power that the Transcoder supplies to the pool. Transcoders pay this deposit to join the Orchestrator’s public pool.
  4. Transcoders and Orchestrators pair through an off chain matching process based off of % fees and rewards, quality of video requested, the Transcoder’s previous work history, and deposit required.
  5. Orchestrators will deliver raw video segments from Broadcasters to the Transcoder pool.
  6. The Transcoder pool will transcode the segments and send transcoded segments to the Orchestrator.
  7. The Orchestrator will check the segments. If the segment is faulty, the Orchestrator can invoke Truebit, and the Transcoder will lose their deposit and get booted from the pool.
  8. The Orchestrator will send checked segments to the Broadcaster, who can choose to check the segments again. If the Broadcaster finds a faulty segment, then the Orchestrator and Delegator will get slashed, and the Transcoder will lose their deposit.

The key incentives for each of the participants in this public pool mechanism are as follows:

Broadcasters:

  • Get the lowest price for their desired quality of video
  • Choose an Orchestrator with a large amount of Delegators and amount staked.

Orchestrators:

  • Maximize the amount delegated to them by increasing % of rewards and fees to Delegators
  • Maximize the number of Broadcasters they work with by decreasing price, offering video quality that is in highest demand, and working with efficient and reliable transcoders.
  • Maximize the number, efficiency and reliability of the Transcoders in their Transcoder pool by increasing the % of fees and rewards given to the Transcoder.
  • Maintain good security by checking the Transcoder segments at a high enough frequency, and setting the Transcoder deposit high enough to ensure security, while allowing a low enough barrier to entry.

Transcoders:

  • Maximize their rewards in fees by distributing their computing power to the pools with highest demand, so there is higher volume of fees flowing in.
  • Maximize rewards by choosing Orchestrators with a high reward and fee share.
  • Transcode video at a quality that is in demand by Orchestrators.
  • Transcode video efficiently so that there is a healthy enough profit margin.
  • Transcode video accurately to prevent being slashed and losing their deposit.

Delegators:

  • Choose Orchestrators that are able to attract Bs in high volume due to reliability and cheap service.
  • Delegate to Orchestrators that are able to select Ts that are trustworthy and provide transcoding at the desired quality, cheaply enough.

My goal is to determine what an MVP of the public pools will look like, but the idea is still quite nascent and I’d love to get the thoughts of the Livepeer community on the idea. Specifically, I’d like to make sure that the mechanism is crypto- economically secure and the key technical challenges are identified. I will be talking though the idea in the Community call on Thursday 12/20 at 12pm EST, but in the meantime feel free to post here!


#4

@everyone we will be discussing this post this Thursday on our community call. Please join us at 12 EST at crypto.livepeer.tv.


#5

Is it possible to participate in the call, or only to watch the livestream?


#6

@chrishobcroft, feel free to post any questions here in the forum and I’ll be sure to go over them tomorrow. If you have questions during the actual stream you can tag me on the discord and I’ll got over them as well.