E43 Bitcoin fejlesztők és a bitcoin fejlesztése
Az adás tartalmából
Átirat
Sziasztok, üdvözöllek titeket! Ez a HUSZONEGY Bitcoin Podcast 43. epizódja. Ma Lőrinccel arról fogunk beszélgetni, mi is az a Bitcoin-hálózat, hogyan jött létre, kik írják a kódot, hogyan fejlődik, és miben különbözik magától a bitcointól mint pénztől. Lőrinc már kétszer járt nálunk az AI kapcsán, de most szoftverfejlesztői oldalról közelítjük meg a Bitcoin történetét.
– Kezdjük talán a White Paper-nél vagy a kód 2009-es megjelenésénél. Sokkal messzebbről indul a történet, mint azt sokan gondolják. Sokan úgy tekintenek rá, mintha a semmiből az ölükbe pottyant volna, de komoly történelmi előzményei vannak. Már az internet hajnalán, a HTTP kódok tervezésekor félretették a 402-es hibakódot a fizetési funkciónak. Az internet alapjaiban benne volt egy saját, fénysebességgel terjedő pénz igénye. Rengeteg kísérlet volt korábban – e-cash, B-money, Bit Gold –, de a Bitcoin volt az első, ami nem omlott össze a valóság súlya alatt.
Satoshi Nakamoto korábbi kezdeményezéseket porolt le. Behozta a Hashcash-t, ami Adam Back nevéhez fűződik. Érdekes, hogy a Proof of Work (PoW) eredetileg a spam, a levélszemét elleni harcra jött létre. Régen elég volt egyszer kitenni az email címedet, és elárasztottak a szeméttel, mert a küldés ingyenes volt. A cypherpunkok eleinte egy központi cenzort akartak, de Adam Back rájött, hogy az email-küldésnek árat kell szabni, ami nem használható fel újra, és csak az adott szöveggel, adott fogadónak érvényes. Ez a Proof of Work lényege: hashelni kell az információt, amíg az nem felel meg egy bizonyos matematikai feltételnek.
– Miért pont a 2008-as válság idején érett be ez a technológia? – A cypherpunkok már a 70-es években elkezdték keresni a világ digitalizálásának útját. A mikroprocesszorok megjelenése után nagy volt a lelkesedés, hogy teremtünk egy virtuális világot, ahol semminek nincs ára és következménye. De hamar kiderült a „másnaposság”: következmények nélkül nem lehet építkezni. A protokollok és a titkosítás pont azért születtek, hogy korlátokat szabjanak. Olyan ez, mint a fék az autóban: azért van rá szükség, hogy gyorsabban merj menni. Vagy mint a korlát a szakadék szélén: azért kell, hogy kimehess a szélére.
A korábbi próbálkozásoknak mind volt valamilyen gyengesége. Az egyiknél egy központi entitástól kellett megkérdezni, hogy nem költötték-e el kétszer ugyanazt a tokent (double spend problem). Ez visszahozta a bankokat a rendszerbe. A másiknál a bányászat nem alkalmazkodott a technológiai fejlődéshez: a CPU-kapacitás növekedésével a korai egységek elértéktelenedtek, ami inflációt okozott. Satoshi zsenialitása abban állt, hogy ezekből a hibákból tanulva gyúrta össze a Bitcoint. Amikor 2008 végén kijött a White Paper-rel, már készen volt a szoftverprototípusa is. Ez nem egy „mennyekből leszállt tökéletes könyv” volt, hanem egy barkácsolt kód, ami viszont túlélte a támadásokat. Van itt egy „survivor bias”: a Bitcoinról beszélünk, mert a többiek belehaltat a támadásokba.
– Satoshi nem vérbeli szoftverfejlesztő volt, inkább az osztrák közgazdászok munkáiból merített. Az inflációt rejtett adónak tartotta, és egy olyan rendszert akart, ahol az állam nem tud beleszólni az emberek közötti interakciókba. Hogyan fejlődött tovább ez a prototípus? – Satoshi prototípusnak szánta, nem is számított rá, hogy bizonyos változtatások milyen drasztikus hatással lesznek. A Bitcoinban az a legnehezebb, hogy sok különböző résztvevőnek kell ugyanazon adatok alapján pont ugyanazokat a döntéseket hoznia, anélkül, hogy tudnák, a többiek milyen szoftvert futtatnak. Egy decentralizált hálózatban bárki támadhat DDoS-szal, vagy létrehozhat hibás tranzakciókat, hogy leterhelje a node-okat.
Satoshi első kódjában a bányászat és a validáció még egyben volt, sőt, még egy pókerjátékot is beleírt, mert azt hitte, arra is használják majd a Bitcoint. Később a fejlesztőknek szét kellett szedniük ezt az egészet. Bevezették azokat az ellenőrzéseket, amiket gyorsan le lehet futtatni, hogy a hibás tranzakciókat azonnal kiszűrjék. A Bitcoin olyan, mint egy tank: csak úgy lehet ellenőrizni a strapabírását, ha folyamatos támadásnak tesszük ki. Az elején Satoshi még agresszívan javította a hibákat, néha úgy „csempészte be” a hard fork-okat, hogy csak „takarításnak” nevezte a módosítást. De akkor még csak hárman használták rajta kívül.
– Magyarázzuk el a soft fork és a hard fork fogalmát! – A soft fork egy olyan szabálymódosítás, ami szűkíti a lehetséges tranzakciók körét. Olyan, mint egy internetes űrlap: régen bármilyen számot beírhattál a korodhoz, az új szabály szerint viszont már csak nullánál nagyobbat. A régi verziót futtatók el fogják fogadni az új szabályok szerint készült bejegyzéseket, de az újak már nem fogadják el a régiek „negatív számait”. Ez egy visszafelé kompatibilis módosítás. A hard fork ezzel szemben bármi más: ha Super Mariót csinálsz a Bitcoinból, az egy hard fork.
– Miért kell egyáltalán módosítani valamit, ami működik? – Mert a környezet is változik. Például kijön egy új Mac operációs rendszer, amihez speciális aláírás kell, különben nem indul el rajta a Bitcoin-node. Vagy ott van az IBD (Initial Block Download): jelenleg a 870 000 blokk letöltése egy Raspberry Pi-n akár egy hétig is tarthat. Tegnap fogadtak el egy módosítást, amin én is dolgoztam, és ami 30 százalékkal gyorsabbá teszi ezt a folyamatot. A fejlesztésre azért van szükség, mert a támadási felületek is változnak. Olyan ez, mint a nyúl és a róka evolúciója: a róka tanul valami újat, a nyúlnak is válaszolnia kell.
Sokan aggódnak, hogy a fejlesztők túl nagy hatalmat kapnak, de a Bitcoinban nincs központi irányítás. Ha valaki bele akar csempészni valamit a kódba, amit mások nem akarnak, azt kivetik magukból. 2017-ben egy fejlesztő megpróbálta önkényesen megnövelni a blokkméretet, de azonnal visszaállították a kódot, őt pedig kizárták a hálózatból. Jelenleg öt-hat embernek van joga változtatásokat elfogadni (merge) a fő repóba, de ők nem „királyok”, hanem inkább „takarítók”. Egy hálátlan munkát végeznek: átnézik mások kódját, és ha elegen rábólintottak, megnyomják a gombot.
– Ki dönti el, mi kerüljön bele a szoftverbe? – Egy cégnél a sales-es elad egy funkciót, a menedzser pedig kiadja a munkát a „rabszolgáknak”. Itt nincs „apuci”. Ha van egy ötleted, írj kódot, győzz meg másokat, alapíts rá céget, mutasd meg, hogy működik! A Bitcoin olyan, mint egy élőlény a vadonban: nem akar menni sehova, csak élni akar, és a visszajelzések alapján alakul. Engem sem vett fel senki. Egyszer csak megjelentem a semmiből és elkezdtem átnézni mások munkáját. Eleinte azt hitték, észak-koreai hacker vagyok, és az immunrendszer azonnal támadott. Időbe telt, mire felépítettem a reputációmat.
Ebben a körben mindenki „nagyfiú”, itt vannak következmények. Ha elrontod a kódodat, szétalázzák a GitHub-on. Ha elhagyod a privát kulcsodat, elvesztetted a pénzedet. Elszoktattak minket a következményektől a bankszámlák világában, de a Bitcoin visszaadja a felelősséget. Én például abban vagyok jó, hogy mélyre megyek az optimalizálásokban. A „coin selection” folyamatát vizsgálom: hogyan lehet minél gyorsabban validálni egy tranzakciót, és kiszűrni a felesleges pluszmunkát.
– Mennyire nehéz befogadni az újításokat? Sokan dinoszaurusz-szoftvernek hívják a Bitcoint. – A Bitcoin feladata, hogy a nem fontos dolgokban ne változzon, a fontosakban viszont tudjon alkalmazkodni. De nincs előre leírt definíciónk arra, mi a fontos. Jelenleg például sokan panaszkodnak a bányászat centralizációjára, mert a gépek nem látják, mit hashelnek, a pool-üzemeltetők választják ki a tranzakciókat helyettük. A fejlesztők ezen is dolgoznak, mert pesszimisták: próbálják elképzelni a legrosszabb támadási forgatókönyveket, és védekezni ellenük.
Az open source világban bárki hozzájárulhat a sikerhez. Nem kell zseninek lenni, el lehet kezdeni dokumentáció-javítással vagy supporttal is. Ha komolyan veszed, és hónapokat, éveket áldozol rá, elmondhatod, hogy a Bitcoin működése a te munkádat is tartalmazza. Ez egy „kilépő” a rendszerből, pont úgy, mint az internet volt az elején. Többé nem mondhatod, hogy nem tudtál utánanézni a dolgoknak, vagy hogy függsz valaki mástól. A Bitcoin megoldást kínál a vagyonod megőrzésére és a jövőképedre.
Köszönöm a figyelmet, remélem hasznos volt ez a technikaibb adás! Lőrinc, köszi, hogy itt voltál. Jövő héten újra találkozunk. Sziasztok!
Böngésszétek a HUSZONEGY honlapját a huszonegy.world címen, ahol rengeteg ingyenes oktatóanyag elérhető. Azok számára pedig, akik személyes támogatást igényelnek, ajánljuk a Bitcoin Mentor szolgáltatásait a bitcoinmentor.hu honlapon. Iratkozz fel a HUSZONEGY Podcast YouTube csatornájára és a Rumble csatornánkra is! Kövesd a HUSZONEGY-et Facebookon és Nostron. Támogatóink Miskolctapolca Bitcoin-elfogadó wellness szállodái, a Hotel Aurora és a Hotel Atlantis. És a Firefish üzeni: ne adjátok el a bitcoinotokat!