Miért fontosak a Bitcoin tárcákban a blokkszűrők az adatvédelemhez?

Az olyan szoftverfejlesztői csomagok előretörésével, mint a BDK és az LDK, sosem volt annyira egyszerű bitcoin tárcát készíteni, mint most. Viszont az egyszerűség ellenére sem szabad elfeledkezni azokról a funkciókról, amelyek a biztonság és az adatvédelem szempontjából létfontosságúak. Például nagyon fontos kezelni, ha egy tárca egy külső fél szerverével kommunikál a tranzakciós adatok kapcsán. A Bitcoin Magazine egyik véleménycikke szerint a blokkszűrők a létfontosságúak egy bitcoin tárca szempontjából. Így lehet ugyanis csak biztosítani, hogy az amúgy is elérhető adatokon kívül más ne szivárghasson ki a tranzakcióról.

A bitcoin tárcák néhány típusa védelem szempontjából

Csak azon felhasználók tudnak közvetítők nélkül küldeni és fogadni, akik nyilvános csomópontot (listening node) üzemeltetnek. A legóvatosabb becslések szerint ilyenből 16 ezer lehet. Aztán vannak a non-listening, nem nyilvános node-ok, amelyekből 53 ezret becsülnek. De anno pl. 2018-ban volt ezekből 200 ezernél is több, nem utolsósorban azért, mert a bitcoin akkoriban is árcsúcsokat döntögetett.

Szóval jóval egyszerűbb egy átlagos felhasználó számára egy ún. light (szerverhez kapcsolódó) tárca használata. Ezek többsége API tárca egyébként. Ez a következőképp működik nagyon röviden: amikor egy standard bitcoin tárcát létrehozunk, a szavakból álló kulcsunk eredménye a mesterkulcs, vagy xpub. Ezt az xpubot elküldjük a szolgáltató szerverére, ahol aztán bitcoin címhez kerül hozzárendelésre és így a szerver indexe segítségével megy a tranzakciók kezelése. Viszont értelemszerűen a szolgáltató képes lehet a tranzakcióinkat összegyűjteni és minden egyéb elérhető adatunkat is, mint IP cím. Néhány API tárca lehetővé teszi a Tor használatát, így legalább az IP címünk védve van.

Aztán vannak tárcák, amelyek Bloom filtereket használnak. A Bloom-szűrők valószínűségi adatszerkezetek, amelyeket arra használnak, hogy teszteljék, hogy egy elem tagja-e egy halmaznak. A bitcoin kontextusában a Bloom-szűrőket egy kliens hozza létre és küldi el a hálózati társainak, amelyek tesztelik, hogy van-e egyezés egy cím (elem) és a blokklánc adatai (halmaz) között. Ha van egyezés, akkor a tranzakciós adatokat elküldik a kliensnek. Ez valószínűségi alapú működés, mert hamis pozitív eredmények is lehetnek. Pont azért, hogy ne legyen azonosítható a felhasználó. Viszont pont a hamis pozitív eredmények segítségével végül aztán lehetséges mégis a felhasználó adataink meghatározása.

A harmadik opció, a blokkszűrők használata

A harmadik opciónk nem más, mint a blokkszűrők használata, amelyet a BIP157-ben és BIP158-ban vezettek be 2019-ben. Ma már használja a Wasabi, a Blixt és a Breez tárcája is. A blokkszűrők tömörítik a blokkadatokat, hogy a tárcák az egyes tranzakciók keresése helyett az egyes blokkok letöltésével az adatbiztonság megőrzésével fogadhassák a tranzakciókat. Mivel az egyes tranzakciók helyett egész blokkokat töltünk le, és mivel van egy hamis pozitív arány is, a blokkszűrő módszer védi a felhasználó adatait. A Bloom-szűrőkkel és az API-tárcákkal ellentétben nem tudja kideríteni (vagy nem gyűjti közvetlenül) a felhasználó tranzakciói közötti kapcsolatot, azon kívül, ami a blokkláncon nyilvánosan ismert.