Ma is tanultam valamit: Bitcoin CPFP!

Előszó: Tudom-tudom… nem pont egy ilyen teki cikkel kéne megünnepelni, hogy újabb ATH-n vagyunk… De most éppen ez volt a csőben. Majd jönni fog hamarosan általánosabb és to-the-moonosabb cikk is, de továbbra is törekednék arra a blog kapcsán, hogy az agy dopamin termelő receptorai mellett azért a szürkeállományt is tudjam stimulálni.

Bár az elmúlt években sokat javult a viszonyom az Ethereummal, de azt továbbra sem állítanám, hogy szoros barátságban lennénk. Itt a blogon is sokszor értekeztem már az olyan nonszensz dolgokról, mint a trackelhetetlen belső tranzakciók, vagy az előre azonosíthatatlan contract címre történő transfer, stb. Ezekről a témákról még 2019 februárban írtam alaposabban itt: -link-

Egy olyan dolog volt eddig az Ethereum kapcsán, amire viszont – hithű Bitcoinosként – kifejezetten féltékenyen tekintettem: Ez pedig a tranzakció kicserélés lehetőség. Ennek nagyon leegyszerűsítve annyi a lényege, hogy amíg egy tranzakció nem kerül blokkba, addig az bármikor kicserélhető egy másik tranzakcióra. Főleg akkor van létjogosultsága, ha például sikerül egy tranzakciót nagyon alcsony fee-vel elindítani, ami hírtelen sürgőssé válik. Ilyenkor ethereum tx esetén egyszerűen csak fogom magam, összerakom az új tranzakciót, majd ugyanazzal a nonce-szal (sorszámmal) külön el, mint ami a kicserélendő tranzakció sorszáma és voilá(!)

Természetesen Bitcoin esetén is van erre lehetőség, korábban már elmélkedtem itt a blogon a Replace-by-Fee (RbF) megoldásról, ami egyébként egy horror, nem is beszélve arról, hogy a különböző kliensek különböző módon kezelik és kifejezetten körülményes azzal boostolni a tranzakciót. Pláne, hogy eleve csak a meglévő change output terhére növelhető vagy módosítható a tranzakció. Plusz hozzájön még az, hogy alap esetben majd az összes wallet tiltja az RbF-et (nSequence=max(UINT)).

Szóval nem az igazi…

Pont a napokban keveredtem egy olyan helyzetbe, amikor nagyon megszorultunk egy tranzakcióval, ami egy téves költségbecslés miatt igen alacsony fee-vel futott ki, úgyhogy kicsit beleástam magam a Bitcoin ezirányú rejtelmeibe… Mikor is több helyen is elém került a Child-Pays-for-Parent megoldás.

Ez gyakorlatilag az ethereum kapcsán fentebb bemutatott tranzakció kicserélős módszer Bitcoinos implementációja. Ráadásul simán használható bármilyen tranzakció esetén (kivéve az n. input 1 output tranzakciókat, ahol az output nem a mi címünk -> De ez igencsak ritka holló…).

Child-Pays-for-Parent (CPFP)

A megoldás lényege végtelenül egyszerű. Adott egy beszorult tranzakció, ami feltehetően napokig vagy hetekig nem fog blokkba kerülni, sőt az is lehet, hogy teljesen eltűnik a fullnodeokból. Ez a tranzakció minimum 1 darab inputot (utxo) tartalmaz, amit el akarunk költeni és ideális esetben egy vagy több elköltendő outputot és egy további un. change outputot, ami valójában a mi saját címünk.

Folytatás…

Bitcoin skálázási vita: az utolsó kapcsolja le a villanyt…

Az előző postokban ([1], [2]) megpróbáltam kifejteni, hogy mi is várható a bányászok részéről a november 18-ai hard-forkot követően. Bár hosszan próbáltam elemezni az egyes scenariokat, azonban egy konkrét szempontot teljességében figyelmen kívül hagytam eddig, ez pedig a vitát végérvényesen eldöntő kérdés: nevezetesen, hogy mit is fognak csinálni a Bitcoin felhasználók, pontosabban a Bitcoin SPV walletek. Akinek nem mond semmit az SPV: Ez a Simple Payment Verification rövidítése, mely annyit takar, hogy egy nagyon lebutított wallet, ami a privát kulcsok ismeretében képes a Bitcoin hálózattal anélkül kommunikálni, hogy ehhez bármilyen közvetítő alkalmazást vagy szolgáltatást használna. Népszerűbb walletek (Breadwallet, Jaxx, Multibit, BreezeWallet, stb.) mindegyike ezt a technológiát használja. Persze ha már felsorolás, akkor nem illik kihagyni a HiddenWalletet sem, amit hazánk fia @nopara73 keze munkája.

Az SPV walleteket nem szabad összekeverni az “API walletekkel”. Utóbbiakra egy példa az Electrum. Ezek a walletek nem direktben a Bitcoin hálózathoz kapcsolódnak, hanem egy saját alkalmazásszerverhez, ami közvetít a bitcoin hálózat felé, ennek megfelelően nem a wallet dönti el, hogy mit tekint Bitcoin hálózatnak, hanem az alkalmazásszerver, mely utóbbiban ez tetszőlegesen befolyásolható.

Az SPV walletek a Bitcoin hálózat forgalmának igen nagy részét adják. Aki napi szinten használja költéseihez is a Bitcoint az biztosan használ valamilyen SPV walletet. Bár tudom ez a napi költés dolog sok olvasó számára még gondolat szinten is hihetetlen, de tény hogy a világ más részein ez nem csak, hogy teljesen természetes, de bizonyos helyeken konkrétan nem is lehet mással fizetni, mint cryptopénzekkel. Az előző hétvégén egy prágai konferencián volt szerencsém ezt kipróbálni…

Az SPV walletek egyébként nem újszerű találmányok, maga a protokoll már a Satoshi által kiadott Bitcoin whitepaperben is szerepelt 2008-ban. Szóval aki hithű Satoshi vízionistának tartja magát, annak kutya kötelessége SPV walleteket (is) használni! Az SPV pénztárcák működése egyébként pofonegyszerű:

  • Felcsattannak a legközelebbi Bitcoin node szerverre, megkeresik a leghosszabb láncot, majd syncelik onnan a lánc fejléceket. Ja és természetesen teljesen hidegen hagyja őket a a blockméret és bármilyen egyéb olyan limitáció, ami a konszenzus szabályokból származik. Az SPV walletek egyetlen lényegi funkciója egy nagyon gyors blockchain-hálózat elérés és a double-spending védelem biztosítása.

Mi a franc is az a node? A node egy önálló Bitcoin szerver, amely tárolja a teljes blockláncot és képes azt folyamatosan karban is tartani. Emellett képes tranzakciókat továbbítani a hálózat felé. A “minek ez?” kérdést, most nem szeretném kifejteni részleteiben, ezért csak maradjunk annyiban, hogy egy decentralizált peer-to-peer hálózatban a nodeok azok a szereplők akik az egész hálózatot fenntartják. Ha egy tranzakció eljut egy nodeig, akkor az nagyon-nagy valószínűséggel blockba is lesz foglalva. Vagyis egészen novemberig ez így lesz… Novemberben valami olyasmi fog (várhatóan) történni, amit követően a legkevésbé sem lehetünk abban biztosan, hogy ha egy tranzakciót (pl. SPV walleten keresztül) eljuttatunk egy nodehoz, akkor azzal mi fog történni… A post hátralévő része ezen kialakuló anomáliát próbálja megértetni az olvasóval.

A cikk ezen pontjáig megpróbáltam tudományosan megközelíteni a kérdést, innentől viszont átkapcsolok a full-kretén-blogger módba és jön a fantasztikus rész. A cikk folytatását mindenkinek csak saját felelősségre javaslom… Azt garantálom, hogy a bejegyzés végére le fog verni a víz… Különösen annak fényében lesz talán nehezen emészthető, ha abból indulok ki, hogy a BTC már megint ATH-ban van és várhatóan egy darabig már nem is nagyon akarja elhagyni az 5000 USD-s árfolyam tartományt.

Folytatás…

Bitcoin only for Business I.: ez már a hardfork szele?

 

Elnézve az elmúlt egy nap eredményeit kétségtelenül kijelenthető, hogy az utcákon hömpölyög a $crypto vér. A BTCUSD árfolyama stabilan zuhan több mint 48 órája és pepillanat másodjára készül annak, hogy nekifusson a 2000$-os támasz áttörésének (lefelé…). A blogomon az elmúlt kb egy hónapban kiemelt figyelmet szenteltem a Bitcoin közelgő hardforkjához kapcsolódó dráma részletes bemutatására. Eddig főleg arra törekedtem, hogy az elkövetkező időszak lehetséges forgatókönyveit mutassak be és valamilyen szinten latolagassam az egyes scenariók esélyeit. Ez a történetszál itt és most lényegében lezárható, mivel a jelek szerint már csak egyetlen scenario van, ez pedig a nagyon gyors hard-fork. Tehát jelenleg az az alternatíva látszik már csak egyetlen útként, hogy augusztus elsején aktiválódik az UASF/BIP148, mely automatikusan kizárja a non-segwit nodeokat, melyre ellenintézkedésként a teljes BTC1/BitcoinABC konglomerátum leforkolja a bitcoin blockkláncot és MÁR aug 1-et követően létrejön egy újabb teljes értékű blocklánc, amin a tervek szerint már eleve aktiválni fogják a big-block módot is. Pontosabban (és itt nagyon fontos a kontextus): Sajnálatosan a SegWit2x (Bitcoin ABC) sikertelen aktiválása miatt az augusztus elsején aktiválódó BIP148 kizárja a hasing power nagyobb részét bírtokló nodeokat/bányászokat a bitcoin blockláncból, ami miatt automatikusan egy hardfork fog keletkezni. Mindez akkor terészetesen a bitcoin core csapatnak és a BIP148-nak a hibája lesz, persze mindennek a hátterében egy szándékos kikényszerítés áll az ellenérdekelt (bitcoin only for business) csapat részéről.

Ez ugye a korábbiakban bemutatott alternatívák közül a legbrutálisabb és leghihetetlenebb. Márpedig a jelek szerint nagyon más alternatíván nem is nagyon gondolkodik már senki.

Mielőtt ezen a ponton tovább haladnál: szeretném jelezni, hogy a cikk további része elvárja azokat az alapismereteket az olvasótól, amit a korábbi bitcoin forkológia cikksorozatban már megosztottam. Ha nem olvastad azt a cikksorozatot és nagyon érthetetlen lenne bármi is az alábbiakból, akkor mielőtt hibás félkövetkeztetéseket vonnál meg, tedd meg, hogy elolvasod azt a cikksorozatot is: https://variance.hu/category/otc/bitcoin/forkology2017/

Nézzük az evidenciákat, amik ezen következtetéshez vezetnek:

Folytatás…