Andresen Presents Graphene Compression to Address Bitcoin Scalability Bandwidth Bottlenecks


Gavin Andresen, bitcoin’s former lead developer and Chief Scientist at the Bitcoin Foundation, has presented a new method of blocks compression to address bandwidth bottlenecks to bitcoin’s scalability.

In a three page paper by Andresen and other researchers, all from the University of Massachusetts, the new method is introduced as follows:

“Graphene blocks are a fraction of the size of related methods, such as Compact Blocks and Xtreme Thinblocks. For example, in a detailed example below, we show that a 17.5 KB Xtreme Thinblock can be encoded in 10 KB with Compact Blocks, and encoded in 2.6 KB with Graphene. In simulations, we find that Graphene encodes information in about 10% of the space of Compact Blocks.”

Thinblocks, themselves, compress bitcoin blocks by some 50x, but Graphene goes further, reducing a 1MB block to just 2.6KB, something even dial-up can handle.

The way it achieves this is fairly complex with the paper providing the necessary maths to prove their claims, but at a high level, instead of sending the full block to nodes, you send just the instructions on how to build the block based on the data the node mostly already has.

However, the paper does make an assumption that currently does not apply to bitcoin and may need a hardfork for that to change. We quote at some length for full clarity:

“Graphene does not specify an order for transactions in the blocks, and instead assumes that transactions are sorted by ID. Bitcoin requires transactions depending on another transaction in the same block to appear later, but a canonical ordering is easy to specify. If a miner would like to order transactions with some proprietary method (e.g., [6]), that ordering would be sent alongside the IBLT.

For a block of n items, in the worst case, the list will be n log2 (n) bits long. Even with this extra data, our approach is much more efficient than Compact Blocks. In terms of the example above, if Graphene was to impose an ordering, the additional cost for n = 2000 transactions would be n log2 (n) bits = 2000 ×loд2 (2000) bits = 2.74 KB. This increases the cost of Graphene to 5.34 KB, still almost half of Compact Blocks.”

Without modifications to the bitcoin protocol, data can still be compressed by some 50%. With modifications, it would be halved further. Potentially taking out bandwidth concerns from the equation. However, Gregory Maxwell, Blockstream’s CTO, was not impressed. Stating Graphene:

“Focuses exclusively on bandwidth and talks about things like a 4x reduction – but this is a reduction from 20,000 bytes to 5000 bytes – a savings which seldom matters at all.”

Considering we have Google Fibre with 1GB of bandwidth, he may be right. But bandwidth has been strongly argued as a bottleneck to bitcoin’s scalability since at least 2015.

When storage concerns were addressed as there are now consumer grade hard-disks with terabytes of space for pocket change, small blockers started arguing that bandwidth requirements were a bottleneck.

That led to research on compressing data so that it requires less bandwidth, with Xthin one such result and now Graphene. However, Maxwell says:

“The goals for block relay should be to minimize latency and adding increased potential for round trips or massively increased cpu computation (as is the case here) doesn’t achieve that goal.”

Latency is defined as “the delay before a transfer of data begins following an instruction for its transfer.” The more CPU power you have, the less the delay as you can process it faster. That, then, combines in a way with memory, or RAM. So circling the main specs of a laptop.

CPU hasn’t really been raised as much of a concern previously, while RAM may be, due to the need to store unconfirmed transactions. However, now that bandwidth concerns have been addressed, developers may start working on the other two.

The general reception to the paper seems mixed. Some small blockers do not appear to like it very much, while big blockers are clamoring for its implementation in Bitcoin Cash.

This dichotomy may now continue as there are clearly two very different visions in bitcoin. But the difference this time might be that both visions have a project where they can implement what they please as they like. With the market, finally, regaining its crown.



1 Comment threads
0 Thread replies
Most reacted comment
Hottest comment thread
1 Comment authors
newest oldest most voted
Notify of
Richie Michie

Thats kinda sad bcs BTC developers denied bigger blocks for atleast 2 years, so by look of it they dont care about scaling tech. Maybe some other coin will use it, for example BCH ?