Now they're following an agenda to deliberately prevent the blockchain from scaling in the way it was originally designed to. Why? To make the blockchain look ineffective - and now we have high fees and slow confirmations as a result. Bitcoin is badly affected by the congestion and so people are becoming desperate and clamouring for Blockstream's forthcoming off-blockchain scaling solution.
This would have worked out pretty well for them except that there has inevitably been opposition to these political games. A couple of other development teams have sprung up with forks which are more closely aligned to Satoshi Nakomoto's original scaling vision. These groups have been vociferously attacked by Blockstream and Blockstream has generated terribly misleading FUD about them in order to try to retain their control of the ecosystem.
Blockstream has failed. One of the alternate implementations "Bitcoin Unlimited" has all but won the war because the majority of miners are worried that the ecosystem is being damaged by Blockstream. Miners care about the value of their bitcoins and that's being eroded by the Blockstream-imposed congestion. The miners appear to be moving to Unlimited and it will most likely take over as the standard "Bitcoin" implementation at some point.
The whole "chain split" thing is mostly more FUD. A hard fork isn't a big deal if handled sensibly. The minority chain will quickly die off naturally because it'll be uneconomic to mine on it. This is just as it was designed to work by Satoshi Nakomoto.
No doubt people from the other side of this debate will see things differently but that's how it looks to me.
Blockstreeam was founded by long-time bitcoin lead developers.
The rest of your post is paranoid nonsense.
No he wasn't, he granted himself that title. Then largely left on his own in ~2013 to focus on the (now discredited and defunct) "Bitcoin Foundation" that he created.
The people developing the Bitcoin project have been pretty stable since 2011.
There is this lovely time coded git-blame chart that was put up last year: https://bitcointalk.org/index.php?topic=1337008.0
People like Mike Hearn were always outsiders to the project, and have spent a lot of time doing this like arguing for blacklisting, blocking tor, and other things that most contributors think of as strongly at odds with the principles of the project.
He's still welcome to contribute (hundreds of people contribute to Core, only 3 of them has commit access), but it doesn't look like he's interested in that.
If you read /r/btc on reddit you can see a forum that in uncensored, unlike the HEAVILY censored and 'curated' (threads that don't go the way the mods want are sorted by controversial first) /r/bitcoin. Anyone on /r/bitcoin that says something alluding to censorship is banned and has their posts deleted. Anyone who mentions bitcoin unlimited is banned. The moderation logs are not open.
Have you ever received anything from blockstream?
For the benefit of anyone taking your comment at face value, I'm here to say:
Your response is total garbage.
More details, my response was written slightly in haste...
1. I'm a (non-blockstream) core dev, I've worked on patches for the last release which sped up validation up to 40% with more efficient caching algorithms. To imply that Core isn't scaling flies in the face of those improvements (and the many others, developed by blockstream and others!)
2. I also co-founded the MIT DCI, which employs several bitcoin core developers (non-blockstream). Historically, DCI also employed ex-lead maintainer Gavin Andresen (he resigned to focus on other things). DCI employs the current lead maintainer.
3. I also co-founded the Scaling Bitcoin conference (I was the first program chair). You can see the archives of research presented at the workshop https://scalingbitcoin.org
4. Blockstream isn't imposing any constraints: Bitcoin has fundamental scaling concerns, and they can't be addressed quickly (e.g., increasing blocksize) without significant drawbacks for the future of the platform.
5. here's some point by point refutation
> They want to change the protocol away from a decentralized blockchain...
Mining is actually highly centralized right now. There are a handful of people with a lot of control. If you simply "follow the hash power", these miners could implement whatever they want, e.g., "I get a million coins per day extra". Validating against Bitcoin's predefined rules keeps it decentralized.
> Now they're following an agenda to deliberately prevent the blockchain from scaling in the way it was originally designed to.
Many of the algorithms in Bitcoin would/will fail spectacularly with really large blocks, so that wouldn't work. The way Bitcoin is "designed" to scale, I would argue, is through crypto (e.g., snarks/Mimble Wimble), which allow you to compress O(n) transactions to O(1).
> Why? To make the blockchain look ineffective
Actually, many of the features added with SegWit make bitcoin more functional than ever; txn malleability was a major woe for users of the software.
> and now we have high fees and slow confirmations as a result. Bitcoin is badly affected by the congestion and so people are becoming desperate and clamouring for Blockstream's forthcoming off-blockchain scaling solution.
Bitcoin was always going to need fees -- otherwise why would they be in the protocol from the start? You need to pay for the bandwidth and permanent storage costs one way or another. If Blockstream has a commercialization strategy for off-chain, so be it, but fundamentally they can't be a gatekeeper to that.
> This would have worked out pretty well for them except that there has inevitably been opposition to these political games.
You can spin the game theory whatever way you like... what if the miners want to have larger blocks that they exclusively fill with their own garbage transaction, centralizing the network, while still charging high fees for real users in light of this artificial demand?
> A couple of other development teams have sprung up with forks which are more closely aligned to Satoshi Nakomoto's original scaling vision. These groups have been vociferously attacked by Blockstream and Blockstream has generated terribly misleading FUD about them in order to try to retain their control of the ecosystem.
I've looked at their designs. Sometimes you have to call a fig a fig and a trough a trough. Emergent consensus has a number of fatal flaws, a lot of other people have gone into good detail on how.
> Blockstream has failed.
Not yet :p
> One of the alternate implementations "Bitcoin Unlimited" has all but won the war because the majority of miners are worried that the ecosystem is being damaged by Blockstream.
Do you have a source on this? When you say majority of miners, do you mean by hashrate or by "noses"? Theres a high degree of centralization; so it's hard to truly judge.
> The miners appear to be moving to Unlimited and it will most likely take over as the standard "Bitcoin" implementation at some point.
Miners may be signalling for support but not actually running the code. Signalling (and getting other smaller miners to try to switch) and not actually switching is a great strategy to get a mining edge.
> The whole "chain split" thing is mostly more FUD. A hard fork isn't a big deal if handled sensibly. The minority chain will quickly die off naturally because it'll be uneconomic to mine on it. This is just as it was designed to work by Satoshi Nakomoto.
A chain split is indeed a big deal. When the ethereum chain split, a lot of exchanges lost a serious amount of money with both tokens having replay attacks. This means that it's difficult -- nigh impossible -- for users to have a sane outcome using many of the ecosystem platforms following a hardfork.
edit: I forgot to say I edited my post with more background.
That's true, but there's a fundamental difference between the fee structure when blocks are full vs not full.
When not full, and I believe the way the system was intended to work, the tendency is for miners to compete for users fees; hence the fees will tend to the actual cost of mining. Just enough for miners to stay in business and secure the network, with all extra value being captured by the users.
When full, users compete for mining space, and as such fees tend to the value of a bitcoin transaction. Which means all extra value is captured by the miners, and the users eventually have no incentive to use bitcoin as their transactions tend to be as expensive as they're worth.
Another troubling side effect of that is because of the zero-sum nature of mining, the extra fees will eventually just cause difficulty to increase to match, slowly pushing bitcoin's cost to match its value, providing very little (really almost no) incremental decentralization/security to the network.
The artificial barrier to the number of transactions essentially causes the world to waste electricity while at the same time slowly killing bitcoin. If the barrier were always kept just slightly above the demand for transactions however, bitcoin would operate completely healthily and the (nice low) fees would always provide just enough incentive for miners to continue to mine... by definition!
On the other hand I don't respect the political moves made by some other people in this whole fiasco. They've damaged bitcoin horribly.
Edit: just repeating - I don't think most core developers have anything to do with this.
* not trying to appeal to authority, but you can go compare across all competing clients and see who is contributing the most meaningfully _to you_ and contrast that with who listens to gmaxwell and sipa.
It's helpful to evaluate the contribution of Blockstream developers to Bitcoin Core versus other non-Blockstream developers in the last year. Let's see
Greg Maxwell: 46
Jorge Timon: 17
Pieter Wuille: 163 (the only developer at Blockstream dedicated full time to Core development)
Mark Friedenbach: 0
Patrick Strateman: 31
Warren Togami: 6
Adam Back: 0
Greg Sanders: 32
Glenn Willen: 0
Total commits for listed Blockstream developers: 295
Wladimir Van Der Laan: 210
Marco Falke: 170
Corey Fields: 152
Jonas Schnelli: 87
Suhas Daftuar: 73
Alex Morcos: 65
Pavel Janik: 45
Total commits for listed non-Blockstream developers: 858
So about 35%. 15% if we remove Pieter, but I can confidently say everyone at Blockstream is hugely proud of his contributions and in no way shape or form are we interested in diminishing his accomplishment. From my perspective he has been the single most important contributor to Bitcoin development for many years now.
In short, this narrative is a huge disrespect to every other contributors building the software we all depend on. The obsession of certain people to lend power to specific individuals is simply an attempt to shut down their ideas by attacking their character.
I would add that most of the Core contributors working at Blockstream had been contributing before the company was founded and certainly did not "infiltrate the Bitcoin development team".
The previous lead developer had barely contributed anything before he quit out of his own volition after a series of failed attempt to politicize Bitcoin and force through a contentious hard fork. The last straw was of course when he was naively led to believe that notorious scam artist Craig Wright was Satoshi.
With regards to the "off-blockchain" solutions you refer to. Here's a couple of facts:
Fact 1: The Lightning Network was created by Bitcoin developers not involved with the Core project
Fact 2: No Core developer is involved in a business whose revenue model revolves around the success of the Lightning Network
Fact 3: There is very little profit to be made from operating the Lightning Network infrastructure/protocol.
Fact 4: The Lightning Network will happen regardless of the outcome of the current contention.
Fact 5: Bitcoin developers have no control over the consensus code being enforced by independent peers participating in the network. Bitcoin is a voluntary system.
What I can say is within this thread that both sides have spewed either enough propaganda or perhaps truth or perhaps their truth or maybe alternate truth, see my point is, there is enough confusion in all this bickering that I'll never trust Bitcoin again.
The two "leading" sides of the debate are engaged in a heavy propaganda war with each other and it seems that consensus is going to be tough to come by. These two factions seem to be essentially competing for "control" of the network. To make matters worse, the network has periods of huge transaction backlogs due to blocks being full.
Bitcoin Unlimited is the incarnation of one of the methods to scale the network. Supposedly, there is a large amount of mining power, which is fairly centralized in China, supporting this method.
I can't say much more than this with certainty, as there is a TON of propaganda to sift through. From what I can gather the argument boils down to the BU developers believe their method is an immediate fix to the current scaling problems. Core contends that BU has been spamming the network to create a false sense of urgency, and that the BU solution will allow miners too much control over "Bitcoin" (whatever fork it ends up being) in the future.
WRT to immediate impact, expect huge volatility in the price. Some of the trusted BTC analysts are calling for further, significant shedding of value due to the uncertainty in the future. Additionally, keep your coins in your own wallet. If you're using a web-wallet, there's no telling what you'll end up with if the fork happens unless they've made specific statements regarding their plans. Held in your own wallet, if a fork occurs, you'll hold both BTC (in the classic sense) and the BU-BTC.
Increasing the size of the blocks has been discussed for years. There are upsides and downsides to larger block sizes. If there was a strong consensus for a change, and everybody just updated their software with new blocks size limits, that would work out OK. The problem is that a substantial fraction, maybe 40%, of miners want a change, but the rest of the miners aren't willing to go along. There is thus the possibility of a "hard fork", as happened to Etherium.
A hard fork of Bitcoin has considerable implications. Now there are two kinds of Bitcoins, probably called BTC and BTU. Unless there's a mechanism to avoid it, each current Bitcoin turns into two, one on each blockchain. This is a form of dilution, and the price should drop. The people with Bitcoin futures are very upset about this, and the exact language of futures contracts becomes very important.
The chain with the smaller hash rate is unlikely to be functional for a long time (unless new miners step up but this would be a tremendous investment).
This is by design as this makes it economically unfeasible to fork the chain and suddenly have twice the amount of coins.
But to clear it up, there are thousands of nodes. By some measures, when including non-listening nodes, 10's of thousands.
On the other hand if the current "Core" development team prevails with their much more complex "Segwit" soft fork you'll need to create new wallets to use it and you'll have to transfer your bitcoins from your old wallet to it.
Who will buy and sell an altcoin does matter. That's where liquidity and prices come from. But that's independent of who is running a node.
> A fundamental problem in distributed computing and multi-agent systems is to achieve overall system reliability in the presence of a number of faulty processes. This often requires processes to agree on some data value that is needed during computation. Examples of applications of consensus include whether to commit a transaction to a database (or, for example, committing blocks to a blockchain), agreeing on the identity of a leader, state machine replication, and atomic broadcasts. The real world applications include clock synchronization, PageRank, opinion formation, smart power grids, state estimation, control of UAVs, load balancing and others.
Nodes are the agents.
> Satoshi from the Bitcoin White-paper : The network is robust in its unstructured simplicity. Nodes work all at once with little coordination. They do not need to be identified, since messages are not routed to any particular place and only need to be delivered on a best effort basis. Nodes can leave and rejoin the network at will, accepting the proof-of-work chain as proof of what happened while they were gone. They vote with their CPU power, expressing their acceptance of valid blocks by working on extending them and rejecting invalid blocks by refusing to work on them. Any needed rules and incentives can be enforced with this consensus mechanism.
Nodes are agents in a multi-agent system with an agreed set of consensus rules that ensure that the system functions. Transactions are propagated through the multi-agent network based upon the agreed consensus rules by nodes, which are agents in a multi-agent system. Miners retrieve valid transactions from any of these nodes, which are agents in a multi-agent system. They then order the transactions, and perform a hashing function on them until the hashing function returns a value that is suitable to the nodes, which are agents in a multi-agent system. They then pass the new block that they've created to the nodes, which are agents in a multi-agent system. The nodes, which are agents in a multi-agent system, then validate the block to ensure that each of the transactions within the block agree with the consensus rules. They then pass the new block, if it is valid, to other nodes, which are agents in a multi-agent system. Then each of these other nodes, which are agents in a multi-agent system, each do the same validation on every block.
You demonstrate a fundamental lack of understanding of how bitcoin works.
The original vision of Bitcoin, as described in that paper, was of a peer to peer network where most nodes mined with spare CPU cycles. That stopped working once dedicated mining hardware was developed and deployed in quantity. Anybody can still try to mine, but without dedicated hardware in large quantities, it's an exercise in futility. Only 0.5% of mining power today is not part of a known large pool. The top 5 mining pools have a majority of the mining power.
Non-mining nodes just maintain a copy of the blockchain, and occasionally forward transactions to miners. The bigger players usually connect directly to mining pools, rather than bothering with going through some random node, so they get faster confirmations.
That's how Bitcoin works today.
And neglected to use the full quote : "Nodes can leave and rejoin the network at will, accepting the proof-of-work chain as proof of what happened while they were gone. They vote with their CPU power, expressing their acceptance of valid blocks by working on extending them and rejecting invalid blocks by refusing to work on them."
> Full nodes download every block and transaction and check them against Bitcoin's core consensus rules. Here are examples of consensus rules, though there are many more:
- Blocks may only create a certain number of bitcoins. (Currently 12.5 BTC per block.)
- Transactions must have correct signatures for the bitcoins being spent.
- Transactions/blocks must be in the correct data format.
- Within a single block chain, a transaction output cannot be double-spent.
> If a transaction or block violates the consensus rules, then it is absolutely rejected, even if every other node on the network thinks that it is valid. This is one of the most important characteristics of full nodes: they do what's right no matter what. For full nodes, miners actually have fairly limited power: they can only reorder or remove transactions, and only by expending a lot of computing power. A powerful miner is able to execute some serious attacks, but because full nodes rely on miners only for a few things, miners could not completely change or destroy Bitcoin.
> Each node builds its own transaction pool, which are mostly the same.
> The conditions can change and evolve over time and a present list can be checked through the AcceptToMemoryPool, CheckTransaction & CheckInputs functions in the bitcoin client.
1. The transactions syntax and data structure are correct.
2. The input and outputs have values.
3. The transaction is less than the block size of 1 MB.
4. The values must be more than 0 and less than 21 million.
5. None of the inputs have a hash that is equal to 0.
6. The locktime is less than the maximum allowed number.
7. The transaction size is greater than or equal to 100 bytes.
8. The number of signatures is less than the signatute limit.
9. The unlocking script can only push numbers onto the stack.
10. The locking script must match isstandard format.
11. A matching transaction must exist.
12. If a transaction is missing move the transaction to the orphan transaction pool.
13. If the transaction is a coinbase transaction then it must have a maturity of 100 confirmations.
14. For each input the output must exist and not have been spent.
15. Check that each input value is in the required range.
16. Reject if the input value is less than the output value.
17. Reject if the transaction value is to low to get into an empty block.
18. The unlocking scripts for each input must be verified against the output locking scripts.
So nodes accept the transactions, validate the transactions, replicate the transactions, maintain the mempools, validate the blocks, replicate the blocks, serve the blockchain, and store the blockchain. Nodes even define the PoW algorithm that miners have to employ.
So nodes maintain the protocol, not miners. It is thus. It has always been thus.
See for yourself. Download it. https://bitcoin.org/en/download . It's currently at 0.14.0
> A full node is a program that fully validates transactions and blocks. Almost all full nodes also help the network by accepting transactions and blocks from other full nodes, validating those transactions and blocks, and then relaying them to further full nodes.
You really need to learn how bitcoin works if you want to comment on it.
Bitcoin is far more centralized than was originally expected. The only nodes that matter are the exchanges and the miners, who usually talk directly. Unless you do a high volume op transactions in a monetary sense, running a full node has little or no effect on the network. Transactions go around your node, not through it.
The dream of Bitcoin as a distributed system of peers died years ago.
Emergent consensus lets miners decide, through force of hash, the block size. This provides for them an incentive such that, as they increase the block-size, it leads to the nodes not being able to be run except with massive connections to the other nodes and miners. The miners that are closer (in bandwidth) to the other nodes, will have more time to retrieve the transaction and block data. Nodes and miners on slower connections will further deplete, as they can't source the data fast enough. This will also mean that communication between miners will favor miners that are closer together.
This means, by design, bitmain will be able to force ALL miners and ALL nodes off of the network, and every node and every miner will be housed in bitmain data-centers. It is a hostile take-over of the bitcoin environment by a chinese company that has all the markings of a state-sponsored action.
Bitcoin Unlimited's proposals are on track to being activated and this is the first time a client not released by the incumbent development party is gaining use.
What if we haven't touched the BTC on GDAX in a while? Wouldn't those chains still exist post-fork?
They left a bit of ambiguity in there specifying that we should move BTC out if we want access to both Unlimited and Core. But I'm unclear what to do since it doesn't matter to me either way. I just don't want to lose anything and I want the ability to continue trading.
Unless you own the private keys yourself, you have no idea whether your bitcoin is going to be worth anything at all.
The vast majority are picking a side for political reasons - "Core" is embracing censorship as method to push their client, Unlimited believes in open discussion.
This is best exemplified on Reddit, where /r/bitcoin is moderated, heavily, by core, but /r/btc has a no-censorship policy.
This makes the technical differences between the two almost irrelevant, most are picking a side because they don't (or do) believe in censorship.
"Bitcoin" is normally defined as whatever is the longest continuous chain of blocks, which if the current state of affairs continues, will be Bitcoin Unlimited. But somehow Core have managed to stake a claim to the name "Bitcoin", which is going to cause massive confusion if a fork happens.
> where /r/bitcoin is moderated, heavily, by core
This is entirely false. No one in the Bitcoin Core development community has anything to do with how subreddits are being moderated. Dismissing their technical contributions due to how unrelated persons are moderating online communities is nonsensical.
> /r/btc has a no-censorship policy.
> This makes the technical differences between the two almost irrelevant, most are picking a side because they don't (or do) believe in censorship.
The censorship claims are artificially manufactured and blown out of proportion. The /r/bitcoin moderators engage in standard moderation and enforcing the community's rules, a job that became even harder due to all the manipulation, shilling, sockpuppet accounts and voting robots that infiltrated the communication channels of the bitcoin community.
https://medium.com/@shesek/observing-forced-narratives-and-m... (an article I recently wrote. see the "Related" part at the end for more details.)
Moderation is an essential part of healthy online communities. It is not censorship.
I'm sure everyone is here just to illicit a reaction from others
-Your local HN spelling pedant.
I think this would be better linked / re-titled to Coinbase as that is what most would be familiar with.