Mondjak egy Bittrex viccet?

Szokás mondani, hogy az újszülöttnek minden vicc új. Tény, hogy nemrégen költöztem be a Bittrexre a shitcoin rallik miatt,  na de ezen nem kicsit meglepődtem:

Szóval miközben a felületen “network congestion” címen le van tíltva minden kereskedés, addig API-n keresztül boldogan tudom feladni a vételi és eladási megbízásokat a legkisebb fennakadás és probléma nélkül. Ergo a bittrex a felületet használó felhasználókkal szemben előnyben részesíti az API-t használó botokat és trader scripteket. Így pl a felületet használók nagy sajnálatukra lemaradtak az LTC-BTC ralli pumpáról, nem úgy a botok és a scriptet:

 

Jó tudni. Eddig sem nagyon kereskedtem felületen, mert számomra a bittrex egy átláthatatlan katyvasz, de most új lendületet kapott a meglévő scriptek továbbfejlesztési projektje.

Apró megjegyzés: Ami most a crypto piacokon van az finoman szólva is de insaine… Nem tudom, hogy ki lapátolja be azt a rengeteg pénzt, amit most a daytraderek kiszednek, de vagy nagyon sok van még ott ahonnan ez a pénz ömlik, vagy nagy lesz a szomorkodás… Erre csak stílusosan ennyit tudok reagálni:

Folytatás…

Mekkora növekedési pálya van a Bitcoinban?

Tegnap volt szerencsém a Bitcoin Budapest által szervezett Bitcoin Drinkup rendezvényen eszmét cserélnem a hazai $crypto közösség néhány prominensebb tagjával, akikkel sok egyéb téma között két nagyon fontos és szerintem kurrens téma is előkerült, ezek pedig a: hogyan kellene definiálni a Bitcoint és mekkor növekedési pálya van benne? A két kérdést erősen összefügg, hiszen a növekedési pálya erősen függ a definíciótól. A tegnapi diskurzus egyrészt azért osztom meg a blogon, mert szerintem mások számára is érdekes lehet a konklúzió, másrészt érdekel, hogy az olvasókban hogyan manifesztálódik ezen kérdésekre a válasz.

A Bitcoin definíciója kapcsán a pénz (currency) és az árucikk (commodity) között lamentáltunk hosszan, a növekedési pálya alapján pedig nemes egyszerűséggel a nagyságrendi növekedéseket és azok lehetséges hatását vizsgáltuk. Akinek nincs kedve az egész okfejtést végig olvasni, azoknak TLDR: Függetlenül a most folyó scaling debate-től a Bitcoin jövője az, hogy commodity termék legyen, onchain tranzakcióval ezzel már soha nem fogunk sört vásárolni a csaposnál. A növekedési pálya kapcsán pedig a 10x-t mindenki reálisnak tartotta, az ennél nagyobb növekedés már komoly constrainteket generált sokakban. (Az egész az én lazán bedobott 1000x-es hasraütésemből indult ki.)

Folytatás…

Észak-Korea után a Bitcoin is rakétakísérleteket hajt végre

Ha tippelnem kéne, akkor az árfolyam most be akarja tesztelni, hogy el tudja-e érni a Blockstream féle bitcoin műholdakat… Egyelőre jó irányba halad. Isten tartsa meg jó szokását arra 13 másodpercre még amíg elindul a dump vonat 🙂

Mivel a hírtelen jött pumpát ránézésre egyetlen altcoin sem sínylette meg, így nagy valószínűséggel friss ropogós fiat érkezett a $Crypto piacokra. A pénznemet sem nehéz megtippelni, hiszen nagyjából a pumpa idején nyitott ki a Wall Street… A jelek szerint a bitcoin  lesz az új háborús-kötvény, most hogy Trump és stábjának feje eléggé forr a Észak-Koreai petárdázás miatt.

Ismerkedés a Bittrex API-val [Python]

Bár kétségtelenül epic jó a kraken api-ja, ellenben a kraken konzervativitása a támogatott coin párok kapcsán már koránts sem tekinthető elégségesnek. Ennek okán elkezdtem kalandozásom a Bittrex API-jával. Api dokumentációt itt találjátok: -link-. Az általam használt python library-t pedig itt: -link-

Ez a cikk a korábban már elkezdett “CryptoCulture: A programozási mint alap nyelvtudás” cikksorozat folytatása. Ezúttal a post végén már egy automata limitáras vásárló robot szerűséget is bemutatok.

Nezzünk egyből az elején egy nagyon egyszerű példát:

#!/usr/bin/python3
import json
from bittrex.bittrex import Bittrex

sf = open("secrets.json")
secrets = json.load(sf)
sf.close()
bt = Bittrex(secrets['key'], secrets['secret'])

actual = bt.get_balance('BTC')
print(actual)

A kód futtatásához létre kell hozni egy secrets.json file-t, amibe be kell rakni az API és secret key-t. Ezt követően a program máris visszaadja az elvárt outputot: “{‘message’: ”, ‘success’: True, ‘result’: {‘CryptoAddress’: None, ‘Currency’: ‘BTC’, ‘Balance’: X.X, ‘Available’: X.X, ‘Pending’: 0.0}}

A get_balance(‘XXX’) helyett a get_balances api call ugyanezen struktúrában visszaadja az összes valaha bírtokolt coin egyenlegét, tehát itt az eredményben fogod látni a nullás egyenlegű tételeket is, amikből valaha rendelkeztél akár egy minimális mennyiséggel.

Folytatás…

Ilyen egy megalapozott üzleti döntés

Aki ma korán kelt, az minden bizonnyal észrevehette, hogy a Bitcoin Cash EDA (Emergency Difficulty Adjustment) nem egészen úgy zajlott le, ahogy azt várhattuk volna, a korábbi két eset alapján. Az EDA láncot megszakítva, a BTC.top bojkottálta a difficulty droppot három jó helyen elhelyezett blokkal (#483844, #483845, #483846).

Eredeti bejegyzést: -link- . Angol átirat (/r/btc): -link-

Alább Zuho’ Er Jiang, a BTC.top pool vezetőjének interpretációja a történtekről:

Azt a bizonyos három blockot (483844, 483845, 483846) big blockerek bányászták, a három block célja az volt, hogy tartsuk a BCH mining rewardják egy picivel a BTC alatt. Így a masszív hashpower beáramlás ne tudja eredményezni a BCH lánc rewardjának idő előtti feleződését. Már az előző akalommal is szerettük volna megakadályozni az EDA alkalmazásának gyakorlatát, de akkor azt sajnos átaludtam.

A masszív hashpower beáramlás bár kétségtelenül egy látványos PR fogás, de extrém gyors block generálást és túlfizetett bányászati jutalmakat eredményez.

A Bitcoin Cash előnye, szemben a BTC-vel a kapacitása (gyors konfirmálás alacsony költségekkel), ezt a győzelmet csak hosszútávon tudjuk érvényesíteni, nem gyors nyerészkedéssel.

Az akciónak eredményeként a Bitcoin Cash lánc difficultyja csak 120G-ig esett le, így perpillanat az árfolyam különbség miatt a Bitcoin lánc minimálisan profitábilisebb (cca 15%-kal). Ezt az előnyt azonban hamar elveszítheti, ha realizálódik az a korrekció a bitcoin árfolyamában, ami az elmúlt hetek oldalazgatása után eléggé a levegőben van. Mindenesetre ami most a jó hír: A két láncon fej-fej mellett készülnek a blokkok.

 

SegWit: Kis lépések

Mint az alábbi ábrán is látható, szépen lassan de beindult a SegWit adaptáció, immáron a blockok tranzakció tartalmának majd 0.3%-a SegWit tranzakció. Ezen túlmenően a növekvő trend egyértelműen kiolvasható az ábrából:

A statisztikát egyébként ezen az oldalon bármikor tudjátok követni: -link-

Hogy mennyit számít a SegWit? Alábbi példa jól mutatja, hogy mennyivel rövidebb egy segwit nélküli és egy segwites input script:

 

 

Csupa jó hír így vasárnapra (NEO, BTC, LTC, ADX, MCO és LISK kapcsán)

Mai témák: NEO roadmap és újdonságok, BTC-BCH bányász csiki-csuki, rocketjumpoló kicsi altok (ADX, MCO, LISK).

Kezdem is a lelkületemhez legközelebb álló NEO-val… francokat: BTC-BCH csiki-csukival:

Hajnali 4:30 körül megtörént a difficulty adjustment a Bitcoin Cash láncon: 291G-ig ugrott a nehézségi szint. Mondjuk ez sokkal kevesebb mint amit én számoltam, de mentségemre szolgáljon, hogy nem nagyon tudok számolni. Az előző ciklusból már tudhatjuk, hogy erről a difficulyról kerek 30 óra alatt tudják leimádkozni a nehézségi szinten 89G-re. Bár ez valószínűleg ide már nem lesz elég köszönhetően a folyamatos BCH árfolyam gyengülésnek.

Ha leviszik további 1-2 ciklussal 60G körülre, akkor újra mehetnek át a bányászok kaszálni. Apró kitérőként megemlítem, hogy amennyiben tényleg leviszik 60G alá, akkor újra profitábilissá válnak a régi S1 és S3 antminerek is. (Ennek majd még pontosabban utána fogok számolni, de saccra kijön). Szóval én is lelkesen előkapartam a sufiból a két jó öreg S1-es bányászhangyámat ami anno rajtam ragadt a BTC farmból. Ma életet lehellek beléjük. Aki hasonlóképpen akar tenni, annak érdemes ezt megcsinálni még ma, mivel a legjobban közvetlenül a difficulty adjustment után lehet haszálni ezekkel a masinákkal amíg még nem ugranak át a nagy poolok (ez kb 3-4 órás időablak a EDA diff drop után). Holnap beszámolok ezzel kapcsolatos tapaszatalaimról. (ha lesznek…)

Na de nézzük a BTC láncot: A csiki-csuki ( == bányászok DARI szerinti profitábilisebb láncra ugrálása) egyelőre nem nagyon regette meg a BTC-t.  Perpillanat hatalmas tempóval darálják le a bányászok a mempool hátralékot. Alig 12 óra alatt ledarálták a mempoolban felgyűlt unconfirmed tx-ek több mint 60%-át, bár ehhez kellett egy tegnap délutáni iszonyatosan mákos időszak is, amikor több poolnál is egyszerre ütött be a hashing luck. Ami a jó hír: a jelenlegi tempóban haladva a mempoolból az összes 10sat/B feletti tétel ki fog ürülni az újabb miner láncváltásig, ami a rossz hír, hogy még így is fog maradni baromi nagy hátralék a 0-5 sat/B közötti tartományban. Ezek szokás szerint tele vannak pakolva óriás tranzakciókkal (olyan tranzakciók amikben néhány satoshit küldenek több ezer inputról vagy outputra). Ugye ezekre a tx-ekre mondja a /r/bitcoin oldal, hogy ezek a “bigger blockosok által spammelt zsaroló tételek”, velük szemben a /r/btc oldal pedig azt, hogy ez aljas rágalom és nincs itt semmi látnivaló és miért nincs már aktiválva a 2x… Én meg ugye inkább kussolok a saját ezirányú véleményem kapcsán, mielőtt újra vasvillára leszek tűzve.

Folytatás…

Atomic-swap, HTLC: A következő nagy crypto big-bang

Már egy jó ideje téma az atomic-swap és az azt lehetővé tevő HTLC technológia, ugyhogy itt az ideje, hogy alaposabban is megértsem mi is ennek pontosan a technológiája. A téma apropóját leginkább az adja, hogy az eddig lényegében csak ‘whitepaper’ szinten működő történet hírtelen konkrét termékekben manifesztálódott. Ahogy arról a héten írtam a Litecoin csapatának atomic-swap implementációja már ‘release-candidate’ állapotba került és tegnap a Z.Cash csapata is bejelentette, hogy szintén tesztelhető állapotba került a saját XCAT néven futó atomic-swap megoldásuk, ami első körben természetesen a BTC-ZEC párok közötti instant cserét valósítja meg. Az XCAT az Cross-Chain Atomic Transactions rövidítése, ami úgy egyébként valójában nem a Z.Cash saját találmánya, az XCAT egy teljesen független történet amit még egy bitcoin fan TierNolan talált ki, a Z.Cash most csak implementálta ezt a ZEC-BTC páron.

Folytatás…

Bitcoin: A magas tranzakciós költségek margójára…

Kerülgettem az elmúlt napokban ezt a témát, de azt hiszem itt az ideje kicsit erről is beszélni. A tegnapi újabb ATH kísérletet követően mára a bitcoin árfolyama jelentősen visszakorrigált és újra a $4300-as szint alá csúszott be egy rövid időre, ez persze valószínűleg az árfolyam természetes volatilitásának az eredménye, de tény, hogy a leginkább elvakult bitcoin fanok is kezdenek besokallni az extrém magasra hízott költéségek miatt. Néhány napja én is kénytelen voltam egy majd 30 dolláros txfee-t kifizetni, ami nem kifejezetten esett jól.

A magas tranzakciós költségek okát a blogon már számtalan postban leírtam és elemeztem, most inkább azzal foglalkoznék, hogy mi várható ezen a téren a közeljövőben.

A jelenlegi mempool statisztika szerint már csak 550+ sat/B-os értékű tranzakciók esetén garantálható, hogy a tx a következő blockba bekerüljön. Ez azt jelenti, hogy egy átlagos tranzakció (egy utxo, két output) költsége már akár a 0,006-0,008 BTC-t is elérheti. Egy komplexebb coinjoin típusú tranzakció esetén ez akár 50-60 dollárra is felkúszhat.

A BCH-BTC láncok párhuzamos bányászata által generált csiki-csuki szituáció következő fordulója nagyjából 16 óra múlva esedékes, amikor is újra kifut a BCH dara a 2016 blockból. (forrás: fork.lol). Ekkor egy rövid időre az össze bányász visszatér a BTC láncra és elkezdik ledarálni a mempool hátralékot. Fontos azonban, hogy mennyi ideig maradnak a BTC láncon és mennyire tudják ledolgozni a hátralékot. Szerencsés véletlen, hogy ez az esemény pont hétvégére esik amikor természtlegesen is kevesebb a tranzakció. Szintén fontos adalék, hogy a mempool immáron három hete nem tudott kiürülni, így tovább “javítja” a helyzetet az a tény, hogy az alacsony txfee-vel rendelkező tranzakciók szépen lassan timeoutolnak kifelé a mempoolból:

A tranzakció timeout/lejárat az ökoszisztéma sajnálatos velejárója, egyfajta önvédelmi reakció arra, hogy ne tudjon a végtelenségig felgyűlni a hátralék (mempool).

Folytatás…

Blockchain unchained: Az üres blokkok rejtelme

Feldobtatok egy jó kérdést, amire úgy ugrottam mint gyöngytyúk a takonyra, hiszen ezen már korábban én is sokat agyaltam és ott állt a queue-ban a “megfejtendő rejtélyek között”:

“Az AntPool miért bányászik üres blokkokat a Bitcoin láncon? Néha besegít a BTCC is. Szándékos rombolás, hátráltatás?”

A kérdés igen komplex, ezért kezdjük egy kis blockchain alapokkal. A Proof of Work (PoW) alapú blockchain gyártás lényege az, hogy mindenki közel ugyanolyan számítási kapacitással rendelkezik, ezért mindenkinek közel azonos esélye van megtalálni egy blockot. Egy korábbi cikkben már részletesen leírtam, hogy technikailag miként is képződik egy block (leading zeros mistery) és mit is jelent kiszámolni annak a hash-ét, ha azt nem olvastad, akkor lehet érdemes azzal kezdeni. Ami viszont abból a cikkből nem derül ki:

  • Minden miner egyszerre ugyanazt a blockot bányássza, pontosabban ugyanazon sorszámú (height) blockot bányássza ami persze minden bányásznál mást és mást tartalmaz. A feladatuk az, hogy megtalálják azt a hasht aminek az értéke alacsonyabb a targetnél (lásd másik cikkben a nullával kezdődő hashképzés módszerét).
  • Aki először tudja ezt elérni a nonce és a coinbase text módosításával (és a timestamp frissítésével), na azé a block. Szépen körbekürtöli a peer-to-peer networkön és elindul a block validálása. A propagálás és validálást követően a nodeok ezt a blockot hozzáfűzik a blockchainhez, majd az utolsó valid block tx-eit törlik a mempoolból, összerakják az új block headerjét, amihez összevállogatják az új tx-eket a mempoolból, megcsinálják a merkle tree-t és már indulhat is az újabb block vadászat.

A esélye annak, hogy egy érték (nonce, extraNonce) módosításával egy olyan hash-t kapj, amire igaz, hogy annak értéke kisebb a targetnél = 1/(232*difficulty). Tehát egy pool minél több számítási (double sha256) kapacitással rendelkezik annál nagyobb esélye van arra, hogy bejön neki egy megfelelő hash. Ez az esély azonban nem statikus, ha az lenne, akkor minden blockot nagy valószínűséggel a legnagyobb hashing power birtokosa gyártana le. Tény, hogy az esélyed minden újabb hashing kísérlettel javul, de a szórás miatt simán előfordulhat, hogy valamelyik poolnál akár az első nonce érték inkrementálásnál is bemákolja a megfelelő hash-t. A bemákolás mértékegységes a “Luck”. A Luck/Szerencse egy átlag szám (pontosabban kumulatív eloszlás), ami az adott pool korábbi hashing kísérlet/sikeres hash-ek arányából jön össze. Ha az átlaghoz képest gyorsabban sikerül kihozni egy érvényes hash-t, akkor a luck% alacsony, ha viszont az értéke 100%, na azt hívják bad lucknak, mikor a karma egyenlít. Ez egyébként egyáltalán nem ritka. Persze vannak olyan pillanatok is, amikor aranyeső van, itt egy példa arra amikor idén augusztus 7-én a SlushPool nevű cseh bányásztásaság behúzott 8 blockot alig 9 óra alatt:

Folytatás…