ตัวกรอง Bloom เป็นโครงสร้างข้อมูลที่สามารถใช้แจ้งผู้ใช้ว่ารายการใดเป็นส่วนหนึ่งของชุดหรือไม่ แม้ว่าจะไม่สามารถพูดได้อย่างแน่นอนว่าองค์ประกอบนั้นอยู่ในเซตหรือไม่ แต่ก็สามารถพูดได้อย่างแน่นอนว่าไม่ใช่องค์ประกอบนั้น สร้างขึ้นโดย Burton Howard Bloom ในปี 1970 ตัวกรอง Bloom เป็นข้อเสนอที่น่าสนใจสำหรับการใช้งานที่หลากหลายเนื่องจากประสิทธิภาพในการใช้พื้นที่ ใน cryptocurrencies บางอย่าง (โดยเฉพาะ Bitcoin) พวกเขามีบทบาทสำคัญในการตรวจสอบการชำระเงินแบบง่ายหรือ SPV ในการใช้ไคลเอ็นต์ SPV ผู้ใช้สามารถโต้ตอบกับเครือข่าย Bitcoin ได้โดยไม่ต้องใช้โหนดแบบเต็ม โหนดแบบเต็มมาพร้อมกับข้อกำหนดด้านการจัดเก็บและการคำนวณที่ทำให้ใช้งานบนอุปกรณ์ที่ใช้พลังงานต่ำเช่นสมาร์ทโฟนเทอะทะ ในทางกลับกัน ไคลเอนต์ SPV เพียงแค่ค้นหาโหนดแบบเต็มสำหรับข้อมูลที่เกี่ยวข้องกับกระเป๋าเงินของผู้ใช้ วิธีแก้ปัญหาที่ตรงไปตรงมาที่สุดในการถ่ายทอดข้อมูลนี้ไปยังผู้ใช้คือการทำให้โหนดแบบเต็มทราบถึงคีย์ของลูกค้า เพื่อให้ส่งเฉพาะธุรกรรมที่เกี่ยวข้องเท่านั้น เห็นได้ชัดว่านี่เป็นโซลูชันย่อยเนื่องจากความเป็นส่วนตัวของลูกค้าจะต้องเสียสละ ในทางกลับกัน การดาวน์โหลดธุรกรรมทั้งหมดเพียงเพื่อละทิ้งธุรกรรมส่วนใหญ่จะเป็นการสิ้นเปลืองแบนด์วิดท์ ป้อนตัวกรอง Bloom มาอธิบายกัน สมมติว่าลูกค้าชื่อ Alice มีธุรกรรมที่มีมูลค่าสูงซึ่งเธอไม่ต้องการให้ Bob ซึ่งใช้งานโหนดเต็มรูปแบบทราบ เธอสร้างตัวกรอง Bloom ซึ่งเราจะแสดงเป็นตาราง 10×1: 0-9 ไม่เน้นตัวเลข เธอส่งข้อมูลธุรกรรมที่เธอสนใจผ่านฟังก์ชันแฮชสองแบบที่แตกต่างกัน ซึ่งแสดงตัวเลขสองตัวระหว่าง 0 ถึง 9 มาเรียกมันว่า 4 และ 7 เธอส่งตัวกรองไปให้บ๊อบ 0-9. 4 และ 7 ถูกเน้น เมื่อดูตารางนี้ คุณไม่รู้ว่าข้อมูลที่อลิซส่งไปยังตัวกรองใด หากคุณมีชุดที่มีข้อมูลอยู่ คุณจะสามารถแฮชและเปรียบเทียบกับตัวกรองได้ – หากมีข้อมูลที่ตรงกัน มีความเป็นไปได้ว่ามันจะเป็นข้อมูลที่อลิซขอ ในเวลาเดียวกัน มีแนวโน้มว่าจะมีอินพุตจำนวนมากที่จะจับคู่กับ 4 และ 7 ดังนั้น Bob จึงไม่สามารถระบุได้ว่าส่วนใดของข้อมูลที่ Alice สนใจ เขาเพียงแค่ส่งคืนการแข่งขันทั้งหมด และ Alice จะกรองข้อมูลเหล่านั้นที่ส่วนท้ายของเธอ แน่นอนว่านี่เป็นการทำให้เข้าใจง่ายเกินไป แต่มันแสดงให้เห็นแนวคิด: ตัวกรองของ Bloom บดบังความสนใจที่แท้จริงของลูกค้า ไม่ใช่วิธีการที่สมบูรณ์แบบ (ยังคงมีข้อกังวลเกี่ยวกับความเป็นส่วนตัว) แต่เป็นการปรับปรุงมากกว่าคำขอที่ไม่มีการป้องกันไปยังโหนด
จองคอร์สเรียน LINE ICON