Call For Code 2018: Proof Of Life
The Call For Code challenge, organized by IBM and the American Red Cross has closed submissions for this year on Friday, 28th of September. The Call For Code challenge calls for developers to produce solutions using top-notch technology that will improve the preparedness to reduce the disruptive impact of natural disasters on human lives, health, and well-being. While there certainly are many remarkable submissions, one of the solutions, relying on blockchain and crypto transactions, presented as an experiment before the expiration of submission deadline, conjured some interest in the media, both crypto and mainstream, showing that a transaction on the blockchain can be much more than just that.
It began with a tweet published on the 16th of September by one of the Burst community developers, who announced that he succeeded in sending a crypto transaction on the Burst blockchain, using a H.A.M. radio and a portable Burst node/miner, powered by a solar battery. The initial publicity came from the r/amateurradio subreddit, for all the wrong reasons, given the participants in the experiment, dubbed “Proof of Life” had adequate licenses to operate the radio, issued by proper authorities.
Obviously, the news here isn’t that a crypto transaction was sent over radio — while it’s definitely cool, it has been done before. The author of the “Proof of Life”, referred to in the media as “Daniel Jones” (pronounced: “the alleged Daniel Jones”) published an article “Proof of life, resurrecting technology” explaining in detail the motivation to conduct such an experiment and its use cases.
The novelty is that a portable Burst node/miner, with no connection to the electric grid, was used to synchronize a couple blocks and then issue the transaction on the Burst blockchain.
The Burst blockchain utilizes the Proof of Capacity (PoC) consensus algorithm, a unique consensus algorithm that uses hard drives for mining blocks. To mine Burstcoin, the crypto currency native to the Burst blockchain, miners first pre-compute Shabal256 hashes and store them onto hard drives. This process is called “plotting” and the resulting files are plot files. Plotting is done once before the mining starts. Shabal256 hashes are stored in groups referred to as “scoops” within plot files. The Burst mining software communicates with the wallet, which provides information needed to forge the next block to the mining software. The mining software uses the mining information to calculate the next block generation hash and the scoop number. The next step is calculating the deadline based on the scoop number and stored hashes. The deadline is an interval, in seconds, that has to expire before a new block is forged — this is how the miner with the shortest deadline wins the round and forges a new block. (The complete technical description of the Burstcoin mining process is available in the Burst Wiki.)
As described, mining on the Burst blockchain requires reading information from hard drives and a small number of simple calculations, compared to heavy computations of real time hashing which is the process of mining Proof of Work (PoW) crypto currencies such as Bitcoin, Ethereum and others. The low power consumption of hard drives compared to ASICs and GPUs used for PoW mining, as well as the fairly high transaction capacity of the Burst blockchain (up to 80tx/s), the energy expense of one Burst transaction is around 400.000 times less than of a transaction executed on the Bitcoin blockchain.
This feature of the Burst blockchain was crucial for the execution of “Proof of life” experiment, as an external hard drive powered by a solar battery is enough to run a Burst node and a miner for a period of time needed to synchronize and send a transaction. This means, in an event of natural disaster or adversarial circumstances, that a number of portable nodes with miners and hand radios as communication devices can extend and maintain a communication network while validating transactions and forging new blocks without power from the electric grid or telecommunication infrastructure.
Authors have prepared a short video of the demonstration how the system works:
The code repository of the solution is available at: https://github.com/nixops/NoBoundaries
Clearly, this is not a commercial solution, but a solution for extraordinary situations when other means of communication are unsafe or unavailable, and when a transaction on the blockchain can mean much more than just a crypto payment.