Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Verify() and proof of transcoding #24

Closed
dob opened this issue May 31, 2017 · 1 comment
Closed

Verify() and proof of transcoding #24

dob opened this issue May 31, 2017 · 1 comment
Milestone

Comments

@dob
Copy link
Member

dob commented May 31, 2017

The verify() transaction is what a transcoder calls when he provides proof that he transcoded a particular segment. The inputs are:

  • streamID (or jobID)
  • segmentSequenceNumber
  • hash of transcoded output for that segment
  • signed transcode claim (which includes signed segment data from original broadcaster)
  • merkle proof that this transcoded segment is included in the merkle root from the preceeding endJob() call.

The function should then:

  1. Verify that this segment for this job id is in fact eligible for verification (can be deterministically known based upon the endJob() call).
  2. Verify that the original segment was signed by the broadcaster.
  3. Verify that the merkle proof is valid and this segment was claimed in endJob() before the transcoder knew this would be challenged.
  4. Invoke the verification process. To do so it will also need a swarm hashes of the location of the original and transcoded segments. This should be able to be determined from the signed transcode claim from the broadcaster.

This is non trivial and requires some on chain merkle proof verification and signature verification. We can track those as separate issues, and they would be good opportunities to contribute back to a common library like OpenZeppelin.

@yondonfu
Copy link
Member

Closed by #35

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants