Professional Sports: Consensus in a Human Phenomenon

Major public professional sporting events are considered a phenomenon, where up to 1.5 billion people watch the same thing at the same time. And after the game, billions of dollars in bets are settled based on the final score. On top of that, thousands of statistics are compiled and normalized into ‘Fantasy Points’ and billions of more dollars are awarded to winners of fantasy sports contests. All this without any central authority! In fact, humans have been reaching decentralized consensus on major public sporting events since the Roman times.

The 2015 Cricket World Cup was watched by 20% of the worlds population. A true phenomenon.

In theory, there already is consensus on major sports data, but how does the data get into the blockchain without a centralized oracle? The actual implementation requires 66% of stake to sign, but users can appoint Data Agents for practicality. Full details are found in the 2014 white paper: Distributed Engineered Autonomous Agents : Satoshi Fantasy.

Outside data that already has decentralized consensus can now be brought into the blockchain without an oracle

Full Consensus is Consensus

If “everyone” agrees on something, you already have consensus. What is often misunderstood about blockchain, is that from the point of view of each individual node, they are always in consensus rules. Even when rules are changed, and your node hard-forked off the main chain, all your node knows is its current consensus rules. Since you will only connect to nodes that are on the same chain, it follows that you and your peers will always be running the same consensus rules. This is exactly how UASF accomplished its goal of forcing segwit adoption. By only listening to miners who were signaling for segwit, the result will always be that 100% of the “network” is signaling.

Long Range — Nothing at Stake

Proof-of-Stake is a class of algorithms that only use data from the blockchain to chose the next block-signer. The major issues with PoS are:

Nothing at stake (N@S) — when you are presented with a natural fork in the blockchain you are forced to choose one to work on in POW, with POS there is nothing stopping you from signing blocks on top of both heads, just in-case the other one survives. N@S has a known Slasher solution, where punitive rules put your stake at stake, to dis-incentivize extending multiple chains. Long-Range Attacks (Stake Grinding) — As described above, you can “grind” through the historical data that was used to choose the block-signers, and rewrite history so that you version of the blockchain is stronger and better then the “real” version. A new node, has no way to tell the difference.

PoS just doesn’t work, it’s a logical tautology. It expects you to use the content of the blockchain to decide the content of the blockchain. Gregory Maxwell

As we looked for a solution to stake-grinding, we see a glimmer of hope in the classic 2014 post On Stake by Vitalik Buterin

POS fundamentally resolvable

The idea is simple, to stop stake grinding, we make the set of block-signers and their public-keys static. We use the Nxt algorithm, which does not use the contents of the block to choose the next signer. So now there is nothing to grind! Delegated-Proof-of-Stake (DPOS), used in bitshares, steem, and EOS, has a similar concept, where there is a known list of 21 static “validators” signing all the blocks.

This idea may work, provided we have a known list of decentralized pseudo-randomly chosen block signers. It would almost be like having all the POW miners find the lowest hash all at once and then use them as the static list moving forward.

However, this problem of creating a list of decentralized block-signers is precisely the problem we are trying to solve in the first place, only from another angle. Since there is no way a list can be generated from the blockchain itself, there must be some real-world effort or information, just like Property #3 from above.

If you can Zero-Premine, you can create a static list of signers

Not only does PoW secure Bitcoin, it is also used to distribute new coins. Taking a step back, we could argue, that any blockchain that claims to reach decentralized consensus should be able to start with a Zero-Premine. In fact, the reason PoStake coins all have a 100% premine is that, otherwise, whomever gets the first coins will get all the coins. Again, this is all comes back to the same issue, where the only information available is what is contained inside the blockchain.

Show me a coin with a Zero-Premine and I will show you decentralized consensus

Protoblock is the first non-PoW chain with a Zero-Premined token. This is made possible by bringing sports data that already has consensus into the blockchain, via a continuous UASF like process.

Before the inaugural season of 2014, there were in-fact 0 Fantasybits in circulation.

After the first NFL game, and after every NFL game since, all nodes deterministically generated 100 Fantasybits for each Fantasy Point scored in the NFL.

All coins, 100% of coins, are then deterministically awarded, by all the nodes, independently, to known users wallets based on the accuracy of their projections.

Before each games anyone can create a wallet and sign a projectionTransaction

signed_transactions {

trans {

version: 1

type: PROJECTION

[fantasybit.ProjectionTrans.proj_trans] {

season: 2016

week: 1

playerid: "1321"

points: 12

}

}

id: "e682b5e001882b0336c1ed46913bf5c09bd6d768c6446a050a510c1e7217d261"

sig: "5dzQN1XuMd5vkJoqBcGk3H5bZ3oXb9BAZJeNe1qKqzpgGbMC2R1ziNguahydqXJpMtXmPG2oY7Eao3VUJk6L53zE"

fantasy_name: "@SpreadSheetFF"

}

Example signed projection transaction by @SpreadSheetFF, for 2016 Week 1, playerid “1321” — projecting 12 Fantasy Points

player 1321 — Marqise Lee scored 4.2 Points = 420 Fantasybits

Marquise Lee scored 4.2 fantasy points from 2 Receptions and 22 Receiving yards. @SpreadSheetFF predicted 12 points. According to the distribution algorithm, he gets 0 coins. The 9 users who projected 5 points will split those 420 virgin coins.

Schedules, player data, gametime, and game results are all external data brought into the blockchain, which already reach decentralized consensus on the outside, and does not need a centralized oracle.

Fantasybit are a token of the skill of predicting NFL statistics.

FantasySkill as the decentralized static signer list

All virgin FantasyBits generated and distributed actually have two parts. FantasySkill (Skill) and FantasyBit (Stake).

Skill is tied to your public-keys forever and is non-transferable

Stake is the typical cryptocurrency counterpart. So when you first transfer your virgin coins, the Skill remains and you only trasfered away the Stake

Now we have FantasySkill, a static list of public-keys that were generated from a Pseudo-Random decentralized process of predicting NFL statistics!

FantasySkill is used to determine block-signers in Proof-of-Skill