Building a Blockchain Police Bodycam PoC for $25
Blockchain can ensure that the data is authentic.
Video forgery is becoming an epidemic. Blockchain technology can aid in the battle against malicious video alteration. A blockchain police bodycam is incorruptible. Here is building a blockchain police bodycam PoC for $25.
Police bodycams are essential for modern law enforcement, but they can be corrupted.
The evidence on a bodycam is often a critical differentiator in the justice process. It can be the difference if someone spends the rest of their life in jail or leaves the courtroom a free man. Lives are on the line. The authenticity of bodycam videos must be protected to the highest possible degree.
The importance of police bodycam videos is unquestionable — but is the threat of video corruption real? Yes, very.
Researchers have found that:
- bodycam videos are vulnerable to undetectable alteration,
- and malware has been found on shipped bodycams.
- Police departments have also been caught editing bodycam videos to skew the narrative in their favor.
- Police corruption and brutality continues to persist.
This isn’t remote speculation, it’s already a serious problem.
Blockchain can ensure that the data is authentic.
Most people have at least heard about the Bitcoin by now, but blockchain technology can take many forms. A blockchain can be used to ensure that data isn’t changed or deleted.
Having data that can’t be changed in any manner is the usage we can apply specifically to police bodycams.
Bodycams can cost up to $2,000 per camera, placing a hefty burden on police forces that are already cash strapped. Is it possible to run a blockchain on a low-cost low-power camera device?
Here’s the equipment we will be working with. Our total cost: $25.00
The components for our test.
This isn’t going to produce a field ready piece of equipment, but that isn’t the purpose. We just need to prove it’s possible.
Using some hot glue, tape, a few extra wires, and some minor soldering, we have a functional device that just barely crams into our project box.
Our (poorly) assembled components in a project box.
Software and Blockchain.
- Raspbian Buster Lite Operating System
- FFMPEG Multimedia Framework
- RigidBit Blockchain (synced to Ethereum)
Installing and Configuring.
After a few hours of installing and configuring, we’re ready for our first video test at a 720p resolution with 30 fps.
Screenshot of our first FFMPEG test.
Uh oh, FFMPEG means — maxing out the CPU. 📷 We need to get the CPU way down, or this test will be a complete failure.
Our power is looking good, though. Maxing out at around 0.3A, we should be able to get a fair amount of time out of our 3200mAH battery.
Power utilization at full load.
Next, I tried 480p at 10fps. Still maxing out the CPU, and we’re not even running the blockchain yet. 📷
Then I remembered something. Doesn’t the Raspberry Pi have hardware x264? After some quick googling: Yes, and it works with FFMPEG. 📷
Now to put it to the test.
Screenshot of our successful FFMPEG test.
Running 720p at 30fps consumes only 5% of CPU; we have plenty of room to spare! 📷
The next step is to get RigidBit running. Compiling is painfully slow, so it was left to run overnight. At 4:25 am, the compile is finished — and (to my surprise) this didn’t require any modification. Thank you, Rust!
Screenshot of RigidBit running on our Raspberry Pi.
Now for the final test. Can our $10 Raspberry Pi handle the task of capturing video and storing it in a blockchain?
Screenshot of RigidBit and FFMPEG running together.
RigidBit hovers around 10% and FFMPEG at around 5%.
Success! Our camera’s video is now anchoring videos with Ethereum.
It’s not pretty, but for $25, we have functional video capture being secured with a blockchain on the device itself.
Photo of our fully operational blockchain bodycam proof of concept.
There is plenty of room for improvement.
The experiment here may be good enough for a home security camera, but anyone who suggests duct-taping this to a police officer should be fired immediately.
My experiment here is a proof of concept and is not even close to being ready for field deployment.
RigidBit requires an internet connection to sync with Ethereum. Since cell phones are widely available, this isn’t a complete deal-breaker, but it’s not ideal.
If we incorporate trusted hardware, we may be able to achieve an acceptable level of provability while only needing to sync with Ethereum at the beginning and end of a shift.
RigidBit is already lightweight, but it can be stripped down much further since most of the features are not being used. We might be able to strip it down enough to run on an MCU instead of a Raspberry Pi.
Raspberry Pis are great, but we might be able to get the cost and power utilization even lower by using an SoC like an RTL8170 or an ESP32.
By combining all of the above, we could cut the device costs, reduce power usage, reduce the physical footprint, and eliminate the need for a full OS.
Additional use cases:
A blockchain police bodycam is just the beginning. There are plenty of other potential applications:
- Blockchain security cameras for all public installations.
- Blockchain dash cameras for cars, trucks, and motorcycles.
- Blockchain black boxes for all forms of mass transit.
Any place where data integrity is important, blockchain can serve an important role in providing absolute provability in a completely open and transparent way.
Thanks for reading! Please feel free to reply with any comments or questions.
Blockchain developer. Founder of RigidBit. Cryptocurrency since 2011. ♥ Rust. Health nut. Libertarian. Lifelong learner.