Wednesday, June 19, 2019

An Analog Blockchain Clock

Following is a description of an invention that exists only in my head.  I'd like to see it become real, but perhaps that desire isn't strong enough to make it happen.  If you make any money because of this idea, I'd appreciate some credit, but if you choose to ignore my existence instead, I and everyone who reads this will learn something valuable about you, though it will be kind of negative.  I have faith in you, and I would like to help you bring this invention into reality.

What Is It?
What I've invented (only in my mind, and now on the Internet) is an analog clock with a white face composed of four quarter-circles of backing material and an opaque rim all the way around, holding a clear cover through which the face of the clock is visible.  At the position of the tip of the hour hand at 1:30, 4:30, 7:30, and 10:30, just under the opaque rim, hidden by that rim from the view of those looking at the clock, are three LEDs, a green one, a red one, and a blue one.  The gaps between the four quarter-circles of backing material contain short barriers protruding from the face of the clock, but not far enough to be in the way of the hands as they go around.  These barriers are only tall enough to prevent light from the LEDs in one quadrant of the clock from shining on any other quadrant.  The clock functions normally, telling the time, and includes a user interface on the back so the user can set the time correctly.

The clock also contains a WiFi antenna and CPU in order to connect to the Blockchain Clock app, which is used to control the LEDs.  The clock broadcasts its own WiFi network until a device joins it and provides access information that enables it to join a foreign WiFi network that provides Internet access.  (This is similar to how the Samsung SmartCam SNH-V6410PN works.) Once the clock has Internet access, it enters default mode.

What Does It Do?
In default mode, the clock connects to the Bitcoin peer-to-peer network and listens to it for new blocks.  When it receives a new block, it uses the LEDs to display colors derived from the block's height (four bytes), hash (32 bytes), and merkle root (32 bytes again) until it receives another new block.  The display interprets three bytes at a time from the data, which provides it with 24 bits of data.  The 24 bits are divided into four groups of six bits each.  Each group of six bits is used to set the intensity of the LEDs in one of the quadrants of the clock face, two bits for each LED.  LEDs can be OFF, DIM, ON, and BRIGHT. The LED intensities are held for half a second before moving on to the next three bytes which are interpreted into a new color pattern for the entire clock face.

The data being rendered into color on the clock face is 68 bytes, which is 22 groups of three bytes each, followed by two extra bytes.  The 23rd group of three bytes is composed of bytes 67, 68, and 1, and the 24th group will use bytes 2, 3,  and 4, and the 25th, bytes 5, 6, and 7, and so on.  The entire pattern will repeat after displaying the data three times, which takes 34 seconds.

How Can We Mess With It?
The clock may also have a switch that allows the data being rendered into color to also be rendered into sound, playing what sounds like a bird tweet, but composed of tones that come directly from the data and which can therefore be analyzed to reproduce the source data.  In this way, and audio recording made in the presence of a Blockchain Clock (which is loud enough) will also enable the proofs described below.

The Blockchain Clock App allows the user to configure the duration of each display (the default of which is half a second as described above).  It may also allow the user to write a program that controls the colors displayed on the clock face instead of using the data from the Bitcoin blockchain.

What Can It Prove?
When a Blockchain Clock is functioning properly and it appears in a video recording, it can be used to prove that the video was made later than a particular point in time.  This proof results from identifying the colors on the clock face and deducing the bit patterns they indicate, which can then be compared to the bit patterns of the blocks in the blockchain to identify the point in time when that 68-byte pattern came into existence.  In this way, it can be proven that the video was not made prior to that point in time.

Once the video is stored digitally on a computer, its maker can compute a hash of the resulting file and use a service like https://cryptograffiti.info/ to memorialize it in the blockchain.  If anyone has that file, the presence of its hash in the blockchain shows that the file was created before a particular point in time.

In this way, proof can be created that it was made between two points in time, and thus that everything that happened in the video happened between those two points in time.  Of course, one must pay attention to any cuts in the video, since events from other points in time could be spliced in.  In any case, if you see the value in proving things, you are probably as excited about this kind of thing as I am.  And, really, we're very nerdy!

No comments: