Graphene uses a fraction the bandwidth of current approaches to relay blocks. It is applicable to any blockchain, whether proof-of-work, proof-of-stake, or DAG based. Currently, it is deployed as a dev-only protocol in Bitcoin Unlimited's client for Bitcoin Cash (BCH). On these pages, you can find an explanation of Graphene's approach, answers to frequently asked questions, write-ups, and links to deployments and source code.
Blocks in a blockchain are generally made up of a header and a set of validated transactions that spend coin or otherwise change the state of the system. Relaying blocks across the peer-to-peer (P2P) network using the least amount of bandwidth and latency has a number of advantages for the operation of any cryptocurrency. Blocks that can be relayed using less bandwidth propagate more quickly, which can increase synchronization among peers and reduce forks in the chain. Using less bandwidth to relay a block also allows greater participation by peers who are behind limited-bandwidth links and routes. Finally, an efficient mechanism for relaying blocks can allow maximum block size to increase, sustaining a larger number of transactions per second overall.
Documentation and Resources
There are a number of works related to Graphene.
- 2-page write up (pdf) released for ScalingBitcoin 2017.
- Graphene: A New Protocol for Block Propagation Using Set Reconciliation. A. Pinar Ozisik, Gavin Andresen, George Bissias, Amir Houmansadr, and Brian Neil Levine. In Proc. of International Workshop on Cryptocurrencies and Blockchain Technology (ESORICS Workshop), September 2017. [pdf]
- A Secure, Efficient, and Transparent Network Architecture for Bitcoin. A. Pinar Ozisik, Gavin Andresen, George Bissias, Amir Houmansadr, and Brian Neil Levine. Technical Report UM-CS-2016-006, University of Massachusetts, Amherst, MA, October 2016. [pdf]