IFP Questions and Answers
The health of the Bitcoin Cash network is central to the Bitcoin ABC mission. We take very seriously our responsibility to ensure the safety and security of the BCH network.
It is for this reason that we deploy network consensus changes in a careful manner, well ahead of time.
This allows Bitcoin Cash businesses and other projects time to upgrade and test the new version before going into production.
The Infrastructure Funding Plan
The Infrastructure Funding Plan (IFP) is a project that aims to direct a percentage of Bitcoin Cash block rewards from all BCH blocks produced for a term of 6 months to invest in BCH software and commons, including the development of the Bitcoin ABC BCH full node software, which has produced almost all BCH blocks ever.
Recently, we have received questions via reddit.com/r/btc about whether Bitcoin ABC will “remove the IFP” from its software.
"Removing the IFP" at this time Would be Reckless
"Removing the IFP" would mean releasing a version of the Bitcoin ABC full node software with different consensus rules than Bitcoin ABC versions 0.21.0, 0.21.1, 0.21.2, 0.21.3 and 0.21.4.
To make such a change at this time, after users have already started upgrading for the 15 May 2020 network upgrade, would be reckless.
Such a change would expose Bitcoin Cash businesses, users and the network to the risk of a chain split for no compelling reason. Since we cannot retroactively recall prior releases, it is likely that a portion of users will continue to run versions 0.21.0 through 0.21.4. If Bitcoin ABC released a new “IFP-removed” version, and the IFP were to activate, then a chain split could result. This risk also applies to anyone running any node software that doesn't implement the IFP.
If the IFP does not activate, then an “IFP-removed” version would behave no differently than other versions, so there would be no compelling reason for it.
Further, it is a terrible idea, and would be a bad precedent, to make technical decisions about production software based on what point of view can muster the most noise on social media.
Requested by BCH Miners
The bottom line is that the IFP was requested and set in motion by BCH miners who likely control enough hashrate to enforce the plan, if they so choose.
The initial community reaction rapidly reached a "cautiously optimistic" consensus.
Some parties were opposed to the very concept of miner funding. Others were supportive of the intent of the plan, but had issues with different details of how it would be implemented. Some individuals flipped their positions from being in favor of, to being against, the IFP.
As a result of community feedback, the original IFP plan was modified to be activated by a BIP 9 miner vote. This is the process that is taking place right now.
Wheels in Motion
The wheels were already in motion. Bitcoin ABC has a predetermined release schedule precisely to create predictability around Bitcoin Cash for BCH businesses.
Releasing a version with different consensus rules in the middle of an upgrade cycle would constitute an unnecessary risk.
To push such a snap decision out to exchanges, mining pools and other businesses, would force an emergency upgrade on them. This would produce messy results, as some upgrade and some may not. This could damage the Bitcoin Cash network, and harm the reputation of BCH with those businesses.
In order to protect the integrity of the Bitcoin Cash network, we must not make snap decisions based on proof of reddit.
So those wheels continue to turn.
Miner Vote
The IFP is being submitted to a miner vote.
As a project, Bitcoin ABC believes that stable funding of Bitcoin Cash software infrastructure is vital to the success of the project.
While we recognize that some aspects of this plan have been controversial, we believe that overall the benefits of the plan create the potential for a very exciting future in which Bitcoin Cash can grow and compete, and can reach its goal of becoming the best money the world has ever seen.
To try and back that out now sets a dangerous precedent and could cause more damage than even the posited worst-case IFP voting scenarios.
What if the IFP activates?
It can sometimes be appropriate to issue emergency updates to node software in order to correct a fatal flaw or major bug. But the IFP does not fall into this category, to the contrary it is actually a very attractive feature for Bitcoin Cash in many ways.
Precedent: Self funding mechanisms exist for almost all top cryptocurrencies (for example ETH started with an ICO and held lots of initial coins), and have been greatly successful in funding development. An example of an IFP-like self-funding coin is ZCash. After much constructive discussion in its community, ZCash decided overwhelmingly to renew their miner funding mechanism. The Electric Coin Company has been very successful in using those funds to advance the state of research in the areas of cutting-edge cryptography relevant to ZCash.
Efficient: One of the nice features of the IFP is that it would have an almost negligible impact on miners of Bitcoin Cash. It would result in lowering SHA256 miner revenues by 0.15% - one tenth of one percent. Considering the cryptocurrency markets fluctuate by many multiples of this amount within hours, this is a very small impact. The effect on development funding, meanwhile, would be massive, enabling the buildout of solid infrastructure for Bitcoin Cash to grow and compete.
Aligned with Principles: The IFP is consistent with Bitcoin Cash’s properties of being sound money. It does not touch the inflation schedule or alter the scarcity of BCH. Although some argue that it reduces the security of the network by lowering the relative hash rate of BCH compared to BTC, it would also increase the security of the network against bugs and software vulnerabilities by enabling development to be properly funded. So,it seems likely that it would actually increase the security of the Bitcoin Cash network, all things considered.
Aligned Incentives: One of the nice characteristics of the IFP as a development funding solution is that it does a good job aligning the incentives of Bitcoin Cash developer teams with the interests of the network as a whole.
Bitcoin ABC provides its full node software under the MIT open-source license to miners. The miners use the software to produce revenue in the form of the block reward, which they receive when they successfully produce Bitcoin Cash blocks.
When protocol developers also make their living from those same block rewards, it aligns incentives. If the network as a whole builds, grows and does well, there will be more demand for Bitcoin Cash. This increased demand can be expected over time to be reflected in the value of the same Bitcoin Cash paid to developer groups from the block reward.
Conversely, if the developer teams are not effective, miners can change payouts or full node software, or even end the IFP entirely, if they so choose.
Conclusion
The goal of Bitcoin ABC is to make Bitcoin Cash a globally competitive P2P electronic cash system. To accomplish this goal will require a lot of work, including significant investment in the infrastructure so that it can provide a solid foundation for Bitcoin Cash products and services, and be able to handle massive growth.
Bitcoin Cash faces significant competition in the cryptocurrency space, and those competitors are not sitting still. To the contrary, they are investing massive sums into development. Bitcoin Cash is faced with an existential question: grow or die.
For these reasons, we see the IFP as an attractive option to provide a sustainable source of funding in order to meet those goals. The original IFP proposal was modified, based on community feedback, to be activated by BIP 9 miner activation. The miners who were interested in the IFP stated that they would use this activation mechanism responsibly to either activate the IFP, or not, according to their judgement of the situation.
At this time, the most responsible course of action for Bitcoin ABC is to let this miner voting process play out without interference.
Questions and Answers
Here are some questions we have received, and their answers.
What if a malicious miner activates the IFP?
To activate the IFP requires that a miner can maintain greater than 66% of the BCH hashrate for 2 full weeks. So the bar to activate the IFP is actually higher than what would be needed for a miner to do things much much worse than anything anyone has posited the IFP could do.
If some miner decides to use a large amount of hash to attack BCH, that has nothing to do with the IFP. It is simply the nature of the security model we have with Nakamoto consensus.
It seems unlikely that a malicious miner would be willing to spend that much money simply to cause more controversy on r/btc. And if they do, it hardly seems to be worse than actually being able to fund BCH protocol development, and finally develop BCH as P2P electronic cash.
This scenario also illustrates why it would be foolhardy to release a version of Bitcoin ABC with the IFP removed. In such a situation, a “rogue activation” would actually cause a BCH network split between miners running Bitcoin ABC versions 0.21.4 and below on the one hand, and those running the “IFP-removed” version on the other.
Will the IFP cause a fork?
The Bitcoin ABC full node software is used by almost all miners, therefore this is not expected.
The community is unanimously against the IFP.
Decisions are made in Bitcoin by individuals taking actions based on their preferences and self-interest, not by permitting those who are loudest on social media to dictate courses of action for everyone else.
We know that some people on social media are not happy about the IFP but this does not mean everyone is against it.
The IFP is not on the Bitcoin Cash roadmap.
The IFP may not formally be on the roadmap, but a miner funding mechanism has been a long-standing feature request from major players in the Bitcoin Cash ecosystem. See for example this May 2018 article from Bitcoin.com entitled “BCH Miners Discuss Funding Development With a Fraction of Block Rewards”.
Over the years various proposals have been attempted, and the current incarnation of the IFP represents a continuation of those efforts to come up with stable infrastructure funding for Bitcoin Cash.
The bottom line is that funding is implicit in the roadmap. A roadmap without funding is nothing more than a nice idea, wish or dream. It only becomes a serious, executable plan when we apportion the resources necessary to make it happen. After 2.5 years, the time has come for us to apportion those resources if we wish to see Bitcoin Cash remain relevant and realize the vision of P2P electronic cash for the world.
The IFP is not in the business plan.
Actually it is on page 18.
The Infrastructure Funding Plan (IFP). If all else fails, miners may be incentivized to implement an infrastructure funding plan that involves a mandatory percentage-based contribution of the Bitcoin Cash block reward to Bitcoin Cash development teams.
You just need to improve the IFP like this.
There are many variations possible for an IFP-type miner funding mechanism. Part of the challenge with previous efforts was that it is difficult for a large group to come to consensus in all the details of how it is to be implemented. For this reason, an imperfect but simple plan may be better than a plan that is “better” in one person’s opinion, while being more complicated.
It should also be noted that the original plan was actually modified based on some of the feedback received to arrive at the current implemented version.
If you would like to improve the IFP, or any other aspect of the Bitcoin ABC full node software, we welcome patches at reviews.bitcoinabc.org. Here are full details on how to start contributing to Bitcoin Cash protocol development with Bitcoin ABC: https://github.com/Bitcoin-ABC/bitcoin-abc/blob/master/CONTRIBUTING.md.
What’s to stop the IFP from continuing forever?
Given that Bitcoin ABC upgrades the network every 6 months via hard fork, it is not possible for the current IFP to continue more than a maximum of 6 months.
Further, the consortium of miners that came together to propose the IFP is inherently unstable.
That said, if the IFP turns out to be successful, leads to major improvements to Bitcoin Cash, and is seen as a wise investment in the project, then there is no reason why it should not continue for longer than six months.
Join Us
Join the Bitcoin ABC team in building censorship-resistant P2P electronic cash for billions of daily users and realizing the vision that is Bitcoin Cash!
Visit fund.bitcoinabc.org to find our business plan, budget, delivery timeline, funding options and feedback mechanisms.
We can only do this together.
Got questions? Ask us below.
Other Articles in This Series
Press Release: Bitcoin ABC Launches 2020 Bitcoin Cash Protocol Development Fundraiser [EN] [ZH] [ES] [PT]
What is Bitcoin ABC's "Fix Block Time Oscillations Project"?
Bitcoin Cash would probably be dead project, because all these people would leave: https://old.reddit.com/r/btc/comments/f4qgry/lets_have_a_show_of_hands_who_supports_the_ifp/
Despite the fact that ABC considers them (let me quote here) "noise on social media" - these people are the ones who made Bitcoin Cash possible. It's a pity that ABC seems to willingly ignore that fact.