It started as a joke but quickly morphed into an actual project. Our goal was to make bitcoin mining an actual activity instead of a huge computation. We wanted to be able to use VR and motions to actually mine out a world. It was a bit intimidating since we wanted to create our own altcoin to do it and we had to modify Bitcoin Core to actually be able to handle the new way we wanted to validate and store blocks.

Bitcoin Modifications

So we spent a lot of time adding information and modifying to the Bitcoin Core software about proving a path to a "goal tile". Mining in this theoretical system would take time for people to break through blocks using the VR world and when they find a goal tile the program will send back information from the world to be validated by all other nodes and added to the chain. The next world would be seeded from the hash of the previous world. We ran into a lot of issues here but we ironed out almost all the kinks. The last thing we need to do before releasing this network is create a way for different mining software to communicate with our protocol as technically anyone could just make mining software within certain requirements

VR Mining

We envisioned a virtual world in which one could mine bitcoin through their actions. naturally this leads to the use of a voxel based generated world. However, unfamiliarity with openGL forced us to look to unity and a free voxel engine to work with. extensive modification where Virtual Reality support was integrated took a long time. However, we encountered difficulties with the engine we found. Most of the engines available required licencing which needed money that we were not willing to spend. The engine we used was difficult in that some of the implementations were hard to find and we ran out of time before we could finish the last few vital parts

While we wanted to use an Oculus Touch Controller or similar, we didn't have access to one. Instead we used a Leap Motion camera. The Leap Motion tracks the movement of the user's hands. We designed it so that when the user performs a downward swiping motion with their hand, they break the block that is in front of them.

Proof of Physical Work(PoPW)

An important concept in blockchain is proof-of-work. It involves ``incrementing a nonce in the block until a value is found that gives the block's hash [a] required zero bit" (Satoshi). The block can not be changed without redoing this work, and the work of the blocks after it.

Instead of incrementing a nonce, the miner will break a new tile in the search of a coin tile. If the tile is the coin tile, then the work is done, otherwise a new tile is broken. When the miner breaks the coin tile their full path is put into the block that will be sent across the network to validate the proof of work and that their final broken block was a coin tile.

From here we hash the block as normal and use the hash of that block to generate the tiles for the next world which the miners will then generate on their machines and begin the search one again.

Share this project: