Bitcoin Core full node ja mining pool, osa 2

Bitcoin Core versio 0.20.1 toimii hyvin, mutta useimmat oheisohjelmat osoittautuivat heikoksi lenkiksi.

Lähdetään liikkeelle BFGminer-nimisestä ohjelmasta, johon en linkkaa sillä löysin googlaten haittakoodia virallisen jakelun statuksella, esimerkiksi binääritiedosto tekstitiedostosta avattuna jäi Nortonin haittatorjunnan hampaisiin. Hain jo kerran Githubista yhden version, mutta se ei suostunut kääntymään loppuun asti niin millään, joten sitä lienee kehitelty lähinnä Windows-kääntämistä varten toimivaksi vuonna 2020. Vanhempi versio, joka lienee alkuperäinen on viimeksi päivitetty vuonna 2012, joten ei jatkoon. Suurin osa tuoreemmankin koodista on yhä peräisin 7-10 vuoden takaa.

Sitten se pool-ohjelma ckpool. Tästä koodista ei löytynyt vielä äärimmäisen suuria ongelmia, mutta se on vanhentunutta. Bitcoin Noden rakennetta on muutettu ja vanhoista ominaisuuksista poistettu coinbaseaux alta flag-arvo JSON-viesteistä, sillä tuon flagin valinta kuuluu louhintaa tekeville prosesseille. Tästä seuraa se, että ohjelma ei pääse eteenpäin yhteydenmuodostuksessa, joten aloitin muokkaamalla tästä oman forkin paremman puutteessa sen sijaan, että olisin hakenut vanhemman version Bitcoin Coresta. Vaikka solo mining on jo melko lailla resurssien tuhlausta tänä päivänä, halusin tällaisen oman poolin. Sillä voi testailla sujuvasti toimivuutta (ilman että myrkyttä kenenkään muun verkkoa) ja toisaalta se mahdollistaa myös sujuvasti omien louhintaresurssien liittämisen verkkoon.

Testivaiheessa käytän vain CPU-resursseja, joten cpuminer valikoitui ohjelmaksi aikaisemmin mainitun ongelmien jälkeen. Ei kuitenkaan alkuperäinen koodi vuosikymmenen takaa, vaan siitä fork, jota on jatkokehitelty. Koodi ei ole mikään nappisuoritus kaikilta osin, siinä vaikuttaisi olevan useammalta tekijältä koodia copypaste-tyyliin miettimättä miten ne oikeasti toimivat. Aloitin Fengshuin parantamisella eli kun koodissa oli pitkä rimpsu erillisriveillä samaa arvontakoodia tietyllä arvovälillä muuttujiin, optimoin tämän yhden rivin looppiin LAaman avustuksella, kun ei meinannut kaikessa kiireessä oma pää toimia enkä todellakaan muista kaikkea c-ohjelmoinnista ulkoa. En ole mikään varsinainen ohjelmoija, mutta tunnistan huonon koodin kun sellaista näen. Jos intoa riittää niin opettelen hieman lisää ohjelmointia ihan vaan optimoidakseni tuota koodia ja nähdäkseni mihin nykyaikaiset CPU näissä SHA256-touhuissa riittää.

Sitten kohden järeämpiä aseita. Kun ottaa käyttöön ASIC-rautaa, tarvitaan niille oma ajuritukensa. Ohjelma cgminer vaikutti lupaavalta. Sain sen kääntymään onnistuneesti, enkä ole vielä löytänyt siitä mitään isompia ongelmia, mutta vaihdoin cgminer-gekko forkiin, sillä tilasin GekkoSciencen 22-45 GH/s USB-tikkumallisen ASIC-minerin ja kyseinen cgminerin forkki on paranneltu GekkoSciencen tuotteita varten. Ohjelma on valmiina ja tikku saapuu lähiaikoina, katsotaan mitä kirjoitettavaa siitä ja tästä ohjelmasta ilmenee myöhemmin.

Varoituksen sana! Bitcoin Core node osoittautui todella tehokkaaksi haittaliikenne-magneetiksi. Sekä itse Bitcoin nodeen, että sen ohessa tavanomaisiin hallintaportteihin ja haavoittuvuuksiin tulee yhä lisääntyvä määrä murtoyrityksiä ja palvelunestohyökkäyksiäkin. Verkkoyhteyteni on nopea kuituyhteys ja haittoja varten on Cloud Core Router, jote en panikoi turhaan – pari palomuurauksen sääntöä lisää ja dynaamisia ulos muurauksia kehiin. En voi suositella tänä päivänä kenenkään asentavan Bitcoin-verkon nodea kotiverkkooonsa tai nattaamattaomaan mobiiliverkkoon. Käytä mielummin mahdollisuuksien mukaan valmiiksi verkossa olevaa tunnettua Full Nodea tai louhintakäyttöön pool-palveluja.

Projektilla on käytössä DNS-alidomainnimi bitcoin.operative.link ja lisäsin tuon osoitteen alle myös infosivun, jolla yritän pitää ajankohtaiset tiedot Bitcoineihin liittyvän verkkoni tilasta ja käyttömahdollisuuksista.

Jos koit tästä olevan erityistä hyötyä tai haluat muuten lahjoittaa, niin BTC 1BKPFPoPvMrMnNthAmW5MoqJ87SyCGdijM ei lopu tila lahjoituksilta. Kiitos. 🙂

Lisää kommentti