Detailed Info about Block 70942

Be patient about Classic. It's already a "success" - in the sense that it has been tested, released, and deployed, with 1/6 nodes already accepting 2MB+ blocks. Now it can quietly wait in the wings, ready to be called into action on a moment's notice. And it probably *will* be - in 2016 (or 2017).

The market is conservative but it's also greedy, so it won't act until it absolutely must act, and then it will act with a vengeance - ie, it will act only when blocks start getting full and the network starts getting backlogged and there's no other option: either the network dies (and $5-6 billion USD of investor wealth vanishes into thin air), or investors and businesspeople protect their wealth by making sure we move to bigger blocks.
On that fateful day or week (if it occurs between now and January 1, 2018, when Classic "times out"), you can be sure that there will be a massive exodus of nodes to Classic or the other Bitcoin repos supporting 2MB+ blocks.
Heck, at that point, even Blockstream/Core will probably stop playing this very dangerous game of "chicken" treading on the edge of the cliff, and finally throw in the towel and say what the hell: if you can't beat 'em, join 'em: In a last-ditch desperate move to remain relevant, they'll come out with some "last minute" olive branch also offering 2MB+ blocks just like all the other repos threatening to hard-fork away from them.
Why wouldn't they? After all, everyone already knows that:
So now, we can all just sit back and be patient.
2016 is shaping up to be a horrible year for debt-backed fiat [1], and it's very likely we will see a major flow of cash seeking "safe havens" in hard assets like Bitcoin, physical gold, property, etc.
So all Bitcoin needs to do is keep on chugging along, secure and error-free, as it has for the past 7 years - and also be ready for an increase in transactions due to an influx of cash.
Bitcoin Classic (and the other 2MB+ clients such as XT and BU) all provide this. And they're all up and running on 1/6 of the nodes already, fully compatible with the Core nodes, all on the same network, working in harmony.
This in itself is a major achievement. And the longer people get used to this state of affairs, the more confident they're going to feel about running "alternate" repos.
So don't worry if the 2MB+ clients have so far achieved coverage of "only" 1/6 of the network in these first few days (which is still a pretty remarkable achievement in such a short period of time, if you think about it).
Over the next 2 years, fiat is going to start to fail - and Bitcoin is now ready to scale.
That's all that matters.
[1] For more info about the ongoing collapse of debt-backed fiat, and the tsunami of crises coming in 2016, you can google variations of the following search terms:
Recall that the last time debt-backed fiat started to fail was right after the US presidential election of 2008 - around November 2008.
This suggests an interesting theory: the powers-that-be sweep all the dirt under the rug during the 8 years of the US president's typical two 4-year terms in office.
And then, at the end of those 8 years, all the dirt comes out again - around November, once the new president has been elected and the old president is a "lame duck".
So, if this theory is correct, we can expect to see a lot of financial "dirt" getting exposed late in 2016 - just like it happened in late 2016 (when Timmy Geithner ran to Congress saying there would be "blood in the streets" if they didn't immediately give Wall Street 700 billion USD in freshly printed debt-backed fiat cash - which eventually ballooned to around 21 trillion USD since then).
And finally:
The halvening.
It's scheduled for around August 2016.
So in order for miners to maintain their current level of profits, they would want the price to double around then.
Which means that volume (transactions on the blockchain) will also have to double around then.
We have already seen (during 2011-2014) that when price and volume are unconstrained by any artificial limit on the blocksize, they have tended to march in lockstep together, tightly correlated:
This graph shows Bitcoin price and volume (ie, blocksize of transactions on the blockchain) rising hand-in-hand in 2011-2014. In 2015, Core/Blockstream tried to artificially freeze the blocksize - and artificially froze the price. Bitcoin Classic will allow volume - and price - to freely rise again.
So, in order to double the price after the halvening, the miners are going to be highly motivated to double the volume (ie, the blocksize) as well.
This all means that the stars are in perfect alignment:
  • Classic and several other 2MB+ clients (BU, XT) are already humming along quietly and compatibly on the network;
  • Debt-backed fiat is starting to show major warning signs of cracking - and this time, it'll be worse than 2008 (Deutsche Bank collapsing would be 5x the size of Lehman; private central banks have all shot their wad with the last 8 years of QE and 25% of the world's GDP now under NIRP; new rules are in place to do bail-ins robbing depositors instead of bail-outs robbing taxpayers, etc.);
  • Miners will need Bitcoin price (and hence Bitcoin transaction volume - aka blocksize) to roughly double around the halvening; and
  • The 8-year term of the current US president is about to end.
And all these "interesting" events are scheduled for later this year!
So fasten your seatbelts, batten down the hatches, make sure your coins are secure (or ready to trade, if you're the adventurous type), and get out your popcorn: it's going to be a bumpy (but possibly very profitable) ride - if you play your cards right.
submitted by ydtm to btc [link] [comments]

Dr Peter R. Rizun, managing editor of the first peer-reviewed cryptocurrency journal, is an important Bitcoin researcher. He has also been attacked and censored for months by Core / Blockstream / Theymos. Now, he has now been *suspended* (from *all* subreddits) by some Reddit admin(s). Why?

Dr. Peter R. Rizun is arguably one of the most serious, prominent, and promising new voices in Bitcoin research today.
He not only launched the first scientific peer-reviewed cryptocurrency journal - he has also consistently provided high-quality, serious and insightful posts, papers and presentations on reddit (in writing, at conferences, and on YouTube) covering a wide array of important topics ranging from blocksize, scaling and decentralization to networking theory, economics, and fee markets - including:
It was of course probably to be expected that such an important emerging new Bitcoin researcher would be constantly harrassed, attacked and censored by the ancien régime of Core / Blockstream / Theymos.
But now, the attacks have risen to a new level, where some Reddit admin(s) have suspended his account Peter__R.
This means that now he can't post anywhere on reddit, and people can no longer see his reddit posts simply by clicking on his user name (although his posts - many of them massively upvoted with hundreds of upvotes - are of course still available individually, via the usual search box).
  • What Reddit admin(s) are behind this reddit-wide banishing of Peter__R?
  • What is their real agenda, and why are they aiding and abbeting the censorship imposed by Core / Blockstream / Theymos?
  • Don't they realize that in the end they will only harm itself, by forcing the most important new Bitcoin researchers to publish their work elsewhere?
(Some have suggested that Peter__R may have forgotten to use 'np' instead of 'www' when linking to other posts on reddit - a common error which subs like /btc will conveniently catch for the poster, allowing the post to be fixed and resubmitted. If this indeed was the actual justification of the Reddit admin(s) for banning him reddit-wide, it seems like a silly technical "gotcha" - and one which could easily have been avoided if other subs would catch this error the same way /btc does. At any rate, it certainly seems counterproductive for to ban such a prominent and serious Bitcoin contributor.)
  • Why is willing to risk pushing serious discussion off the site, killing its reputation as a decent place to discuss Bitcoin?
  • Haven't the people attempting to silence him ever heard of the Streisand effect?
Below are some examples of the kinds of outstanding contributions made by Peter__R, which Core / Blockstream / Theymos (and apparently some Reddit admin(s)) have been desperately trying to suppress in the Bitcoin community.
Peer-Reviewed Cryptocurrency Journal
Bitcoin Peer-Reviewed Academic Journal ‘Ledger’ Launches
Blocksize as an Emergent Phenonomen
The Size of Blocks: Policy Tool or Emergent Phenomenon? [my presentation proposal for scaling bitcoin hong kong]
Peter R's presentation is really awesome and much needed analysis of the market for blockspace and blocksize.
In case anyone missed it, Peter__R hit the nail on the head with this: "The reason we can't agree on a compromise is because the choice is binary: the limit is either used as an anti-spam measure, or as a policy tool to control fees."
Bigger Blocks = Higher Prices: Visualizing the 92% historical correlation [NEW ANIMATED GIF]
Miners are commodity producers - Peter__R
Fees and Fee Markets
“A Transaction Fee Market Exists Without a Block Size Limit” — new research paper ascertains. [Plus earn $10 in bitcoin per typo found in manuscript]
"A Transaction Fee Market Exists Without a Block Size Limit", Peter R at Scaling Bitcoin Montreal 2015
An illustration of how fee revenue leads to improved network security in the absence of a block size limit.
Greg Maxwell was wrong: Transaction fees can pay for proof-of-work security without a restrictive block size limit
Networks and Scaling
Bitcoin's "Metcalfe's Law" relationship between market cap and the square of the number of transactions
Market cap vs. daily transaction volume: is it reasonable to expect the market cap to continue to grow if there is no room for more transactions?
In my opinion the most important part of Scaling Bitcoin! (Peter R)
Visualizing BIP101: A Payment Network for Planet Earth
A Payment Network for Planet Earth: Visualizing Gavin Andresen's blocksize-limit increase
Is Bitcoin's block size "empirically different" or "technically the same" as Bitcoin's block reward? [animated GIF visualizing real blockchain data]
New blocksize BIP: User Configurable Maximum Block Size
A Block Size Limit Was Never Part Of Satoshi’s Plan : Draft proposal to move the block size limit from the consensus layer to the transport layer
Truth-table for the question "Will my node follow the longest chain?"
Peter R: "In the end, I believe the production quota would fail." #ScalingBitcoin
Decentralized Nodes, Mining and Development
Centralization in Bitcoin: Nodes, Mining, Development
Deprecating Bitcoin Core: Visualizing the Emergence of a Nash Equilibrium for Protocol Development
What is wrong with the goal of decentralizing development across multiple competing implementations? - Peter R
Potentially Unlimited, "Fractal-Like" Scaling for Bitcoin: Peter__R's "Subchains" proposal
"Reduce Orphaning Risk and Improve Zero-Confirmation Security With Subchains" — new research paper on 'weak blocks' explains
A Visual Explanation of Subchains -- an application of weak blocks to secure zero-confirmation transactions and massively scale Bitcoin
New Directions in Bitcoin Development
Announcing Bitcoin Unlimited.
"It's because most of them are NOT Bitcoin experts--and I hope the community is finally starting to recognize that" -- Peter R on specialists vs. generalists and the aptitudes of Blockstream Core developers
It is time to usher in a new phase of Bitcoin development - based not on crypto & hashing & networking (that stuff's already done), but based on clever refactorings of datastructures in pursuit of massive and perhaps unlimited new forms of scaling
Peter__R on RBF
Peter__R on RBF: (1) Easier for scammers on Local Bitcoins (2) Merchants will be scammed, reluctant to accept Bitcoin (3) Extra work for payment processors (4) Could be the proverbial straw that broke Core's back, pushing people into XT, btcd, Unlimited and other clients that don't support RBF
Peter__R on Mt. Gox
Peter R’s Theory on the Collapse of Mt. Gox
Censorship and Attacks by Core / Blockstream / Theymos / Reddit Admins against Peter__R
Peter__R's infographic showing the BIP 101 growth trajectory gets deleted from /bitcoin for "trolling"
"Scaling Bitcoin" rejected Peter R's proposal
After censoring Mike and Gavin, BlockStream makes its first move to silence Peter R on bitcoin-dev like they did on /bitcoin
Looks like the censors in /bitcoin are at it again: Peter_R post taken down within minutes
I've been banned for vote brigading for the animated GIF that visualized the possible future deprecation of Bitcoin Core.
An example of moderator subjectivity in the interpretation of the rules at /bitcoin: animated pie chart visualizing the deprecation of Bitcoin Core
"My response to Pieter Wuille on the Dev-List has once again been censored, perhaps because I spoke favourably of Bitcoin Unlimited and pointed out misunderstandings by Maxwell and it is for those who are interested" -- Peter R
To those who are interested in judging whether Peter R's paper merits inclusion in the blockchain scaling conference, here it is:
The real reason Peter_R talk was refused (from his previous presentation) (xpost from /btc)
[CENSORED] The Morning After the Moderation Mistake: Thoughts on Consensus and the Longest Chain
Core / Blockstream cheerleader eragmus gloating over Peter__R's account getting suspended from Reddit (ie, from all subreddits) - by some Reddit admin(s)
[PSA] Uber Troll Extraordinaire, Peter__R, has been permanently suspended by Reddit
submitted by ydtm to btc [link] [comments]

Would implementing a malleability fix and offering LN for BCH be enough for BCH to eventually establish superiority over BTC?

Edit: I should clarify, I mean establish superiority in the eyes of "bigblockers", once storage space and bandwith have advanced to a point where an 8MB block is trivial for block propogation latency and blockchain storage, even to them.
Forgive me for any errors or mistaken assumptions here, I'm still trying to educate myself about all this.
I know there are politics involved, but my understanding is that the BCH vs BTC debate is essentially about on-chain vs off-chain transaction volume scaling.
BTC camp:
I am curious about understanding the first claim more, but what I'm really interested in is the last claim. I saw that back when he was pushing for 8MB blocks/BitcoinXT with Mike Hearn, Gavin Anderson claimed economic pressure to develop second layer solutions like LN is inevitable, but arises naturally from the need for instant transaction confirmations (faster than the 10-minute block discovery time at least) rather than a transaction volume bottleneck.
This got me thinking, second layer solutions seem like a pre-requisite for Bitcoin (BTC or BCH) transactions to be fast/convenient enough to replace fiat (I would love if someone could explain if 0-conf is a superior alternative to something like LN if we ignore the scaling debate, I just found out about 0-conf today). So now that BCH has "kicked the can down the road" so to speak, is fixing the malleability issue and implementing stuff like LN the next priority? I feel like that would convince a lot of people from the BTC camp to convert, but I could be wrong.
submitted by reallifezhangfei to btc [link] [comments]

The "Eventually the network will be overwhelmed so don't do anything now" Fallacy

The central banker small blockists will argue that when the network achieves the level of Mastercard or Visa that transactions will no longer fit onto the blockchain. Therefore, the bridge is broken and can never be fixed so do not fix it now or so the reasoning goes. Visa has a daily peak rate of about 4,000 tps (transactions per second) The bitcoin network requires roughly 1mb per block to achieve 4 tps. To achieve 4,000 tps would require 1GB blocks. So clearly the network cannot hold blocks of such size and therefore don't make blocks bigger now. This argument is a fallacy. It misses the possibility that we can maintain the 'bridge' now and then in the future make needed improvements. For example, we can make limited increases in block size now while at the same time we develop things like thinner blocks that help to solve this issue. Most likely, by the time we get to 4,000 tps data storage will be less expensive. Finally, we do not need to necessarily oppose all offchain transactions. There may be a balance, but we don't start by immediately moving all transactions off chain.
Currently the entire blockchain fits onto a tiny $10 flash drive. Yes, that's right the networks hash rate is measured in units of Exahash and we are debating about increasing the entire network to around 160GB of data which easily fits on a single hard drive.
The 'argument' against reasonably sized blocks is basically a lie. The reason is that they claim larger blocks will centralize the network. Yes, possibly in the limit of infinity that is true, but it is preposterous to apply such an argument to 8mb blocks. Furthermore the act of limiting block size has profound centralization risks. In this case BANKS come in and AGGREGATE and INTERMEDIATE transactions. The Lighting Network is what I am referring to it uses Payment Channels. A "payment channel is essentially a pot of bitcoins, established on the block chain, the split of which can be negotiated by passing messages around outside the Bitcoin network." This is how the lighting network 'works'. It is a CENTRAL BANKER PARADIGM supported by thugs like the ThugMost (Thermus the /bitcoin thug in chief) It is time to start challenging these thugs on their fallacies, a slight understanding of what they are up to is all that is necessary. They are working towards creating a Banker solution while at the same time accusing XT of centralizing the network. There is a word for that its called hypocrite. Edit: fix math error.
submitted by rberrtus to bitcoinxt [link] [comments]

Thinking in Systems: A Cryptocurrency Primer

I recently wrote a text post Success to the Successful (or: why the moon is not far enough). In that post I explained Success to the Successful, an example of what is know as a system archetype, a recurring pattern that systems often take on.
I first came across the idea of system archetypes in the book Thinking in Systems: A Primer by Donella Meadows. I would like to use one chapter of this book to analyse cryptocurrencies, as it provides a convenient basis for comparison. I will focus on Dash and Bitcoin because I think this is the illuminating pair to compare, but I will mention others as they become relevant.
Donella Meadows describes a system as a set of things—people, cells, molecules, or whatever—interconnected in such a way that they produce their own behavior over time (p2), and as an interconnected set of elements that is coherently organized in a way that achieves something (p11).
Chapter 6 of this book is titled Leverage Points—Places to Intervene in a System. I will work through them in turn, briefly explain each, and use them to analyse cryptocurrencies. With any luck, this will also show ways to synthesise a cryptocurrency, ie consciously choose properties that meet intended goals. The leverage points are presented in reverse order, that is to say, point 12 is the weakest intervention point, and point 1 is the strongest.
12. Numbers—Constants and parameters such as subsidies, taxes standards
The essence of this point is that changing the tax rate from 18% to 25% or 13% makes no significant change to the was a system works. Donella Meadows says that numbers are dead last on the list of powerful interventions – diddling with the details, rearranging the deck chairs on the Titanic.
This means that it is of no real importance that Bitcoin has a 10 minute average block time, whereas Dash and Litecoin have an average of 2.5 minutes, or that Bitcoin uses SHA256 whereas Litecoin uses scrypt. It also means that the debate between (what is now) Bitcoin Core, XT, and Classic, over whether to have 1, 8, or 2MB blocks, the debate which has stalled Bitcoin development for longer than I can now remember, is over the least important part of the system. Meadows might have also called the block size limit debate in Bitcoin re-arranging deck chairs on the Titanic.
11. Buffers—The size of stabilizing stocks relative to their flows
In a bathtub, the tub is a buffer (or stock), whereas the tap and sinkhole are flows.
Dash has an interesting type of financial stock with its masternode collateral. A large amount of DASH is held by long-term holders to enable the decentralised masternode network, and acts as a sort of saving account for operators. But Meadows says this is a low-leverage point – whether collateral is specifically 1000 DASH, 100 DASH or 10 DASH is probably not significant.
10. Stock-and-Flow Structures—Physical systems and their nodes of intersection
This covers things like plumbing systems and road layouts. What is connected to what can significantly change how a system behaves, as a broken water pipe or a poorly-placed road quickly shows.
Cryptocurrencies don't have many significant physical stock and flow structures. The main one that springs to mind is the location of Bitcoin miners near hydroelectric power stations and other renewable power sources. Proof-of-stake mining removes that physical structure, but I won't consider that further as most top cryptocurrencies are proof-of-stake.
There is another type of structure, which is informational. This actually comes under the higher-leverage point 6. Information Flows, however I will describe them here, as they are revenant to points in between.
Dash has two very powerful structures that Bitcoin lacks.
First, Dash has proof-of-stake voting. Dash is able to collect the opinions of masternode operators (ie large stakeholders), and broadcast them in a verifiable way to the entire network. Bitcoin has no comparable system. It is like large BTC holders are each locked in their own room with only shouting loudly as a means of communication, while large DASH holders have internet connections and videoconferencing.
Second, Dash voting forms part of its treasury system, and controls a flow of money to development projects, which covers all activities that Dash needs. It can increase or decrease these flows at will. Bitcoin development is funded out of deep pockets, and is not necessarily driven by what holders want (as the previous structure is missing). In my mind I see this as a kind of hybrid structure: while technically it is informational (cryptocurrency money is pure information), it behaves in many ways like a flow of gold coins.
9. Delays—The lengths of time relative to the rates of system changes
Delays are the time it takes for one part of a system to react to another. They are the source of oscillations. Business suffers natural booms and busts because (for one reason), the time it takes to build up a business, means that by the time it is fully operational, the market may be oversaturated, and some will be forced to close down. Delays that are too short cause overcompensation, common on car dealer forecourts that routinely over- or under-order new stock. On a shorter scale, this is the source of flash-crashes in the stock market. Long delays make long-term planning impossible, for example building the correct number of power plants.
Mining hardware is extremely sensitive to delay – planning R&D and installation of mining hardware is fraught with uncertainty due to the long time scales involved.
Dash has enormously reduced one kind of delay: consensus formation. Thanks to the structure explained above, it is possible within hours or days to establish consensus of opinion among masternode operators, holding some together some 60% of the currency. For example the 2MB-blocksize proposal was resolved in a few hours. What Donella Meadows describes as diddling with the details was resolved as quickly as such a triviality should be.
8. Balancing Feedback Loops—The strengths of the feedbacks relative to the impacts they are trying to correct
A balancing loop is a structure that tries to correct a system that strays from its goal. For example: a thermostat keeping a room at a comfortable temperature; democratic voting keeping a political party from runaway despotism. Balancing loops are important because reinforcing loops are very powerful, and can throw a system out of control, like a steam engine running faster and faster until it explodes.
Thanks to its treasury system, Dash has a unique balancing feedback loop: the masternode network can cut funding to any project at will. That means that if – say – the Dash Core team adopted the same 1MB block size policy as Bitcoin Core, in defiance of the previous vote, the masternode network can bring the system back into control by cutting funding to Dash Core. This would not be the end of the matter (another Core team would be required to replace them), but it would start to resolve the problem with a much lower delay.
7. Reinforcing Feedback Loops—The strength of the gain of driving loops
This was the topic of the earlier post Success to the Successful (or: why the moon is not far enough), so I would suggest reading that for more detail, as I believe it is a distinguishing feature of Dash among top cryptocurrencies today.
To summarise, Dash has a loop where wise masternode voting funds successful projects, which increase the utility of Dash, which increases the price of DASH, which increases the value of the monthly development budget, which increases Dash's capacity to fund successful projects. Bitcoin does not have this loop: a rising price of BTC does not enable Bitcoin to develop itself more successfully, because development is not paid for with BTC, and it does in any case not have the structure to direct funds based on past success. Dash is inherently more able to develop itself than Bitcoin; it is already developing faster, and its development is accelerating thanks to this loop.
6. Information Flows—The structure of who does and does not have access to information
This is covered under 10. Stock-and-Flow Structures to make the flow of this post easier to read. But note that Meadows considered Information Flows as higher-leverage points, higher even than Balancing Feedback Loops and Reinforcing Feedback Loops.
5. Rules—Incentives, punishments, constraints
This covers everything from the physical laws of nature, through codes of laws enforced by courts, to the rules of trivial board games or casual agreements between friends.
Cryptocurrencies have some very hard rules. For example, to spend any BTC or DASH etc, you must be able to sign a valid transaction transferring the money from you to someone else. No amount of begging or pleading will sway the laws of cryptography, any more than begging or pleading can change the force of gravity.
The rules of the cryptocurrency block reward determine the incentives of participants in a cryptocurrency.
Bitcoin allocates 100% of the block reward to the miner of that block: there is a very strong incentive to mine Bitcoin blocks. However, there is no corresponding incentive for running a Bitcoin node. By splitting the block reward 45% to miners and 45% to masternode operators, Dash has ~4500 masternodes to Bitcoin's ~5500 nodes, despite the currency having a market cap somewhere around 1% of Bitcoin's. Also, Bitcoin has a balancing loop, whereby the more popular Bitcoin becomes, the higher the cost of running a node becomes, and so the lower the net incentive. Only companies and individuals who need to verify every transaction will run a Bitcoin node; with Dash, people will also run nodes because they are paid to do so.
One area where Dash is perhaps lacking in this section is punishments. Dash has an incentive that people are paid to do projects to develop Dash, and funding can be withdrawn if they fail to deliver, but they are not punished if they deceive or defraud. As Donella Meadows put 5. Rules quite high up the list, this suggests that adding punishments to negligently managed or fraudulent development projects might be a high-leverage intervention.
Meadows says that power over rules is real power. Who gets to decide the rules of a blockchain, decides the fate of a cryptocurrency. Who in Bitcoin, and who in Dash, decides whether blocks will be only 1MB in size, or whether they can be larger? In Dash, this is transparent, bearing in mind the complexities we considered earlier. In Bitcoin, it is considerably less so.
4. Self-organisation—The power to add, change, or evolve system structure
This covers evolution, the adaptation of an immune system, ants building a hive, DNA building an ant, members of a society agreeing on its laws.
This point is key why capitalism is superior to communism at generating economic development: the minds of everyone working as an entrepreneur, able to startup up and shut down businesses as they sense real demand, will always outpace the abilities of a central planner with limited information and limited capacity to process it. Simply, it creates a bigger, more adaptable brain out society, a more powerful mind to design and provide infrastructure, goods and services.
Dash has a layer of self-organisation at a higher level than businesses running on the blockchain. The treasury system works like a circulatory system, providing money to its DAO employees like nutrition to vital functions. This enables Dash to create development teams, marketing teams, market research teams, R&D teams, forum moderation teams and so on. The treasury lets Dash participants self-organise into a nervous system, and function as a viable, self-sustaining organisation.
3. Goals—The purpose or function of a system
The goal of a system is what it tries to achieve. The goal of a thermostat is the temperature it wants to maintain the room at. The goal of a political party is to get elected. The goal of a football team is to win the game.
What is the goal of Bitcoin? The Bitcoin whitepaper defines it as a peer-to-peer electronic cash system. What is the goal of Monero? The Monero website defines it as is a secure, private, untraceable currency. Dash? Well, Dash is digital cash – citation needed :)
Note that the block size debate in Bitcoin is really a debate over its goal – is it peer-to-peer cash, or is it a digital settlement layer for a Lightning Network? Dash has a consensus structure to confirm its goal, it has information and money flows to decide and fund its path to its goal, it has balancing loops to keep it in check. Dash has a clear goal; the goal of Bitcoin right now looks simply undefined. It's not clear who is in a position to define it. But Donella Meadows puts Goals way up the list of leverage points at number 3, so this matters enormously.
2. Paradigms—The mind-set out of which the system–its goals, structures, rules, delays, parameters–arises
At this point we may be stepping out of the sphere of any one individual cryptocurrency. What do we want as money? Do we want debt-money created by private institutions? Do we want hard money like gold? Do we want to return to peer-to-peer credit? Do we want centrally-planned money, or market-driven money?
I won't attempt to answer any questions here.
1. Transcending Paradigms
This is the idea to stay unattached, to realise that no one paradigm is true. Maybe the head of a central bank will come to understand the advantages of cryptocurrency systems; maybe a die-hard libertarian will appreciate the positive role regulation and government intervention can have in financial systems. Meadows describes this as to let go into not-knowing. For me it is to accept that everyone has their own mindset and the goals that this entails, and they come to this mindset through experiences no less real or valid than one's own.
At this point we have completely escaped the petty squabbling of 1MB vs 2MB blocks, and opened a discussion on what paradigm of money will best suit the needs of the modern world. That is a debate I think not even Donella Meadows would find easy to resolve.

I hope this analysis proves useful to someone. If it has peeked anyone's interested, I wholeheartedly recommend reading the whole of Thinking in Systems, which is both short and accessible to anyone with an inquisitive mind.
(Apologies for any errors, I've typed this quickly in a few spare hours)
submitted by ashmoran to dashpay [link] [comments]

Bitcoin 2017 a Comprehensive Timeline

Some of the most notable news and events over the past year:
Jan 3:
Jan 10:
Jan 17:
Jan 19:
Feb 8:
Feb 9:
Feb 24:
Mar 1:
Mar 2:
Mar 10:
Mar 12:
Mar 14:
Mar 15:
Mar 23:
Mar 28:
Apr 1:
Apr 5:
Apr 6:
Apr 12:
Apr 20:
Apr 26:
May 2:
May 9:
May 10:
May 21:
May 22:
May 23:
May 31:
Jun 2:
Jun 14:
Jun 29 - Jul 1:
Jun 30:
Jul 12:
Jul 16:
Jul 17:
Jul 22:
Jul 23:
Jul 24:
Jul 25:
Jul 27:
Jul 28:
Jul 31:
Aug 1:
Aug 2:
Aug 3:
Aug 10:
Aug 12:
Aug 15:
Aug 17:
Aug 21:
Aug 22:
Aug 24:
Aug 25:
Aug 28:
Aug 29:
Aug 30:
Aug 31:
Sep 1:
Sep 2:
Sep 3:
Sep 4:
Sep 5:
Sep 6:
Sep 7:
Sep 8:
Sep 9:
Sep 10:
Sep 12:
Sep 13:
Sep 14:
Sep 15:
Sep 17:
Sep 19:
Sep 20:
Sep 21:
Sep 23:
Sep 24:
Sep 25:
Sep 26:
Sep 27:
Sep 28:
Sep 29:
Sep 30:
Oct 4:
Oct 7:
Oct 9:
Oct 10:
Oct 11:
Oct 12:
Oct 13:
Oct 14:
Oct 16:
Oct 27:
Oct 30:
Nov 1:
Nov 2:
Nov 3:
Nov 4:
Nov 7:
Nov 8:
Nov 9:
Nov 10:
Nov 12:
Nov 13:
Nov 20:
Nov 21:
Nov 27:
Nov 28:
Dec 2:
Dec 5:
Dec 6
Dec 7
Dec 9
Dec 10
Dec 11
Dec 12
Dec 13
Dec 14
Dec 15
Dec 16
Dec 17
Dec 19
Dec 20
Dec 21
Dec 22
Dec 23
Dec 25
Dec 27
Dec 29
Dec 30
Dec 31
submitted by BitcoinChronicler to btc [link] [comments]

My response to "Why BitcoinXT Must Never Gain Consensus"

[Here is the article I am discussing. If there are any errors with what I have said, please let me know.]
I must disagree with what a lot of this author says.
It seems that he either completely misunderstands the forking mechanism or he is deliberately lying. The hard fork will only be activated two weeks after (but no sooner than January 11, 2016) a supermajority (75%) of the mining hashpower is mining with the newest (bitcoinxt) version number. In layman's terms, a supermajority of the miners must agree to this fork before it ever happens. The users and even people who run nodes have absolutely no say in this (although running a BitcoinXT node could be seen by the miners as a market demand for an updated protocol).
Since it is the miners who decide, it shouldn't be necessary to delve into the problems this author says will afflict the miners in the case of a hard fork. Miners most likely will not act against their own best interests. But I can say a few things about them anyway.
There is supposedly a big concern for the miners in case the blocksize is too big, thinking that they will basically be forced to accept all transactions no matter what. This author didn't mention it explicitly, but that is certainly not true of transactions with no transaction fees at all. A miner gains absolutely nothing by including those.
Ultimately the miners will always operate according to profit and loss. They will figure out what works for them and what doesn't and the blocksize is only one factor in those calculations. For example, a big factor for miners is figuring out propagation times. A solved block, if larger than another block solved by another miner at the same time, will most likely lose the "race" to get their block sent out to the rest of the world and accepted by a majority of nodes. A sub-factor of this factor is the bandwidth available to the miner.
Long story short, the miners will mine in a way that is good for them. And if something in the protocol makes it more difficult for miners to operate at their current level, then some miners will cease operations until an equilibrium is reached again and some (probably) large amount of hashpower will remain at a profitable level.
The author seems almost hostile to the idea of Bitcoin scaling to the level of a worldwide payment network. He makes it sound like a silly notion. But it is my belief that Bitcoin absolutely needs to scale to the level of a worldwide payment network. If it doesn't, then that means there will always be some centralized system economic actors must go through in order to engage in commerce.
Speaking of centralized services, one interesting thing about this entire debate is that virtually the only other proposal for "scaling" Bitcoin is the "Lightning Network". Basically, LN isn't planned to be part of the protocol. It is supposedly designed to be its own payment systems with its own nodes and users. Users will be able to facilitate payments to one another over the LN and the LN nodes (or whatever the equivalent of a node is for LN) will use the Bitcoin blockchain as a clearinghouse, basically clearing out many payments in one transaction. Such a clearinghouse will be necessary if the blockchain doesn't scale ahead of the userbase, since small blocks will create a situation where only the large transaction fees will be able to get a transaction through.
LN kind of sounds interesting and might have a place in the future of Bitcoin, but it still seems like a centralized service. It sounds like a banking system. I feel that the only way out of the endless cycle of economic disaster is a protocol that literally every person can use, not just a protocol for big players that create centralized services for us.
Another silly thing the author brings up is the notion that the Bitcoin XT schedule for blocksizes is undesirable because you won't be able to change it without another fork. Well, if Bitcoin XT is implemented across the protocol, that means a fork happened. Why would another fork be so ludicrous? If it happened once, it will happen again. Additionally, I believe a change in the schedule could be accomplished by a soft fork (at least over a period of two years). If the blocksize becomes 16 MB and people don't want it to go to 32 MB, a different client will be released with a different schedule and miners will decide what they want to do. A similar 75% supermajority consensus could be implemented just like Bitcoin XT.
Another point about the cap on the blocksize. A larger cap does not mean that the miners must create blocks that big. If Bitcoin XT "wins" and 8 MB blocks go into effect, the miners can set their own parameters and propagate whatever size of blocks they want below that level. Depending on those factors I spoke about earlier, I am willing to bet that there will be some spontaneous standard for blocksizes across the mining community and it will be lower than the limit. After all, the limit has been 1 MB for a long time but virtually all blocks have been much smaller than that.
Larger blocksizes are much harder to spam and fill by black- or white-hat attackers (it has happened before and it will happen again - next month in fact - Bitpay is planning a spam attack). In fact, an 8 MB block wouldn't just be 8 times harder to attack than a 1 MB block. Here is why: If 1 MB blocks are usually halfway filled (500 KB) with normal transactions, a spammer must fill the other half to spam the network (roughly the same resources spent by the rest of the community). With 8 MB blocks, the spammer must fill 7.5 MB (roughly 15 times the resources spent by the rest of the community).
I believe the supposed dangers posed by a hard fork aren't really that dangerous. Especially with the way Bitcoin XT only triggers two weeks after a 75% supermajority of mining hashpower adopts the new rules. Everyone will have more than enough warning about the whole thing. It will be a smooth transition.
Anyway, those are my thoughts.
submitted by fixthetracking to bitcoin_uncensored [link] [comments]

How is this different from Bitcoin XT? Also, some other questions.

Why are you guys raising the blocksize limit? Isn't Bitcoin XT doing the same thing? Will this cause glitches/errors if blocks start to vary in size (as the transition occurs)? My Bitcoin knowledge is rusty.
submitted by obeseclown to Bitcoin_Classic [link] [comments]

Bitcoin Core 0.13.2 released | Wladimir J. van der Laan | Jan 03 2017

Wladimir J. van der Laan on Jan 03 2017:
Hash: SHA512
Bitcoin Core version 0.13.2 is now available from:
Or by bittorrent:
This is a new minor version release, including various bugfixes and
performance improvements, as well as updated translations.
Please report bugs using the issue tracker at github:
To receive security and update notifications, please subscribe to:

Microsoft ended support for Windows XP on April 8th, 2014,
an OS initially released in 2001. This means that not even critical security
updates will be released anymore. Without security updates, using a bitcoin
wallet on a XP machine is irresponsible at least.
In addition to that, with 0.12.x there have been varied reports of Bitcoin Core
randomly crashing on Windows XP. It is not clear
what the source of these crashes is, but it is likely that upstream
libraries such as Qt are no longer being tested on XP.
We do not have time nor resources to provide support for an OS that is
end-of-life. From 0.13.0 on, Windows XP is no longer supported. Users are
suggested to upgrade to a newer version of Windows, or install an alternative OS
that is supported.
No attempt is made to prevent installing or running the software on Windows XP,
you can still do so at your own risk, but do not expect it to work: do not
report issues about Windows XP to the issue tracker.
but severe issues with the libc++ version on 10.7.x keep it from running reliably.
0.13.1 now requires 10.8+, and will communicate that to 10.7 users, rather than crashing unexpectedly.
Notable changes

Change to wallet handling of mempool rejection
When a newly created transaction failed to enter the mempool due to
the limits on chains of unconfirmed transactions the sending RPC
calls would return an error. The transaction would still be queued
in the wallet and, once some of the parent transactions were
confirmed, broadcast after the software was restarted.
This behavior has been changed to return success and to reattempt
mempool insertion at the same time transaction rebroadcast is
attempted, avoiding a need for a restart.
Transactions in the wallet which cannot be accepted into the mempool
can be abandoned with the previously existing abandontransaction RPC
(or in the GUI via a context menu on the transaction).
0.13.2 Change log

Detailed release notes follow. This overview includes changes that affect
behavior, not code moves, refactors and string updates. For convenience in locating
the code changes and accompanying discussion, both the pull request and
git merge commit are mentioned.


RPC and other APIs

Block and transaction handling

P2P protocol and network code

Build system



Tests and QA



Thanks to everyone who directly contributed to this release:
As well as everyone that helped translating on Transifex.
Version: GnuPG v1
submitted by dev_list_bot to bitcoin_devlist [link] [comments]

Bitcoin Core 0.11.0 released | Wladimir J. van der Laan | Jul 12 2015

Wladimir J. van der Laan on Jul 12 2015:
Hash: SHA512
Bitcoin Core version 0.11.0 is now available from:
This is a new major version release, bringing both new features and
bug fixes.
Please report bugs using the issue tracker at github:
The entire distribution is also available as torrent:
Upgrading and downgrading

How to Upgrade
If you are running an older version, shut it down. Wait until it has completely
shut down (which might take a few minutes for older versions), then run the
installer (on Windows) or just copy over /Applications/Bitcoin-Qt (on Mac) or
bitcoind/bitcoin-qt (on Linux).
Downgrade warning
Because release 0.10.0 and later makes use of headers-first synchronization and
parallel block download (see further), the block files and databases are not
backwards-compatible with pre-0.10 versions of Bitcoin Core or other software:
  • Blocks will be stored on disk out of order (in the order they are
received, really), which makes it incompatible with some tools or
other programs. Reindexing using earlier versions will also not work
anymore as a result of this.
  • The block index database will now hold headers for which no block is
stored on disk, which earlier versions won't support.
If you want to be able to downgrade smoothly, make a backup of your entire data
directory. Without this your node will need start syncing (or importing from
bootstrap.dat) anew afterwards. It is possible that the data from a completely
synchronised 0.10 node may be usable in older versions as-is, but this is not
supported and may break as soon as the older version attempts to reindex.
This does not affect wallet forward or backward compatibility. There are no
known problems when downgrading from 0.11.x to 0.10.x.
Important information

Transaction flooding
At the time of this release, the P2P network is being flooded with low-fee
transactions. This causes a ballooning of the mempool size.
If this growth of the mempool causes problematic memory use on your node, it is
possible to change a few configuration options to work around this. The growth
of the mempool can be monitored with the RPC command getmempoolinfo.
One is to increase the minimum transaction relay fee minrelaytxfee, which
defaults to 0.00001. This will cause transactions with fewer BTC/kB fee to be
rejected, and thus fewer transactions entering the mempool.
The other is to restrict the relaying of free transactions with
limitfreerelay. This option sets the number of kB/minute at which
free transactions (with enough priority) will be accepted. It defaults to 15.
Reducing this number reduces the speed at which the mempool can grow due
to free transactions.
For example, add the following to bitcoin.conf:
minrelaytxfee=0.00005 limitfreerelay=5 
More robust solutions are being worked on for a follow-up release.
Notable changes

Block file pruning
This release supports running a fully validating node without maintaining a copy
of the raw block and undo data on disk. To recap, there are four types of data
related to the blockchain in the bitcoin system: the raw blocks as received over
the network (blk???.dat), the undo data (rev???.dat), the block index and the
UTXO set (both LevelDB databases). The databases are built from the raw data.
Block pruning allows Bitcoin Core to delete the raw block and undo data once
it's been validated and used to build the databases. At that point, the raw data
is used only to relay blocks to other nodes, to handle reorganizations, to look
up old transactions (if -txindex is enabled or via the RPC/REST interfaces), or
for rescanning the wallet. The block index continues to hold the metadata about
all blocks in the blockchain.
The user specifies how much space to allot for block & undo files. The minimum
allowed is 550MB. Note that this is in addition to whatever is required for the
block index and UTXO databases. The minimum was chosen so that Bitcoin Core will
be able to maintain at least 288 blocks on disk (two days worth of blocks at 10
minutes per block). In rare instances it is possible that the amount of space
used will exceed the pruning target in order to keep the required last 288
blocks on disk.
Block pruning works during initial sync in the same way as during steady state,
by deleting block files "as you go" whenever disk space is allocated. Thus, if
the user specifies 550MB, once that level is reached the program will begin
deleting the oldest block and undo files, while continuing to download the
For now, block pruning disables block relay. In the future, nodes with block
pruning will at a minimum relay "new" blocks, meaning blocks that extend their
active chain.
Block pruning is currently incompatible with running a wallet due to the fact
that block data is used for rescanning the wallet and importing keys or
addresses (which require a rescan.) However, running the wallet with block
pruning will be supported in the near future, subject to those limitations.
Block pruning is also incompatible with -txindex and will automatically disable
Once you have pruned blocks, going back to unpruned state requires
re-downloading the entire blockchain. To do this, re-start the node with
  • -reindex. Note also that any problem that would cause a user to reindex (e.g.,
disk corruption) will cause a pruned node to redownload the entire blockchain.
Finally, note that when a pruned node reindexes, it will delete any blk???.dat
and rev???.dat files in the data directory prior to restarting the download.
To enable block pruning on the command line:
  • - -prune=N: where N is the number of MB to allot for raw block & undo data.
Modified RPC calls:
    • getblockchaininfo now includes whether we are in pruned mode or not.
    • getblock will check if the block's data has been pruned and if so, return an
  • - getrawtransaction will no longer be able to locate a transaction that has a
UTXO but where its block file has been pruned.
Pruning is disabled by default.
Big endian support
Experimental support for big-endian CPU architectures was added in this
release. All little-endian specific code was replaced with endian-neutral
constructs. This has been tested on at least MIPS and PPC hosts. The build
system will automatically detect the endianness of the target.
Memory usage optimization
There have been many changes in this release to reduce the default memory usage
of a node, among which:
    • Accurate UTXO cache size accounting (#6102); this makes the option -dbcache
    precise where this grossly underestimated memory usage before
    • Reduce size of per-peer data structure (#6064 and others); this increases the
    number of connections that can be supported with the same amount of memory
    • Reduce the number of threads (#5964, #5679); lowers the amount of (esp.
    virtual) memory needed
Fee estimation changes
This release improves the algorithm used for fee estimation. Previously, -1
was returned when there was insufficient data to give an estimate. Now, -1
will also be returned when there is no fee or priority high enough for the
desired confirmation target. In those cases, it can help to ask for an estimate
for a higher target number of blocks. It is not uncommon for there to be no
fee or priority high enough to be reliably (85%) included in the next block and
for this reason, the default for -txconfirmtarget=n has changed from 1 to 2.
Privacy: Disable wallet transaction broadcast
This release adds an option -walletbroadcast=0 to prevent automatic
transaction broadcast and rebroadcast (#5951). This option allows separating
transaction submission from the node functionality.
Making use of this, third-party scripts can be written to take care of
transaction (re)broadcast:
    • Send the transaction as normal, either through RPC or the GUI
    • Retrieve the transaction data through RPC using gettransaction (NOT
    getrawtransaction). The hex field of the result will contain the raw
    hexadecimal representation of the transaction
    • The transaction can then be broadcasted through arbitrary mechanisms
    supported by the script
One such application is selective Tor usage, where the node runs on the normal
internet but transactions are broadcasted over Tor.
For an example script see [bitcoin-submittx](
Privacy: Stream isolation for Tor
This release adds functionality to create a new circuit for every peer
connection, when the software is used with Tor. The new option,
-proxyrandomize, is on by default.
...[message truncated here by reddit bot]...
submitted by bitcoin-devlist-bot to bitcoin_devlist [link] [comments]

[Meta] Re: Bitcoin Core 0.13.2 released | Luke Dashjr | Jan 07 2017

Luke Dashjr on Jan 07 2017:
I don't think release announcements are really appropriate for the bitcoin-dev
mailing list. People who want these can subscribe to the bitcoin-core-dev list
and/or the Core announce mailing list. Maybe sending to bitcoin-discuss would
also make sense, but not bitcoin-dev...
On Tuesday, January 03, 2017 8:47:36 AM Wladimir J. van der Laan via bitcoin-
dev wrote:
Bitcoin Core version 0.13.2 is now available from:
Or by bittorrent:
This is a new minor version release, including various bugfixes and
performance improvements, as well as updated translations.
Please report bugs using the issue tracker at github:
To receive security and update notifications, please subscribe to:

Microsoft ended support for Windows XP on [April 8th,
), an OS initially released in 2001. This means that not even critical
security updates will be released anymore. Without security updates, using
a bitcoin wallet on a XP machine is irresponsible at least.
In addition to that, with 0.12.x there have been varied reports of Bitcoin
Core randomly crashing on Windows XP. It is [not
91) what the source of these crashes is, but it is likely that upstream
libraries such as Qt are no longer being tested on XP.
We do not have time nor resources to provide support for an OS that is
end-of-life. From 0.13.0 on, Windows XP is no longer supported. Users are
suggested to upgrade to a newer version of Windows, or install an
alternative OS that is supported.
No attempt is made to prevent installing or running the software on Windows
XP, you can still do so at your own risk, but do not expect it to work: do
not report issues about Windows XP to the issue tracker.
From 0.13.1 onwards OS X 10.7 is no longer supported. 0.13.0 was intended
to work on 10.7+, but severe issues with the libc++ version on 10.7.x keep
it from running reliably. 0.13.1 now requires 10.8+, and will communicate
that to 10.7 users, rather than crashing unexpectedly.
Notable changes

Change to wallet handling of mempool rejection
When a newly created transaction failed to enter the mempool due to
the limits on chains of unconfirmed transactions the sending RPC
calls would return an error. The transaction would still be queued
in the wallet and, once some of the parent transactions were
confirmed, broadcast after the software was restarted.
This behavior has been changed to return success and to reattempt
mempool insertion at the same time transaction rebroadcast is
attempted, avoiding a need for a restart.
Transactions in the wallet which cannot be accepted into the mempool
can be abandoned with the previously existing abandontransaction RPC
(or in the GUI via a context menu on the transaction).
0.13.2 Change log

Detailed release notes follow. This overview includes changes that affect
behavior, not code moves, refactors and string updates. For convenience in
locating the code changes and accompanying discussion, both the pull
request and git merge commit are mentioned.


  • #9293 e591c10 [0.13 Backport #9053] IBD using chainwork instead of
height and not using header timestamp (gmaxwell) - #9053 5b93eee IBD
using chainwork instead of height and not using header timestamps

RPC and other APIs

  • 8845 1d048b9 Don't return the address of a P2SH of a P2SH (jnewbery)

  • 9041 87fbced keypoololdest denote Unix epoch, not GMT

(s-matthew-english) - #9122 f82c81b fix getnettotals RPC description
about timemillis (visvirial) - #9042 5bcb05d [rpc] ParseHash: Fail when
length is not 64 (MarcoFalke) - #9194 f26dab7 Add option to return
non-segwit serialization via rpc (instagibbs) - #9347 b711390 [0.13.2]
wallet/rpc backports (MarcoFalke)
  • #9292 c365556 Complain when unknown rpcserialversion is specified
(sipa) - #9322 49a612f [qa] Don't set unknown rpcserialversion

Block and transaction handling

  • 8357 ce0d817 [mempool] Fix relaypriority calculation error (maiiz)

  • 9267 0a4aa87 [0.13 backport #9239] Disable fee estimates for a confirm

target of 1 block (morcos) - #9196 0c09d9f Send tip change notification
from invalidateblock (ryanofsky)

P2P protocol and network code

  • #8995 9ef3875 Add missing cs_main lock to ::GETBLOCKTXN processing
(TheBlueMatt) - #9234 94531b5 torcontrol: Explicitly request RSA1024
private key (laanwj) - #8637 2cad5db Compact Block Tweaks (rebase of

8235) (sipa)

  • #9058 286e548 Fixes for test timeouts on travis
(#8842) (ryanofsky) - #8865 4c71fc4 Decouple peer-processing-logic from
block-connection-logic (TheBlueMatt) - #9117 6fe3981 net: don't send
feefilter messages before the version handshake is complete (theuni) -

9188 ca1fd75 Make orphan parent fetching ask for witnesses (gmaxwell) -

9052 3a3bcbf Use RelevantServices instead of node_network in

AttemptToEvict (gmaxwell) - #9048 9460771 [0.13 backport #9026] Fix
handling of invalid compact blocks (sdaftuar) - #9357 03b6f62 [0.13
backport #9352] Attempt reconstruction from all compact block
announcements (sdaftuar) - #9189 b96a8f7 Always add
default_witness_commitment with GBT client support (sipa) - #9253
28d0f22 Fix calculation of number of bound sockets to use (TheBlueMatt)
  • #9199 da5a16b Always drop the least preferred HB peer when adding a
new one (gmaxwell)

Build system

  • 9169 d1b4da9 build: fix qt5.7 build under macOS (theuni)

  • 9326 a0f7ece Update for OpenSSL 1.1 API (gmaxwell)

  • 9224 396c405 Prevent FD_SETSIZE error building on OpenBSD (ivdsangen)


  • #8972 6f86b53 Make warnings label selectable (jonasschnelli)
(MarcoFalke) - #9185 6d70a73 Fix coincontrol sort issue (jonasschnelli)
  • #9094 5f3a12c Use correct conversion function for boost::path datadir
(laanwj) - #8908 4a974b2 Update bitcoin-qt.desktop (s-matthew-english)
  • #9190 dc46b10 Plug many memory leaks (laanwj)


  • #9290 35174a0 Make RelayWalletTransaction attempt to AcceptToMemoryPool
(gmaxwell) - #9295 43bcfca Bugfix: Fundrawtransaction: don't terminate
when keypool is empty (jonasschnelli) - #9302 f5d606e Return txid even
if ATMP fails for new transaction (sipa) - #9262 fe39f26 Prefer coins
that have fewer ancestors, sanity check txn before ATMP (instagibbs)

Tests and QA

  • #9159 eca9b46 Wait for specific block announcement in p2p-compactblocks
(ryanofsky) - #9186 dccdc3a Fix use-after-free in scheduler tests
  • #9168 3107280 Add assert_raises_message to check specific error message
(mrbandrews) - #9191 29435db 0.13.2 Backports (MarcoFalke)
  • 9077 1d4c884 Increase wallet-dump RPC timeout (ryanofsky)

  • 9098 ecd7db5 Handle zombies and cluttered tmpdirs (MarcoFalke)

  • 8927 387ec9d Add script tests for FindAndDelete in pre-segwit and

segwit scripts (jl2012) - #9200 eebc699 bench: Fix subtle counting issue
when rescaling iteration count (laanwj)


  • #8838 094848b Calculate size and weight of block correctly in
CreateNewBlock() (jnewbery) - #8920 40169dc Set minimum required Boost
to 1.47.0 (fanquake)
  • #9251 a710a43 Improvement of documentation of command line parameter
'whitelist' (wodry) - #8932 106da69 Allow bitcoin-tx to create v2
transactions (btcdrak) - #8929 12428b4 add software-properties-common
  • #9120 08d1c90 bug: Missed one "return false" in recent refactoring in

9067 (UdjinM6) - #9067 f85ee01 Fix exit codes (UdjinM6)

  • 9340 fb987b3 [0.13] Update secp256k1 subtree (MarcoFalke)

  • 9229 b172377 Remove calls to getaddrinfo_a (TheBlueMatt)


Thanks to everyone who directly contributed to this release:
  • Alex Morcos
  • BtcDrak
  • Cory Fields
  • fanquake
  • Gregory Maxwell
  • Gregory Sanders
  • instagibbs
  • Ivo van der Sangen
  • jnewbery
  • Johnson Lau
  • Jonas Schnelli
  • Luke Dashjr
  • maiiz
  • MarcoFalke
  • Masahiko Hyuga
  • Matt Corallo
  • matthias
  • mrbandrews
  • Pavel Janík
  • Pieter Wuille
  • randy-waterhouse
  • Russell Yanofsky
  • S. Matthew English
  • Steven
  • Suhas Daftuar
  • UdjinM6
  • Wladimir J. van der Laan
  • wodry
As well as everyone that helped translating on
bitcoin-dev mailing list
bitcoin-dev at
submitted by dev_list_bot to bitcoin_devlist [link] [comments]

Bitcoin Core 0.10.0 released | Wladimir | Feb 16 2015

Wladimir on Feb 16 2015:
Bitcoin Core version 0.10.0 is now available from:
This is a new major version release, bringing both new features and
bug fixes.
Please report bugs using the issue tracker at github:
The whole distribution is also available as torrent:
Upgrading and downgrading

How to Upgrade
If you are running an older version, shut it down. Wait until it has completely
shut down (which might take a few minutes for older versions), then run the
installer (on Windows) or just copy over /Applications/Bitcoin-Qt (on Mac) or
bitcoind/bitcoin-qt (on Linux).
Downgrading warning
Because release 0.10.0 makes use of headers-first synchronization and parallel
block download (see further), the block files and databases are not
backwards-compatible with older versions of Bitcoin Core or other software:
  • Blocks will be stored on disk out of order (in the order they are
received, really), which makes it incompatible with some tools or
other programs. Reindexing using earlier versions will also not work
anymore as a result of this.
  • The block index database will now hold headers for which no block is
stored on disk, which earlier versions won't support.
If you want to be able to downgrade smoothly, make a backup of your entire data
directory. Without this your node will need start syncing (or importing from
bootstrap.dat) anew afterwards. It is possible that the data from a completely
synchronised 0.10 node may be usable in older versions as-is, but this is not
supported and may break as soon as the older version attempts to reindex.
This does not affect wallet forward or backward compatibility.
Notable changes

Faster synchronization
Bitcoin Core now uses 'headers-first synchronization'. This means that we first
ask peers for block headers (a total of 27 megabytes, as of December 2014) and
validate those. In a second stage, when the headers have been discovered, we
download the blocks. However, as we already know about the whole chain in
advance, the blocks can be downloaded in parallel from all available peers.
In practice, this means a much faster and more robust synchronization. On
recent hardware with a decent network link, it can be as little as 3 hours
for an initial full synchronization. You may notice a slower progress in the
very first few minutes, when headers are still being fetched and verified, but
it should gain speed afterwards.
A few RPCs were added/updated as a result of this:
  • getblockchaininfo now returns the number of validated headers in addition to
the number of validated blocks.
  • getpeerinfo lists both the number of blocks and headers we know we have in
common with each peer. While synchronizing, the heights of the blocks that we
have requested from peers (but haven't received yet) are also listed as
  • A new RPC getchaintips lists all known branches of the block chain,
including those we only have headers for.
Transaction fee changes
This release automatically estimates how high a transaction fee (or how
high a priority) transactions require to be confirmed quickly. The default
settings will create transactions that confirm quickly; see the new
'txconfirmtarget' setting to control the tradeoff between fees and
confirmation times. Fees are added by default unless the 'sendfreetransactions'
setting is enabled.
Prior releases used hard-coded fees (and priorities), and would
sometimes create transactions that took a very long time to confirm.
Statistics used to estimate fees and priorities are saved in the
data directory in the fee_estimates.dat file just before
program shutdown, and are read in at startup.
New command line options for transaction fee changes:
  • -txconfirmtarget=n : create transactions that have enough fees (or priority)
so they are likely to begin confirmation within n blocks (default: 1). This setting
is over-ridden by the -paytxfee option.
  • -sendfreetransactions : Send transactions as zero-fee transactions if possible
(default: 0)
New RPC commands for fee estimation:
  • estimatefee nblocks : Returns approximate fee-per-1,000-bytes needed for
a transaction to begin confirmation within nblocks. Returns -1 if not enough
transactions have been observed to compute a good estimate.
  • estimatepriority nblocks : Returns approximate priority needed for
a zero-fee transaction to begin confirmation within nblocks. Returns -1 if not
enough free transactions have been observed to compute a good
RPC access control changes
Subnet matching for the purpose of access control is now done
by matching the binary network address, instead of with string wildcard matching.
For the user this means that -rpcallowip takes a subnet specification, which can be
  • a single IP address (e.g. or fe80::0012:3456:789a:bcde)
  • a network/CIDR (e.g. or fe80::0000/64)
  • a network/netmask (e.g. or fe80::0012:3456:789a:bcde/ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff)
An arbitrary number of -rpcallow arguments can be given. An incoming connection will be accepted if its origin address
matches one of them.
For example:
| 0.9.x and before | 0.10.x |
| -rpcallowip= | -rpcallowip= (unchanged) |
| -rpcallowip=192.168.1.* | -rpcallowip= |
| -rpcallowip=192.168.* | -rpcallowip= |
| -rpcallowip=* (dangerous!) | -rpcallowip=::/0 (still dangerous!) |
Using wildcards will result in the rule being rejected with the following error in debug.log:
 Error: Invalid -rpcallowip subnet specification: *. Valid are a single IP (e.g., a network/netmask (e.g. or a network/CIDR (e.g. 
REST interface
A new HTTP API is exposed when running with the -rest flag, which allows
unauthenticated access to public node data.
It is served on the same port as RPC, but does not need a password, and uses
plain HTTP instead of JSON-RPC.
Assuming a local RPC server running on port 8332, it is possible to request:
In every case, EXT can be bin (for raw binary data), hex (for hex-encoded
binary) or json.
For more details, see the doc/ document in the repository.
RPC Server "Warm-Up" Mode
The RPC server is started earlier now, before most of the expensive
intialisations like loading the block index. It is available now almost
immediately after starting the process. However, until all initialisations
are done, it always returns an immediate error with code -28 to all calls.
This new behaviour can be useful for clients to know that a server is already
started and will be available soon (for instance, so that they do not
have to start it themselves).
Improved signing security
For 0.10 the security of signing against unusual attacks has been
improved by making the signatures constant time and deterministic.
This change is a result of switching signing to use libsecp256k1
instead of OpenSSL. Libsecp256k1 is a cryptographic library
optimized for the curve Bitcoin uses which was created by Bitcoin
Core developer Pieter Wuille.
There exist attacks[1] against most ECC implementations where an
attacker on shared virtual machine hardware could extract a private
key if they could cause a target to sign using the same key hundreds
of times. While using shared hosts and reusing keys are inadvisable
for other reasons, it's a better practice to avoid the exposure.
OpenSSL has code in their source repository for derandomization
and reduction in timing leaks that we've eagerly wanted to use for a
long time, but this functionality has still not made its
way into a released version of OpenSSL. Libsecp256k1 achieves
significantly stronger protection: As far as we're aware this is
the only deployed implementation of constant time signing for
the curve Bitcoin uses and we have reason to believe that
libsecp256k1 is better tested and more thoroughly reviewed
than the implementation in OpenSSL.
Watch-only wallet support
The wallet can now track transactions to and from wallets for which you know
all addresses (or scripts), even without the private keys.
This can be used to track payments without needing the private keys online on a
possibly vulnerable system. In addition, it can help for (manual) construction
of multisig transactions where you are only one of the signers.
One new RPC, importaddress, is added which functions similarly to
importprivkey, but instead takes an address or script (in hexadecimal) as
argument. After using it, outputs credited to this address or script are
considered to be received, and transactions consuming these outputs will be
considered to be sent.
The following RPCs have optional support for watch-only:
getbalance, listreceivedbyaddress, listreceivedbyaccount,
listtransactions, listaccounts, listsinceblock, gettransaction. See the
RPC documentation for those methods for more information.
Compared to using getrawtransaction, this mechanism does not require
-txindex, scales better, integrates better with the wallet, and is compatible
with future block chain pruning functionality. It does mean that all relevant
addresses need to added to the wallet before the payment, though.
Consensus library
Starting from 0.10.0, the Bitcoin Core distribution includes a consensus library.
The purpose of this library is to make the verification functionality that is
critical to Bitcoin's consensus available to other applications, e.g. to language
bindings such as [python-bitcoinlib]( or
alternative node implementations.
This library is called (or, .dll for Windows).
Its interface is defined in the C header [bitcoinconsensus.h](
In its initial version the API includes two functions:
  • bitcoinconsensus_verify_script verifies a script. It returns whether the indicated input of the provided serialized transaction
correctly spends the passed scriptPubKey under additional constraints indicated by flags
  • bitcoinconsensus_version returns the API version, currently at an experimental 0
The functionality is planned to be extended to e.g. UTXO management in upcoming releases, but the interface
for existing methods should remain stable.
Standard script rules relaxed for P2SH addresses
The IsStandard() rules have been almost completely removed for P2SH
redemption scripts, allowing applications to make use of any valid
script type, such as "n-of-m OR y", hash-locked oracle addresses, etc.
While the Bitcoin protocol has always supported these types of script,
actually using them on mainnet has been previously inconvenient as
standard Bitcoin Core nodes wouldn't relay them to miners, nor would
most miners include them in blocks they mined.
It has been observed that many of the RPC functions offered by bitcoind are
"pure functions", and operate independently of the bitcoind wallet. This
included many of the RPC "raw transaction" API functions, such as
bitcoin-tx is a newly introduced command line utility designed to enable easy
manipulation of bitcoin transactions. A summary of its operation may be
obtained via "bitcoin-tx --help" Transactions may be created or signed in a
manner similar to the RPC raw tx API. Transactions may be updated, deleting
inputs or outputs, or appending new inputs and outputs. Custom scripts may be
easily composed using a simple text notation, borrowed from the bitcoin test
This tool may be used for experimenting with new transaction types, signing
multi-party transactions, and many other uses. Long term, the goal is to
deprecate and remove "pure function" RPC API calls, as those do not require a
server round-trip to execute.
Other utilities "bitcoin-key" and "bitcoin-script" have been proposed, making
key and script operations easily accessible via command line.
Mining and relay policy enhancements
Bitcoin Core's block templates are now for version 3 blocks only, and any mining
software relying on its getblocktemplate must be updated in parallel to use
libblkmaker either version 0.4.2 or any version from 0.5.1 onward.
If you are solo mining, this will affect you the moment you upgrade Bitcoin
Core, which must be done prior to BIP66 achieving its 951/1001 status.
If you are mining with the stratum mining protocol: this does not affect you.
If you are mining with the getblocktemplate protocol to a pool: this will affect
you at the pool operator's discretion, which must be no later than BIP66
achieving its 951/1001 status.
The prioritisetransaction RPC method has been added to enable miners to
manipulate the priority of transactions on an individual basis.
Bitcoin Core now supports BIP 22 long polling, so mining software can be
notified immediately of new templates rather than having to poll periodically.
Support for BIP 23 block proposals is now available in Bitcoin Core's
getblocktemplate method. This enables miners to check the basic validity of
their next block before expending work on it, reducing risks of accidental
hardforks or mining invalid blocks.
Two new options to control mining policy:
  • -datacarrier=0/1 : Relay and mine "data carrier" (OP_RETURN) transactions
if this is 1.
  • -datacarriersize=n : Maximum size, in bytes, we consider acceptable for
"data carrier" outputs.
The relay policy has changed to more properly implement the desired behavior of not
relaying free (or very low fee) transactions unless they have a priority above the
AllowFreeThreshold(), in which case they are relayed subject to the rate limiter.
BIP 66: strict DER encoding for signatures
Bitcoin Core 0.10 implements BIP 66, which introduces block version 3, and a new
consensus rule, which prohibits non-DER signatures. Such transactions have been
non-standard since Bitcoin v0.8.0 (released in February 2013), but were
technically still permitted inside blocks.
This change breaks the dependency on OpenSSL's signature parsing, and is
required if implementations would want to remove all of OpenSSL from the
consensus code.
The same miner-voting mechanism as in BIP 34 is used: when 751 out of a
sequence of 1001 blocks have version number 3 or higher, the new consensus
rule becomes active for those blocks. When 951 out of a sequence of 1001
blocks have version number 3 or higher, it becomes mandatory for all blocks.
Backward compatibility with current mining software is NOT provided, thus miners
should read the first paragraph of "Mining and relay policy enhancements" above.
0.10.0 Change log

Detailed release notes follow. This overview includes changes that affect external
behavior, not code moves, refactors or string updates.
  • f923c07 Support IPv6 lookup in bitcoin-cli even when IPv6 only bound on localhost
  • b641c9c Fix addnode "onetry": Connect with OpenNetworkConnection
  • 171ca77 estimatefee / estimatepriority RPC methods
  • b750cf1 Remove cli functionality from bitcoind
  • f6984e8 Add "chain" to getmininginfo, improve help in getblockchaininfo
  • 99ddc6c Add nLocalServices info to RPC getinfo
  • cf0c47b Remove getwork() RPC call
  • 2a72d45 prioritisetransaction
  • e44fea5 Add an option -datacarrier to allow users to disable relaying/mining data carrier transactions
  • 2ec5a3d Prevent easy RPC memory exhaustion attack
  • d4640d7 Added argument to getbalance to include watchonly addresses and fixed errors in balance calculation
  • 83f3543 Added argument to listaccounts to include watchonly addresses
  • 952877e Showing 'involvesWatchonly' property for transactions returned by 'listtransactions' and 'listsinceblock'. It is only appended when the transaction involves a watchonly address
  • d7d5d23 Added argument to listtransactions and listsinceblock to include watchonly addresses
  • f87ba3d added includeWatchonly argument to 'gettransaction' because it affects balance calculation
  • 0fa2f88 added includedWatchonly argument to listreceivedbyaddress/...account
  • 6c37f7f getrawchangeaddress: fail when keypool exhausted and wallet locked
  • ff6a7af getblocktemplate: longpolling support
  • c4a321f Add peerid to getpeerinfo to allow correlation with the logs
  • 1b4568c Add vout to ListTransactions output
  • b33bd7a Implement "getchaintips" RPC command to monitor blockchain forks
  • 733177e Remove size limit in RPC client, keep it in server
  • 6b5b7cb Categorize rpc help overview
  • 6f2c26a Closely track mempool byte total. Add "getmempoolinfo" RPC
  • aa82795 Add detailed network info to getnetworkinfo RPC
  • 01094bd Don't reveal whether password is <20 or >20 characters in RPC
  • 57153d4 rpc: Compute number of confirmations of a block from block height
  • ff36cbe getnetworkinfo: export local node's client sub-version string
  • d14d7de SanitizeString: allow '(' and ')'
  • 31d6390 Fixed setaccount accepting foreign address
  • b5ec5fe update getnetworkinfo help with subversion
  • ad6e601 RPC additions after headers-first
  • 33dfbf5 rpc: Fix leveldb iterator leak, and flush before gettxoutsetinfo
  • 2aa6329 Enable customising node policy for datacarrier data size with a -datacarriersize option
  • f877aaa submitblock: Use a temporary CValidationState to determine accurately the outcome of ProcessBlock
  • e69a587 submitblock: Support for returning specific rejection reasons
  • af82884 Add "warmup mode" for RPC server
  • e2655e0 Add unauthenticated HTTP REST interface to public blockchain data
  • 683dc40 Disable SSLv3 (in favor of TLS) for the RPC client and server
  • 44b4c0d signrawtransaction: validate private key
  • 9765a50 Implement BIP 23 Block Proposal
  • f9de17e Add warning comment to getinfo
Command-line options:
  • ee21912 Use netmasks instead of wildcards for IP address matching
  • deb3572 Add -rpcbind option to allow binding RPC port on a specific interface
  • 96b733e Add -version option to get just the version
  • 1569353 Add -stopafterblockimport option
  • 77cbd46 Let -zapwallettxes recover transaction meta data
  • 1c750db remove -tor compatibility code (only allow -onion)
  • 4aaa017 rework help messages for fee-related options
  • 4278b1d Clarify error message when invalid -rpcallowip
  • 6b407e4 -datadir is now allowed in config files
  • bdd5b58 Add option -sysperms to disable 077 umask (create new files with system default umask)
  • cbe39a3 Add "bitcoin-tx" command line utility and supporting modules
  • dbca89b Trigger -alertnotify if network is upgrading without you
  • ad96e7c Make -reindex cope with out-of-order blocks
  • 16d5194 Skip reindexed blocks individually
  • ec01243 --tracerpc option for regression tests
  • f654f00 Change -genproclimit default to 1
  • 3c77714 Make -proxy set all network types, avoiding a connect leak
  • 57be955 Remove -printblock, -printblocktree, and -printblockindex
  • ad3d208 remove -maxorphanblocks config parameter since it is no longer functional
Block and transaction handling:
  • 7a0e84d ProcessGetData(): abort if a block file is missing from disk
  • 8c93bf4 LoadBlockIndexDB(): Require block db reindex if any blk*.dat files are missing
  • 77339e5 Get rid of the static chainMostWork (optimization)
  • 4e0eed8 Allow ActivateBestChain to release its lock on cs_main
  • 18e7216 Push cs_mains down in ProcessBlock
  • fa126ef Avoid undefined behavior using CFlatData in CScript serialization
  • 7f3b4e9 Relax IsStandard rules for pay-to-script-hash transactions
  • c9a0918 Add a skiplist to the CBlockIndex structure
  • bc42503 Use unordered_map for CCoinsViewCache with salted hash (optimization)
  • d4d3fbd Do not flush the cache after every block outside of IBD (optimization)
  • ad08d0b Bugfix: make CCoinsViewMemPool support pruned entries in underlying cache
  • 5734d4d Only remove actualy failed blocks from setBlockIndexValid
  • d70bc52 Rework block processing benchmark code
  • 714a3e6 Only keep setBlockIndexValid entries that are possible improvements
  • ea100c7 Reduce maximum coinscache size during verification (reduce memory usage)
  • 4fad8e6 Reject transactions with excessive numbers of sigops
  • b0875eb Allow BatchWrite to destroy its input, reducing copying (optimization)
  • 92bb6f2 Bypass reloading blocks from disk (optimization)
  • 2e28031 Perform CVerifyDB on pcoinsdbview instead of pcoinsTip (reduce memory usage)
  • ab15b2e Avoid copying undo data (optimization)
  • 341735e Headers-first synchronization
  • afc32c5 Fix rebuild-chainstate feature and improve its performance
  • e11b2ce Fix large reorgs
  • ed6d1a2 Keep information about all block files in memory
  • a48f2d6 Abstract context-dependent block checking from acceptance
  • 7e615f5 Fixed mempool sync after sending a transaction
  • 51ce901 Improve chainstate/blockindex disk writing policy
  • a206950 Introduce separate flushing modes
  • 9ec75c5 Add a locking mechanism to IsInitialBlockDownload to ensure it never goes from false to true
  • 868d041 Remove coinbase-dependant transactions during reorg
  • 723d12c Remove txn which are invalidated by coinbase maturity during reorg
  • 0cb8763 Check against MANDATORY flags prior to accepting to mempool
  • 8446262 Reject headers that build on an invalid parent
  • 008138c Bugfix: only track UTXO modification after lookup
P2P protocol and network code:
  • f80cffa Do not trigger a DoS ban if SCRIPT_VERIFY_NULLDUMMY fails
  • c30329a Add testnet DNS seed of Alex Kotenko
  • 45a4baf Add testnet DNS seed of Andreas Schildbach
  • f1920e8 Ping automatically every 2 minutes (unconditionally)
  • 806fd19 Allocate receive buffers in on the fly
  • 6ecf3ed Display unknown commands received
  • aa81564 Track peers' available blocks
  • caf6150 Use async name resolving to improve net thread responsiveness
  • 9f4da19 Use pong receive time rather than processing time
  • 0127a9b remove SOCKS4 support from core and GUI, use SOCKS5
  • 40f5cb8 Send rejects and apply DoS scoring for errors in direct block validation
  • dc942e6 Introduce whitelisted peers
  • c994d2e prevent SOCKET leak in BindListenPort()
  • a60120e Add built-in seeds for .onion
  • 60dc8e4 Allow -onlynet=onion to be used
  • 3a56de7 addrman: Do not propagate obviously poor addresses onto the network
  • 6050ab6 netbase: Make SOCKS5 negotiation interruptible
  • 604ee2a Remove tx from AlreadyAskedFor list once we receive it, not when we process it
  • efad808 Avoid reject message feedback loops
  • 71697f9 Separate protocol versioning from clientversion
  • 20a5f61 Don't relay alerts to peers before version negotiation
  • b4ee0bd Introduce preferred download peers
  • 845c86d Do not use third party services for IP detection
  • 12a49ca Limit the number of new addressses to accumulate
  • 35e408f Regard connection failures as attempt for addrman
  • a3a7317 Introduce 10 minute block download timeout
  • 3022e7d Require sufficent priority for relay of free transactions
  • 58fda4d Update seed IPs, based on crawler data
  • 18021d0 Remove from dnsseeds.
  • 6fd7ef2 Also switch the (unused) verification code to low-s instead of even-s
  • 584a358 Do merkle root and txid duplicates check simultaneously
  • 217a5c9 When transaction outputs exceed inputs, show the offending amounts so as to aid debugging
  • f74fc9b Print input index when signature validation fails, to aid debugging
  • 6fd59ee script.h: set_vch() should shift a >32 bit value
  • d752ba8 Add SCRIPT_VERIFY_SIGPUSHONLY (BIP62 rule 2) (test only)
  • 698c6ab Add SCRIPT_VERIFY_MINIMALDATA (BIP62 rules 3 and 4) (test only)
  • ab9edbd script: create sane error return codes for script validation and remove logging
  • 219a147 script: check ScriptError values in script tests
  • 0391423 Discourage NOPs reserved for soft-fork upgrades
  • 98b135f Make STRICTENC invalid pubkeys fail the script rather than the opcode
  • 307f7d4 Report script evaluation failures in log and reject messages
  • ace39db consensus: guard against openssl's new strict DER checks
  • 12b7c44 Improve robustness of DER recoding code
  • 76ce5c8 fail immediately on an empty signature
Build system:
  • f25e3ad Fix build in OS X 10.9
  • 65e8ba4 build: Switch to non-recursive make
  • 460b32d build: fix broken boost chrono check on some platforms
  • 9ce0774 build: Fix windows configure when using --with-qt-libdir
  • ea96475 build: Add mention of --disable-wallet to bdb48 error messages
  • 1dec09b depends: add shared dependency builder
  • c101c76 build: Add --with-utils (bitcoin-cli and bitcoin-tx, default=yes). Help string consistency tweaks. Target sanity check fix
  • e432a5f build: add option for reducing exports (v2)
  • 6134b43 Fixing condition 'sabotaging' MSVC build
  • af0bd5e osx: fix signing to make Gatekeeper happy (again)
  • a7d1f03 build: fix dynamic boost check when --with-boost= is used
  • d5fd094 build: fix qt test build when libprotobuf is in a non-standard path
  • 2cf5f16 Add libbitcoinconsensus library
  • 914868a build: add a deterministic dmg signer
  • 2d375fe depends: bump openssl to 1.0.1k
  • b7a4ecc Build: Only check for boost when building code that requires it
  • b33d1f5 Use fee/priority estimates in wallet CreateTransaction
  • 4b7b1bb Sanity checks for estimates
  • c898846 Add support for watch-only addresses
  • d5087d1 Use script matching rather than destination matching for watch-only
  • d88af56 Fee fixes
  • a35b55b Dont run full check every time we decrypt wallet
  • 3a7c348 Fix make_change to not create half-satoshis
  • f606bb9 fix a possible memory leak in CWalletDB::Recover
  • 870da77 fix possible memory leaks in CWallet::EncryptWallet
  • ccca27a Watch-only fixes
  • 9b1627d [Wallet] Reduce minTxFee for transaction creation to 1000 satoshis
  • a53fd41 Deterministic signing
  • 15ad0b5 Apply AreSane() checks to the fees from the network
  • 11855c1 Enforce minRelayTxFee on wallet created tx and add a maxtxfee option
  • c21c74b osx: Fix missing dock menu with qt5
  • b90711c Fix Transaction details shows wrong To:
  • 516053c Make links in 'About Bitcoin Core' clickable
  • bdc83e8 Ensure payment request network matches client network
  • 65f78a1 Add GUI view of peer information
  • 06a91d9 VerifyDB progress reporting
  • fe6bff2 Add BerkeleyDB version info to RPCConsole
  • b917555 PeerTableModel: Fix potential deadlock. #4296
  • dff0e3b Improve rpc console history behavior
  • 95a9383 Remove CENT-fee-rule from coin control completely
  • 56b07d2 Allow setting listen via GUI
  • d95ba75 Log messages with type>QtDebugMsg as non-debug
  • 8969828 New status bar Unit Display Control and related changes
  • 674c070 seed OpenSSL PNRG with Windows event data
  • 509f926 Payment request parsing on startup now only changes network if a valid network name is specified
  • acd432b Prevent balloon-spam after rescan
  • 7007402 Implement SI-style (thin space) thoudands separator
  • 91cce17 Use fixed-point arithmetic in amount spinbox
  • bdba2dd Remove an obscure option no-one cares about
  • bd0aa10 Replace the temporary file hack currently used to change Bitcoin-Qt's dock icon (OS X) with a buffer-based solution
  • 94e1b9e Re-work overviewpage UI
  • 8bfdc9a Better looking trayicon
  • b197bf3 disable tray interactions when client model set to 0
  • 1c5f0af Add column Watch-only to transactions list
  • 21f139b Fix tablet crash. closes #4854
  • e84843c Broken addresses on command line no longer trigger testnet
  • a49f11d Change splash screen to normal window
  • 1f9be98 Disable App Nap on OSX 10.9+
  • 27c3e91 Add proxy to options overridden if necessary
  • 4bd1185 Allow "emergency" shutdown during startup
  • d52f072 Don't show wallet options in the preferences menu when running with -disablewallet
  • 6093aa1 Qt: QProgressBar CPU-Issue workaround
  • 0ed9675 [Wallet] Add global boolean whether to send free transactions (default=true)
  • ed3e5e4 [Wallet] Add global boolean whether to pay at least the custom fee (default=true)
  • e7876b2 [Wallet] Prevent user from paying a non-sense fee
  • c1c9d5b Add Smartfee to GUI
  • e0a25c5 Make askpassphrase dialog behave more sanely
  • 94b362d On close of splashscreen interrupt verifyDB
  • b790d13 English translation update
  • 8543b0d Correct tooltip on address book page
  • b41e594 Fix script test handling of empty scripts
  • d3a33fc Test CHECKMULTISIG with m == 0 and n == 0
  • 29c1749 Let tx (in)valid tests use any SCRIPT_VERIFY flag
  • 6380180 Add rejection of non-null CHECKMULTISIG dummy values
  • 21bf3d2 Add tests for BoostAsioToCNetAddr
  • b5ad5e7 Add Python test for -rpcbind and -rpcallowip
  • 9ec0306 Add CODESEPARATOFindAndDelete() tests
  • 75ebced Added many rpc wallet tests
  • 0193fb8 Allow multiple regression tests to run at once
  • 92a6220 Hook up sanity checks
  • 3820e01 Extend and move all crypto tests to crypto_tests.cpp
  • 3f9a019 added list/get received by address/ account tests
  • a90689f Remove timing-based signature cache unit test
  • 236982c Add skiplist unit tests
  • f4b00be Add CChain::GetLocator() unit test
  • b45a6e8 Add test for getblocktemplate longpolling
  • cdf305e Set -discover=0 in regtest framework
  • ed02282 additional test for OP_SIZE in script_valid.json
  • 0072d98 script tests: BOOLAND, BOOLOR decode to integer
  • 833ff16 script tests: values that overflow to 0 are true
  • 4cac5db script tests: value with trailing 0x00 is true
  • 89101c6 script test: test case for 5-byte bools
  • d2d9dc0 script tests: add tests for CHECKMULTISIG limits
  • d789386 Add "it works" test for bitcoin-tx
  • df4d61e Add bitcoin-tx tests
  • aa41ac2 Test IsPushOnly() with invalid push
  • 6022b5d Make script_{valid,invalid}.json validation flags configurable
  • 8138cbe Add automatic script test generation, and actual checksig tests
  • ed27e53 Add coins_tests with a large randomized CCoinViewCache test
  • 9df9cf5 Make SCRIPT_VERIFY_STRICTENC compatible with BIP62
  • dcb9846 Extend getchaintips RPC test
  • 554147a Ensure MINIMALDATA invalid tests can only fail one way
  • dfeec18 Test every numeric-accepting opcode for correct handling of the numeric minimal encoding rule
  • 2b62e17 Clearly separate PUSHDATA and numeric argument MINIMALDATA tests
  • 16d78bd Add valid invert of invalid every numeric opcode tests
  • f635269 tests: enable alertnotify test for Windows
  • 7a41614 tests: allow rpc-tests to get filenames for bitcoind and bitcoin-cli from the environment
  • 5122ea7 tests: fix on windows
  • fa7f8cd tests: remove old pull-tester scripts
  • 7667850 tests: replace the old (unused since Travis) tests with new rpc test scripts
  • f4e0aef Do signature-s negation inside the tests
  • 1837987 Optimize -regtest setgenerate block generation
  • 2db4c8a Fix node ranges in the test framework
  • a8b2ce5 regression test only setmocktime RPC call
  • daf03e7 RPC tests: create initial chain with specific timestamps
  • 8656dbb Port/fix regression test
  • ca81587 Test the exact order of CHECKMULTISIG sig/pubkey evaluation
  • 7357893 Prioritize and display -testsafemode status in UI
  • f321d6b Add key generation/verification to ECC sanity check
  • 132ea9b miner_tests: Disable checkpoints so they don't fail the subsidy-change test
  • bc6cb41 QA RPC tests: Add tests block block proposals
  • f67a9ce Use deterministically generated script tests
  • 11d7a7d [RPC] add rpc-test for http keep-alive (persistent connections)
  • 34318d7 RPC-test based on invalidateblock for mempool coinbase spends
  • 76ec867 Use actually valid transactions for script tests
  • c8589bf Add actual signature tests
  • e2677d7 Fix smartfees test for change to relay policy
  • 263b65e tests: run sanity checks in tests too
  • 122549f Fix incorrect checkpoint data for testnet3
  • 5bd02cf Log used config file to debug.log on startup
  • 68ba85f Updated Debian example bitcoin.conf with config from wiki + removed some cruft and updated comments
  • e5ee8f0 Remove -beta suffix
  • 38405ac Add comment regarding experimental-use service bits
  • be873f6 Issue warning if collecting RandSeed data failed
  • 8ae973c Allocate more space if necessary in RandSeedAddPerfMon
  • 675bcd5 Correct comment for 15-of-15 p2sh script size
  • fda3fed libsecp256k1 integration
  • 2e36866 Show nodeid instead of addresses in log (for anonymity) unless otherwise requested
  • cd01a5e Enable paranoid corruption checks in LevelDB >= 1.16
  • 9365937 Add comment about never updating nTimeOffset past 199 samples
  • 403c1bf contrib: remove getwork-based pyminer (as getwork API call has been removed)
  • 0c3e101 contrib: Added systemd .service file in order to help distributions integrate bitcoind
  • 0a0878d doc: Add new DNSseed policy
  • 2887bff Update coding style and add .clang-format
  • 5cbda4f Changed LevelDB cursors to use scoped pointers to ensure destruction when going out of scope
  • b4a72a7 contrib/linearize: split output files based on new-timestamp-year or max-file-size
  • e982b57 Use explicit fflush() instead of setvbuf()
  • 234bfbf contrib: Add init scripts and docs for Upstart and OpenRC
  • 01c2807 Add warning about the merkle-tree algorithm duplicate txid flaw
  • d6712db Also create pid file in non-daemon mode
  • 772ab0e contrib: use batched JSON-RPC in linarize-hashes (optimization)
  • 7ab4358 Update bash-completion for v0.10
  • 6e6a36c contrib: show pull # in prompt for github-merge script
  • 5b9f842 Upgrade leveldb to 1.18, make chainstate databases compatible between ARM and x86 (issue #2293)
  • 4e7c219 Catch UTXO set read errors and shutdown
  • 867c600 Catch LevelDB errors during flush
  • 06ca065 Fix CScriptID(const CScript& in) in empty script case

Thanks to everyone who contributed to this release:
  • 21E14
  • Adam Weiss
  • Aitor Pazos
  • Alexander Jeng
  • Alex Morcos
  • Alon Muroch
  • Andreas Schildbach
  • Andrew Poelstra
  • Andy Alness
  • Ashley Holman
  • Benedict Chan
  • Ben Holden-Crowther
  • Bryan Bishop
  • BtcDrak
  • Christian von Roques
  • Clinton Christian
  • Cory Fields
  • Cozz Lovan
  • daniel
  • Daniel Kraft
  • David Hill
  • Derek701
  • dexX7
  • dllud
  • Dominyk Tiller
  • Doug
  • elichai
  • elkingtowa
  • ENikS
  • Eric Shaw
  • Federico Bond
  • Francis GASCHET
  • Gavin Andresen
  • Giuseppe Mazzotta
  • Glenn Willen
  • Gregory Maxwell
  • gubatron
  • HarryWu
  • himynameismartin
  • Huang Le
  • Ian Carroll
  • imharrywu
  • Jameson Lopp
  • Janusz Lenar
  • JaSK
  • Jeff Garzik
  • JL2035
  • Johnathan Corgan
  • Jonas Schnelli
  • jtimon
  • Julian Haight
  • Kamil Domanski
  • kazcw
  • kevin
  • kiwigb
  • Kosta Zertsekel
  • LongShao007
  • Luke Dashjr
  • Mark Friedenbach
  • Mathy Vanvoorden
  • Matt Corallo
  • Matthew Bogosian
  • Micha
  • Michael Ford
  • Mike Hearn
  • mrbandrews
  • mruddy
  • ntrgn
  • Otto Allmendinger
  • paveljanik
  • Pavel Vasin
  • Peter Todd
  • phantomcircuit
  • Philip Kaufmann
  • Pieter Wuille
  • pryds
  • randy-waterhouse
  • R E Broadley
  • Rose Toomey
  • Ross Nicoll
  • Roy Badami
  • Ruben Dario Ponticelli
  • Rune K. Svendsen
  • Ryan X. Charles
  • Saivann
  • sandakersmann
  • SergioDemianLerner
  • shshshsh
  • sinetek
  • Stuart Cardall
  • Suhas Daftuar
  • Tawanda Kembo
  • Teran McKinney
  • tm314159
  • Tom Harding
  • Trevin Hofmann
  • Whit J
  • Wladimir J. van der Laan
  • Yoichi Hirai
  • Zak Wilcox
As well as everyone that helped translating on [Transifex](
Also lots of thanks to the website team David A. Harding and Saivann Carignan.
submitted by bitcoin-devlist-bot to bitcoin_devlist [link] [comments]

Bitcoin Cedes 6% of Market Cap to Competitors; Classic Soldiers On EB82 – Mike Hearn - Blocksize Debate At The Breaking Point YouTube Can Bitcoin Survive a Hard Fork? Xapo's Wences Casares on ... Bitcoin Will Scale! – Luke Dodwell Interview

Seit nun über einem Jahr haben Mitglieder der Bitcoin-Community sich ausgiebig und oft auch erbittert über die Block Size gestritten. Das jüngste Proposal, was Bitcoin Classic beinhaltet, plant eine Erhöhung der Block Size von 1MB zu 2MB. Wenn das neue Protokoll aktiviert werden würde, würde das zu einem Split in der Blockchain führen, wobei beide branches seine eigenen abweichenden ... Summary on Bitcoin Block: hashes and transactions contained within the block #70942, 0000000000ab97a577437790c4bdd4fd78448ac624da3b03e0535b864c597021 This Github repository provides open-source software to enable use of Bitcoin SV. - bitcoin-sv/bitcoin-sv We have a check to ensure that the configured excessive block size does not exceed the maximum block file size, because if it does bitcoind gets into an infinite loop and runs out of memory. Bitcoin XT. Most recent release is K. Contribute to bitcoinxt/bitcoinxt development by creating an account on GitHub. Bitcoin is in the midst of a civil war. It has been simmering for some time, though it remained largely out of view to the general public until last month, when a prominent Bitcoin developer...

[index] [30786] [4366] [32626] [7458] [26930] [40548] [41701] [677] [29285] [3194]

Bitcoin Cedes 6% of Market Cap to Competitors; Classic Soldiers On

The risk of validator centralization, network forking, block scarcity and high energy costs required to mine a block have all been extensively debated with no realistic long-term solutions to date ... Try watching this video on, or enable JavaScript if it is disabled in your browser. The dollar amount of all cryptocurrencies combined has remained steady for two months, but Bitcoin's share of that number is dropping. Infighting is the stat... Ethereum Classic, Block sizes, BitFinex hack and central banks Part 2 - Duration: 13 ... Ethereum's Blockchain Trust Disrupted: Bitcoin and the Blockchain S1:E5 - Duration: 7:39. TechCrunch ... Auf YouTube findest du großartige Videos und erstklassige Musik. Außerdem kannst du eigene Inhalte hochladen und mit Freunden oder mit der ganzen Welt teilen.