BUIP065: Gigablock Testnet Initiative
Proposer: Peter Rizun (@Peter R)
Submitted on: 2017-08-28
Status: draft
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):
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.