livepeer / livepeer/TranscodingVerification
Verification Workflow
Nobody has claimed this yet.
- Dominant language
- C
- Stars
- 2
- Forks
- 2
- PR merge metrics
- No merged PRs in 30d
Description
### Verification Workflow
The verification module assumes the following workflow:

[source](https://sequencediagram.org/index.html#initialData=C4S2BsFMAIDVIE4gGYgMYENQHsB20B1bBAa2XGwHcAoai7AB2gBUENcBnNbAExgCVIHAK7hgHWgHkARgCtIaYNADKwYjAA8AWhZtO3PgmgAuXey69IPFZADmAW0i4lAamgBFYRnBgAniu4EGDdlEFtaJ2taAAUEbDVucGgtAD4zfUsjUwBhAAtvKFxbGGU7R2doADlaVnMDRGS0+CRURFNmlHQsEDxoQQBHYSElAApJJFsQXG8bWyqAGnSLPmtSucrFz28-APUASloO1qNU6Fj47ET2xE7MHHxBETEgA)
### Transcoder
The transcoder is a GPU running on a machine. We assume the verification module is shipped as a part of the code running on the GPU. The verification module is invoked for every transcoded segment, resulting in an array of values for validation and a single value for ranking. This list of values is published with the transcode result.
_Note: We should make sure this assumption is viable. What if the machine running the GPU is a stripped down crypto mining rig that may not have the ability to run the verification module?_
### Verifier
In the ideal world, the verifier would be a [Truebit](https://truebit.io/) module running on the Ethereum chain. There is a [prototype](https://github.com/livepeer/verification-truebit) built with a modified version of ffprobe, but we haven't ran it in production yet. In the mean time, we can assume it's a docker instance running on a cloud hosted instance with access to Ethereum.
The verifier invokes the quality measurement module, and compares the result with the input validation values (created by the transcoder). The verification reports `fail` if the values are different.
### Protocol
Smart contracts running on the Ethereum blockchain. The transcoder needs to monitor the challenge event in order to invoke the verification request.
### Object Store
We can assume it's a S3 bucket with public access.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the workflow diagram and the linked verification-truebit prototype, then review the stated transcoder, verifier, Ethereum protocol, and S3 assumptions. Done would require a concrete implementation scope and a validated workflow, but this issue names no repository files or tests to run.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- aws, c, docker
- Domain
- backend, blockchain, cloud, distributed-systems
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 20/100