Bitcoin kódbázis potenciális támadásai és védelmi vonalai

A Bitcoin hálózat működését előredefiniált folyamatok és procedúrák szabályozzák. Ez jelenleg több mint 640 ezer soros kódban van leképezve, amit a felhőalapú GitHub egy publikus adattárjában tárolnak. Ehhez a kódtárhoz azonban csak nagyon kevés embernek van hozzáférése.

Alapvetően a Bitcoin hálózat teljesen decentralizált, egyetlen kivétel van. Ez a kódbázis elérés a legcentralizáltabb eleme a rendszernek, és potenciálisan egyben a leggyengébb láncszem is. Mi történne, ha valaki illetéktelen hozzáférne ehhez a kódhoz, és egy hibás kódsort helyezne el benne? Lenne lehetősége bármilyen kormánynak arra, hogy hozzáférjen ehhez a kódhoz, és lekapcsolja az egész rendszert?

A mai cikkben Bitcoin szakértők és fejlesztők magyarázzák el, hogyan is működik a rendszer, és hogyan lehet kivédeni ezeket a potenciális támadásokat.

Bitcoin karbantartói

Kik a Bitcoin hálózat karbantartói?

Ahhoz, hogy ezt a kérdést meg tudjuk válaszolni, először meg kell érteni, hogyan is működik a rendszer.

A Bitcoin Core karbantartói azok a személyek, akiknek van jogosultsága bármilyen változtatást végrehajtani a Bicoin kódjában a GitHub tárban. Habár a hivatalos Bitcoin weboldal nem nevezi meg, kik rendelkeznek ezzel a hatalmas felelősséggel, a bitcointalk.org szerint jelenleg 6 személynek van ‘commit’ joga a Bitcoin kódjához. Ők pedig Wladimir van der Laan, Jonas Schnelli, Marco Falke, Samuel Dobson, Michael Ford és Pieter Wuille.

A Bitcoin egy nyílt forráskódú projekt, így a karbantartókat formálisan senki sem jelöli ki. Ezt a felhatalmazást az aktuális karbantartók adhatják oda annak, aki hosszú időn keresztül demonstrálja, hogy megvannak a képességei ahhoz, hogy helyet kapjon az asztalnál.

Gavin Anderson, a Bitcoin Alapítvány alapítója választotta ki Van der Laant a Bitcoin fő karbantartójának például. Ő az, aki a végső felelősséggel tartozik minden egyes Bitcoin Core kódban végrehajtott változásért.

A Bitcoin kódbázis updatje előtt a Bitcoin karbantartók csapata felülvizsgálja a javasolt változást, ami a Bitcoin több ezer fejlesztőjétől érkezhet. Ha a kód megfelelő, akkor elfogadásra kerül.

És itt jön képbe a PGP kulcs.

Minden Bitcoin karbantartó rendelkezik ugyanis hozzáféréssel a PGP (Pretty Good Privacy) kulcshoz. Ezekkel a kulcsokkal lehet ugyanis bejelentkezni, titkosítani és kibontani szövegeket, emaileket, fájlokat és a kommunikáció vagy információ bármilyen más formáját.

Mivel a Bitcoin kódbázisa publikus a GitHub-on, bárki javasolhat változást a kódbázisban. Azonban, hogy ezt folyamatosan és bárki által ne lehessen szerkeszteni, ezért egy változás sem kerülhet élesítésre addig, amíg valamelyik karbantartó ezt jóvá nem hagyja a PGP kulcs segítségével.

Jogosulatlan hozzáférés a Bitcoin Core-hoz

Akárhogy is akarja bárki megtámadni a kódot – legyen ez a valaki belsős a GitHub csapatából – ahhoz, hogy sikerrel járjon, rendelkezni kell hozzáféréssel a PGP kulcsokhoz.

Bárki, aki például a GitHub-nál dolgozik, elviekben tudná módosítani a kódot a kódtárban. Ezért szükséges a PGP kulcs általi jóváhagyás a változás érvényesüléséhez. Ha a GitHub-on tárolt kódot valaki rosszindulatúan megváltoztatná, akkor a kulcs által biztosított aláírások nem egyeznének,” magyarázta Andrew Yang, Bitcoin fejlesztő.

De mi történne, ha egy támadó képes lenne megszerezni a PGP kulcsokat?

Ha ez a kulcs valamilyen módon kikerülne, egy támadó potenciálisan képes lenne módosítani a kódot,” hívta fel rá a figyelmet Elias Strehle, a Blockchain Research Lab kutatója.
Ha ez megtörténne, akkor a Bitcoin karbantartóinak még akkor is lenne rá válasza – legalábbis az elmélet szerint.

Feltételezem, a Bitcoin karbantartói gyorsan létrehoznának egy új kódtárat új PGP kulcsokkal, feltöltenék ide a sértetlen kódot, és megkérnék a közösséget, hogy használják az új kódtárat a sérült Bitcoin Core kódtár helyett,” tette hozzá Strehle.

Tehát egy külső támadás valószínűleg kivédhető lenne, de egy belsős támadásnak sokkal nagyobb lenne a hatása.

Mi történne, ha karbantartók állnának át a sötét oldalra?

Teoretikusan, a rosszindulatú karbantartók fel tudnának tölteni bármilyen kártékony kódot, el is tudnák tüntetni a nyomokat, és imádkozhatnának, hogy senki se vegye észre.
Azonban nagyon nagy valószínűséggel ez nem működne. Ugyanis először is nagyon kicsi a lehetősége, hogy a többi Bitcoin karbantartó és a több ezer másik Bitcoin fejlesztő ezt ne venné észre. De ha mégis sikerülne, van egy második védelmi vonal is.

Úgy gondolom, hogy az ellenőrző aláírások szkriptje elkapná ezt, ha legközelebb valaki beadna egy változtatási kérelmet vagy teszteket futtatna,” mondta Thomas Kerin Bitcoin fejlesztő.

Más szavakkal tehát, ha egy korrumpálódott karbantartó megpróbálna elrejteni a kódban egy rossz kódsort, akkor a következő update során ez komoly ellentmondást okozna a kódban.

Minden egyes fejlesztő figyelmét egyszerre keltené fel, hogy ez miért történt,” tette hozzá Kerin.

Tehát elég hamar kiderülne, ha valaki belülről próbálná aláásni a kód sértetlenségét. A Bitcoin összességében elég biztonságosnak tűnik.

bányászok

A Bitcoin bányászok is védik magukat

A következő mentőövet a Bitcoin esetében a Bitcoin bányászok jelentik, akik szintén ösztönözve vannak, hogy ellenőrizzék a kódbázist, és felfedezzenek bármilyen kártékony kódot.

Adam Back, a Blockstream blokklánc technológiai vállalat CEO-ja szerint a node operátorok azonnal felfedeznének bármilyen kártékony kódot, különben ezzel saját pénzügyi védelmüket gyengítenék.

Ugyanis minden egyes node operátornak megvan a lehetősége, hogy letöltse a legújabb frissítéseket a GitHub-ról. Ugyanis egy node, amely érvénytelen blokkokat küld, azonnal lekapcsolásra kerül a többi node által. Az a node pedig, amely régi blokkokat küld, ignorálásra kerül, és felülírja azt a többi node, amelyek updatelt blokkokat küldenek

Tehát nagyon kicsi a valószínűsége, hogy a támadó kódját elég nagy számú node operátor fogadja el, és ez legyen a teljes hálózaton az elfogadott mechanizmus. “Nagyon hamar kiderülne, hogy a blokklánc nem egyezne, és így elutasításra kerülne,” magyarázta Jason Deane, a Quantum Economics elemzője.

A Bitcoin karbantartói szerep és a titkosított PGP kulcsok használata tehát sokak szemében ellentétes a Bitcoin és a decentralizáció elvével. De a Bitcoin mégis egy nyílt és biztonságos közösség, ahol bármilyen támadás, legyen az külső vagy belső, azonnal felfedezésre kerülne, és megvannak a mechanizmusok, hogy a helyes működés azonnal visszaálljon.