In this final part, we will look at Proof of Stake, Proof of Transcoding and tie it all back together to decentralized video infrastructure.
Challenge Response Authentication
The Matrix Reloaded, has an epic battle scene between Neo and Seraph which ends abruptly when Seraph tells Neo that he only fought to make sure Neo was actually The One. Neo ridicules him by saying he should have just asked.
To which, Seraph responds with this gem — “You don’t know someone until you fight them”. This sounds like ancient wisdom, but in reality it is the Wachowskis brilliantly visualizing a popular authentication technology called challenge-response authentication.
It works like this (Super simplified). When a computer program (client) wants to authenticate with a server, it is presented with a challenge, to which only the client knows the answer (Passwords are a similar concept). This is usually accomplished with cryptographic signatures. For instance, in Kerberos, the challenge is an encrypted integer N, while the response is the encrypted integer N + 1, proving that the other end was able to decrypt the integer N.
This brings us to Proof of Transcoding
What is Proof of Transcoding?
Proof of Transcoding a Challenge Response exchange that takes place between a Compute Miner on the VideoCoin network and a Verifier Node. Instead of posing cryptographic puzzles, the challenge and response are both based on properties of the video that is being mined. This way, when miners respond to a challenge on the work they did, they are actually doing useful work.
As a simple example, consider this amazing video from the NASA video archive.
To the left, you can see details about the video, like the codec (we discussed what a codec was in part 1), resolution, Duration and other details.
Like we discussed in part 1, the Video file’s bitstream is a series of 1’s and 0s that forms the video data
As a part of the Proof of Transcoding, a miner is essentially presented a challenge which it responds to. In a small twist to standard challenge response algorithms, instead of presenting a new challenge to the compute miner, the VideoCoin Network essentially asks the miner to present the entire solution for a particular problem that the miner was solving. For example, if a miner was creating HD video outputs from a 4K video input, VideoCoin Network will ask for the miner to present the entire chunk without the miner’s knowledge that the node is actually a verifying its work.
If VideoCoin network is going to verify the miner’s work, by using the entire solution, isn’t it repeating what the miner did?
This is where Proof of Transcoding uses the magic of video codecs — For a given input video, a given codec software and parameter set, the output video is exactly same to the last bit. Which means, to verify a miner’s work, we only need to redo a small part the work that was performed to verify the miner’s work.
Video codecs have a very convenient feature called GOP (Group Of Pictures) that lets us do just this. Digital video requires a lot of memory to play. So really smart codec engineers figured out a long time ago that the best way to deal with video is in independent parts and they came up with GOPs.
VideoCoin Network verifies a miner’s work by just verifying its work over a random part of a random GOP.
Since the network verifies a random frame from a random GOP, the miner cannot cheat by performing a small part of the work as there is no way for a miner to establish which part of the video is going to be used for verification.
What is Proof of Stake?
Home Equity loans are one of the easiest ways to understand Proof of Stake algorithms. When somebody gets one of these loans, they are pretty much “staking their home” and providing their home as collateral to secure the loan. So if they misbehave, the bank is free to take possession of their home.
Similarly in VideoCoin and other Proof of Stake algorithms, miners “stake” a certain amount of tokens in a pre-determined place as a collateral to secure a mining function. If the miner misbehaves, all the tokens “staked” will be lost as penalty. In VideoCoin’s case, the network punishes misbehaving nodes in a decentralized fashion, instead of the banking system getting involved.
How does VideoCoin work?
We finally have all the pieces of information to understand how VideoCoin network functions.
VideoCoin essentially incentivizes miners from all over the globe to install VideoCoin mining software, which in turn forms a “decentralized” network to perform video encoding, storage and distribution. VideoCoin network also provides well behaving miners “mining fees” in form of “VideoCoin Tokens” and punishes misbehaving nodes by using “proof of stake”. Well behaving miners provide “proof of work” using “Proof of transcoding” to “earn” VideoCoins
Lastly, below is the technical description of the VideoCoin Network, which I’m sure you understand now :)
Thanks for reading, let me know if I missed anything.
Join our Telegram channel if you have any further questions! https://t.me/videocoin