2019 · 73 citations · 30 references
ComputingComputer ScienceComputer SystemsCryptographyDistributed SystemsNetwork SecurityData SynchronizationDistributed ComputingDistributed ConsensusPeer-to-peer NetworkingPeer-to-peer NetworksPeer-to-peer SystemsBandwidthBlockchain ConsensusBlockchain CryptographyBlockchain-based Data SharingBloom FiltersDeploymentInformation ReconciliationTwo-way Synchronization
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.
30
Space/time trade-offs in hash coding with allowable errors
Burton H. Bloom · Communications of the ACM · 1970 · 7.5K citations · Full text
Network Applications of Bloom Filters: A Survey
Andrei Broder, Michael Mitzenmacher · Internet Mathematics · 2004 · 2K citations · Full text
Network structure and minimum degree
Stephen B. Seidman · Social Networks · 1983 · 1.9K citations