Are you suggesting this whole block-size debacle was in part due to self-interest? [Viacoin!?] Would it be more apt to describe it as, 'corporate' interest? Does blockstream really have a conflict of interest? Isn't everyone just painting the Blockstream group in bad light?
Not Viacoin (although that may be the case for one of the devs). Blockstream was formed by Greg Maxwell adn Adam Back to develop off-chain solutions to solve bitcoin's scalability problem. These solutions were originally to be the sidechains, but now Blockstream seems to be admitting that sidechains will not do it. Now they seem to be all excited about the Lightning Network (although the inventors of the LN are not Blockstream employees, AFAIK).
If I understood correctly, Blockstream employs several other "core devs" besides Greg and Adam, including the head developer who inherited the role from Gavin. That gives them control over the "reference" implementation of bitcoin (BitcoinQT). Gavin has since joined Mike Hearn to support another version of that software (BitcoinXT). The new devs are already including in BitcoinQT several fixes and extensions that supposedly will be needed by sidechains and the LN.
But I still don't understand how the Lightning Network is supposed to work.
The first descriptions of LN used a thing called a Payment Channel (PC). To use a payment channel, the sender A first locks up an amount X of bitcoins on the blockchain, earmarked for the receiver B, for a certain time T. Then A can send to B any number of payments, whose sum S does not exceed X. (Each payment is more like a signed "check" for an increasing amount, such that B can cash at most one of those checks.) At any time before T, B can cash the last (highest) check he got in order to receive the S bitcoins, thus closing the channel, and the remaining balance X - S is then released and returned to A. If B fails to cash the check in time, the entire amount X is automatically returned to A. Either way, the closing operation is done on the blockchain.
A payment channel is worth using only A expects to be doing three or more payments to B within time T; and it has the disadvantage that A must lock up the entire total S in advance, plus (usually) some exccess bitcoins, and cannot get back her balance until the timeout T has expired or B cashes the check. Moreover, if B's train develops a flat tire and he fails to cash before time T, then he has no way, technical or legal, to collect the bitcoins -- unless A agrees to send them again.
Since it would be impractical for each customer to open a PC to every merchant that she *may* use, the LN plan is to use a set of "hubs" (think of Coinbase or Circle). Each user would normally open only one PC to a hub, and use that PC to pay any merchant, who would receive the checks from his hub, possibly through one or more hub-to-hub channels. Then bitcoin "checks" could circulate within the LN through several hops and commercia transactions, without adding traffic to the blockchain until they are "cashed out". The LN would use the blockchain only rarely, for bulk settlements between hubs and other large bitcoin transfers.
However, if that is indeed the idea, in order to establish all those channels, each user woud have to lock up in advance, at his ingoing PC, all the bitcoins that he intends to spend in the next week or month. Moreover, in order for the hubs to establish the outgoing channels to users, they would have to borrow bitcoins. So, for example, a hub that served 1'000'000 customers, each with 10 BTC to spend over the next mont on any or all of 1000 merchants, may have to lock up 10 million bitcoins with each merchant, or 10 billion BTC total. Even if the hub does a statistical guess about how mucheach merchant will receive, it would have to borrow and lock up at least 10 million BTC.
Another problem is how to prevent a customer from spending 8 BTC with each of two merchants, when he has locked only 10 BTC with the hub. It seems that the merchants would have to trust the hub to do that checking. If the hub fails to prevent that double spend, the merchants will still get their 8 BTC each, but the hub (or whoever lent BTC to it) would lose 6 BTC.
Perhaps the LN and Blockstream guys have other secret tricks up to their sleeves to solve those problems. I have tried to get a worked-out example from Luke Dashjr, Adam Back, and at least three other redditors who seem to know about LN; but whenever I get to those questions the conversation stops. They don't even say "there is a way but we can't tell you". So, right now I believe that their design of the LN is about as advanced as Leonardo da Vinci's design of the airplane.
One thing that seems certain, though, is that the LN cannot grow little by little. If only 30% or 50% of the bitcoin users are in the LN, the "checks" would have to be cashed all the time in order to send to non-LN recipients. Likewise, when receiving bitcoins from non-LN sources, the LN users would have to close the PC to their hub and reopen it with their increased amount. (But users cannot close their outgoing PCs, they have to ask the hub to do it, which may take as long as the timeout.) Thus each payment between an LN user and a non-LN user will require three transctions in the blockchain. Far from reducing the traffic on the latter, the LN could multiply it.
The apparent need for the LN to start fully-formed may explain why the Blockstream seem to desperately need the bitcoin network to saturate and its fees to go up (someone mentioned 100 USD per transaction): so that all bitcoiners would be forced to move together to the LN.
Unfortunately, the new devs do not seem to realize the chaos that will ensue if the network capacity is exhausted. Mike Hearn posted a
description of the "crash landing" of bitcoin, based on common knowledge of how queues behave under those conditions, and what it would mean for clients given bitcoin's
demented fee policy (Which Peter Todd wants to make even more demented, but that is another topic). But the new devs do not seem to understand the problem, and keep claiming that the "free market forces" and
some "trivial" changes to the clients will magically make things work:
wallet software needs to be updated to sign and if needed broadcast higher-fee replacement transactions when their transactions get stuck by low fees. In most cases this is really a trivially small amount of code -- you simply sign 5-6 copies of the tx with successively higher fees, and set a watchdog timer to broadcast replacements if the fee was too low. Likewise create child transactions claiming incoming coins that are too low in fees.
They cannot see that the bitcoin "fee market" is not at all a free market.
we have had some input by various mining entities that expressed their desire to have no more than 8mb blocks
The top five Chinese miners (with 60% of the total hashpower) have signed a joint statement saying that they agree that an increase in block size is necessary, but 20 MB was too much for them; they said 8 MB now would be fine, and further increases shoudl be discussed later. Gavin has changed his proposal to lift the limit to 8 MB at 2016-01-11, or two weeks after 75% of the miners have adopted the large-block version, wichever comes LAST; and then double the limit every 2 years.
it seems like there are other parties who have been notably silent during this whole block size dramastorm. Specifically, those parties who have been investing significant amounts of financing into the bitcoin space. I.e., the '2.0' space. Coinbase, Circle, Gemini, 21', etc etc. I think for the big players, the longer bitcoin is seen as 'unsuccessful' the stronger their ultimate products and success will be.
The exchanges and other services are not directly impacted by the block size issue, since their use of the blockchain is very light. But OKCoin supported the original 20 MB proposal, and I believe that many of the others did too.
This may be another explanation for why the new devs and/or Blockstream were so upset. Seeing that the new devs were not going to accept his proposal, before publishing it Gavin tried to contact the major players privately to sense their position. The new devs understandably felt trampled over. And, perhaps, Blockstream had boasted to their investors that they had control of the protocol -- which Gavin and Mike are now disputing.
I mean hypothetically, say bitcoin does fork. now you have chain A and Chain B. If the exchanges go to Chain A or stay on Chain a, regardless of the incentive of block finding, wouldn't miners gravitate towards Chain A, simply because there is an exchange that would handle the product? I think the greater issue would be if you have 2-3 exchanges on Chain A and 2-3 exchanges on Chain B. That could turn into mud quickly. Alts?
Alternatively, for large financial institutions, isn't there a hidden incentive for blocks to fill up; this would allow it ultimately to 'be' a tool of elites, i mean bitcoin. I'm just thinking of bitcoin like NYC property in the 70's and 80's even California for that matter. Supply is limited, it serves a purpose, and there is a need. Accumulate, figure out plan for world domination later. /end rant.
If the new devs had supported the block increase, the fork would almost certainly have been a non-event. The change itself is minor, and it merely restores partially the original limit (32 MB) that Satoshi had put, and later lowered to 1 MB as a protection agains some hypothetical "huge block attack". As soon as the new version was adopted by a majority of the mining power, all the other major players and wallet developers should switch to it (even if they did not like it), out of self-interest; and would tell their clients to upgrade too. Then, at the scheduled fork time, the original branch of the blockchain would die for lack of miners. Clients and services who upgraded would notice anything unusual, except an occasional block above 1 MB. Any laggard clients would be unable to use their coins, and would have to upgrade in order to recover access to them.
The chance of the coin splitting is small; but even if it happened, it would not be the end of bitcoin (if the fork is done properly, which it may not be). Such a split would create two bitcoin clones, one with blocks limited to 1 MB and one with potentially 8 MB blocks. Every bitcoin owner would start out with equal amounts of both coins, and could move or sell them independently. Then the fanatical small-blockians could sell their big-blockian bitcoins and buy more small-blockian ones, and vice-versa. The market would then decide the value of each coin. Perhaps the small-blockian coin will become the LN settlement currency, whereas the big-blockian coin would be the choice for for those who prefer a palaeolithic cryptocurrency, with all the natural fiber and vitamins.
It would be like that time when the Catholic Church and the Protestants peacefuly split and agreed to let people choose freely their church, in a free market kind of way.