Introduction to VIVA, part 6 : A Game of ChainssteemCreated with Sketch.

in #vivacoin7 years ago (edited)


Can loyalty, reputation, power and greed be used to produce Byzantine Fault Tolerance?

@dantheman has made some fascinating posts on consensus and designing the blockchain like an MMO.

The problem that is being overlooked is that these design techniques he mentions work well for small groups i.e. Multiplayer, but not large groups, MMO (massively multiplayer).

I posted an earlier response discussing the technical aspects of how MMOs are built, but didn't really dig into the "why any of it" was relevant.
The reason it's relevant is because blockchains play an MMO game already, well call this "A Game of Chains".

What @dantheman is refering to as "game state", is nothing of the sort.
It's "world state", i.e. the collection of information, i.e. events and rules, required in order to arrive at what the correct "next step" ought to be for the world as a whole, instead of the individual player.

The more mission critical this "world state" is to the outcome of the game overall, the more guarantees you need as to the accuracy of the events, including their order and the rules in effect at the time those events occured.

But to understand why we all play this game, we need to look at the specific rules of the game your favorite blockchain is trying to play by and examine them more closely.

I'm going to use Game of Thrones references because it's a popular enough show and many of the people reading this are already going to be familiar with the temperaments of the various characters to understand what I'm talking about hopefully.

The problem of consensus is best known by the title of a white paper from the 1980s entitled "The Byzantine Generals Problem".
It's so well known, that "Byzantine Fault" and "Byzantine Fault Tolerance", are synonyms for issues related to consensus problems in a system that must come to consensus or suffer a severe fault. This is one of only a handful of math problems for which there is a mathematical proof that no mathematical solution is possible.

I'll present the general case of it here.

A number of Byzantine Generals have separately surrounded a heavily fortified city and must make a decision as to whether to attack in the morning or retreat.

  1. They can only communicate via messengers and there is a non-zero probability that some messengers may not arrive.

  2. There is a non-zero probability that one or more generals has turned traitor and will send out a message to attack, but instead retreat or vice versa.

  3. There is a non-zero probability that one or more messengers may have turned traitor and substituted their own message for that of their General, or some variation of the "fake message" problem.

  4. The sacking of this city MUST be a collective effort.

  5. If any one general fails to attack, the outcome is an almost 100% guaranteed defeat for the remainder of the army that does attack. all hell breaks loose and everything falls apart

It's immediately obvious to the observant reader that this is a problem of consensus, all must agree to act in unison or all lose.

Blockchains were in fact derived as a solution to this Byzantine Generals problem.


It became appearant in the mid 1980s that problem 3 is easily solved by cryptographic methods. Every General can encrypt their message with the public key of the other Generals and sign it with their own private key. This is called "secret box" encryption and is the same thing as "delivered under seal".

So let's cast the various blockchain solutions in the light of BFT and explore their implications.

The first solution was the one proferred by Bitcoin and the most obvious... Fire the Generals!
Under this solution, there are in fact no generals. Instead there are drones following a very strict set of rules.
So long as each drone is running the same ruleset, they can query their neighbor on the sequence of events leading up to the current world state and their order. As long as each drone is running the exact same software, feature for feature, bug for bug, they will all arrive at the same conclusion.

In otherwords, every General is just a messenger and every messenger is a General, in an army of one.

Now the problem here arises that occasionally someone will issue a software update. This software update will cause updated nodes to apply a different set of rules to the same events. These updated drones, will now make a different decision than other drones.

The value of the system is only there if a super majority decide upon the same "next step".

The Bitcoin solution has always been "51% majority rules". But the fact is, this wreaks chaos of it's own because you now have 2 armies acting independently and they are no longer a single unified army. The larger the updated group, the more havoc this causes and at 51% you stand a very real chance of substantial loss since you have roughly half the group saying attack! and half calling retreat!
Furthermore each member is going to do it's own thing according to the rules of it's programming, updated or otherwise.

The real problem here is sometimes even good intentions go awry, especially in software.

So "Proof of Work" = "Army of White Walkers"

To address this problem "Proof of Stake" coins were created.

Where Bitcoin eliminates Generals entirely opting instead for "an army of one", "Proof of Stake" says...

"The general with the most gold makes the final decision."

The problem with this is that there is no guarantee that the general with the most gold is going to operate in the best interests of the empire.
In fact what we find is that Proof of Stake coins are plagued with issues because rational people tend to act in their own best interests.
Proof of Stake when it works, only does so because the best interests of the largest stakeholders usually do align with those of the empire.
In the case of disagreement the person with the most gold assumes the role of Supreme Commander.


So "Proof of Stake" = "He who has the gold makes the rules"

@dantheman created DPOS or Distributed Proof of Stake which is a subset of Proof of Stake and designed to solve most of the problems with PoS. My opinion is that this is a good balance if you're going to go with something related to stake.

Under DPOS, each General's decision is weighted based on a couple of factors.

First and foremost among them is "what are the assets of the lord of the realm they represent" and second is "when did their decision last become the primary decision everyone followed" and thirdly "did the outcome of said decision meet with approval by the fiscal majority of the real lords paramount?"

This system of DPOS has been successful because as you can see there are many more checks and balances than in standard PoS. Also real consensus is after the fact determined and at any given point only a single General has command of the entire army.
Just like in PoS, we have a "Supreme Command of the Theater of Battle", but to keep him honest we all take turns being supreme commander.

DPOS is superior to POS in so many ways, for instance, in a coin with a truly fair distribution, the peasants and even the soldiers can elect a leader who represents their best intrests and pull their support on a moments notice.

The real problem is that money is not an egalitarian construct, it is a tool of empowerment and control and those who seek a little power will generally stop at nothing to obtain more.

Allow me to explain...

Where DPOS and POS both fall down is that neither of them bother to account for the long time player who has a final "end game" state in mind from the beginning.

As the coin of the realm falls into the hands of more and more peasants, it naturally loses value because the supply has increased and the rarity has decreased. It's percieved utility per unit drops and therefore the price one must pay to obtain this coin also drops.

War is hell and realms frequently must mint and sell more coin in order to pay the bills, because unfed soldiers are reluctant soldiers and peasants who have to stand in breadlines will gladly open the gate for the enemy as long as it looks like he's bringing bread. Whether or not he's also coming to take your head.

Humans are complex creatures, so this happens a lot, but not always...

All of this means that anyone who relies on the price of the coin to make decisions is at the mercy, more or less of not only the price of coins, but the whims and dictates of those who hold the coin and holders of a coin will eventually want to see their investment repaid one way or the other.

This isn't even accounting for psychopaths who want to play a whole different game.
One where they can burn the world just so they can be king of the ash.

Ok then so what is the correct solution to the Byzantine General's Problem?
Mathematically this has been proven to be an unsolvable problem.

But that's because mathematicians and computers, suck at strategy in a real war and any soldier or sailor fresh out of bootcamp can give you the correct answer, so here it is.

If this were a real war...

If communications were down and you're in a position of prime authority and leading real men to battle where they might die if the other half of the army doesn't join in. This means you are in a position where you stand a good chance of losing because you can't communicate reliably with the other half of that army.

The other general is actually irrelevant in this context only the forces under his control matter.
And that's what these various blockchain solutions have determined already.
The bulk of differences boil down to "How do you select for Supreme Commander?".

In the real world, you hold fast until communications are restored with a high degree of certainty and if there is any doubt, you both retreat and live to fight another day.

You don't win a war by dying for your cause. You win a war by making the other guy die for his. -- George S. Patton

So are there other solutions?
You bet! But the best solution is just not to be in a situation where lack of consensus produces a "game fault".

Going back to @dantheman's original assertions, that the blockchain should be a stream of events and that consensus should not be part of the world state.
This is partially correct, but not the whole picture. The way you solve this is to have multiple channels dealing in various event types each with their own specific ruleset. The various channels come together into streams, these streams apply the "aggregate" of the ruleset with some degree of fudge factor.
Streams come together into "world state snapshots" at a periodic interval.
Each client only needs then to query for the current world state snapshot.

It's the difference between looking at a recently updated map with everything labeled and trying to examine the ground yourself with a ruler and a magnifying glass.

The world changes too quickly for any one person to know the precise details of every grain of sand.

But this presents a problem for money. Money isn't a war in fact it's the opposite of a war, in order for money to work as money it has to have a high degree of both consensus and accuracy and what we're finding is that rapid consensus negates accuracy and vice versa and this problem worsens the more actors you need to account for.

The solution then is to not make everything about money. But when you do have money at stake, slow down, be precise when actual money of any significant quantity is moving, and introduce a concept of "counter signing", where a party with enormous resources (relative to the transaction) guarantees the transaction until consensus can be reached.

But if you're going to go that route, why not just have the parties with enormous resources settle in bulk between themselves at a much slower rate, say once a week?

The point of even being sovereign is that others recognize that your word is good because it is backed by the good faith and credit of the entire nation you captain. This becomes even stronger when the entire network, i.e. world, backs every claim you make simply by your seal. A system like that can work well because if a claim cannot be covered, the network mints enough to cover it and covers it regardless, perhaps setting a severe future penalty that must be paid before the sovereign can make further claims?

This is the power of what we call "Proof of Authority", it's what's present in VIVA. This authority is de juris mutual assent to settlement between the various parties based on the pledge of one set of assets against a whole other set.

If one party falls out of consensus the other parties automatically assume the non-consenting party's assets and liabilities so that end users are unaffected. Nothing is lost in this scenario, and a worst case event results in bankruptcy of the crown that issued the uncovered notes, rendering it feeble and powerless until debts are repaid and the party brought back into consensus.

VIVA exists because we treat money, not like a movie, nor a war nor or a game. It's not a math puzzle to be solved nor even "an interesting computing challenge".

Instead money is a mutual business concern and the value of the coin of the realm is what is paramount.
Despite lack of anything really resembling PoS. The value of this coin is directly related to real world metrics. How much moved and for what price, at what times, between whom and for what reasons?

Our system is one that cuts out the pain points of useless governments, middlemen bankers, financiers and others that add no value to the system.

Instead, our businesses maintain high speed networks between each other using a protocol designed specifically for speed and flexibility, while recipients and senders can attach to any on ramp globally and be 100% guaranteed that the word of the person sending funds is as good as gold because their word is also the network's word. No chargebacks, no double spends, no BS.

Our model is one of a dynamic, flexible, highly energetic system. One where energy naturally flows from places of high pressure to places of low pressure, always seeking equilibrium and doing useful work in the process.

In otherwords, it's an engine!

Each participant plays a distinct role and the engine is able to respond on demand to price changes by increasing or decreasing the energy in the system whether in a specific location or globally. Price and Supply are used like accelerator and break pedals.

This is similar to stepping on the gas peddle to climb a hill and laying off the gas and even applying the breaks in order to bring the entire vehicle and most importantly it's occupants, safely to their desired destination. This destination is what we define as consensus and it's the result of a lot of bits and pieces all working together. Not just the gas, but all the moving components that go into it's construction.

By modeling energy as an energetic system performing work and using it to represent money we get to the core of what money really is.

Real money is the power to make your will felt in the real world and get to the destination you want to be, here in the real world!

Welcome Future Crown Holders...
Part 1
Part 2
Part 3
Part 4
Part 5

If you want to talk with others who feel the same way, feel free to join us at chat.vivaco.in


As always this post is 100% Steem Powered!

Sort:  

What a great analogy and fantastic logic carried through! Awesome work! Upvoted and resteemed!

"This isn't even accounting for psychopaths who want to play a whole different game. One where they can burn the world just so they can be king of the ash." If in deed one wants to be the "King of Ashes", I love this terminology, then because "Money isn't a war" and is "in fact it's the opposite of a war, in order for money to work as money it has to have a high degree of both consensus and accuracy and what we're finding is that rapid consensus negates accuracy and vice versa." Solving this with "Proof of Authority" brings about the human factor and prevents more and more so the advent of a King of Ashes" doesn't it?

NOW, you surely got me interested in VIVA once and for all, thank you! I'm hooked. All for one and one for all! Namaste :)

You're very welcome! I'm really glad you enjoyed it and I love that it gave you some good food for thought!
Feel free to hop over in chat.vivaco.in with any questions!

I was invited to talk to the viva people about this and i read this and i am very interested indeed... i have a strong background in chaos theory and equilibrium and outlier grade pattern recognition ability, and a sense of the importance of valuing both the whole and the individual at the same time...

I will see how it goes, but I will accept the offer to become one of the crownholders :)

All for one and one for all! Namaste :)

Brilliant. The conscious creation and use of money will hopefully be taken away from the psychopaths! Resteemed.

Wow! Thanks for that! I really appreciate the comments and resteem!

That image at the end. Seriously oldschool rapping? XD

I do love reading about VIVA XD I kind of want to get involved but am also too scared to, partly because I don't know how (easy enough to resolve) and mostly because I have a lot of difficulty processing numbers (I can't seem to resolve that one, have a lot of hacky little workarounds but that's all they are). I still don't understand how all the Steem bits and pieces work, but I do know how to make stuff and post so I'm just doing that and letting the rest of it happen.

And mildly related, when I drop by the website I love playing with those nodey things XD

Many of us are learning various parts of Viva without the need of 'number crunching.' Kind of like here on Steemit, most of us just need a good conceptual idea of what's going on, without the intense 'mathy' parts. :)

Just for an easy start, I'd recommend hopping into the Viva chat here to ask any questions and us knowing what you like to do. Even if there aren't things you'd like to do pre-launch, I'm sure there are pieces you would enjoy once it's up and running. :)

I'll have to get up the courage to make an account first XD (I know it's a dumb thing to have hangups about but apparently I'm quirky). If I can get over myself I'll pop in :)

Thanks!

Which website and what is a "nodey thing"?

The Viva website. It has those moving interconnected node web things on the splash page and when you move the mouse over them they follow the mouse connecting and disconnecting to the nearest webs under the mouse. It's one of the few times I've not minded things following the mouse.

The background on www.vivaco.in is animated and responds to touch.

Great explanation @williamsbanks
My brain must be processing a little better because I actually understood the bulk of what you were saying! YAY ME! LOL
Seriously though, I am so excited to be on the cutting edge of VIVA.

Nesting limit... people love their cats! :)

I was just in a group discussion this morning about onboarding people. To get people to come to Steemit we need to find informative, fun ways to negate their excuses.
Here are the top excuses I get:

  • I don't want to build another fan base
  • I don't understand cryptocurrency
  • What's to stop Steemit from shutting down like Bubblews & Tsu?
  • STEEM isn't "real money"

How would you answer back to those issues?

Here you go. Token Cat gif. LOL

  1. I don't want to build another fan base
  2. I don't understand cryptocurrency
  3. What's to stop Steemit from shutting down like Bubblews & Tsu?
  4. STEEM isn't "real money"
  1. You don't need to build another fan base, many of your fans are already here and those who aren't will come with you if they're really your fans. Why not? It's free money.

  2. You don't understand how your computer works either, but you use it every day. You learn by doing.

  3. Nothing, everything comes to an end one day. But in the meantime you get the chance to make money for everything you say. How much did you get from facebooks for all those likes on your last post?

  4. Neither is Visa or Mastercard or even Gold, but with the exception Gold you still use them everyday to make purchases. Money is only worth what you can exchange it for.

The one I get often is...
"it just sounds too difficult and too complicated..."

or different variations of that...

Basically people seem to just want free money... with no effort... that is my final conclusion.

I do think if we could make it more like facebook where people could post their cat pictures and earn a couple bucks or a couple cents or whatever, it would be a lot more attractive to the masses... most people don't have the time or desire to blog in long form...

:snort: you said log form lol


Sorry. I'm punchy and only had 4 hours sleep - the juvenile escaped for a moment. :P

Ahem Getting serious again...
I've been thinking about trying an initiative/challenge to onboard ONE friend (or adopt a newbie). Hold their hand in teaching markdown or using the editor. Dedicate a couple of my liquid earnings from a set amount of posts to boost their wallet. Show them how to power up or create a wallet. Those were all new things for me. Thankfully I've been blogging since the 90s or I might not have made it. But you've got people like @karenmckersie and @karenb54 who never did any of it and they are doing rather well. What was in the kool-aid when they drank it?

Haha oops! Edited. That is one of my favorite movies by the way. It's a baby ruth bar!

Those are some good thoughts... I mean it can be done. Look at us, we did it without any prior experience but we stuck with it longer than most people probably are willing to. I think it took me close to 2 months before I ever had a post go over $2 in value...

OK I am here poking around like you asked!!!!!!

What are the best 2-3 posts for me to find/read about all this VIVA stuff

  • @williambanks
  • followed
  • @merej99 wants me to learn about this stuff, she has a plan and we know what this means LOL

This is another great piece... I'm going to have to go back and read (or re-read), parts 1-5. A great part of the appeal here is that I do NOT walk away from reading this thinking "This is ideologically cool, but FAR too technical and complicated for real people." Which has generally been my issue with a lot of blockchain related stuff... the question of "How is this going to play outside a tiny group of hardcore developers and blockchainiacs?"

Staying tuned, here...

blockchainiacs

Thanks! I now have a new word!

Simplicity, simplicity, simplicity.

Somehow I have missed much of this vivacoin info... I will have to look into it. Sounds very interesting...

On an unrelated note, are you still planning on doing that spring break steem advertising campaign or did that fall through?

That was supposed to be during the March 17th weekend, but we started too late this year, failed to attract sponsors or interest. So we've given that a break and will start working on it again over the summer.

Glad you enjoyed the VIVA article! :D

Dang... well that is a bummer. Maybe next year we (the site) will be better set up for something like that. It really sounded like a great idea to potentially attract a lot of young users...

We're still here in Baja doing our thing though and slowly but surely getting the word out about steemit and focusing that message primarily on the younger folks.
So it's slower than anticipated, but you don't get great food out of a microwave.

Haha great point. But wait does that mean these TV dinners I have been eating for all these years aren't great food?! I need to get out to some restaurants! ;)

That's fantastic about what you are doing for Steemit by the way. Keep up the good work. I am having a difficult time with conversions with the people I talk to... they mostly only see it as a money maker and when I tell them it can be difficult to earn money right away they become disinterested...

You know - when I post a cat meme on FB I get 30 likes within minutes. But when I post about cryptocurrency (GRT, Steemit, VIVA...) it's like I'm invisible! What's wrong with these people!?!?

There is a posibilty to make and Event in conjunction with a Festival in Tecate.

Real money is the power to make your will felt in the real world and get to the destination you want to be, here in the real world!

This is one of the best formulated descriptions about money. :-D

Thanks! I'm really glad you enjoyed it!

This was a great and inspiring article. I will have to read it again after my morning coffee,to pick up the finer points..
Upvoted and resteemed.

Awesome! I'm really glad you liked it!

I am glad I am invested on VIVA...
I am glad @williambanks is the mastermind behind it.

PS He is for sure one of the catalyst's that will drive humanity to freedom. I make the prediction that many will spell his name the next years... But please don't loose your humility the years to come because then you will loose everything ...

Wow! You have me blushing. But I'm no mastermind. I'm synthesizing ideas and concepts, but these are not in anyway MY ideas, or MY concepts. This is why I addressed the opening of this to @dantheman , he brought up the topic of games and it inspired me to spin it with my knowledge of games and BFT and my love for a TV Drama Series. :D

The ideas deserve credit where they are due. @dantheman opened my eyes with his steemit whitepaper, Satoshi Nakamoto with his original bitcoin whitepaper. Adam Back with HashCash, this list gets literally endless. Then of course the people on team VIVA, that are constantly bringing up good ideas that just seem to fit like @alechahn and @badassbarbie, even people like @cryptomancer as our team grows and takes on new people.

These are the people who deserve the credit. All I'm doing is painting a picture using a brush dipped in a pallet made from the genius of others.

Thanks though @liondani we're really glad you're part of this whole thing too!

Thanks brother for the mention, love you, it has been an honor to be involved with this vision and solution. You are badass!

Thanks for the credit! @liondani has nothing to worrie about. A heart can't be corrupted like a mind. William keeps using the machinary imagery of the econmic engine, but I based the ecosystem on the human body. If the brain makes the rules, how come the heart beats without a brain yet developed is just one question that leads down the famous rabbithole to a deeper understanding of VIVA. Cheerish life! Bujakasha!

Still shocked no one has mentioned the Vanilla Ice reference.

Ice Ice baby!

Coin Marketplace

STEEM 0.26
TRX 0.13
JST 0.031
BTC 61553.99
ETH 2881.27
USDT 1.00
SBD 3.54