TravelCoin — Geocashing

This a proposal for a new crypto-currency: TravelCoin, that relies upon proof of physical travel (as opposed to Bitcoin’s proof of work) as a way of securing it’s blockchain. These are my initial thoughts and attempt to open the topic for high level discussion rather than present a fully working protocol. I’d value the thoughts and opinions of the Medium community.

Proof of travel

Proof of travel means providing some kind of proof that someone has physically travelled to a geographic location on Earth. Because one can only be in a single place at once, it means that each unique human has approximately the same opportunity for collecting a block reward as any other human. This is an equitable manner for allocating rewards thus finding a robust proof of travel would be a desirable goal.

Description of protocol

TravelCoin is based upon BitCoin and Pokemon Go, it requires people to physically travel to sign blocks.

Summary: ‘Stashers’ will stash currency (in the form of private keys) at random physical locations on Earth, while at the same time ‘Miners’ hunt down the private keys at these physical locations. We use ‘proof of travel’ for signing blocks and create a scheme to incentivise and prove travel, thus we introduce the following:

Mapping Function

We introduce a mapping function (sic) that converts each discrete public address in the system to a gps co-ordinate on Earth. This function could initially be very simple, or have a probabilistic skew towards places on Earth that experience poverty.

Address 1F1tAaz5x1HUXrCNLbtMDqcw6o5GNn4xqX =>{-43.312642, 171.918297}

Stashing

Owners of funds held at an address can choose to stash some of their funds. If their stash is later successfully ‘mined’ then the ‘Stasher’ and ‘Miner’ share a block reward proportional to the size of the stashed funds.

Owners of funds held at an address can transfer them to a new address (to which the ‘Stasher’ has the private key) with a dedicated ‘Stash’ command. As a practical note, the owner might need to generate a number of addresses before they find one that is physically close to them and also in a public space.

When the ‘Stashing’ transaction is added to the blockchain, the address will receive the funds but will also be flagged as a ‘stashed’ address. The Stasher would then physically print the stashed address’s private key (possibly as a QR code) and leave it at the GPS coordinates indicated by the address mapping function. I describe this variant of geocaching as ‘geocashing’.

Funds held in a stashed address are locked for a minimum of n (say 5) blocks and then can be used for transactions as usual, however, the protocol implements a ‘stash penalty’ (of say 50%) of the funds for doing so.

This means anyone with the private key of unlocked stashed funds can immediately claim a percentage of the stashed value (with the remainder being burnt), this discourages the ‘Stasher’ from sharing the private key of their newly ‘stashed’ address. It also encourages the ‘Stasher’ to physically place the private key as otherwise the stash will never be mined.

Mining

Miners examine the blockchain for ‘stashed’ funds at physical locations close to themselves where they also have addresses within the prescribed system difficulty XOR distance. Miners would physically travel to the GPS location indicated by the address they are mining and attempt to recover the private key. If the miner successfully finds the private key then they are eligible for block signing.

Block signing

The block signing process is changed, such that the following is required:

  • the private key of an address with ‘stashed funds’, the stash
  • the private key of a destination address such that the XOR distance between the stash address, the destination address and the address destination of the winning block when the stash became ‘unlocked’ is less than the system difficulty.
  • the destination address must have had balance greater than or equal to the stash address during the period in which the stash was ‘locked’.

In the event that blocks are not being signed quickly enough, the the system difficulty would be adjusted making more or fewer destination addresses valid for claiming a block reward.

Proofs and Security

A direct proof-of-travel is impossible as the mathematical world has no knowledge of the physical world. However, the protocol is designed along game theory principles, such that if the miner and stasher ‘cooperate’ by physically stashing and mining then they are rewarded. If either party attempts to deviate from this, then they open themselves for potential loss. Thus the fact that the miner has possession of the stash’s private key is taken as a proxy for proof-of-travel.

The system works on the basis that it would be very hard to communicate the private key for the ‘stashed’ address to a unknown small subset of users without potentially revealing the private key to someone outside of XOR distance. If this happens, the ‘Stasher’ stands to lose a percentage of their original stake.

Because of the visibility of the blockchain, the only additional information that a true miner has over a fake miner is the private key of their address. Thus a stasher has no way of telling the difference between someone claiming to be a true miner vs a fake miner.

Preventing Miner/Stasher Coordination

How do we ensure that the miner and stasher are not the same person and hence don’t have to do any travelling at all?

The stashed address is locked for a number of blocks, it is intractable for the stasher to know at the time of stashing what the address of the destination block is n blocks in the future. This block is used to calculate the XOR distance for potential new destination addresses, thus at the time of stashing the stasher has no idea which addresses will be able to potentially mine the stash.

The probability of the stasher being able to mine their own block therefore:
# stasher owned addresses (>=stash value)/ # all addresses (>= stash value), which in most cases will be very low.

Income and Social Implications

If TravelCoin were successfully implemented, it would be easy to envisage it as providing a form of income for the Stashers/Miners. If the difficulty of the travel is low enough then this would offer a form of ‘alternative’ employment to any person. In areas with low incomes, this employment could be comparatively lucrative and offer real alternatives to a precariat existence. ‘Proof of travel’ it is not strictly offering an unconditional Basic Income, but rather unconditional opportunity to earn income.

Travelling around the countryside and experiencing nature is also an enjoyable experience of itself and I see TravelCoin encouraging more people to do this.