lunedì 30 dicembre 2013

Minare Monete Alternative (AltCurrency)

Un ottima guida di Sampey utente di bitcointalk.org
Terminologia

TH/S - GH/s - MH/s - KH/S : Giga/Mega/Kilo Hash Al Secondo (http://it.wikipedia.org/wiki/Hash) si intende potenza di calcolo.
Solo Mining : Tenere Aperto il proprio wallet e far puntare un programma di Mining al proprio indirizzo Ip Locale, i blocchi sono visti dal proprio client in ascolto sulla rete e minati dal proprio harware
Pool Mining : Far puntare un programma di mining ad un sito (Mining Pool) che si occupa di procurare "lavoro" in maniera proporzionale alla propria capacità di calcolo
Profittabilità : E' un valore percentuale che si ottiene confrontando una moneta principale (ad esempio BTC) con una moneta secondaria (ad esempio WDC) e stabilire, a parità di potenza di calcolo e tempo, quanto conviene minare la prima oppure minare la seconda e venderla per la prima.
Dev :  Developer (Sviluppatore della moneta)
Block Explorer : Un sito dove viene caricata la catena di blocchi di una moneta e la si può consultare blocco per blocco. La stessa catena è anche sul vostro PC ma meno funzionale da consultare.
Faucet : Un servizio che ti regala qualche monetina
GiveAway : Regalare monete per sponsorizzarle
Exchanger : Sito in cui si possono comprare/vendere monete virtuali (A volte anche valuta corrente)
FIAT : Monete a Corso legale (http://en.wikipedia.org/wiki/Fiat_money)
WTS WTB : Want To Sell / Want To Buy, tag usato per chi vuole vendere/comprare
Crash/Skyrocket : Gergo tecnico comunemente utilizzato per indicare un brusco abbassamento del valore di una moneta o brusco innalzamento.
Google Spreadsheet Exchange : Si intende un File excel condiviso su Google. Gli utenti piazzano le loro offerte di Compra/Vendita e poi si contattano in privato. Primo stadio rudimentale per permettere agli utenti di raccogliere offerte su monete non ancora sugli Exchanger.
Early Adopters : Vengono chiamati così gli utenti che durante i primi giorni dal lancio di una moneta si interessano alla sua storia (Discutono nel thread, minano, suggeriscono). Un Early Adopter solitamente è un minatore.

Caratteristiche principali di ogni moneta
(o del 99% di esse)

Blocco : pacchetto dati contenente transazioni tra utenti
Block Time : Ogni quanto tempo viene immesso un nuovo blocco nella rete
  • Il blocco deve essere risolto con dei calcoli. Questo serve per far funzionare il sistema stesso che altrimenti avrebbe dei problemi tecnici
  • La risoluzione di un blocco comporta la verifica delle transazioni contenute al suo interno
  • La risoluzione di un blocco comporta la distribuzione delle monete al suo interno a chi ha messo a disposizione la sua potenza di calcolo
Block Reward : Un blocco contiene X monete, che possono essere costanti o variabili nel tempo, alcuni esempi :
  • 100 Monete Valore Fisso
  • 100 Monete Dal Blocco 1 al 20000, 200 Dal Blocco 20001 al Blocco 100000000, 150 Dal......
  • 1000 Monete e dimezzamento del 50% Ogni 80k Blocchi
  • Varie ed eventuali a discrezione dei Dev
Total Coin Supply : Se questo valore è indicato vuol dire che il numero di monete è finito ed un giorno all'interno dei blocchi non troveremo più nuove monete (nel caso dei BTC ad esempio, troveremo solo le commissioni pagate per le transazioni)
Algorithm : Ogni moneta ha un preciso algoritmo di Hash per essere risolta. Fondamentalmente quasi tutte le monete si possono catalogare in 3 famiglie
  • CPU Only (Minabili da processore, vero o virtuale)
  • Scrypt (Minabili da CPU/GPU)
  • Sha256 (Minabili da CPU/GPU/ASIC)
Difficoltà : La Caratteristica fondamentale per la scelta del minatore, per garantire un tempo di bloccaggio quasi costante e lineare nel tempo, la moneta adegua la sua difficoltà al numero di potenza presente nella rete.
Retarget Time : Il tempo di ricalcolo difficoltà chiamato comunemente è anch'esso una caratteristica della singola moneta. Ed esattamente come la rewards è a discrezione del Dev :
  • può avvenire ogni blocco
  • ogni Xmila blocchi
  • può anche avere regole più ricercate come ad esempio mai variare di +/- 10% della difficoltà precedente


Caratteristiche del contesto in cui vengono pubblicate le nuove monete
- Solitamente vengono annunciate qua : https://bitcointalk.org/index.php?board=67.0 con un tag [ANN]
- L'annuncio può essere dilazionato nel tempo (topic creato oggi per lancio tra 7 giorni) oppure immediato (la moneta è scaricabile e minabile da subito)
- Il lancio di una nuova moneta comporta :
  • Un gruppo di utenti filo-Scrypt + un gruppo di Utenti filo-SHA256 che controllano il topic. Ne consegue una immediata scrematura a seconda del tipo di algoritmo della moneta
  • Gli utenti cercheranno : Virus nei sorgenti, Tracce di "roba che scotta" e tartasseranno i developer della moneta con domande e accuse di tutti i tipi
  • Se La moneta è CPU ci sarà grossa calca : sono tutti convinti che sia la più abbordabile, ma non è così, gli utenti skillati saranno già pronti a far partire in cloud le loro macchine virtuali simulando centinaia di processori, a discapito dell'utente desktop che non prenderà nessuna moneta.
  • Se i Dev fanno gli spavaldi qualche utente con buona potenza potrebbe distruggergli la moneta spostando un minatore di elevata potenza e levandolo subito dopo il primo retarget, lasciando così la moneta in una situazione difficile da sbloccare fino al prossimo retarget (Che potrebbe non arrivare mai a causa di utenti scoraggiati a continuare il mining)

La Roba che Scotta
La roba che scotta è fondamentalmente tutto ciò che non dovrebbe succedere in un contesto di persone oneste, cioè non quello delle Cryptovalute.
- Premine : si crea una moneta, si mina il genesis-block e poi una lunga serie di altri blocchi, poi si presenta la moneta. Lo scopo è quello di farla arrivare sugli exchanger e vendere tutto traendone enormi profitti sulle spalle di chi ha minato onestamente. Tattica spesso riuscita
- InstantMine : Si presenta la moneta ma si inizia a minare come dei dannati qualche minuto prima col tentativo di mascherare e far sembrare tutto "fatto dalla comunità. Più difficile da trovare.
- Eccezioni : A volte i dev preminano comunicandolo e offrono le così dette bounty, ovvero ricompense a chi offre servizi alla moneta (minig pool, block explorer, faucet). Oppure preminano per fare il così detto GiveAway, ovvero regalare X monete a chi posta il proprio indirizzo. Lo scopo è di invogliare al mining gli utenti e tenere up il thread per un pò di tempo.

Evoluzione sociale una moneta dalla nascita al successo
- Annuncio (raramente beta testing)
- Lancio (a volte con Mining Pool e servizi ma spesso senza niente)
- GiveAway (regalo di monete, a volte ne vengono fatti a cadenza periodica)
- Nascita Mining Pool (questo conviene a chi le crea perchè solitamente si pagano commissioni per il ritiro delle monete o per il mining stesso)
- Qualche utente inizia a voler comprare (WTS/WTB) e vendere con prezzi "Inventati", a volte vengono caricati file Excel su Google per facilitare questa operazione.
- La moneta finisce su un Exchanger
- La moneta acquista un prezzo di "massima"
- Eventi imprevisti possono variare bruscamente questo valore (crash/skyrocket)
- La moneta inizia a venire accettata da esercizi commerciali (al momento si può dire che ci sia arrivato solo BTC e raramente LTC)

Evoluzione tecnica di una moneta dalla nascita al successo
- Il numero di minatori aumenta ed essi discutono nel topic dedicato mantenendolo ad alta visibilità
- La moneta inizia a diventare sempre più difficile per garantire il tempo di bloccaggio costante
- I Minatori "grossi" fiutano la possibilità e spostano qualche minatore potente sulla moneta
- Si innesca un circolo vizioso solitamente abbastanza breve che porta la moneta a dover necessariamente essere messa su un Exchanger per determinarne un prezzo di Mercato
- Da quel momento, difficilmente ci sarà un grosso vantaggio nel breve termine a minarla, si potranno solo fare speculazioni a lungo termine (che non è il contesto di questo topic)
- I siti di Profittabilità le listeranno e tutti saranno a conoscenza di quanto conviene minarla oppure meno. Le carte saranno scoperte per tutti, soprattutto per chi ha minatori automatici che si spostano sulle monete più profittabili.
- Una notizia esterna su quella moneta ne porta il crollo/decollo. Notizie di questo tipo sono ad esempio la scoperta di qualche falla/fregatura oppure che un grosso sito di trading/esercizio commerciale inizierà ad accettarla.

La Mining Pool

La mining pool può essere vista come un sito, che si occupa di individuare i blocchi nella rete e di suddividere l'ipotetico lavoro totale per risolvere il blocco in sottoparti, ogni sottoparte viene affidata ad un Worker.
- Ogni Worker è di proprietà di un utente collegato alla mining pool.
- Ad un account utente possono corrispondere più worker
- Il collegamento ad un worket si esegue nella stessa maniera in cui ci si collega in solo mining indicando Sito+Porta+User(Del Worker)+Password(Del Worker)
- Tutto il lavoro di rilevazione/suddivisione del lavoro/pagamento è affidato al protocollo della Pool, voi dovete solo preoccuparvi di collegarvi al worker.
- Le vostre monete sono sulla POOL (A meno che non sia una pool p2p) e vanno scaricate verso il vostro portafoglio.
- Lo scarico delle monete può avvenire in maniera automatica ogni raggiungimento di un tot di monete, oppure a richiesta utente. Ogni pool solitamente offre queste opzioni.
- Ogni pool può scegliere metodi di pagamento diversi, (qua un elenco https://bitcointalk.org/index.php?topic=104664.msg1146110#msg1146110) i più comuni sono PPS e PPNLS
- Una pool compete assieme alle altre pool a risolvere lo stesso blocco.
- La prima pool che risolve il blocco ne prende i soldi e li distribuisce in maniera proporzionale a seconda del metodo di pagamento e della potenza di calcolo dei worker.
- Le pool che non risolvono il blocco passano al successivo.
- E' quindi importante lavorare su Pool che statisticamente hanno la maggior possibilità di trovare blocchi, o se non altro, non hanno una potenza talmente bassa da rischiare di minare all'infinito senza trovare niente.


Il Minatore/Speculatore

Il Minatore/Speculatore interviene PRIMA di tutte le possibili evoluzioni sopra raccontate.
I Seguenti Passi si intendono per "Singola Moneta". (Dato che sono strutturalmente tutte uguali fatto la prima volta sarete più veloci a rifarlo la seconda)

Scenari di Analisi

La moneta viene lanciata come se nulla fosse, da un momento all'altro appare il topic con il Client da scaricare. (E voi la scoprire in questo momento)

Se siete li in quel momento, dovete già avere avere una Cartella Fatta in questo modo :
NomeMoneta (Root)
Applicativo (Cartella Dentro Root)
Launch.BAT (FIle Dentro Root) con scritto dentro (io vi metto quello di WIndows) :
Applicativo\NomeMoneta-qt.exe -datadir=%CD%\Applicativo

Mentre il file scarica, cercate se i Dev nel topic hanno scritto qualcosa riguardo un file di tipo CONFIG
Sono file fatti così :

listen=1
maxconnections=80
gen=1
genproclimit=-1
daemon=1
server=1
rpcallowip=127.0.0.1
rpcport=18477 <- LA PORTA SU CUI DOVETE PUNTARE IL VOSTRO MINATORE
port=18377
rpcuser=Sampey <- VOSTRA USER
rpcpassword=aaaaaaaaaaa <- VOSTRA PASS
addnode=69.85.86.195 <- NODI UTENTE PER CONNETTERSI NELLA RETE (Solitamente sono quelli dei DeV)

Che vanno messi nella cartella Applicativo col nome
NomeMoneta.conf

Senza questo file, in Solo Mining non ci potete andare.
Il file Deve essere presente PRIMA di far partire l'applicativo, altrimenti vi tocca riavviarlo (Cosa che potrebbe non essere un problema se tanto c'e la blockchain da sincronizzare)

Scaricate il client e unzippate tutto nella cartella Applicativo.
Fate partire il BAT e contemporaneamente lanciate il vostro minatore.

Io uso GCMINER, lo tengo in una cartella chiamata cgMiner (all'interno di una chiamata cgMinerNumVersion) e lo lancio da BAT (che metto nella cartella cgMinerNumVersione) con comandi tipo :

cgminer\cgminer -o indirizzo:port -u  UTENTE  -p PASSWORD OPZIONI VARIE PER I MINATORI (ognuno ha le sue)
Nello specifico UTENTE E PASSWORD sono quelle che avete indicato nel file NomeMoneta.conf
Oppure, se minate in Pool sono quelle del Worker che avete creato.

A questo punto se avete fatto tutto correttamente avete :
- Un wallet sincronizzato
- Un minatore che punta al vostro wallet (se lo avete lanciato mentre sincronizzava avrete visto una valanga di messaggi del tipo "new block detected on network")
- Quando il wallet sarà sincronizzato vi accorgerete che il minatore sta lavorando
- Se vi arriveranno dei messaggi nella barra degli strumenti in basso a destra significa che avete minato un blocco

Se questa prima operazione è andata bene, potreste aver già pescato il vostro Jolly.

La moneta è stata lanciata e ha una mining pool. (E voi la scoprite in questo momento)
Qua faccio ragionamenti in Sha256
Ad oggi (24/12/2013) una rete promette bene se ha almeno 500GH-1TH di potenza, ma promettere bene non significa guadagno, e spesso sono le reti che non promettono bene che vi permetteranno di fare guadagno.
In questo caso la scelta è molto personale e bisogna osservare i seguenti fattori :
- Le persone ne parlano? La comunità è interessate?
- I Dev sono attivi? Uppano il topic, scrivono cazzate tanto per far notare che la moneta è mantenuta ancora?
- La rete ha comunque una crescita di HashRate quotidiana/settimanale?
- Tecnicamente la moneta è "pulita"? (No premine, no instantmine)
- Quante Mining Pool Ci sono? (Da 3 in su, può essere interessante)
- Esistono topic al supporto degli Exchanger per aggiungere la moneta?
Più queste domande sono positive più c'e il rischio che molte persone tengano sott'occhio la moneta.
Per questo motivo, mentre ci si pone queste domande è spesso consigliato buttare qualche Giga di potenza sulla pool (o in solo).

La moneta è finita su un Exchanger
A questo punto, se siete entrati al passo 1, probabilmente raccoglierete i frutti del vostro tempismo. Altrimenti potrete raccoglierli lo stesso anche se in maniera minore.
- Se avete tante tante monete, potete permettervi di entrare voi sul mercato a cercare di fare il prezzo per le prime transazioni.
- Poi il prezzo si assesterà e li sarà il momento di fare il fatidico calcolo (NumeroDiMonete x Prezzo Medio di vendita) e capire cosa avete in mano.
- Da li in poi sono scelte assolutamente personali :
  • Vendete tutto (senza rimpianti) perchè già al valore attuale siete soddisfatti
  • Incassate X e vi tenere Y giocandovelo in maniera speculativa (Compro Quando Scende/Vendo quando Sale)
  • Osservate perchè ci sono tutti i presupposti che la moneta salga
  • Incassate X e vi tenere Y e ve lo dimenticate per mesi, quando magari ci sarà una completa rivalutazione di tutte le monete

Scenari Sfavorevoli
 - La moneta viene pre-annunciata con un topic o con un conto alla rovescia. Il fattore sorpresa sparisce, ci saranno moltissime persone quando il timer raggiungerà lo zero (peccato che spesso i timer sono sballati e il lancio non avviene mai nel momento stabilito oppure la moneta è fallata)
Chiaramente in questo caso, tutti avranno un bel file.conf pronto, e sarà solo una gara sul tempo che durerà ben poco dato che se il blocco fosse uno ogni 3 minuti, tempi 3 blocchi (9minuti) e tutti hanno già wallet sincronizzato e minatore pronto.
- La moneta è stata preminata e gli utenti iniziano ad accusare i Dev usando terminin tipo "SCAM" "SHIT-COIN" ecc........la moneta rischia di morire nel giro di pochi minuti
- La moneta ha già mining pool e ci hanno già tirato sopra dei Terahash di potenza
- La moneta non è internazionale e su un forum Straniero se la stanno già minando da tempo (es EmerCoin in russia)


Nozioni FONDAMENTALI GENERALI

- Lo scopo di questa guida è fare BTC passando per una strada secondaria. Sono convinto che oltre al BTC non sopravviverà praticamente nessuna moneta, e come lo so io lo sanno tutti gli altri speculatori.
- Le Monete Only CPU ormai si minano con servizi in Cloud, creando dei "finti" pc che minano. In pratica : mi creo 50 Pentium 7 "virtuali". Servizi di riferimento sono ad esempio https://www.digitalocean.com/ . Non perdete tempo con le vostre CPU (a meno che davvero non beccate la moneta al momento del lancio, ma sarà questione di pochi minuti di gioia)
- Le Monete Sha256 Si minano con gli ASIC (http://it.wikipedia.org/wiki/Application_specific_integrated_circuit), il fatto che si possano anche fare con GPU e CPU è solo una predisposizione tecnica legata al passato, ormai non ha alcun senso e sarebbe inutile utilizzare altro hardware non dedicato
- Le Mining Pool che pagano per "blocco trovato" devono avere una potenza significativa, almeno il 20-30% del totale della rete, altrimenti rischiate di minare all'infinito su una Pool che non trova mai un blocco per cui dovrebbe pagarvi il lavoro.
- Per tenere sotto controllo la difficoltà di una moneta che non è su mining pool basta aprire il client e : Aiuto -> Finestra Debug -> Console e digitate il comando GETDIFFICULTY (alcuni client hanno la console nella toolbar)
- La pazienza è la virtù dei forti, spesso il ciclo di uno speculatore si conclude in 2-3 mesi (cioè se hai successo o no nelle tue previsioni) ma a volte può passare anche qualche mese in più
- Non esiste un concetto di "E' tanto tempo che sto minando da solo/in questa Pool e sicuramente arriverà un blocco molto presto". Concettualmente è esattamente come alla Roulette : ogni lancio di pallina ha 1/37 di possibilità di uscire (se giochiamo senza doppio zero), non ha alcuna influenza quello che è successo nei lanci precedenti. Stesso identico discorso sui blocchi.

Nessun commento :

Posta un commento