Bloom Filter Nedir?
Hadi Bloom Filter anlamını, kriptodaki tanımını, bloom Filter Nedir ve diğer tüm ayrıntılı gerçekleri öğrenelim.
1970’te Burton Howard Bloom tarafından geliştirilen Bloom filter kullanıcıyı belli bir nesnenin sete ait olup olmadığı konusunda bilgilendirir. Filter sadece bir nesnenin sette olmadığı tam bir kesinlikle gösterebilir. Nesnenin sette olduğunu gösteriyorsa bu bazı durumlarda yanlış olabilir.
Yer kazandırma verimliliğinden dolayı Bloom filter çeşitli uygulamalar için çok çekicidir. Kripto dünyasında Simplified Payment Verification (SPV) içerisinde, özellikle Bitcoin konusunda sıkça kullanılır.
Kullanıcılar SPV istemcisi kullanarak full node’lar olmadan Bitcoin ağını kullanabilir. Akıllı telefonlar gibi düşük güce sahip cihazlarda full node çalıştırmak zordur çünkü belli bir depolama ve işlem gereksinimine sahipdtirler. Bu yüzden SPV istemcileri full node’lara sadece cüzdan bilgilerini sorabilir.
Bu bilgiye erişmenin en kolay yolu full node’ları kullanıcının anahtarları konusunda bilgilendirmektir. Böylelikle sadece alakalı işlemler ulaştırılır. Ancak bu kötü bir seçenektir çünkü kullanıcının gizliliğini tehlikeye atılır.
Çoğunluğunu silmek için tüm işlemleri indirmek de iyi bir fikir değil çünkü çok fazla bant genişliği çöpe gider. İşte bu noktada Bloom filter yardıma koşuyor.
Diyelim ki Anna bir müşteri ve John bir full node. Anna masraflı bir işlem gerçekleştiriyor ve John’un bundan haberi olsun istemiyor. İşte bu yüzden işlemini “maskeleyebileceği” bir yola ihtiyacı var. Bir Bloom filter oluşturuyor. Şöyle göründüğünü varsayalım:
3 4 2 1 6 8 7 5 0 9
İşlem verisini iki ayrı hash fonksiyonuyla çalıştırıyor. Her bir fonksiyon yukarıda gördüğünü sayı dizisinden iki değer seçiyor. Bu değerler 2 ve 8 diyelim.
3 4 2 1 6 8 7 5 0 9
Sonrasında Anna filter’ı John’a yolluyor. Anna’nın filter’a ne gönderdiğini bilmenin imkanı yok.
John, Anna’nın verilerini içeren tüm sete sahipse hash edip filter’daki benzerlikleri arayabilir. Eşleşme olursa Anna’nın istediği bilgi olabilir.
Ancak aynı anda birkaç girdi 2 ve 8’i işaret edebilir. Bu yüzden John, Anna’nın hangi veri kısmıyla ilgilendiğini kesin olarak söyleyemez. Sonrasında tüm eşleşmeleri geri gönderir, Anna da sonrasında içerisinden seçer.
İşlem göründüğünden çok daha karmaşık ancak Bloom filter müşterinin asıl ilgilendiğini nasıl gizlediğini ortaya koyuyor.
Bloom filter istenilen bilgiyi elde etmede en iyi yöntem olmayabilir çünkü bazı gizlilik endişeleri var. Ancak bir node’a gizlenmiş bir talep göndermek için iyi bir seçenek.