BUIP065: Gigablock Testnet Initiative Proposer: Peter Rizun (@Peter R) Submitted on: 2017-08-28 Status: draft
Table of Contents
Gigablock Testnet Initiative: A Global Test Network for Bottleneck Analysis Under Very High Levels of Transaction Throughput
3NpUpMAFxtBfxY68nvM9sgJE3go6X7A1E7 (this is an address within the BU 2-of-3 multisig wallet)
The Bitcoin network is currently plagued by record-high fees and unreliable confirmation times. For example, while fees of only a few pennies were sufficient in 2014 to get a transaction confirmed in the next block (~10 min), by June 2017 the average transaction fee had risen to $4 while the average confirmation time was over an hour. This has made using bitcoin as a means of payment impractical in many cases.
It is well understood that an increase in the network's block size limit (presently 1 MB) would dramatically reduce fees and make confirmation times reliable once again. However, concern regarding the ability of the Bitcoin network to safely and reliably handle the associated increase in transaction throughput is a primary technical factor preventing the block size limit from being raised.
What is needed is a global test network that can be "stress tested" at very high levels of transaction throughput. Such a test network will allow bottlenecks to be identified and fixed ahead of time, providing a safe path to larger block sizes for the Bitcoin network.
The objectives of this project are to: setup and maintain a global test network capable of supporting blocks up to 1 GB in size and sustained Visa-level transaction throughput (3,000 TPS), perform continuous experiments related to on-chain scaling on that test network, and identify bottleneck based on the results of those experiments, and disseminate those findings to the broader Bitcoin community.
The project is intended to run for five years. However, after the first 12 months, BU members can vote to wind down the project ahead of schedule. In such a scenario, the project would continue to be funded for 3 additional months during the wind-down period.
The Gigablock Testnet is intended to eventually become a self-sustaining resource of the Bitcoin community, with contributors from across the world. The team committed to bootstrapping the project consists of individuals from Bitcoin Unlimited, nChain and the University of British Columbia (UBC):
- Bitcoin Unlimited
- Andrea Suisani
- Peter Rizun
- Peter Tschipper
- Andrew Stone
- Andrew Clifford
- Erik Beijnoff
- Stefan Mathews
- Shahnawaz Aziz
- University of British Columbia
- Prof. Victoria Lemieux
- Prof. Chen Feng
- Prof. Alexandra Federova
- Post-doctoral researcher 1
- Student 1
- Student 2
The precursor to this project was the NOL (no-limit) test network setup by Andrew Stone in late 2015. He used the test network to ensure that the BU client dealt with excessive blocks and reorgs correctly prior to releasing the first version of Bitcoin Unlimited. Later, Stone used the test network to produce blocks over 50 MB in size. However, these experiments were limited in scope to proving that blocks significantly larger than 1 MB could indeed be mined, propagated, and verified using the BU client.
In July 2017, BU members met in Vancouver with representatives from nChain, where it was agreed that a global test network was needed in order to identify bottlenecks to scaling and carry out scaling-related research demonstrating the network’s ability (or lack of) to handle significantly increased transaction throughput. It was agreed that BU and nChain would contribute equally to setting up, maintaining, and carrying out experiments on this network, subject to receiving authorization from their respective governance bodies.
nChain recently received authorization from its board of directors to contribute up to $150,000 per year to this project for 5 years.
BU and nChain are now (paid for in part by an advance from nChain) adding nodes to the network and carrying out Experiment #1 (test plan).
Additionally, Peter Rizun and Prof. Victoria Lemieux (who is spearheading the Blockchain UBC initiative) have identified synergies between BU’s research & development goals and the goals of Blockchain UBC. One potential strategy to simultaneously increase the hours of “scaling” research & development and amplify BU funds, is to take advantage of Canadian government programs designed to facilitate collaboration between Canadian universities and industry, such as the NSERC Collaborative Research & Development Grants program and the various Mitacs programs (for funding students and post-docs).
The current BSafe focus is on monitoring and conducting research on the network as currently configured (i.e., with a 1 MB block size limit) and not on measuring performance under alternate design patterns or bottleneck analysis under heavy load. The objectives and capabilities of the two test networks may converge in the future, but in the short-term the Gigablock Testnet will enable rapid experimentation and testing with alternate network configurations and vastly higher levels of transaction throughput.
In "Year 1" of this project, we intend to: Complete "Experiment #1" (test plan) and disseminate the results (ideally at Scaling Bitcoin Stanford) Develop a block explorer for the Gigablock Testnet Apply for government funding (e.g., NSERC / Mitacs) through our UBC partner (Victoria Lemieux) to amplify funds and establish a small research initiative related to blockchain scaling and the Gigablock Testnet at UBC. Design and carry out “Experiment #2” based on the findings of Experiment #1, and present these results at the next “Future of Bitcoin Conference.” This experiment will likely involve increasing the number of mining nodes beyond the 8 nodes used in Experiment #1.
We may find that Visa-level transaction throughputs (~3,000 TPS) and gigabyte blocks are not possible with current technology, or that the scope of changes to BU to enable these throughput levels is so vast that we are unable to test up to 1 GB blocks in Year 1. It is also possible that we determine that blockchain technology is simply not suitable for a global payment network, and that scaling must be carried out on “second layers.” In such a scenario, the Gigablock Testnet Initiative would likely be terminated prematurely.
The requested budget from BU is $150,000 per year. nChain has agreed to match BU funds 1:1, giving a project budget of $300,000 per year for five years ($1.5M total project budget). Approximately half of the budget is expected to be used to cover server costs, while the other half of the budget is expected to be paid out as wages for contractors, employees and students.
The scalability of blockchain-based cryptocurrencies is a hotly-debated topic. We suspect this project will clearly demonstrate that Visa-level throughput can be reached and sustained on a global test network of mining nodes with today’s technology and for costs affordable to businesses, universities, and hobbyists. The results from an ongoing series of experiments carried out on this test network will add to the growing body of evidence that Bitcoin can indeed scale into a payment network for planet Earth, following the design laid out in the original Bitcoin white paper written by Satoshi Nakamoto.