livepeer / livepeer/TranscodingVerification

Verification Workflow

Open
#7 4 comments 0 reactions 0 assignees View on GitHub

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:

![download](https://user-images.githubusercontent.com/345743/43158342-794708e8-8f4d-11e8-963a-8c3e368bee24.png)

[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

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.