Livepeer Transcoding Verification Improvements: The Next Level of Network Security
One of the trickiest challenges in decentralized computing is the verification problem. How can you trust that the work performed by an anonymous server somewhere across the globe was done correctly? This affects all sorts of computer networks performing all kinds of tasks, ranging from 3D rendering, to data stream processing, to AI-based computation. Of course this challenge also applies to Livepeer, which performs transcoding on live streamed videos. When you’re trusting a network to process your stream, you want to be sure that what comes out the other end isn’t just blank video (or worse) instead of a transcoded version of your original stream.
Various projects have used different approaches to tackling the verification problem — from duplicating work, to web of trust, to trusted hardware enclaves. In the Livepeer whitepaper, as well as in early versions of the network, the solution was to use a construction involving staking and a protocol called Truebit to ensure that no orchestrator could “cheat” and output malicious video. While this model worked for the first task available on the Livepeer network — deterministic CPU transcoding on predictable architectures — the introduction of additional task types has required ongoing research into new solutions to the verification problem.
Among these, non-deterministic GPU transcoding has been the bread and butter of the network at scale, and now AI based computation tasks are coming to classify video in order to assist with content moderation. At the moment, broadcasters can rely on client side verification using a machine learning model to detect malicious video, but improvements to this approach are necessary to provide video developers using the network with greater security guarantees while minimizing performance tradeoffs. The research team has been hard at work to not only design improvements to verification for non-deterministic GPU transcoding, but also a flexible and extensible task and verification framework that allows each task type to be accompanied by its own corresponding verification function (or lack thereof).
Fast and Full Transcoding Verification
We’re excited to share some of the latest research in these areas. We recently published a two-pronged design for verifying non-deterministic GPU transcoding called “Fast and Full Transcoding Verification”. The “Fast” portion of this design allows broadcasters to receive and verify video segments in near real time with a high degree of confidence that the work was performed correctly, so they can insert the video into their stream with low risk. The “Full” portion refers to a slower, offline dispute resolution process for noticed faults that imposes significant economic penalties (through slashing stake or freezing of work) when cheating is detected after the fact. While the arbitration process in this design uses a verification function specific to non-deterministic GPU transcoding, the dispute resolution mechanism in this design can be re-used for a different task with an arbitration process that uses a different verification function. An overview of the technical details, parameters and trust assumptions of the design can be found in the forum post.
The next steps are to deploy fast verification, which is a node software level update, and complete the design for full verification, which is a protocol level upgrade that will need to move through the governance process.
Find below some upcoming events to be aware of:
- A new version of the Livepeer node will be released for orchestrators next week containing updates necessary for fast verification. There will be an announcement in Discord
- After the release, there will be a 2 week grace period for orchestrator operators to upgrade to the latest node version that is compatible with fast verification
- After the 2 week grace period, the livepeer.com API broadcasters will be updated to only send work to orchestrators running the latest version of the node that is compatible with fast verification
The goal of this fast verification deployment is to observe and measure the performance of the algorithms used to inform parameters for how a broadcaster would use fast verification in future releases. We need all orchestrators to upgrade to the new node version in order to support testing of fast verification!
In parallel, we plan to collect feedback on the full verification design and to collaborate with the community to complete the technical design with the end goal of creating a governance pre-proposal.
If you have any questions or comments, or would like to get involved in the discussion jump into the forum thread. There will also be an opportunity to discuss the Fast and Full Transcoding Verification design, the roadmap and next steps as an agenda item on the next community call scheduled for Thursday, September 30th.
It’s a significant milestone for the project to begin clearing some of these research hurdles and to introduce the next level of security into the network. The data and evidence we gather will enable more and more scaled applications to trust a decentralized network like Livepeer to perform the heavy lifting of their video streaming tasks. And as more and more task types become available, this mechanism can be used to further the feasibility of the wider universe of fully decentralized Web3 compute protocols.