The Problem with Byzantine Generals by dantheman

View this thread on steempeak.com
· @dantheman ·
The Problem with Byzantine Generals
http://www.medievalists.net/wp-content/uploads/2014/09/Byzantine-Military-Advice.jpg

There are many different blockchain consensus algorithms being promoted these days. Academics like to evaluate these algorithms to see if they solve the byzantine generals problem.  This particular problem is how to get a group of lieutenants to agree on whether to retreat or advance when up to ⅓ of them may be dishonest.  In terms of blockchains, the challenge is to get the entire world to agree on a particular blockchain.

One of the aspects of byzantine fault tolerance (BFT) is that an algorithm always reaches a conclusion and never ends up in an indeterminate state. In other words, at some point people need to know with certainty that everyone is in agreement and that a minority of bad actors cannot halt the process completely.  In all systems an assumption that ⅔ of the generals are honest is a mathematical requirement. 

## Proof of Work does not Solve Byzantine Generals
Bitcoin and other Proof of Work algorithms define the best chain as the one with the most difficult proof of work. A problem with proof of work, from byzantine perspective, is that it is always possible for the blockchain to be reversed, it just becomes increasingly unlikely and uneconomical. In order to consider Bitcoin and similar blockchains to have BFT you must assume that 99.999% certainty is the same as 100%.  Someone with 10% of the hash power can pull off a double spend against someone waiting for 6 confirmations once per month or 0.02% of the time.  

## Cosmos White Paper
The [cosmos](https://cosmos.network/) white paper claims a working byzantine fault tolerance algorithm whereby a group of block producers can unanimously agree on the next block. They claim their process guarantees the network to advance as long as more than ⅔ are honest. The rest of the world never has to consider blockchain forks because they are “impossible” under their algorithm.  

I was thoroughly impressed at the thoroughness of their approach and the robustness of their algorithm.  I was also very appreciative that some of their team took the time to evaluate my own algorithm, Delegated Proof of Stake (DPOS). 

## Delegated Proof of Stake (DPOS) 

DPOS is an algorithm whereby stakeholders elect an odd number of block producers. Each round the block producers are shuffled and assigned a time slot in which they should produce a block.  With this process in place, the longest chain is considered the best chain.  It is impossible for a minority of block producers to create a longer chain because they would be producing fewer blocks per minute than the majority blockchain.

Like Bitcoin, under this model alone you never have 100% certainty because the majority could suddenly switch to a minority fork and stop producing on their own.  Eventually the minority fork would become longer and global consensus would necessarily change.

We then introduced a new concept known as the Last Irreversible Block (LIB). This is a block which has been confirmed by ⅔ or more of the elected block producers. No node will automatically switch to a fork that isn’t built on top of the LIB. 

Members of Cosmos community recently discovered a particular sequence of events that could cause the LIB algorithm to break down by causing the network to split on two different LIB.  This vulnerability in the LIB algorithm does not constitute a breakdown of DPOS because the LIB algorithm was an optional addition designed to identify the number of confirmations required before an exchange has sufficient guarantees that a block will not get orphaned.  The LIB algorithm is similar to the 6 confirmation algorithm used by Bitcoin.  It works 99.9999% of the time. In over 2 years of operation and 10’s of millions of blocks it has not yet experienced the kind of deadlock condition that is theoretically possible.

## The Real Problem - Who are the Generals?

A problem with Cosmos is an in implicit assumption that the set of generals is fixed. At least for a given block.  If at any time over ⅓ of the generals goes rogue, then the network halts and there is no process for resuming the network.

Under DPOS, if a large minority of generals goes bad then the network still operates in a “pending” state.  Blocks are produced, votes are cast, and new generals can be elected.  Eventually the stakeholders can reach a point where 100% of the generals are honest and the network resumes normal operation. In theory, if 95% of the generals fail the remaining 5% can still hold an election to replace them. 

From this we can conclude that Cosmos has a *different* deadlock condition. DPOS is robust due to its ability to continue operating at a reduced capacity / confidence level even when the majority of the generals are down.  

## Trade Offs

Every algorithm makes certain tradeoffs.  Cosmos has 100% guarantee of no forks and can produce blocks every 5 to 10 seconds on a distributed network. To achieve this with the same number of generals as Steem (21), they consume network bandwidth similar to a sustained 5 transactions per second.  

On the other hand, Steem rarely has any missed blocks and even more rarely has an orphaned block.  Statistically speaking, a block produced while there is 100% participation of generals (producers) has a 99.9999% chance of being the final block. After two blocks (6 seconds) the probability being orphaned falls further.  Anyone relying on the last irreversible block algorithm (40 seconds) is protected against almost every conceivable scenario with a worst-case (purely theoretical) being stuck in a pending state on a minority fork until manual intervention.  This means that it fails “safe”, in a state where you do not accept a bogus transactions. 

There is one additional level of confirmation that could be implemented in DPOS: require 100% participation and 21 blocks. With 63 seconds of confirmation and 100% participation then you can be certain that you will never get “stuck” and that every transaction you receive is truly irreversible and globally accepted. 

What you should notice with these numbers is that extra time buys insurance for the last 0.00001% of byzantine cases. This is a level of confidence that takes far more than 6 confirmations in Bitcoin to reach, especially with an attacker that has 33% of the hash power.

## Conclusion 

Due to the law of diminishing returns (economic marginal utility), the value of increased confidence from 99.9999% to 100% is unmeasurable for the vast majority of real world transactions. People lose more from transaction fees than they would if 1 out of every 1 million transactions were to be randomly reversed. Meanwhile, the cost of gaining that last 0.0001% of confidence is significant network overhead, slower per-block times, and complete failure if more than ⅓ of the nodes go down.  

Both algorithms have their place, but I am very happy with the design tradeoffs made for DPOS compared to the other algorithms available.
👍  , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , and 385 others
👎  ,
properties (23)
post_id1,867,760
authordantheman
permlinkthe-problem-with-byzantine-generals
categoryblockchain
json_metadata"{"app": "steemit/0.1", "format": "markdown", "links": ["https://cosmos.network/"], "image": ["http://www.medievalists.net/wp-content/uploads/2014/09/Byzantine-Military-Advice.jpg"], "tags": ["blockchain", "cosmos", "steem", "dpos", "byzantine"]}"
created2017-01-30 14:13:21
last_update2017-01-30 14:13:21
depth0
children44
net_rshares149,248,602,785,319
last_payout2017-03-02 18:16:54
cashout_time1969-12-31 23:59:59
total_payout_value0.000 SBD
curator_payout_value0.000 SBD
pending_payout_value0.000 SBD
promoted0.000 SBD
body_length7,005
author_reputation240,497,801,758,545
root_title"The Problem with Byzantine Generals"
beneficiaries[]
max_accepted_payout0.000 SBD
percent_steem_dollars10,000
author_curate_reward""
vote details (451)
@the-ego-is-you · (edited)
@dantheman I'll take this opportunity to air a concern I'm having, apart from the need to separate the flag from downvoting content which I have detailed in comments many times before:

It seems a lot of people have been complaining in steemit.chat lately, saying that they can't sign up because their phone number is rejected. Here's one example from just recently in #general.

>willibilli 2:21 PM
Hello, I am having a problem with signing up to Steemit. Everytime I enter my phone number I get this message: "Unable to verify your phone number. Please try a different phone number." Does anyone know how to remedy this? Thank you"
properties (22)
post_id1,867,819
authorthe-ego-is-you
permlinkre-dantheman-the-problem-with-byzantine-generals-20170130t142131108z
categoryblockchain
json_metadata"{"app": "steemit/0.1", "users": ["dantheman"], "tags": ["general", "blockchain"]}"
created2017-01-30 14:21:12
last_update2017-01-30 14:22:15
depth1
children10
net_rshares0
last_payout2017-03-02 18:16:54
cashout_time1969-12-31 23:59:59
total_payout_value0.000 SBD
curator_payout_value0.000 SBD
pending_payout_value0.000 SBD
promoted0.000 SBD
body_length633
author_reputation7,025,328,989,730
root_title"The Problem with Byzantine Generals"
beneficiaries[]
max_accepted_payout1,000,000.000 SBD
percent_steem_dollars10,000
@dantheman ·
Thanks.  I can tell you that we are working to separate moderation (flagging) from curating (voting).  This issue will be improved in time.

With respect to phone numbers, we had to block certain classes of phone number due to abuse. If you can share the first 4 digits of the number I will have our team investigate if it is on the block list.
👍  , , ,
properties (23)
post_id1,867,861
authordantheman
permlinkre-the-ego-is-you-re-dantheman-the-problem-with-byzantine-generals-20170130t142618756z
categoryblockchain
json_metadata"{"app": "steemit/0.1", "tags": ["blockchain"]}"
created2017-01-30 14:26:18
last_update2017-01-30 14:26:18
depth2
children9
net_rshares145,746,322,018
last_payout2017-03-02 18:16:54
cashout_time1969-12-31 23:59:59
total_payout_value0.000 SBD
curator_payout_value0.000 SBD
pending_payout_value0.000 SBD
promoted0.000 SBD
body_length344
author_reputation240,497,801,758,545
root_title"The Problem with Byzantine Generals"
beneficiaries[]
max_accepted_payout1,000,000.000 SBD
percent_steem_dollars10,000
author_curate_reward""
vote details (4)
@the-ego-is-you · (edited)
Good, you understood what I meant about the downvote..I wasn't all that clear. But the fact that you're working on this is great to hear!

I'll try to get back to you with the numbers. Both users are offline right now.
properties (22)
post_id1,867,961
authorthe-ego-is-you
permlinkre-dantheman-re-the-ego-is-you-re-dantheman-the-problem-with-byzantine-generals-20170130t144209214z
categoryblockchain
json_metadata"{"app": "steemit/0.1", "tags": ["blockchain"]}"
created2017-01-30 14:41:51
last_update2017-01-30 14:44:21
depth3
children0
net_rshares0
last_payout2017-03-02 18:16:54
cashout_time1969-12-31 23:59:59
total_payout_value0.000 SBD
curator_payout_value0.000 SBD
pending_payout_value0.000 SBD
promoted0.000 SBD
body_length218
author_reputation7,025,328,989,730
root_title"The Problem with Byzantine Generals"
beneficiaries[]
max_accepted_payout1,000,000.000 SBD
percent_steem_dollars10,000
@taoteh1221 · (edited)
You may want a "Contact The Help Desk" button, next to the "Continue" button on the phone signup page, to retain legit new user signups. I've noticed a few real complaints about this.
👍  
properties (23)
post_id1,869,107
authortaoteh1221
permlinkre-dantheman-re-the-ego-is-you-re-dantheman-the-problem-with-byzantine-generals-20170130t180734896z
categoryblockchain
json_metadata"{"app": "steemit/0.1", "tags": ["blockchain"]}"
created2017-01-30 18:07:33
last_update2017-01-30 18:25:42
depth3
children0
net_rshares38,438,640,505
last_payout2017-03-02 18:16:54
cashout_time1969-12-31 23:59:59
total_payout_value0.000 SBD
curator_payout_value0.000 SBD
pending_payout_value0.000 SBD
promoted0.000 SBD
body_length183
author_reputation11,659,144,011,798
root_title"The Problem with Byzantine Generals"
beneficiaries[]
max_accepted_payout1,000,000.000 SBD
percent_steem_dollars10,000
author_curate_reward""
vote details (1)
@gregm ·
I am now curious about the phone number issue. A few weeks ago I tried to open an account for my daughter for wallet use only, with a recently added a phone to our AT&T account. It wouldn't allow it in the sign up process. It starts with 503-875. Anyway, I was able to use a different number, I figured it was just some glitch.
👍  
properties (23)
post_id1,869,409
authorgregm
permlinkre-dantheman-re-the-ego-is-you-re-dantheman-the-problem-with-byzantine-generals-20170130t185025394z
categoryblockchain
json_metadata"{"app": "steemit/0.1", "tags": ["blockchain"]}"
created2017-01-30 18:50:30
last_update2017-01-30 18:50:30
depth3
children0
net_rshares3,236,264,914
last_payout2017-03-02 18:16:54
cashout_time1969-12-31 23:59:59
total_payout_value0.000 SBD
curator_payout_value0.000 SBD
pending_payout_value0.000 SBD
promoted0.000 SBD
body_length327
author_reputation56,812,571,147,832
root_title"The Problem with Byzantine Generals"
beneficiaries[]
max_accepted_payout1,000,000.000 SBD
percent_steem_dollars10,000
author_curate_reward""
vote details (1)
@apertus-cogitari · (edited)
Asking users to disclose personal mobile phone numbers while also at the same time denying access to those who don't have mobile phone subscriptions is in itself both abusive to end-user security and elitist.  Not to mention the inequality that manifests when some states force mobile phone registration on their users and others do not.

This extreme hack (comparable to using a machine gun to kill a chicken) is motivated by a desire to easily control abusers, which implies that the whole system is inherently flawed-- flawed by the fact that useful content is cannot be separated from drivel by the rating system as it was designed.

It's also somewhat shocking that steemit does not recognize the important role anonymity plays with speech freedom that's critical to having a nanny-free community.  This new direction makes steemit.com unsuitable for whistle-blowers and civil rights activists.  Perhaps it was never intended as such, but it's a pity to see a good tool get downgraded to Facebook-quality blogging.

Selecting users who are not street-wise (and thus willing to connect personal info to their account) has the side-effect reducing the quality of posts to that of the intelligence of that crowd.
👍  ,
👎  
properties (23)
post_id1,875,308
authorapertus-cogitari
permlinkre-dantheman-re-the-ego-is-you-re-dantheman-the-problem-with-byzantine-generals-20170131t151053253z
categoryblockchain
json_metadata"{"app": "steemit/0.1", "tags": ["blockchain"]}"
created2017-01-31 15:11:00
last_update2017-01-31 15:16:03
depth3
children5
net_rshares140,582,600
last_payout2017-03-02 18:16:54
cashout_time1969-12-31 23:59:59
total_payout_value0.000 SBD
curator_payout_value0.000 SBD
pending_payout_value0.000 SBD
promoted0.000 SBD
body_length1,214
author_reputation840,319,505,381
root_title"The Problem with Byzantine Generals"
beneficiaries[]
max_accepted_payout1,000,000.000 SBD
percent_steem_dollars10,000
author_curate_reward""
vote details (3)
@lennstar ·
Just too bad for you if the 1 in 1 million transactions is YOURS. ;)

Don't forget that 1 million to 1 chances crop up 9 out of 10 times.
properties (22)
post_id1,867,824
authorlennstar
permlinkre-dantheman-the-problem-with-byzantine-generals-20170130t142141941z
categoryblockchain
json_metadata"{"app": "steemit/0.1", "tags": ["blockchain"]}"
created2017-01-30 14:21:42
last_update2017-01-30 14:21:42
depth1
children1
net_rshares0
last_payout2017-03-02 18:16:54
cashout_time1969-12-31 23:59:59
total_payout_value0.000 SBD
curator_payout_value0.000 SBD
pending_payout_value0.000 SBD
promoted0.000 SBD
body_length137
author_reputation38,213,975,622,361
root_title"The Problem with Byzantine Generals"
beneficiaries[]
max_accepted_payout1,000,000.000 SBD
percent_steem_dollars10,000
@dantheman ·
Fortunately, the real odds are not 1 in a million but much lower and can be reduced to 0% chance of failure with a 63 second wait.
👍  
properties (23)
post_id1,867,842
authordantheman
permlinkre-lennstar-re-dantheman-the-problem-with-byzantine-generals-20170130t142350067z
categoryblockchain
json_metadata"{"app": "steemit/0.1", "tags": ["blockchain"]}"
created2017-01-30 14:23:51
last_update2017-01-30 14:23:51
depth2
children0
net_rshares34,695,005,030
last_payout2017-03-02 18:16:54
cashout_time1969-12-31 23:59:59
total_payout_value0.000 SBD
curator_payout_value0.000 SBD
pending_payout_value0.000 SBD
promoted0.000 SBD
body_length130
author_reputation240,497,801,758,545
root_title"The Problem with Byzantine Generals"
beneficiaries[]
max_accepted_payout1,000,000.000 SBD
percent_steem_dollars10,000
author_curate_reward""
vote details (1)
@knircky ·
Thank you dan for explaining and critically analysing your design.
properties (22)
post_id1,867,836
authorknircky
permlinkre-dantheman-the-problem-with-byzantine-generals-20170130t142310567z
categoryblockchain
json_metadata"{"app": "steemit/0.1", "tags": ["blockchain"]}"
created2017-01-30 14:23:09
last_update2017-01-30 14:23:09
depth1
children0
net_rshares0
last_payout2017-03-02 18:16:54
cashout_time1969-12-31 23:59:59
total_payout_value0.000 SBD
curator_payout_value0.000 SBD
pending_payout_value0.000 SBD
promoted0.000 SBD
body_length66
author_reputation217,103,420,888,695
root_title"The Problem with Byzantine Generals"
beneficiaries[]
max_accepted_payout1,000,000.000 SBD
percent_steem_dollars10,000
@olisan ·
it is always nice to read your post @dantheman even if i don't understand everything, but i keep learning the blockchain , thank you for sharing !
👍  
properties (23)
post_id1,867,872
authorolisan
permlinkre-dantheman-the-problem-with-byzantine-generals-20170130t142802122z
categoryblockchain
json_metadata"{"app": "steemit/0.1", "users": ["dantheman"], "tags": ["blockchain"]}"
created2017-01-30 14:28:00
last_update2017-01-30 14:28:00
depth1
children0
net_rshares1,467,303,464
last_payout2017-03-02 18:16:54
cashout_time1969-12-31 23:59:59
total_payout_value0.000 SBD
curator_payout_value0.000 SBD
pending_payout_value0.000 SBD
promoted0.000 SBD
body_length146
author_reputation17,965,712,455,751
root_title"The Problem with Byzantine Generals"
beneficiaries[]
max_accepted_payout1,000,000.000 SBD
percent_steem_dollars10,000
author_curate_reward""
vote details (1)
@moneybags ·
Thought I was in for a history lesson, still learnt something though.
properties (22)
post_id1,867,962
authormoneybags
permlinkre-dantheman-the-problem-with-byzantine-generals-20170130t144216004z
categoryblockchain
json_metadata"{"app": "steemit/0.1", "tags": ["blockchain"]}"
created2017-01-30 14:42:15
last_update2017-01-30 14:42:15
depth1
children0
net_rshares0
last_payout2017-03-02 18:16:54
cashout_time1969-12-31 23:59:59
total_payout_value0.000 SBD
curator_payout_value0.000 SBD
pending_payout_value0.000 SBD
promoted0.000 SBD
body_length69
author_reputation522,128,954,779
root_title"The Problem with Byzantine Generals"
beneficiaries[]
max_accepted_payout1,000,000.000 SBD
percent_steem_dollars10,000
@dragosroua ·
Thanks for the clarifications. 

How a DPOS algorithm will work within a network of sidechains? I recently tried a use case for sidechains with specific data types (one for post/comment types, other for task types, other for geolocation types, etc) coordinated by a main chain with account and financial management. I don't know if it's on the same page with the "fabric" technology described in the roadmap, but I'm curious. If you have time, the post is [here](https://steemit.com/blockchain/@dragosroua/blockchain-as-a-backend-part-two-lateral-forking-following-content-types-agnostic-rewards).

Thank you.
properties (22)
post_id1,867,973
authordragosroua
permlinkre-dantheman-the-problem-with-byzantine-generals-20170130t144438306z
categoryblockchain
json_metadata"{"app": "steemit/0.1", "links": ["https://steemit.com/blockchain/@dragosroua/blockchain-as-a-backend-part-two-lateral-forking-following-content-types-agnostic-rewards"], "tags": ["blockchain"]}"
created2017-01-30 14:44:36
last_update2017-01-30 14:44:36
depth1
children3
net_rshares0
last_payout2017-03-02 18:16:54
cashout_time1969-12-31 23:59:59
total_payout_value0.000 SBD
curator_payout_value0.000 SBD
pending_payout_value0.000 SBD
promoted0.000 SBD
body_length609
author_reputation283,284,114,896,802
root_title"The Problem with Byzantine Generals"
beneficiaries[]
max_accepted_payout1,000,000.000 SBD
percent_steem_dollars10,000
@dan ·
$0.02
Side chains are part of fabric. More to come on that.
👍  
properties (23)
post_id1,868,075
authordan
permlinkre-dragosroua-re-dantheman-the-problem-with-byzantine-generals-20170130t150014999z
categoryblockchain
json_metadata"{"app": "steemit/0.1", "tags": ["blockchain"]}"
created2017-01-30 15:00:15
last_update2017-01-30 15:00:15
depth2
children2
net_rshares748,255,530,960
last_payout2017-03-02 18:16:54
cashout_time1969-12-31 23:59:59
total_payout_value0.022 SBD
curator_payout_value0.000 SBD
pending_payout_value0.000 SBD
promoted0.000 SBD
body_length53
author_reputation99,235,409,613,209
root_title"The Problem with Byzantine Generals"
beneficiaries[]
max_accepted_payout1,000,000.000 SBD
percent_steem_dollars10,000
author_curate_reward""
vote details (1)
@dragosroua · (edited)
Thanks. Looking forward to more details on this.
properties (22)
post_id1,868,124
authordragosroua
permlinkre-dan-re-dragosroua-re-dantheman-the-problem-with-byzantine-generals-20170130t151051449z
categoryblockchain
json_metadata"{"app": "steemit/0.1", "tags": ["blockchain"]}"
created2017-01-30 15:10:51
last_update2017-01-30 15:11:06
depth3
children0
net_rshares0
last_payout2017-03-02 18:16:54
cashout_time1969-12-31 23:59:59
total_payout_value0.000 SBD
curator_payout_value0.000 SBD
pending_payout_value0.000 SBD
promoted0.000 SBD
body_length48
author_reputation283,284,114,896,802
root_title"The Problem with Byzantine Generals"
beneficiaries[]
max_accepted_payout1,000,000.000 SBD
percent_steem_dollars10,000
@acidyo ·
$0.10
I'm really excited to read more about the fabric part! Can't wait!
👍  
properties (23)
post_id1,868,130
authoracidyo
permlinkre-dan-re-dragosroua-re-dantheman-the-problem-with-byzantine-generals-20170130t151143430z
categoryblockchain
json_metadata"{"app": "steemit/0.1", "tags": ["blockchain"]}"
created2017-01-30 15:11:45
last_update2017-01-30 15:11:45
depth3
children0
net_rshares2,261,507,349,604
last_payout2017-03-02 18:16:54
cashout_time1969-12-31 23:59:59
total_payout_value0.075 SBD
curator_payout_value0.025 SBD
pending_payout_value0.000 SBD
promoted0.000 SBD
body_length66
author_reputation1,572,775,251,470,663
root_title"The Problem with Byzantine Generals"
beneficiaries[]
max_accepted_payout1,000,000.000 SBD
percent_steem_dollars10,000
author_curate_reward""
vote details (1)
@jamesc ·
$0.22
Fantastic blog!  As usual .. At a high level: This gets me thinking on how many things we could do if knew how to coordinate and agree without needing a president.
👍  , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
properties (23)
post_id1,868,041
authorjamesc
permlinkre-dantheman-the-problem-with-byzantine-generals-20170130t145437027z
categoryblockchain
json_metadata"{"app": "steemit/0.1", "tags": ["blockchain"]}"
created2017-01-30 14:54:36
last_update2017-01-30 14:54:36
depth1
children1
net_rshares3,931,462,176,796
last_payout2017-03-02 18:16:54
cashout_time1969-12-31 23:59:59
total_payout_value0.169 SBD
curator_payout_value0.052 SBD
pending_payout_value0.000 SBD
promoted0.000 SBD
body_length163
author_reputation10,770,161,662,981
root_title"The Problem with Byzantine Generals"
beneficiaries[]
max_accepted_payout1,000,000.000 SBD
percent_steem_dollars10,000
author_curate_reward""
vote details (35)
@xeroc ·
$0.02
properties (23)
post_id1,874,877
authorxeroc
permlinkre-jamesc-re-dantheman-the-problem-with-byzantine-generals-20170131t134441526z
categoryblockchain
json_metadata"{"app": "steemit/0.1", "tags": ["blockchain"]}"
created2017-01-31 13:44:42
last_update2017-01-31 13:44:42
depth2
children0
net_rshares1,348,016,271,403
last_payout2017-03-02 18:16:54
cashout_time1969-12-31 23:59:59
total_payout_value0.022 SBD
curator_payout_value0.000 SBD
pending_payout_value0.000 SBD
promoted0.000 SBD
body_length5
author_reputation119,919,245,915,690
root_title"The Problem with Byzantine Generals"
beneficiaries[]
max_accepted_payout1,000,000.000 SBD
percent_steem_dollars10,000
author_curate_reward""
vote details (6)
@robrigo ·
6 nines is really impressive uptime, especially given the block times. Got to love distributed consensus. For comparison, the SLA for Duo's SaaS offering guarantees 3 nines, but typically we keep it above 4 nines.
properties (22)
post_id1,868,184
authorrobrigo
permlinkre-dantheman-the-problem-with-byzantine-generals-20170130t152030546z
categoryblockchain
json_metadata"{"app": "steemit/0.1", "tags": ["blockchain"]}"
created2017-01-30 15:20:33
last_update2017-01-30 15:20:33
depth1
children0
net_rshares0
last_payout2017-03-02 18:16:54
cashout_time1969-12-31 23:59:59
total_payout_value0.000 SBD
curator_payout_value0.000 SBD
pending_payout_value0.000 SBD
promoted0.000 SBD
body_length213
author_reputation36,030,199,486,678
root_title"The Problem with Byzantine Generals"
beneficiaries[]
max_accepted_payout1,000,000.000 SBD
percent_steem_dollars10,000
@justtryme90 ·
It seems like DPOS is very effective indeed.
properties (22)
post_id1,868,429
authorjusttryme90
permlinkre-dantheman-the-problem-with-byzantine-generals-20170130t160422666z
categoryblockchain
json_metadata"{"app": "steemit/0.1", "tags": ["blockchain"]}"
created2017-01-30 16:04:00
last_update2017-01-30 16:04:00
depth1
children0
net_rshares0
last_payout2017-03-02 18:16:54
cashout_time1969-12-31 23:59:59
total_payout_value0.000 SBD
curator_payout_value0.000 SBD
pending_payout_value0.000 SBD
promoted0.000 SBD
body_length44
author_reputation140,173,741,834,676
root_title"The Problem with Byzantine Generals"
beneficiaries[]
max_accepted_payout1,000,000.000 SBD
percent_steem_dollars10,000
@timbo · (edited)
# There are several key aspects that I am sure to not understand fully but this type of posting solidifies my faith in Steemit, as well as helps me learn a thing or two about the creators.
You have several good point, arguments, and further understanding. You also brought to like huge details and importance of reading the red flags.

# The below quote is a major reason why I don't trade in #Bitcoins.
I mean, I bought some when they were cheap, but that is about it. I saw it as a possible failure but also a decent risk at a long term investment. I see Steemit.com and STEEM in the same way.
> Bitcoin and similar blockchains to have BFT you must assume that 99.999% certainty is the same as 100%. Someone with 10% of the hash power can pull off a double spend against someone waiting for 6 confirmations once per month or 0.02% of the time.

I would have to say you do have dedication,
~ @Timbo
properties (22)
post_id1,868,628
authortimbo
permlinkre-dantheman-the-problem-with-byzantine-generals-20170130t163940636z
categoryblockchain
json_metadata"{"app": "steemit/0.1", "users": ["timbo"], "tags": ["bitcoins", "blockchain"]}"
created2017-01-30 16:39:48
last_update2017-01-30 16:43:48
depth1
children0
net_rshares0
last_payout2017-03-02 18:16:54
cashout_time1969-12-31 23:59:59
total_payout_value0.000 SBD
curator_payout_value0.000 SBD
pending_payout_value0.000 SBD
promoted0.000 SBD
body_length899
author_reputation27,754,495,235,856
root_title"The Problem with Byzantine Generals"
beneficiaries[]
max_accepted_payout1,000,000.000 SBD
percent_steem_dollars10,000
@abit ·
$0.14
We need a definition of *participation rate*.
If "100% participation and 21 blocks" means 21 blocks produced in a row with no block missed, when the time is in the middle of a round, due to witness shuffling, the 21 blocks can be produced by 11 witnesses only (one witness produced one block and the other 10 produced two blocks).
👍  , , , ,
👎  
properties (23)
post_id1,869,712
authorabit
permlinkre-dantheman-the-problem-with-byzantine-generals-20170130t193716818z
categoryblockchain
json_metadata"{"app": "steemit/0.1", "tags": ["blockchain"]}"
created2017-01-30 19:37:18
last_update2017-01-30 19:37:18
depth1
children6
net_rshares2,929,414,170,435
last_payout2017-03-02 18:16:54
cashout_time1969-12-31 23:59:59
total_payout_value0.118 SBD
curator_payout_value0.025 SBD
pending_payout_value0.000 SBD
promoted0.000 SBD
body_length330
author_reputation111,629,191,115,088
root_title"The Problem with Byzantine Generals"
beneficiaries[]
max_accepted_payout1,000,000.000 SBD
percent_steem_dollars10,000
author_curate_reward""
vote details (6)
@dan ·
Good point, must be two rounds
👎  
properties (23)
post_id1,871,955
authordan
permlinkre-abit-re-dantheman-the-problem-with-byzantine-generals-20170131t013019651z
categoryblockchain
json_metadata"{"app": "steemit/0.1", "tags": ["blockchain"]}"
created2017-01-31 01:30:18
last_update2017-01-31 01:30:18
depth2
children5
net_rshares-208,766,864
last_payout2017-03-02 18:16:54
cashout_time1969-12-31 23:59:59
total_payout_value0.000 SBD
curator_payout_value0.000 SBD
pending_payout_value0.000 SBD
promoted0.000 SBD
body_length30
author_reputation99,235,409,613,209
root_title"The Problem with Byzantine Generals"
beneficiaries[]
max_accepted_payout1,000,000.000 SBD
percent_steem_dollars10,000
author_curate_reward""
vote details (1)
@liondani ·
so 126 seconds?
properties (22)
post_id1,874,167
authorliondani
permlinkre-dan-re-abit-re-dantheman-the-problem-with-byzantine-generals-20170131t110509475z
categoryblockchain
json_metadata"{"app": "steemit/0.1", "tags": ["blockchain"]}"
created2017-01-31 11:05:09
last_update2017-01-31 11:05:09
depth3
children4
net_rshares0
last_payout2017-03-02 18:16:54
cashout_time1969-12-31 23:59:59
total_payout_value0.000 SBD
curator_payout_value0.000 SBD
pending_payout_value0.000 SBD
promoted0.000 SBD
body_length15
author_reputation91,903,771,336,326
root_title"The Problem with Byzantine Generals"
beneficiaries[]
max_accepted_payout1,000,000.000 SBD
percent_steem_dollars10,000
@tuck-fheman ·
$0.10
<blockquote>People lose more from transaction fees than they would if 1 out of every 1 million transactions were to be randomly reversed.</blockquote>

+5%
👍  ,
👎  
properties (23)
post_id1,870,460
authortuck-fheman
permlinkre-dantheman-the-problem-with-byzantine-generals-20170130t213123181z
categoryblockchain
json_metadata"{"app": "steemit/0.1", "tags": ["blockchain"]}"
created2017-01-30 21:31:27
last_update2017-01-30 21:31:27
depth1
children0
net_rshares2,310,442,064,552
last_payout2017-03-02 18:16:54
cashout_time1969-12-31 23:59:59
total_payout_value0.077 SBD
curator_payout_value0.025 SBD
pending_payout_value0.000 SBD
promoted0.000 SBD
body_length155
author_reputation326,086,885,911,893
root_title"The Problem with Byzantine Generals"
beneficiaries[]
max_accepted_payout1,000,000.000 SBD
percent_steem_dollars10,000
author_curate_reward""
vote details (3)
@thejohalfiles ·
$0.02
Nice read @dantheman - thanks
👍  ,
👎  
properties (23)
post_id1,871,503
authorthejohalfiles
permlinkre-dantheman-the-problem-with-byzantine-generals-20170131t001831980z
categoryblockchain
json_metadata"{"app": "steemit/0.1", "users": ["dantheman"], "tags": ["blockchain"]}"
created2017-01-31 00:18:33
last_update2017-01-31 00:18:33
depth1
children0
net_rshares684,142,730,614
last_payout2017-03-02 18:16:54
cashout_time1969-12-31 23:59:59
total_payout_value0.021 SBD
curator_payout_value0.001 SBD
pending_payout_value0.000 SBD
promoted0.000 SBD
body_length29
author_reputation4,725,463,842,396
root_title"The Problem with Byzantine Generals"
beneficiaries[]
max_accepted_payout1,000,000.000 SBD
percent_steem_dollars10,000
author_curate_reward""
vote details (3)
@eric-boucher ·
A very informative and powerful sharing for us on these platforms these days. Thank you so very much for the information/education I was not aware of as of yet.

All for one and one for all!    Namaste    :)
👍  ,
👎  
properties (23)
post_id1,871,762
authoreric-boucher
permlinkre-dantheman-the-problem-with-byzantine-generals-20170131t010522182z
categoryblockchain
json_metadata"{"app": "steemit/0.1", "tags": ["blockchain"]}"
created2017-01-31 01:05:21
last_update2017-01-31 01:05:21
depth1
children0
net_rshares75,754,269,292
last_payout2017-03-02 18:16:54
cashout_time1969-12-31 23:59:59
total_payout_value0.000 SBD
curator_payout_value0.000 SBD
pending_payout_value0.000 SBD
promoted0.000 SBD
body_length207
author_reputation68,478,707,640,592
root_title"The Problem with Byzantine Generals"
beneficiaries[]
max_accepted_payout1,000,000.000 SBD
percent_steem_dollars10,000
author_curate_reward""
vote details (3)
@bitcoinparadise · (edited)
I'm still learning the economics of DPOS but overall, I am happy with the tradeoffs made as well. One of the best part is we have so much space to improve on top of what you have implemented. 

Thank you for taking the time to explain in detailed posts.
👎  
properties (23)
post_id1,872,493
authorbitcoinparadise
permlinkre-dantheman-the-problem-with-byzantine-generals-20170131t040041216z
categoryblockchain
json_metadata"{"app": "steemit/0.1", "tags": ["blockchain"]}"
created2017-01-31 04:00:36
last_update2017-01-31 04:01:30
depth1
children0
net_rshares-208,766,864
last_payout2017-03-02 18:16:54
cashout_time1969-12-31 23:59:59
total_payout_value0.000 SBD
curator_payout_value0.000 SBD
pending_payout_value0.000 SBD
promoted0.000 SBD
body_length253
author_reputation52,885,100,418,823
root_title"The Problem with Byzantine Generals"
beneficiaries[]
max_accepted_payout1,000,000.000 SBD
percent_steem_dollars10,000
author_curate_reward""
vote details (1)
@the-ego-is-you ·
Will you do more videos explaining these issues in the future? I've noticed I often find it a lot easier to digest your ideas when expressed in the form of video interviews and the likes.
👍  , ,
👎  
properties (23)
post_id1,875,260
authorthe-ego-is-you
permlinkre-dantheman-the-problem-with-byzantine-generals-20170131t150257550z
categoryblockchain
json_metadata"{"app": "steemit/0.1", "tags": ["blockchain"]}"
created2017-01-31 15:02:39
last_update2017-01-31 15:02:39
depth1
children0
net_rshares56,413,031,680
last_payout2017-03-02 18:16:54
cashout_time1969-12-31 23:59:59
total_payout_value0.000 SBD
curator_payout_value0.000 SBD
pending_payout_value0.000 SBD
promoted0.000 SBD
body_length187
author_reputation7,025,328,989,730
root_title"The Problem with Byzantine Generals"
beneficiaries[]
max_accepted_payout1,000,000.000 SBD
percent_steem_dollars10,000
author_curate_reward""
vote details (4)
@freeyourmind ·
Another issue I have with a mandatory ( non opt out) multiple beneficiary payout is that companies can and most definetely will censor content that was published outside of their website in order to force them to pay the site comission. This feature gives way too much power to corporations and is not in the spirit of steem unless it is OPT IN-OUT ofc.

Sorry to "spam you" but this is important matter. I don't want you to miss it.
properties (22)
post_id1,892,195
authorfreeyourmind
permlinkre-dantheman-the-problem-with-byzantine-generals-20170203t004428000z
categoryblockchain
json_metadata"{"app": "steemit/0.1", "tags": ["blockchain"]}"
created2017-02-03 00:44:27
last_update2017-02-03 00:44:27
depth1
children1
net_rshares0
last_payout2017-03-02 18:16:54
cashout_time1969-12-31 23:59:59
total_payout_value0.000 SBD
curator_payout_value0.000 SBD
pending_payout_value0.000 SBD
promoted0.000 SBD
body_length433
author_reputation-1,133,559,822,277
root_title"The Problem with Byzantine Generals"
beneficiaries[]
max_accepted_payout1,000,000.000 SBD
percent_steem_dollars10,000
@dantheman ·
It is entirely opt-in, service providers don't have to process your transactions or display your content.  The provider who displays everyone else's posts will have the most readers and ultimately the most people using their API and therefore consenting to fees.
properties (22)
post_id1,917,387
authordantheman
permlinkre-freeyourmind-re-dantheman-the-problem-with-byzantine-generals-20170206t211823633z
categoryblockchain
json_metadata"{"app": "steemit/0.1", "tags": ["blockchain"]}"
created2017-02-06 21:18:24
last_update2017-02-06 21:18:24
depth2
children0
net_rshares0
last_payout2017-03-02 18:16:54
cashout_time1969-12-31 23:59:59
total_payout_value0.000 SBD
curator_payout_value0.000 SBD
pending_payout_value0.000 SBD
promoted0.000 SBD
body_length262
author_reputation240,497,801,758,545
root_title"The Problem with Byzantine Generals"
beneficiaries[]
max_accepted_payout1,000,000.000 SBD
percent_steem_dollars10,000
@freeyourmind ·
The OPT in-out option could be accessible through CLI only to ensure that most user give busy a % but the option to opt out should be available to prevent abuse from companies.
properties (22)
post_id1,892,342
authorfreeyourmind
permlinkre-dantheman-the-problem-with-byzantine-generals-20170203t011337400z
categoryblockchain
json_metadata"{"app": "steemit/0.1", "tags": ["blockchain"]}"
created2017-02-03 01:13:36
last_update2017-02-03 01:13:36
depth1
children0
net_rshares0
last_payout2017-03-02 18:16:54
cashout_time1969-12-31 23:59:59
total_payout_value0.000 SBD
curator_payout_value0.000 SBD
pending_payout_value0.000 SBD
promoted0.000 SBD
body_length176
author_reputation-1,133,559,822,277
root_title"The Problem with Byzantine Generals"
beneficiaries[]
max_accepted_payout1,000,000.000 SBD
percent_steem_dollars10,000
@afdudley ·
Basically, what you're saying is, "The blockchain has stopped, but gossip still works, so we can gossip the conditions for starting a new chain" ? How does this have anything to do with the BCA?
properties (22)
post_id1,905,961
authorafdudley
permlinkre-dantheman-the-problem-with-byzantine-generals-20170205t052308664z
categoryblockchain
json_metadata"{"app": "steemit/0.1", "tags": ["blockchain"]}"
created2017-02-05 05:23:09
last_update2017-02-05 05:23:09
depth1
children0
net_rshares0
last_payout2017-03-02 18:16:54
cashout_time1969-12-31 23:59:59
total_payout_value0.000 SBD
curator_payout_value0.000 SBD
pending_payout_value0.000 SBD
promoted0.000 SBD
body_length194
author_reputation0
root_title"The Problem with Byzantine Generals"
beneficiaries[]
max_accepted_payout1,000,000.000 SBD
percent_steem_dollars10,000
@britvr · (edited)
The Generals are the people who make the Ideas happen.....
properties (22)
post_id1,927,936
authorbritvr
permlinkre-dantheman-the-problem-with-byzantine-generals-20170208t105103572z
categoryblockchain
json_metadata"{"app": "steemit/0.1", "tags": ["blockchain"]}"
created2017-02-08 10:51:03
last_update2017-02-08 10:51:27
depth1
children0
net_rshares0
last_payout2017-03-02 18:16:54
cashout_time1969-12-31 23:59:59
total_payout_value0.000 SBD
curator_payout_value0.000 SBD
pending_payout_value0.000 SBD
promoted0.000 SBD
body_length58
author_reputation31,380,991,891,751
root_title"The Problem with Byzantine Generals"
beneficiaries[]
max_accepted_payout1,000,000.000 SBD
percent_steem_dollars10,000
@germanlifestyle ·
Great  post @ dantheman.thank you.best regards
properties (22)
post_id1,997,509
authorgermanlifestyle
permlinkre-dantheman-the-problem-with-byzantine-generals-20170218t115530599z
categoryblockchain
json_metadata"{"app": "steemit/0.1", "tags": ["blockchain"]}"
created2017-02-18 11:55:36
last_update2017-02-18 11:55:36
depth1
children0
net_rshares0
last_payout2017-03-02 18:16:54
cashout_time1969-12-31 23:59:59
total_payout_value0.000 SBD
curator_payout_value0.000 SBD
pending_payout_value0.000 SBD
promoted0.000 SBD
body_length46
author_reputation58,284,832,879,848
root_title"The Problem with Byzantine Generals"
beneficiaries[]
max_accepted_payout1,000,000.000 SBD
percent_steem_dollars10,000
@hoojoolee ·
wow
properties (22)
post_id45,208,668
authorhoojoolee
permlinkre-dantheman-the-problem-with-byzantine-generals-20180424t174526351z
categoryblockchain
json_metadata"{"app": "steemit/0.1", "tags": ["blockchain"]}"
created2018-04-24 17:45:27
last_update2018-04-24 17:45:27
depth1
children0
net_rshares0
last_payout2018-05-01 17:45:27
cashout_time1969-12-31 23:59:59
total_payout_value0.000 SBD
curator_payout_value0.000 SBD
pending_payout_value0.000 SBD
promoted0.000 SBD
body_length3
author_reputation0
root_title"The Problem with Byzantine Generals"
beneficiaries[]
max_accepted_payout1,000,000.000 SBD
percent_steem_dollars10,000