skip to main content
10.1145/3341302.3342082acmconferencesArticle/Chapter ViewAbstractPublication PagescommConference Proceedingsconference-collections
research-article

Graphene: efficient interactive set reconciliation applied to blockchain propagation

Published: 19 August 2019 Publication History
  • Get Citation Alerts
  • Abstract

    We introduce Graphene, a method and protocol for interactive set reconciliation among peers in blockchains and related distributed systems. Through the novel combination of a Bloom filter and an Invertible Bloom Lookup Table (IBLT), Graphene uses a fraction of the network bandwidth used by deployed work for one- and two-way synchronization. We show that, for this specific problem, Graphene is more efficient at reconciling n items than using a Bloom filter at the information theoretic bound. We contribute a fast and implementation-independent algorithm for parameterizing an IBLT so that it is optimally small in size and meets a desired decode rate with arbitrarily high probability. We characterize our performance improvements through analysis, detailed simulation, and deployment results for Bitcoin Cash, a prominent cryptocurrency. Our implementations of Graphene, IBLTs, and our IBLT optimization algorithm are all open-source code.

    Supplementary Material

    MP4 File (p303-ozisik.mp4)

    References

    [1]
    Jean-Philippe Aumasson and Daniel J. Bernstein. (December 2012). SipHash: A Fast Short-Input PRF. In Proc. Progress in Cryptology (INDOCRYPT). 489--508.
    [2]
    Jon Louis Bentley and Andrew Chi-Chih Yao. 1976. An almost optimal algorithm for unbounded searching (see also https://en.wikipedia.org/wiki/Exponential_search). Information Processing Letters. 5, 3 (Aug 1976), 82--87.
    [3]
    George Bissias. 2018. Graphene Pull Request. https://github.com/BitcoinUnlimited/BitcoinUnlimited/pull/973. (July 2018).
    [4]
    George Bissias. 2019. An Algorithm for Bounding the Probability of r-core Formation in k-uniform Random Hypergraphs. arXiv preprint. (Feb 1 2019). http://arxiv.org/abs/1901.04934
    [5]
    George Bissias and Brian Levine. 2018. BUIP093: Graphene Relay. https://github.com/BitcoinUnlimited/BUIP/blob/master/093.mediawiki. (July 26 2018).
    [6]
    Bitcoin ABC. 2018. The Bitcoin ABC Vision. https://medium.com/@Bitcoin_ABC/the-bitcoin-abc-vision-f7f87755979f. (August 24 2018).
    [7]
    Bitcoin Unlimited. 2018. Bitcoin Cash Development And Testing Accord: Bitcoin Unlimited Statement. https://www.bitcoinunlimited.info/cash-development-plan. (2018).
    [8]
    Burton H. Bloom. 1970. Space/Time Trade-offs in Hash Coding with Allowable Errors. Commun. ACM 13, 7 (July 1970), 422--426.
    [9]
    Anudhyan Boral and Michael Mitzenmacher. (October 2014). Multi-Party Set Reconciliation Using Characteristic Polynomials. In Proc. Annual Allerton Conference on Communication, Control, and Computing. 1182--1187.
    [10]
    Andrei Broder and Michael Mitzenmacher. 2004. Network applications of bloom filters: A survey. Internet mathematics 1, 4 (2004), 485--509.
    [11]
    Andrej Brodnik and J Ian Munro. 1999. Membership in constant time and almost-minimum space. SIAM J. Comput. 28, 5 (1999), 1627--1640.
    [12]
    Vitalik Buterin and Virgil Griffith. 2017. Casper the Friendly Finality Gadget. https://arxiv.org/abs/1710.09437. (Oct 2017).
    [13]
    John W Byers, Jeffrey Considine, Michael Mitzenmacher, and Stanislav Rost. 2004. Informed content delivery across adaptive overlay networks. IEEE/ACM transactions on networking 12, 5 (2004), 767--780.
    [14]
    Larry Carter, Robert Floyd, John Gill, George Markowsky, and Mark Wegman. (1978). Exact and Approximate Membership Testers. In Proceedings of the Tenth Annual ACM Symposium on Theory of Computing. ACM, 59--65.
    [15]
    Matt Corallo. 2016. BIP152: Compact Block Relay. https://github.com/bitcoin/bips/blob/master/bip-0152.mediawiki. (April 2016).
    [16]
    Kyle Croman, Christian Decker, Ittay Eyal, Adem Efe Gencer, Ari Juels, Ahmed Kosba, Andrew Miller, Prateek Saxena, Elaine Shi, Emin Gün Sirer, Dawn Song, and Roger Wattenhofer. (February 2016). On Scaling Decentralized Blockchains. In Proc. Financial Cryptography and Data Security. 106--125.
    [17]
    George Danezis and Sarah Meiklejohn. (February 2016). Centrally Banked Cryptocurrencies. In Proc. Network and Distributed System Security Symposium (NDSS). 14 pages.
    [18]
    Christian Decker and Roger Wattenhofer. (September 2013). Information Propagation in the Bitcoin Network. In Proc. IEEE International Conference on Peer-to-Peer Computing. 1--10.
    [19]
    Peter C. Dillinger and Panagiotis Manolios. (November 2004). Bloom Filters in Probabilistic Verification. In Proc. International Conference on Formal Methods in Computer-Aided Design (FMCAD). Springer-Verlag, 367--381.
    [20]
    Peter C. Dillinger and Panagiotis Manolios. (April 2004). Fast and Accurate Bitstate Verification for SPIN. In Proc. Model Checking Software (SPIN). 57--75.
    [21]
    Yevgeniy Dodis, Rafail Ostrovsky, Leonid Reyzin, and Adam Smith. 2008. Fuzzy Extractors: How to Generate Strong Keys from Biometrics and Other Noisy Data. SIAM journal on computing 38, 1 (2008), 97--139.
    [22]
    Thaddeus Dryja and Joseph Poon. 2016. The Bitcoin Lightning Network: Scalable Off-Chain Instant Payments. htttps://lightning.nettwork/lightning-network-paper.pdf. (Jan 2016).
    [23]
    David Eppstein, Michael T. Goodrich, Frank Uyeda, and George Varghese. (August 2011). What's the Difference? Efficient Set Reconciliation Without Prior Context. In Proc. ACM SIGCOMM. 218--229.
    [24]
    Bin Fan, Dave G. Andersen, Michael Kaminsky, and Michael D. Mitzenmacher. (December 2014). Cuckoo Filter: Practically Better Than Bloom. In Proc. ACM International on Conference on emerging Networking Experiments and Technologies (CoNEXT). 75--88.
    [25]
    Michael Fischer, Nancy Lynch, and Michael Paterson. 1985. Impossibility of distributed consensus with one faulty process. JACM 32, 2 (1985), 374--382.
    [26]
    Philippe Flajolet and G. Nigel Martin. 1985. Probabilistic counting algorithms for data base applications. J. Comput. System Sci. 31, 2 (1985), 182--209.
    [27]
    Yossi Gilad, Rotem Hemo, Silvio Micali, Georgios Vlachos, and Nickolai Zeldovich. (October 2017). Algorand: Scaling Byzantine Agreements for Cryptocurrencies. In Proc. Symposium on Operating Systems Principles (SOSP). 51--68.
    [28]
    Shyamnath Gollakota and Dina Katabi. (August 2008). Zigzag Decoding: Combating Hidden Terminals in Wireless Networks. In Proc. ACM SIGCOMM Conference on Data Communication. 159--170.
    [29]
    Solomon W. Golomb. 1966. Run-length encodings (Corresp.). IEEE Transactions on Information Theory 12, 3 (July 1966), 399--401.
    [30]
    Michael Goodrich and Michael Mitzenmacher. (Sept 2011). Invertible bloom lookup tables. In Conf. on Comm., Control, and Computing. 792--799.
    [31]
    Sunny Katkuri. 2018. Improve block transfer efficiency using Graphene #17724. https://github.com/ethereum/go-ethereum/pull/17724. (September 20 2018).
    [32]
    Adam Kirsch and Michael Mitzenmacher. 2006. Less Hashing, Same Performance: Building a Better Bloom Filter. Random Structures & Algorithms 33, 2 (September 2006), 187--218.
    [33]
    Eleftherios Kokoris Kogias, Philipp Jovanovic, Nicolas Gailly, Ismail Khoffi, Linus Gasser, and Bryan Ford. (August 2016). Enhancing Bitcoin Security and Performance with Strong Consistency via Collective Signing. In Proc. USENIX Security Symposium. 279--296.
    [34]
    Eleftherios Kokoris-Kogiasy, Philipp Jovanovicy, Linus Gassery, Nicolas Gaillyy, Ewa Syta, and Bryan Ford. (May 2018). OmniLedger: A Secure, Scale-Out, Decentralized Ledger via Sharding. In Proc. IEEE Symposium on Security and Privacy. 583--598.
    [35]
    James Larisch, David Choffnes, Dave Levin, Bruce M Maggs, Alan Mislove, and Christo Wilson. (May 2017). CRLite: A Scalable System for Pushing All TLS Revocations to All Browsers. In Proc. IEEE Symposium on Security and Privacy. 539--556.
    [36]
    Brian Levine and Gavin Andresen. 2018. IBLT Optimization. https://github.com/umass-forensics/IBLT-optimization. (August 2018).
    [37]
    Yoad Lewenberg, Yonatan Sompolinsky, and Aviv Zohar. (Jan 2015). Inclusive block chain protocols. In Proc. International Conference on Financial Cryptography and Data Security. 528--547.
    [38]
    Eric Russell Love. 1980. Some Logarithm Inequalities. The Mathematical Gazette (The Mathematical Association) 63, 427 (March 1980), 55--57. https://www.jstor.org/stable/3615890
    [39]
    Lailong Luo, Deke Guo, Richard T.B. Ma, Ori Rottenstreich, and Xueshan Luo. 2019. Optimizing Bloom Filter: Challenges, Solutions, and Comparisons. IEEE Communications Surveys Tutorials (see also arXiv:1804.04777) 21, 2 (Second quarter 2019), 1912--1949.
    [40]
    Ralph C. Merkle. (1987). A Digital Signature Based on a Conventional Encryption Function. In Advances in Cryptology (CRYPTO '87). August, 369--378.
    [41]
    Yaron Minsky, Ari Trachtenberg, and Richard Zippel. 2003. Set reconciliation with nearly optimal communication complexity. IEEE Transactions on Information Theory 49, 9 (2003), 2213--2218.
    [42]
    Michael Mitzenmacher and Rasmus Pagh. 2018. Simple multi-party set reconciliation. Distributed Computing 31, 6 (November 2018), 441--453.
    [43]
    Michael Mitzenmacher and Eli Upfal. 2005. Probability and Computing: Randomized Algorithms and Probabilistic Analysis. Cambridge University Press. 61--89 pages.
    [44]
    Michael Molloy. (January 2004). The Pure Literal Rule Threshold and Cores in Random Hypergraphs. In Proc. ACM-SIAM Symposium on Discrete Algorithms (SODA). 672--681. http://dl.acm.org/citation.cfm?id=982792.982896
    [45]
    Satoshi Nakamoto. 2009. Bitcoin: A Peer-to-Peer Electronic Cash System. (May 2009). https://bitcoin.org/bitcoin.pdf
    [46]
    A. Pinar Ozisik, Gavin Andresen, George Bissias, Amir Houmansadr, and Brian Neil Levine. (September 2017). Graphene: A New Protocol for Block Propagation Using Set Reconciliation. In Proc. of International Workshop on Cryptocurrencies and Blockchain Technology (ESORICS Workshop). 420--428.
    [47]
    Salvatore Pontarelli, Pedro Reviriego, and Michael Mitzenmacher. 2014. Improving the performance of Invertible Bloom Lookup Tables. Inform. Process. Lett. 114, 4 (2014), 185--191.
    [48]
    Stephen B. Seidman. 1983. Network structure and minimum degree. Social Networks 5, 3 (1983), 269--287.
    [49]
    Yonatan Sompolinsky and Aviv Zohar. (January 2015). Secure high-rate transaction processing in Bitcoin. In Proc. Financial Cryptography and Data Security. 507--527.
    [50]
    Andrea Suisani, Andrew Clifford, Andrew Stone, Erik Beijnoff, Peter Rizun, Peter Tschipper, Alexandra Fedorova, Chen Feng, Victoria Lemieux, and Stefan Matthews. (November 2017). Measuring maximum sustained transaction through-put on a global network of Bitcoin nodes. https://scalingbitcoin.org/stanford2017/Day1/Stanford_2017.pptx.pdf. In Proc. Scaling Bitcoin Conference.
    [51]
    Sasu Tarkoma, Christian Esteve Rothenberg, and Eemil Lagerspetz. 2012. Theory and Practice of Bloom Filters for Distributed Systems. IEEE Communications Surveys Tutorials 14, 1 (First 2012), 131--155.
    [52]
    Jonathan Toomim. 2018. Benefits of LTOR in block entropy encoding. https://medium.com/@j_73307/benefits-of-ltor-in-block-entropy-encoding-or-8d5b77cc2ab0. (September 2018).
    [53]
    Jonathan Toomim. 2018. Block propagation data from Bitcoin Cash's stress test. https://medium.com/@j_73307/block-propagation-data-from-bitcoin-cashs-stress-test-5b1d7d39a234. (September 2018).
    [54]
    Peter Tschipper. 2016. BUIP010 Xtreme Thinblocks. https://bitco.in/forum/threads/buip010-passed-xtreme-thinblocks.774/. (Jan 2016).
    [55]
    Gavin Wood. 2018. Ethereum: A Secure Decentralised Generalised Transaction Ledger. https://ethereum.github.io/yellowpaper/paper.pdf. (June 2018).
    [56]
    Pieter Wuille. 2018. Minisketch: a library for BCH-based set reconciliation. https://github.com/sipa/minisketch/blob/master/doc/math.md. (2018).

    Cited By

    View all
    • (2024)HCB: Enabling Compact Block in Ethereum Network With Secondary Pool and Transaction PredictionIEEE Transactions on Network Science and Engineering10.1109/TNSE.2023.332106311:1(1077-1092)Online publication date: Jan-2024
    • (2024)A Framework for Anomaly Detection in Blockchain Networks With SketchesIEEE/ACM Transactions on Networking10.1109/TNET.2023.329825332:1(686-698)Online publication date: Feb-2024
    • (2024)A Formulation of the Trilemma in Proof of Work BlockchainIEEE Access10.1109/ACCESS.2024.341002512(80559-80578)Online publication date: 2024
    • Show More Cited By

    Index Terms

    1. Graphene: efficient interactive set reconciliation applied to blockchain propagation

      Recommendations

      Comments

      Information & Contributors

      Information

      Published In

      cover image ACM Conferences
      SIGCOMM '19: Proceedings of the ACM Special Interest Group on Data Communication
      August 2019
      526 pages
      ISBN:9781450359566
      DOI:10.1145/3341302
      Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

      Sponsors

      Publisher

      Association for Computing Machinery

      New York, NY, United States

      Publication History

      Published: 19 August 2019

      Permissions

      Request permissions for this article.

      Check for updates

      Author Tags

      1. blockchains
      2. probabilistic data structures
      3. set reconciliation

      Qualifiers

      • Research-article

      Conference

      SIGCOMM '19
      Sponsor:
      SIGCOMM '19: ACM SIGCOMM 2019 Conference
      August 19 - 23, 2019
      Beijing, China

      Acceptance Rates

      Overall Acceptance Rate 554 of 3,547 submissions, 16%

      Contributors

      Other Metrics

      Bibliometrics & Citations

      Bibliometrics

      Article Metrics

      • Downloads (Last 12 months)72
      • Downloads (Last 6 weeks)5

      Other Metrics

      Citations

      Cited By

      View all
      • (2024)HCB: Enabling Compact Block in Ethereum Network With Secondary Pool and Transaction PredictionIEEE Transactions on Network Science and Engineering10.1109/TNSE.2023.332106311:1(1077-1092)Online publication date: Jan-2024
      • (2024)A Framework for Anomaly Detection in Blockchain Networks With SketchesIEEE/ACM Transactions on Networking10.1109/TNET.2023.329825332:1(686-698)Online publication date: Feb-2024
      • (2024)A Formulation of the Trilemma in Proof of Work BlockchainIEEE Access10.1109/ACCESS.2024.341002512(80559-80578)Online publication date: 2024
      • (2024)Minimizing block incentive volatility through Verkle tree-based dynamic transaction storageDecision Support Systems10.1016/j.dss.2024.114180180(114180)Online publication date: May-2024
      • (2024)Out‐of‐band transaction pool sync for large dynamic blockchain networksInternational Journal of Network Management10.1002/nem.2265Online publication date: 24-Mar-2024
      • (2024)Reducing the propagation delay of compact block in Bitcoin networkInternational Journal of Network Management10.1002/nem.2262Online publication date: 25-Jan-2024
      • (2023)LECast: A Low-Energy-Consumption Broadcast Protocol for UAV Blockchain NetworksDrones10.3390/drones70200767:2(76)Online publication date: 20-Jan-2023
      • (2023)ChainedFilter: Combining Membership Filters by Chain RuleProceedings of the ACM on Management of Data10.1145/36267211:4(1-27)Online publication date: 12-Dec-2023
      • (2023)Kadcast-NG: A Structured Broadcast Protocol for Blockchain NetworksIEEE/ACM Transactions on Networking10.1109/TNET.2023.327989731:6(3269-3283)Online publication date: Dec-2023
      • (2023)Approaching an Optimal Bitcoin Mining OverlayIEEE/ACM Transactions on Networking10.1109/TNET.2023.323530731:5(2013-2026)Online publication date: Oct-2023
      • Show More Cited By

      View Options

      Get Access

      Login options

      View options

      PDF

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader

      Media

      Figures

      Other

      Tables

      Share

      Share

      Share this Publication link

      Share on social media