venerdì 14 luglio 2017

Come Funzionano Gli Algoritmi Kimoto Gravity Well e Dark Gravity Wave

L'algoritmo Kimoto Gravity Well o KGW è un codice di correzione di difficoltà originariamente sviluppato dal Kimoto Chan per Megacoin.
Anche se il nome richiamerebbe Kim Dotcom e Satoshi Nakamoto.
Nello schema standard di aggiustamento dei Bitcoin, la difficoltà (coefficiente) è regolata ogni 2016 blocchi (tempo di blocco 10 minuti).
Questo modo di procedere, per via del diffondersi dei Multipools, si è rivelato insoddisfacente.
Più precisamente Multipool, come GHash.io, hanno aumentato notevolmente la quantità di potenza di Hashing di rete riducendo drasticamente il tempo di risoluzione di ogni blocco (Proof Of Work).
Ecco perchè sono stati inventati algoritmi non standard di correzione di difficoltà.
I Multipools tramite Mining comune, cercano di estrarre la criptovaluta più redditizia.
Il problema è che quando il Multipool prende come target una moneta, l'aumento del potere di Hashing fa impennare la difficoltà di estrazione (il che rende più redditizia la moneta).
Il Multipool passa poi al prossimo target e contemporaneamente il network cerca di trovare altri minatori per continuare a mantenere la rete con il nuovo tasso di difficoltà (molto più elevato dell'originario).
Insomma quando il Multipool cambia target ci sono variazioni di Hashrate sia in diminuzione che soprattutto in aumento.
Tramite il Kimoto Gravity Well la difficoltà è come detto regolata ad ogni blocco, il che significa che può rispondere immediatamente a entrambi gli aumenti e diminuire il potere di Hashing (mantenendo il livello di difficoltà ad un livello appropriato).
In ogni ciclo viene calcolato un fattore di regolazione, ossia il tempo di blocco del target prefissato diviso per il tempo reale del blocco, in modo cumulativo.
Ad esempio al ciclo 10 avremo: 25 minuti di tempo diviso per il tempo effettivamente speso per calcolare gli ultimi 10 blocchi.
Quando l'Hashrate aumenta, avremo tempi più brevi e un fattore di regolazione maggiore di uno e viceversa.
Il ciclo termina ogni volta che il fattore di regolazione medio è maggiore del valore prefissato di Kimoto o inferiore a 1/valore di Kimoto.


DARK GRAVITY WAVE
Un altro algoritmo di correzione e di difficoltà è la Dark Gravity Wave, usata originariamente nei Darkcoin, esso unisce esponenziali medi e permette ugualmente di ridimensionare le difficoltà.
L'algoritmo di questa moneta è stato costituito da concatenazioni di funzioni Hash.
In questo modo la distribuzione delle monete sarà equa.
Con l'Hashing concatenato, le CPU di fascia alta avranno una resa media simile a quella delle GPU. Un altro effetto dell'algoritmo è che le GPU gireranno con consumi il 30% inferiori rispetto a Scrypt, e con temperature decisamente più basse.
Il Dark Gravity Wave invece si adatta rapidamente alle ampie fluttuazioni minerarie della retenzione originariamente usata da Digibite, l'obiettivo è quello di cercare di stabilizzare le valute crittografiche (dopo l'aumento di Hashing nei vari multipools).
DGW è simile al Kimoto Gravity Well, dato che come detto regola i livelli di difficoltà ogni blocco utilizzando dati statistici degli ultimi blocchi trovati.
In questo modo i tempi di rilascio dei blocchi possono rimanere coerenti, nonostante le elevate oscillazioni di Hashrate.
La versione 2.0 di DGW è stata implementata nei Darkcoin / Dash dal blocco 45.000 in poi per ridurre completamente il time warp.
La versione 3.0 è stata implementata il 14 maggio 2014 per migliorare ulteriormente la difficoltà di re-targeting con transizioni più uniformi.
Esso risolve anche problemi logistici attraverso l'utilizzo di numeri interi.


6 commenti:

  1. Quindi stai suggerendo che è da stupidi per gli utenti normali continuare a sostenere bitcoin e peggio ethereum (che grazie alla velocità di trasferimento è passibile di crolli del valore della moneta virtuale ben peggiori dei bitcoin), che sono in mano di grosse corporation di miners e che sarebbe più equo e solidale che tutti passassero ai darkcoin?

    RispondiElimina
    Risposte
    1. Forse si...il problema è che è difficile invertire le tendenze di mercato.
      DarkCoin comunque sotto molti versi sono una moneta migliore.

      Elimina
    2. Ti dirò, per sfizio ho scaricato Dash (che a quanto ho capito sono gli eredi dei darkcoin?!), litecoin e ethereum.
      Ethereum anche col wallet mist inizia a scaricare i blocchi storici... e spesso mi si ferma. Ogni volta ricomincia a scaricare i file dei blocchi. In pratica non riesco mai a minare (pare che si faccia un eth al mese... 200 euro).
      Litecoin mi dice che ci vogliono 4 anni per sincronizzarsi scaricando i blocchi. Da qualche parte avevo letto che litecoin è il meno adatto a minare.
      Dash solo 3 anni, oramai ridotti a 1 e mezzo.
      Mi chiedo quando lo storico dei blocchi diventerà insostenibile per l'apertura di nuovi wallet, specie se si considerano almeno 2 conti (uno per deposito ed uno per commercio) per 6 miliardi di individui.
      Quello che frega Dash è che sembra avere solo 2 echanger.
      Ethereum oramai è alla follia. E' un incrocio fra bitcoin, i meccanismi dei derivati bancari delle perggiori darkpoll e Kickstarter: https://motherboard.vice.com/it/article/kzaxpw/un-token-di-ethereum-chiamato-fuck-ha-guadagnato-30000-dollari-in-30-minuti

      E' emblematico come ethereum, litecoin e bitcoin abbiano rialzi o ribassi contemporaneamente ed all'incirca di medesimi valori di rialzo. Per essere sistemi decentralizzati hanno comportamenti molto centralizzati e simili.

      Elimina
    3. Il problema è che Wallet del calibro di Core (QT) sono ormai superati perchè appunto impiegano tempi biblici per sincronizzarsi con la rete.
      A questo proposito e, per curiosità, qualche giorno ho aperto un Wallet di questo tipo per i BTC ed appunto ci volevano 6 anni per sincronizzarsi.
      Poi, vero è che non è il tempo "effettivo" ma un tempo minore, rimane il fatto che sono scomodissimi perchè se non ti sincronizzi con la rete...non vedi l'accredito di un'eventuale transazione.
      Ecco perchè Wallet tipo Electrum sono comodissimi.
      Electrum esiste sia per i Bitcoin che per i Litecoin!
      Riguardo Ethereum invece, la cosa più conveniente da fare è usare qualche interfaccia Web.

      Alla fine, con qualche differenza, sono tre monete simili.
      Io credo che sino a quando le monete virtuali rimarranno tali, rialzi e ribassi non potranno che essere una caratteristica imprescindibile o quasi.

      Elimina
    4. Ed i tempi biblici non fanno altro che accentrare la rete sui pochi rimasti e rimasti al passo. E' una situazione molto pericolosa.
      Assurdo che il sistema mantenga all'infinito la cronologia delle transazioni, aka blockhcain. Una volta che uno ha ricevuto tutto e dato tutto, che senso ha continuare a diffondere quell'informazione trasmettendola a chiunque installi un wallet?! per capirsi in ambito societario i documenti attestanti fatture e versamenti a seconda dei casi vanno mantenuti per 5 o 10 anni. Se una moneta virtuale li accumula all'infinito ciò diviene tanto più stupido quanto più grande diventa il bacino che utilizza questa moneta, poichè un maggior numero di utilizzatori coinvolge una maggiore frammentazione dei BTC con rialzo del valore di scambio e di conseguenza una blockchain esponenziamente più grande perchè invece di avere un migliaio di suddivisioni che vengono scambiate se ne hanno milioni scambiate con una frequenza settimanale o mensile.
      Poi c'è l'assurdo della variazione continua del valore che fa perdere parecchio a chi non cambia ogni giorno il valore (quindi una maggior frequenza di scambio, quindi una blochchain più lunga) verso una moneta stabile.
      Su poche cose sono d'accordo tutte le nazioni al mondo: limitare la volatilità della moneta con leggi od azioni, anche fancendo fuoriuscire la moneta dalla contrattazione (vedi cosa non fece Ciampi con la speculazione della lira nel 1992 che distrusse il valore della moneta italiana facendo perdere milioni a tutti). Perchè con le monete virtuali non è possibile adottare regole per creare una valuta stabile?!

      Elimina
    5. Secondo me proprio per evitare di adeguare le moneti virtuali alle monete correnti.
      Ovviamente però sino a quando non ci sarà una certa stabilità (o un giusto compromesso tra le due situazioni opposte) sarà molto difficile per l'albergatore di turno o per il ristorante accettare in modo continuativo nel tempo pagamenti in Bitcoin o comunque in criptovalute.

      Elimina