Storing millions of search queries in computer memory wastes vast amounts of expensive hardware; Bloom filters verify whether a record exists using a tiny fraction of a single bit per item. Published in 1970 to speed up hyphenation in typesetting machines, Burton Bloom’s compact data structure now speeds up every Google search query and Bitcoin transaction on Earth.

In massive planetary databases and web search engines, checking whether a specific user or malicious web link exists across billions of stored records requires reading slow computer hard drives, creating massive bottlenecks when millions of people search simultaneously.
In 1970, computer pioneer Burton Bloom designed a lightning-fast bouncer that fits in microscopic computer memory. By running an item through several mathematical formulas to flip tiny digital switches in a tiny bit array, the filter can instantly tell you if an item is definitely NOT in the database without reading a single disk.
This fifty-year-old discovery is the silent engine of modern internet speed. By preventing millions of unnecessary database disk reads every second, by speeding up cryptocurrency blockchain syncs, and by blocking malicious websites in web browsers, Bloom filters keep the internet fast.
Space/time trade-offs in hash coding with allowable errors
In this paper trade-offs among certain computational factors in hash coding are analyzed. The paradigm problem considered is that of testing a series of messages one-by-one for membership in a given set of messages. Two new hash-coding methods are examined and compared with a particular conventional hash-coding method. The computational factors considered are the size of the hash area (space), the time required to identify a message as a nonmember of the given set (reject time), and an allowable error frequency. The new methods are intended to reduce the amount of space required to contain the hash-coded information from that associated with conventional methods. The reduction in space is accomplished by exploiting the possibility that a small fraction of errors of commission may be tolerable in some applications, in particular, applications in which a large amount of data is involved and a core resident hash area is consequently not feasible using conventional methods. In such applications, it is envisaged that overall performance could be improved by using a smaller core resident hash area in conjunction with the new methods and, when necessary, by using some secondary and perhaps time-consuming test to “catch” the small fraction of errors associated with the new methods. An example is discussed which illustrates possible areas of application for the new methods. Analysis of the paradigm problem demonstrates that allowing a small number of test messages to be falsely identified as members of the given set will permit a much smaller hash area to be used without increasing reject time.
Ask this paper your own questions, or keep browsing the verified research catalogue.