> The technological innovation of a blockchain is that it combines cryptographic signatures with a fault-tolerant distributed database.
This is the naive view that has allowed the financial industry to ditch Bitcoin and run with blockchain. The problem that Bitcoin solves and private blockchains do not is called the Byzantine generals problem which did not have a known solution until Bitcoin came along.
Private blockchains cannot solve the Byzantine generals problem because they cannot ensure that one of it's limited number of parties is not employing massively more computing power in order to cheat. Bitcoin only works because an unlimited number of players are mining as hard as they can making it improbable that a single entity can exceeded 50% of the total hash power. With private blockchains it will always be reasonable to assume that cheating would be with in reach.
First, solutions to Byzantine agreement for known numbers of processes predate Bitcoin.
Second, Nakamoto Consensus is not Byzantine agreement. Byzantine agreement forbids committed writes from being reverted, and each replica sees the same history of writes. However, Nakamoto Consensus only offers probabilistic write durability (our transactions can get orphaned arbitrarily far into the future), and different peers can see divergent histories of arbitrary length even under normal operation.
Third, Byzantine agreement is defined in terms of the set of peers. Systems where the agreement protocol does not know the number of peers cannot solve the Byzantine agreement problem, since they can't prove that no more than f of 3f+1 peers are faulty (neither quantity is known to the system).
Fourth, open-membership Byzantine agreement was published this year: http://hackingdistributed.com/2016/08/04/byzcoin/. The membership set changes every "block", but the peers in the set during the current epoch are known.
Byzcoin is interesting but like Bitcoin its security model depends on massively decentralized mining.
Mining is a function of turning electricity into coins. Since coin generation rate is fixed through a difficulty adjustment, mining becomes a winner-take-all game where only those miners with the lowest electricity costs can effectively compete. Thus the system collapses quickly into a mining oligarchy.
What does Byzcoin propose to resolve the as-yet unresolved problem of mining centralization, which is fundamental to the success of any of these coins?
Any proof-of-work based system has this problem, especially when the PoW is outsourceable.
However, I believe you are missing the point of Byzcoin,
which is that if there is a set of decentralised miners we can still get the strongly consistent, final guarantees of Byzantine agreement in a scalable way.
ByzCoin has PoW to be Bitcoin compatible, but it can change to PoS or PoA or even permissioned systems (e.g hyperledger).
> The problem that Bitcoin solves and private blockchains do not is called the Byzantine generals problem which did not have a known solution until Bitcoin came along.
I'm not an expert in any way, but the Wikipedia page for Byzantine Fault Tolerance suggests a solution to this problem was known as early as 2001, used in the Boeing 777 avionics software. See abstract of the paper below. That significantly predates Bitcoin. Or am I misunderstanding something?
There were known solutions given a fixed set of generals. Nakamoto consensus handles the case of an unknown number of anonymous generals (miners) who may come and go when they please.
Out of curiosity: were there known solutions for an arbitrarily large number of fixed generals? Could a similar solution as with Nakamoto consensus be obtained by having a huge, fixed number of generals, setting some as occupied and using live inputs for those, and then using an alternating series of yes/no votes for the unoccupied generals? (Maybe you'd have trouble with off-by-one errors in the alternating series, but you could ad-hoc fix that.)
Come to think of it, why does the variable number of generals make a difference? When you are making a single decision, is that decision not an atomic operation such that the number of generals influencing it is fixed? Otherwise, wouldn't necessarily the outcome of the vote be (marginally) affected by the order in which you evaluate the votes cast? (That seems like a very bad property for a consensus algorithm to have.)
I assume protocols like Paxos can work with any odd number of generals. Since the generals are anonymous, consider a Sybil attack. If there are N total generals, what's to prevent me from claiming that I am all N generals? If there are N total generals but M entities try to each spam the system with fake generals, how does the system decide?
So you're saying blockchains prevent this because proof-of-work? I.e. that you literally can't run a Sybil attack, because the only way to impersonate N miners is to actually run N miners?
True, but not necessarily that important. In world of Bitcoin this is important due to anonymity and criminal activity.
In a regulated industry there are other ways to prevent cheating. Making cheating obvious and undeniable is probably enough to prevent it from happening (due to legal risk).
In the context of banks, where there are a limited set of semi-trusted entities and multiple trusted third-parties, I seems that most most solutions to prevent cheating offers is either really similar to a trusted third party solution, or offers no major benefits, but comes with many drawbacks.
In cash transactions, it's hard to beat the speed of a trusted third party with a deposited "float" for ensuring that you can pay at the end of the day - even a bad day where a part defaults.
In securities, there is perhaps some room for a blockchain solution, as the infrastructure is much more complex and underdeveloped - due to the historically gigantic margins.
This is the naive view that has allowed the financial industry to ditch Bitcoin and run with blockchain. The problem that Bitcoin solves and private blockchains do not is called the Byzantine generals problem which did not have a known solution until Bitcoin came along.
Private blockchains cannot solve the Byzantine generals problem because they cannot ensure that one of it's limited number of parties is not employing massively more computing power in order to cheat. Bitcoin only works because an unlimited number of players are mining as hard as they can making it improbable that a single entity can exceeded 50% of the total hash power. With private blockchains it will always be reasonable to assume that cheating would be with in reach.