The question of how to best increase the transaction processing capacity of the blockchain may be bitcoin's current crisis, but that isn't stopping researchers from working to solve more forward-looking issues.
Held last weekend in Montreal, the inaugural Scaling Bitcoin marked the first major conference for developers, and as such, it featured a broad sampling of technical experts working on solutions to problems that may come to light as knowledge of blockchain technology advances.
One of the more novel proposals to debut at the event was developed by Cornell post-doc student Ittay Eyal, PhD student Adem Efe Gencer, computer science professor Emin Gün Sirer and research scientist Robbert Van Renesse. Called Bitcoin-NG (the "NG" is short for "next generation"), the proposal is envisioned as a solution to "inherent problems" in blockchain design, both in bitcoin and alternative distributed ledgers such as Ethereum.
Eyal said that behind Bitcoin-NG is the belief that there are more fundamental issues with the design of blockchains that will make scaling any implementation, public or private, a challenge.
Eyal told CoinDesk:
"For securities markets, for transacting digital assets, if you want to have all of these on a blockchain, you will need significant scaling."
One of the most pressing problems, the team behind Bitcoin-NG argues, is that as the size of data blocks on a blockchain increases, so does the risk that the blockchain forks, resulting in competing versions of the public record of past transactions and inefficiencies in network communication.
Bitcoin-NG, according to Eyal, was an exercise in identifying issues that arise when individual transactions and blocks of transactions are verified and propagated over a blockchain network, as well as the benefits that should be maintained in any redesign.
Ultimately, the researchers behind Bitcoin-NG came to the conclusion that blocks on a blockchain have two separate functions - electing a 'leader' that decides which transactions are included in the main blockchain and distributing a reward to the miner.
"When you place a block in the [bitcoin] blockchain, then you implicitly say I'm the leader from the previous block until now and that's the order of the transactions I decide for this period," he explained.
Bitcoin-NG proposes composing a blockchain of two separate types of blocks: 'key blocks' that decide a 'leader' and 'microblocks' that feature transactions for a specific amount of time in the future.
Leader miners would be awarded the entirety of the block reward, while splitting fees on transactions between keyblocks with the previous leader.
Eyal indicated that it took the team a while to hone in on a central thesis for its research, that forks, while currently happening a few times a day in bitcoin, will be more common should transaction blocks be larger.
The researcher suggested that this problem can't be solved by changing the block size or frequency of a given network, and that scalability will require greater changes. First, however, Eyal said metrics for the analysis needed to be identified.
"You need metrics to realize what you're trying to optimize and the metrics are intuitively very clear, you want a transaction to be placed in a blockchain as fast as possible, you want to see it there and you want to be able to place as many transactions as possible," he said.
The most important metric developed during the process, according to Eyal, was the idea of "consensus delay", or how long into the past most nodes agree on the state of the blockchain.
"Everyone agrees on everything that happened in the blockchain history from one hour ago and back. But what about inside one hour? If there are forks and there are a lot of forks, then surely we don't agree," he continued.
Additional metrics used by the researchers included "time to prune", or the time it takes for miners whether they are on the correct "branch" or version of the blockchain they are processing transactions. As block sizes increase, Eyal suggested time to prune increases.
Also considered were mining power utilization, or the ratio of completed blocks that end up on the main chain, and 'time to win', the period of time before all miners agree that a given version of the blockchain is the longest so as to expend resources accordingly.
As for inspirations, Eyal cited Greedy Heaviest-Observed Sub-Tree (GHOST), a research proposal that envisions how a main chain could be better selected from the variety of competing forks.
Proposed by researchers Yonatan Sompolinsky and Aviv Zohar in 2013, GHOST was also considered during the development of the alternative blockchain Ethereum, which aims to serve as a network for distributed applications.
"There were two points made in the paper," Eyal explained. "GHOST has a different way of choosing chains. In bitcoin, you choose the longest chain and it becomes the main chain. This is popularly known as an orphan block. This is the wrong word, it's a pruned branch. GHOST has a different way of choosing the longest branch."
Eyal indicated that the longest chain doesn't necessarily have the most blocks, and that in bitcoin, one with less blocks, but more branches, could be selected.
"The other thing they add is the idea of inclusive blockchain where if you have a branch you can later merge transactions back into the main chain," Eyal continued.
To better facilitate these processes, Bitcoin-NG's system is one in which keyblocks use proof-of-work like bitcoin and only leaders generate microblocks, though they come in shorter intervals. In the proposal, keyblocks are generated every 10 minutes, while microblocks are generated every 10 seconds.
Sixty percent of mining fees generated during this time go forward to the next miner, Eyal said, motivating it to place itself in the chain as last as possible. The current leaders get 40% of fees.
"Why 40%? Because we have to make some assumptions about the size of the attacker, and we don't want the attacker to be motivated about mining multiple blocks, it becomes complicated. It could be 10%, but then larger miners might be motivated not to place transactions in blocks," Eyal said at the conference.
To date, Eyal said that Bitcoin-NG has already been implemented on bitcoin's code case, and that this network has been the subject of some experimentation.
Still, he said it would likely be some time before anything like Bitcoin-NG is implemented on the bitcoin network, mostly due to the difficulty of reaching consensus given the disparate stakeholders in the open-source project.
"In theory, it's possible to just fork bitcoin or hard fork bitcoin to use this new protocol and increase scalability for much better latency and bandwidth. As you saw with the blocksize discussion it is difficult to make changes, let alone major changes with this consensus mechanism," he said.
Currently, Bitcoin-NG is operating as a testbed running 1,000 nodes. Eyal and his team are using a Cornell data center for the experiment, with 150 machines running seven clients.
Going forward, he said the team hopes to conduct its work on a larger scale, publish a white paper and ultimately release Bitcoin-NG to the public.
Though testing needs to be done, Eyal was optimistic Bitcoin-NG could contribute to the current blocksize debate through the metrics it used to determine its design, concluding:
"We saw that we were able to do something that you don't get to do a lot, improving bandwidth and efficiently. We're trying to see how far we can get without changing the properties, we want the same level of security, bandwidth and latency [as bitcoin], or better."
For more information on Bitcoin-NG, read the full transcript from Eyal's Scaling bitcoin talk here.
Computer networking image via Shutterstock