Blockchain Mechanics, for Dummies

in #blockchains7 years ago

In


many people's minds, the mechanisms behind Blockchain are entirely mysterious and super cryptic. But I just want to demystify the essence of what the Blockchain game actually is.

http://www.telegraph.co.uk/men/thinking-man/11051704/How-to-always-win-at-rock-paper-scissors.html

Now, apparently, according to this funny little newspaper story, people tend to change their choice when they lose. So amongst other things, repeating your pattern a few times before changing is one strategy that works. But why am I talking about children's games?

The reason why so often you see in movies, aside from drawing straws, rock paper scissors as a one-shot highly random, and un-gameable way to make a decision, is because it works because there is no time between the presentation of the two parties.


In poker, people with better people reading skills, usually have a long time to judge actually what most other people have - a colleague at my previous job in Sofia (a vivacious, pretty blonde south african girl, who I would consider to have been about on par, nearly with my intelligence, but maybe not quite as creative) was super good at reading people and she walked away with most of the pot so many times at games she went to.

Now, it is important to note that because of psychology (as the article above mentions, in the rock/paper/scissors article) the odds are not equal, and common strategies can be known and used to base one's decision about what to show next, and win more than lose.

Poker and Blackjack are highly competitive games professionally, because basically, the odds are pretty good you have something that you can turn, probably, into a winner, and especially if you can read either the microexpressions of your competitors, or have a very good memory and can remember what has been already drawn out and thus what likely remains.

But there isn't this possibility of the players (the block producers) being able to read the psychology of other players, except in as much as maybe they discovered a flaw in the process of selecting a block producer, in the game called Blockchain.

The design of different protocols for block production from the typical method as copied from Bitcoin's protocol, and the very latency sensitive method used in Steem's blockchain, take into account this, and Bitcoin thus delays finding consensus to 10 minutes, allowing more subsequent blocks to be revealed, whereas Steem takes the opposite approach by making it very hard for an adversary to get a word in edgewise.

In fact, by the time an attacker can calculate their chances of being next after next, are pretty low.

Despite this, it is likely that the probably deterministic choice of who makes the block next in Steem will eventually be shortcut, and an adversary can then pummel the block producer (DoS attack), make them miss the block, if they know that they will be the next one up afterwards.

This is a slim margin, but it still suffers from the same problem as Bitcoin - instead of requiring massive computation power to get a bigger probability of being selected, the Adversary in Steem's model can instead shut the block maker up, and then make a block that suits them, instead, when they know they will be next up.

So there is a lot in common between Rock/Paper/Scissors (or Rock Paper Scissors Spock Lizard) and the Blockchain game.

The key then is to make it so that nobody can know who's making the next block.

It should be obvious, but it took me reading the Algorand Paper twice before it awned on me.


Now, I just want to first start by pointing at the picture to the right, of the 5 way, pentagram variant of rock/paper/scissors that I was inspired by this geometric pattern. In fact, it originated, as far as I know, as a symbol, amongst the Chinese Taoists in the first millennium BC.

The pattern is a type of game, which has two cycles. The inner star represents the 'x beats y' paths, and the outer pentagon represents 'x boosts y'. It is used to diagnose illnesses by categorising each diferent type of organ and symptom in one of the 5 elements, Fire Earth Metal Water Wood is the outer circuit from top around the clockwise.

It takes some practise to learn how to remember which element diminishes one, or boosts another. Water beats fire, obviously, but Earth beats Water (soaks it up). But if you have a patient who has too much Metal (eg, arthritis, metal represents rigidity and brittleness) then you treat it with Fire (sour).

You can use this to decide how to improve the flavour of food also, by categorising flavours. Too much salt (water) can be resolved by adding sweet (earth). Or you can take the opposite approach, and boost what destroys, eg, Fire increases Earth, which will reduce water.

Now, I haven't practised this game enough that I can off the top of my head make diagnostics, but the symbol obsessed me ever since, because I never knew until I learned about Chinese medicine, that this symbol was anything more than a silly thing used by satanists and wicca practitioners.

So, as I was reading the Algorand paper again, and partly the influence of the inimitable @frankbacon who keeps spamming funny things which often involve the number 5, and pentagrams, and remembering my own fascination with numbers (not just because of numerology, but also because of geometry, network theory and topology), it all came together at once.

Set up the game so 5 players make a block at the same time

Then, by comparing the 5 candidate blocks, using a deterministic algorithm, the whole network of block producers can decide which block will win.

Then, the loser of the game (lowest rank from the comparison algorithm) decides who is up for the next block.

An attacker thus cannot determine at all who is going to produce the block, because it is entirely random due to the uncontrollable elements of network latency and distances which of the five is going to get the block that has the winning value. Perhaps 5 is not enough to protect against DoS attack, but this disperses the power of such an attack.

The next block, which we can probably even push the 'can't get a word in edgewise' limit even harder, and push this down to 1-2 seconds between blocks, the Steem strategy, the 'loser' of the 5 way game picks the next players (this is encoded into their block).

By using the latency sensitive competition strategy in Steem, and by selecting at least 5 witnesses to make blocks at the same time, the horse has already bolted when the adversary might have some clue about who might be up next, and they also have to compute, without data, the composition of the blocks of each player who is up next, and before anyone gets to catch a breath, the game starts again.

I believe that this game would not be possible to beat by strategy.

Beating strategy is exactly the purpose of Blockchain algorithms. Strategy lets you take in data, and generate a reliable guess as to the next play. Strategy is longer-term oriented, and depends on some determinism in the system to be able to front-run it. Tactics depend on rapid processing of information.

Steem defeats tactics, Bitcoin defeats strategy.

The ideal solution for a blockchain system, uses pure chance to select who is the next block producer.

But real randomness, in a competitive network situation, is hard to achieve.

Bitcoin uses the proof of work model to do this, which then results in both a very big consumption of energy and toxic chemicals to make the special silicon.

Steam's strategy simply tightens the window of opportunity of pushing the current block producer to miss a block, and then being able to poison the blockchain with bogus data.

The solution is to utilise both methods to eliminate ways of determining the sequence of block producers, both latency sensitivity, and broadening the attack surface by being unable to choose the winner out of a set of 5

This is the blockchain strategy that I am proposing, and I will be implementing in combination with the Refractory Token Ledger (and it's velocity of money driven issuance algorithm), which I believe also solves the issuance rate problem, in the second phase of Dawn's development. Really, the Dawn Ray is going to be pretty close in its characteristics to Cosmos tokens, because it will be using the same BFT algorithm.

The subjective position of each block producer in the system is a source of entropy, in itself. This just requires you to make multiple block producers at the same time, and then because they can't compare their blocks until after they produce them, they can't decide how to produce a block that will have the winning numbers.

Thanks for reading, and don't forget to El Zero Kay One for witness!

Sort:  


I am speechless with the very well thought out explanation you just gave.

if you read through the algorand paper a couple of times with a mind to thinking about how it is describing a game environment, you'll see how i saw it. I think algorand is probably a viable improvement over PoW and PoS (and DPoS) - in terms of reduced processing and resource demand, but I don't know why I never thought of the idea of literally using the impossible to predict differences in what one block producer and another are actually going to have in their mempool at any given moment could be a source of entropy to prevent gaming.

When you think about it, it's bleeding obvious.

Great read.

Witness the Litness!
rEsteemed!
Imgur

Coin Marketplace

STEEM 0.15
TRX 0.12
JST 0.025
BTC 53991.35
ETH 2418.60
USDT 1.00
SBD 2.16