Röviden a Microsoft Bitcoin-ötletéről
2011-11-14Szerző: coderrr
Ez egy nagyon leegyszerűsített összefoglaló a Microsoft Bitcoin-dolgozatának, a “Bitcoinról és vörös ballonokról”-nak (“On Bitcoin and Red Balloons“). Olyan embereknek írom, akik már értik magának a Bitcoin hálózatának és a protokollnak a működését. Aki ezzel még nincs tisztában, az itt tájékozódhat.
A dolgozatban a Microsoft kutatói rámutatnak, a rendszer kifejezetten elveszi a bányászok kedvét attól, hogy megosszák egymással a tudomásukra jutott, még feldolgozásra váró tranzakciókat: elvégre ha mindenki megtartja magának a felfedezett tranzakiókat, úgy annál több rá az esélye, hogy ő zsebelhesse be az azokhoz felajánlott tranzakciós díjakat, és ne más. Mivel az ily módon felajánlott díjakból most még általában sokkal kevesebb jön össze az 50 BTC-s blokkonkénti jutalomnál, ezért jelenleg ez a felállás még nem okoz komoly gondot, viszont ahogy a jövőben egyre csökken a blokkonkénti jutalom, úgy válik majd egyre égetőbbé ez a probléma.
A kutatók ezért egy olyan megoldást javasolnak, ami nem csak az egyes blokkokat sikeresen megoldó csomópontokat jutalmazza meg, hanem azokat is, akik továbbítják a felfedezett tranzakciókat. Így minden tranzakciónak lenne egy továbbítási lánca – ha pedig egy bányász sikeresen megold egy blokkot, úgy az abba foglalt tranzakciók továbbítási láncaiban szereplő csomópontok is kapnak valamennyi jutalmat. Amely elképzeléssel csak annyi a gond, hogy könnyen vissza lehet élni vele, mivel egy csomópont saját magának is továbbíthat egy tranzakciót, akárhányszor egymás után, hogy nagyobb jutalmat igényelhessen magának; ezt Sybil-támadásként említik.
A kivédéséről pedig úgy gondoskodnának, hogy meghatároznak egy maximális H hosszot a továbbítási láncoknak; e hossz túllépése esetén a továbbítók egyszerűen nem kapnak egyáltalán semennyi jutalmat a továbbításért. Ez elvileg elveszi a kedvet az önmagába visszaforduló továbbítástól, és inkább ösztönzi a tisztességes viselkedést, mivel szimpla továbbítás esetén így több lehet rá az esély, hogy még azelőtt megoldja valaki a blokkot, hogy a továbbított tranzakciók ennél a bizonyos H-nál több csomóponton haladnának keresztül.
A dolgozatban körvonalazzák egyebek mellett a H értékének, valamint a továbbítási láncban szereplő csomópontok jutalmának megfelelő meghatározására javallott optimális stratégiáikat is. Ezeknek a modellezéséhez azonban ciklusmentes irányított fákat használnak random gráf helyett (holott a Bitcoin hálózata valójában sokkal inkább ilyen), ezért egyelőre nem tudhatjuk, hogy ez a megoldás mennyire is működne jól a valóságban. A random gráfok kidolgozását meghagyják jövőbeli kutatások anyagának.
Egy kérdés
Mi akadályozza meg, hogy a csomópontok meghamisítsák/megrövidítsék a továbbítási láncot, és kiiktassák belőle a többi továbbítót?
A kutatók a protokoll megváltoztatását javasolják oly módon, hogy meg kelljen adni annak a nyilvános kulcsát, akihez továbbítod a tranzakciót, majd aláírni azt a saját nyilvános kulcsoddal. Így ha például egy tranzakcióban coderrr küld bitcoinokat sammynek, a lánc pedig coderrrből, Bobból, Alice-ből és a bányászból áll, akkor az így nézne ki:
1| msg0 = sign_coderrr(coderrr->sammy, 1BTC, forwardto: Bob)
2| msg0 = sign_bob(msg0, forwardto: alice)
3| msg0 = sign_alice(msg1, forwardto: bányász)
Alice tehát nem hamisíthatja meg az eredeti üzenetet, mivel nem tud coderrrként aláírni. A további részletekhez már valóban érdemes elmélyedni a dolgozatban; itt csak a legfőbb lényeget igyekeztem összefoglalni, hogy mindenki könnyen megérthesse, hogy pontosan miről is szól ez az egész. Nem szándékozom érvelni sem a dolgozatban felvetett elképzelés mellett vagy ellen, csak ismertettem azt.
Forrás: coderr
A lap szövege Creative Commons Nevezd meg! – Ne add el! – Így add tovább! 3.0 licenc alatt áll, felhasználni csak forrásmegjelöléssel, és ide mutató linkkel szabad.