Guida Proof of Work vs. Proof of Stake - Cosa sono, le differenze, Pro e Contro

Valley

Super Moderatore
10 Aprile 2011
9,088
422
4,261
3,033
Ultima modifica:
neo-urban-1808082_1920.jpg






1    Blockchain e consenso

Salvo alcune eccezioni le blockchain sono progettate per essere decentralizzate: sistemi economici in cui le transazioni sono trasparenti ed affidabili senza la necessità di intermediari. Come la maggior parte dei sistemi informatici distribuiti, le blockchain necessitano che i nodi partecipanti alla rete siano tutti sincronizzati, cioè devono concordare ed approvare lo stato attuale (ed il contenuto) della rete raggiungendo quello che viene definito consenso.

Raggiungere il consenso in maniera efficiente e sicura non è facile. Non essendoci un ente terzo che si occupa di controllare ed approvare le transazioni bisogna valutare in base a cosa si dovrebbe decidere se la transazione è effettivamente valida o meno ed è necessario che questa scelta "sia protetta" da eventuali tentativi malevoli di modifica. Potrebbero capitare anche degli errori come l'arresto anomalo di un nodo comportando l'interruzione della propagazione delle informazioni e/o la propagazione d'informazioni errate. In breve tempo la rete perderebbe il consenso paralizzandosi completamente oppure potrebbero venire eseguiti attacchi malevoli.
Questo problema genera una seconda perplessità: uno dei vasti argomenti discussi in termini di blockchain: la scalabilità del sistema. Molto semplicemente quando i numeri (le transazioni ad esempio, o anche il numero di nodi) iniziano ad essere consistenti il sistema inizia a sovraccaricarsi venendo a crearsi "un collo di bottiglia" che influirebbe negativamente sull'esperienza utente. Per un sistema centralizzato risulta facile e veloce controllare la veridicità di una transazione (così come falsificarne una), una blockchain invece richiede più tempo per verificare la transazione e quando queste sono tante si crea una "lista d'attesa" (che prende il nome di Mempool).
La blockchain deve proteggersi da questi casi altrimenti non risulterebbe essere un sistema sicuro ed affidabile.

Questa difficoltà che "affligge" le blockchain è ben rappresentato dal problema dei generali bizantini teorizzato dai matematici Leslie Lamport, Marshall Pease e Robert Shostak nel 1982.​



2    Il problema dei generali bizantini

Il problema è il seguente:

"Diversi generali, durante un assedio, sono sul punto di attaccare una città nemica. Essi sono dislocati in diverse aree strategiche e possono comunicare solo mediante messaggeri al fine di coordinare l’attacco decisivo.
Tra questi generali però è altamente probabile, se non addirittura certo, che vi siano dei traditori. I traditori mandano messaggi che vanno contro la strategia dell’esercito."


Questo problema risiede, dunque, nella facoltà di portare avanti l’attacco in modo efficace nonostante il rischio di tradimento. Il messaggio può essere nel migliore dei casi coordinato (attaccare o ritirarsi) oppure, come è più logico che avvenga, il messaggio non sarà coordinato, quindi arriveranno entrambi gli ordini: attaccare e ritirarsi. Ad esempio, nove generali votano: quattro sostengono l’attacco mentre altri quattro sono a favore del ritiro, il nono generale può inviare un voto di ritiro a quei generali a favore del ritiro e un voto di attacco agli altri. Coloro che hanno ricevuto un voto di ritiro dal nono generale si ritireranno, mentre il resto attaccherà.​

Un sistema distribuito ha lo stesso problema dei generali bizantini:




Come può una rete di nodi decentralizzati mantenere il corretto funzionamento
della blockchain in presenza di nodi malevoli o danneggiati?





3    BFT (Byzantine Fault Tolerance)

La Byzantine Fault Tolerance (BFT) è la proprietà di un sistema che riesce a resistere alla classe di fallimenti derivata dal problema dei generali bizantini. Negli ultimi anni si è sentito sempre più parlare di BFT nel mondo delle cryptovalute anche se il primo algoritmo con questa caratteristica era stato presentato già nel 1999 da Miguel Castro e Barbara Liskov. Quando un algoritmo di consenso è BFT si intende quindi che è in grado di operare anche in presenza di nodi malevoli o danneggiati. Al problema dei generali bizantini esiste più di una soluzione, questo a così comportato lo sviluppo di diversi sistemi BTF.​




Si può quindi definire un algoritmo di consenso come
il meccanismo attraverso cui una blockchain raggiunge il consenso.




hack-813290_1280-Recuperato.png


4    Proof of Work - PoW

La blockchain di Bitcoin ideata da Satoshi Nakamoto è stata la prima blockchain BFT (sebbene non la si ritenga BFT al 100%). Satoshi ha combinato crittografia asimmetrica, sistemi peer to peer e Proof of Work creando così la prima rete distribuita in grado di generare il consenso anche in presenza di nodi malevoli o danneggiati. In particolare quello che si cerca di evitare è che una minoranza dei nodi invii informazioni errate o dannose al fine di eludere la verifica della doppia spesa (double spending).

Per capire come si possa verificare questo caso bisogna tornare all'esempio de generali bizantini. Poniamo come presupposto che i generali abbiano ottenuto il consenso, quindi sia arrivato a tutti il messaggio di attaccare e che ora debbano coordinarsi sull’istante in cui sferrare l’attacco. Come vincolo determinante sappiamo che l’attacco deve avvenire in modo sincronizzato ed infine come regola che una volta che un generale decide il momento dell'attacco esso sarà ritenuto valido per tutti gli altri generali (al fine della sincronia citata poco prima). Siccome la distribuzione del messaggio (il network) non è istantanea può capitare che due generali scelgano un orario in modo simultaneo (non avendo ricevuto prima di quell'istante un altro orario da un generale). Questo comporterebbe che alcuni generali riceveranno il primo orario ed altri il secondo.
Per risolvere questo problema viene in nostro soccorso il Proof of Work: per decidere e comunicare l'orario i generali, partendo dal messaggio precedentemente ricevuto riguardo la decisione di attaccare, devono risolvere un problema estremamente complesso. Il primo che lo risolve lo comunica agli altri partecipanti i quali interromperanno la risoluzione che avevano in corso e ne inizieranno una nuova (ad esempio con quanti soldati attaccare) sulla base del messaggio con l'orario appena ricevuto.

Questa è la base del Proof of Work (e del mining): i miner lavorano per risolvere il complesso problema che gli viene posto dal blocco precedente appena ricevuto, il primo che lo risolve genera il nuovo blocco e lo inoltra agli altri nodi. Questi interromperanno i loro calcoli e inizieranno di nuovo la risoluzione del problema partendo però dal nuovo blocco ricevuto. Questa interruzione dei conti per passare al nuovo blocco è data da una regola che definisce la catena più lunga quella valida. Al fine di ridurre al minimo la possibilità "naturale" del double spending (è quasi impossibile che due nodi riescano a risolvere un blocco nello stesso istante) la gestione della difficoltà di questo complesso problema da risolvere viene automaticamente gestita dalla blockchain al fine di generare un ritardo tra la generazione di un blocco e l'altro di circa 10 minuti (per quanto riguarda Bitcoin).
neo-urban-1808082_1920-Recuperato.png


E se per caso succedesse che due nodi riescano a risolvere un blocco contemporaneamente?​

La blockchain è progettata per risolvere questi casi. Quando due nodi risolvono il blocco e generano quello successivo si vanno a formare due catene (avviene in sostanza un fork). Successivamente però, quando un qualsiasi nodo di una delle due catene risolve il blocco, va a generare quello successivo per la catena di cui fa parte, andando così a rendere più lunga una catena rispetto all'altra. Di conseguenza come detto prima, la catena più lunga viene sempre ritenuta la più valida: i blocchi nella catena più piccola smetteranno la risoluzione che avevano in corso e si sincronizzeranno con la catena più lunga. Tutte le transazioni avvenute nella catena corta smetteranno di esistere (in puro stile realtà parallele) quindi se ad esempio io avevo inviato 1 BTC ad un mio amico lo rivedrò nel mio wallet (a meno che non sia stato speso anche nella catena più lunga).

Gli exchange (ed altri servizi) sono generalmente le prime vittime del double spending. I nodi malintenzionati quando riescono a dividere la blockchain con attacchi molto grossi (spesso viene usato come esempio l'attacco del 51% e cioè quando i nodi malevoli sono almeno il 51% di quelli totali) posso riuscire a nascondere un'intera catena parallela (la più lunga) e renderla pubblica in un secondo momento. In questo lasso di tempo, sulla catena corta, i malintenzionati scambiano la moneta su vari exchange con altre coin trasferendole poi al di fuori di questi. Una volta fatti questi scambi rendono pubblica la catena più lunga. Così facendo, tutti i nodi vedono la nuova catena più lunga e si sincronizzano su quella, abbandonando la catena corta. Tutte le transazioni effettuate sulla catena corta smetteranno di esistere e gli exchange vedranno quindi sparire la coin ricevuta dai malintenzionati. Questi ultimi invece avranno di nuovo disponibile la moneta ed avranno in più tutte le coin scambiate in precedenza con gli exchange generando così la doppia spesa.
Perché allora si aspettano più conferme? Più blocchi vengono generati (e quindi più conferme si hanno) più è difficile che ci sia una catena più grande che possa prendere il posto di quella attuale. In sostanza si riduce il rischio di vedersi sparire la moneta da sotto il naso.

Questo ritardo tra la generazione dei blocchi (insieme alla dimensione dei questi) è la forza ed allo stesso tempo la debolezza di Bitcoin e più in generale del Proof of Work. Sebbene inizialmente le performance a livello di scalabilità erano un problema secondario, con il crescere di Bitcoin ha iniziato ad essere uno dei problemi principali e più discussi. Provate a pensarci: con una frequenza e dimensione dei blocchi vincolata ed un aumento quasi esponenziale delle transazioni, la formazione di una coda è più che scontata. È come andare a fare la spesa in un supermercato con una sola cassa che va alla stessa velocità di un sacchetto ogni 10 minuti, la coda è inevitabile. Aumentando le transazioni aumentava la latenza e calavano le prestazioni si è arrivati così a "costringere" il Bitcoin ad alzare la dimensione massima del blocco da 1 MB a 4 MB (2 MB a livello pratico).



Il Bitcoin (e la sua blockchain Proof of Work) ha quindi dimostrato come i modelli di consenso distribuito siano utilizzabili in larga scala ma allo stesso tempo come la scalabilità di questi ultimi sia tutt'ora uno dei punti più cruciali.




Una bassa scalabilità comporta (al crescere del numero e della frequenza delle transazioni) un aumento della latenza, la quale si traduce in diverse problematiche facilitando l'operato ad eventuali nodi malevoli, oltre ovviamente a ridurre l'user friendly della moneta stessa. È con l'obiettivo di risolvere queste problematiche che si sono viste nascere diverse blockchain con differenti algoritmi di consenso, alcuni dei quali hanno permesso di ridurre notevolmente la latenza, come i sistemi Proof of Stake.​


94068.png


5    Proof of Stake - PoS

Al contrario del PoW, il Proof of Stake (PoS) ha come obiettivo la sicurezza della rete attraverso un algoritmo che non vada ad impattare pesantemente sulla potenza di calcolo e sui costi energetici. Attraverso questo algoritmo infatti non si vedrà più il miner e il suo hashpower generare il blocco, verificarlo e distribuirlo alla rete, bensì vedremo un forger che conierà il nuovo blocco. I blocchi infatti non saranno più generati, tutte le monete saranno "pre-minate". È per questo motivo che i blocchi nel PoS non vengono generati (o estratti) ma si dice vengano coniati. I forgers infatti non avranno un premio per la coniazione del blocco ma riceveranno solo le commissioni delle transazioni presenti nel blocco.

La scelta del forger per la verifica del blocco non sarà più determinata in base a chi risolve il calcolo ma sarà gestita da un algoritmo sulla base di chi possiede "più ricchezza": più moneta si possiede più facilmente si verrà scelti per coniare il blocco.
Dato però che se fosse scelto semplicemente chi possiede più moneta ci sarebbe sempre un unico creatore di blocchi, sono stati pensati diversi metodi di selezione, alcuni di questi sono:
  • Selezione causale: Selezione casuale dove chi possiede più moneta ha più probabilità di essere scelto (ma non la certezza).
  • Selezione bastata sull'anzianità: oltre alla quantità entra il concetto di anzianità, ad esempio le monete devono rimanere "non spese" per almeno 30 giorni per poter essere considerate.
  • Selezione bastata sulla movimentazione dei fondi: come dice il nome in questo caso si da la precedenza alla movimentazione di moneta più che alla quantità posseduta.
  • Selezione basta sul voto: chiamata anche Delegated Proof-of-Stake (DPoS). In questo caso, i possessori di token non lavorano direttamente sulla validità dei blocchi, ma selezionano i delegati per eseguire la convalida per loro.

Nel sistema PoS viene quindi selezionato in maniera casuale (come visto sopra) un nodo il quale genera il blocco e lo comunica a tutti gli altri nodi. Questi ultimi dovranno dare un voto (si/no), se 2/3 dei nodi vota positivamente il blocco viene ritenuto valido e quindi approvato. Non essendo basati sulla potenza di calcolo del miner, i protocolli PoS hanno permesso di raggiungere una latenza molto bassa, riuscendo a gestire migliaia di transazioni per secondo.
I sistemi PoS non sono però perfetti, uno dei primi problemi che hanno riscontrato è stata la scalabilità del numero di nodi. Più il loro numero aumentava più i tempi necessari per comunicare con tutti i nodi aumentava aumentando la latenza. Al tempo stesso però più nodi sono presenti nella rete più la blockchain è sicura, diminuendo il numero di nodi aumenta invece il rischio di attacco Sybil (un tipo di attacco in cui un singolo attore malintenzionato può creare o manipolare un gran numero di nodi per compromettere la rete).

Al fine di ottimizzare questi sistemi di controllo sono presenti alcune variazioni ai classici sistemi BFT come il Federated Byzantine Agreement (FBA) dove il consenso viene raggiunto senza il voto dell'intera rete dei nodi ma solamente con una porzione di quesi riducendo così la latenza mantenendo comunque la sicurezza e la decentralizzazione del controllo. Un'altra opzione molto diffusa è il Delegated Byzantine Fault Tolerance (dBFT), in questo caso è il numero dei nodi ad essere ridotto. Infatti i possessori di moneta non contribuiranno attivamente alla generazione dei blocchi ma delegheranno il compito ad un nodo non gestito da loro. Più gente delegherà un nodo più questo avrà più probabilità di essere scelto per generare il blocco successivo. Va da se che il dBFT risulta essere un sistema molto più centralizzato rispetto ad un PoS classico, il che comporta prestazioni molto maggiori a discapito appunto di una minore decentralizzazione.​



I sistemi PoS tendono ad essere più centralizzati rispetto al PoW guadagnando in prestazioni



Trovo interessante come le varie blockchain stiano trovando numerose tipologie di algoritmi BFT sia dBFT che non. NEO ad esempio è un sistema dBFT molto centralizzato (a quanto so ha una decina di nodi tutti di proprietà di NEO) e per questo molto performante. Ontology invece è sempre dBFT ma chiunque può aprirsi un nodo e ricevere deleghe da parte di apri possessori di moneta ma nel momento in cui viene abilitato per generare blocchi (e quindi diventa un nodo del consenso
mysterious-3347603_1920-Recuperato.png
vedi la guida su Ontology) è richiesta la verifica in quanto tutti i nodi devono essere identificati. Esistono poi numerose blockchain BFT dove chiunque può aprirsi un nodo non delegato come può essere ad esempio Sinovate o Helix.

Un'altra distinzione vene fatta per quanto riguarda lo stake ovvero il quantitativo di moneta necessario appunto per contribuire alla rete di consenso. Su NEO infatti è sufficiente possedere la moneta all'interno del wallet per delegare i nodi della rete (in questo caso la delega (e quindi la fiducia) la sia da alla rete stessa dato che tutti i nodi sono gestiti da NEO stessa), su Ontology lo stake viene vincolato finché si delega un nodo, su Sinovate invece una parte viene vincolata per un anno, l'altra viene bloccata solo finché il nodo è attivo.​

Un ulteriore problema: Nothing at stake
Alcuni sostengono che un problema della Proof of Stake sia l'assenza di una posta in gioco (nothing at stake). Nel caso avvenga un fork di una bockchain PoS, l'utenza di questa tenderà a votare entrambe le varianti in quanto la moneta verrà sdoppiata ed avrà quindi coin in entrambi i fork nei quali eseguirà lo stake. Non è infatti dispendioso a livello hardware votare lavorare in entrambi i fork. Al contrario nel Proof of Work, i miner devono scegliere su quale fork stare in quanto il lavoro computazionale è in questo caso molto elevato. Questo fa si che il voto abbia un peso molto maggiore. Sono state proposte delle possibili soluzioni anche se rimane tutt'ora uno dei punti negativi del PoS in generale.​


6    Ma quindi è meglio il Proof of Work o il Proof of Stake?

Per il momento non credo ci sia una risposta certa a questa domanda, entrambi hanno pro e contro, alcuni di questi sono stati descritti sopra, altri li cito adesso mostrandovi prima questa tabella presa da questa fonte molto interessante (anche se vecchia). Inoltre mi sono permesso di sostituire il termine PoS a quello presente nel testo originale (BFT) in quanto quest'ultimo lo considero più generico ed utilizzabile (anche se non del tutto) sia per le blockchain PoS che per le PoW.


FattoriProof of Work (BFT)Proof of Stake (BFT)
Gestione delle identità dei nodi
aperta
(decentralizzata)​
su autorizzazione, i nodi devono conoscere l'ID di tutti gli altri nodi​
Finalità del consenso
no​
si​
Scalabilità dei nodi
ottimale
(migliaia di nodi)​
più limitata
(dipende dal consenso utilizzato)​
Scalabilità dei client
ottimale
(migliaia di client)​
ottimale
(migliaia di client)​
Prestazione (portata)
limitata
(poche transazioni/secondo)​
ottimale
(molte transazioni/secondo)​
Prestazione (latenza)
elevata latenza causa
la necessità di conferme multi-blocco​
ottimale, corrisponde alla
latenza della rete​
Consumo di energia
elevato​
buona​
Tolleranza in caso di attacchi
< 25% del hash power totale​
< 33% del potere di voto​
Sincronia di rete
orologio fisico (timestamp)​
nessuna, per la sicurezza del consenso


Qui in spoiler una descrizione dei punti mostrati qui sopra per i quali non sono state spese parole precedentemente (o ne sono state spese poche).

Maggiori informazioni sulla tabella:




7    Conclusioni

Personalmente trovo affasciante le blockchain in generale e non so bene se preferisca le Proof of Work o le Proof of Stake dato che sono molto diverse tra loro. Generalmente sarei più per il PoW in quanto più decentralizzato e "solido nei suoi principi", il Bitcoin in particolare. Purtroppo però alcune caratteristiche lo penalizzano molto nell'utilizzo quotidiano e per questo non mi dispiacciono le PoS. Un esempio sono le commissioni elevatissime al momento con tempi di approvazione veramente lunghi. Non vedo ora come ora come Bitcoin possa diventare una valuta con la quale comprare qualcosa fisicamente (come un caffè), al contrario però è il più utilizzato online spesso però con servizi come Binance, Coinbase e a breve PayPal, servizi dove la sicurezza è data dal fatto che non siamo noi possessori dei nostri bitcoin, la privatekey infatti non è in mano nostra.

La domanda che mi sorge allora è se sia meglio una PoW decentralizzata nella produzione ma talmente lenta e costosa negli scambi da richiedere una centralizzazione in questo punto, o una blockchain PoS, tendenzialmente più centralizzata nella produzione ma che permette scambi pressoché istantanei? Che poi diciamocelo, Il mining del bitcoin può essere definito ancora decentralizzato? (vi stuzzico eheh)
woman-3373913_1920.png


Inoltre vi chiedo una cosa, essendo io non un esperto (sto imparando insieme a voi), è corretto il ragionamento che ho fatto in questa guida riguardo l'utilizzo del termine PoS (Proof of Stake) al posto di BFT (Bizantine Fault Tollerance)?
Citandomi, la BFT è la proprietà di un sistema che riesce a resistere alla classe di fallimenti derivata dal problema dei generali bizantini. Quindi che il sistema sia PoW, PoS, dPoS o altro, se è in grado di garantire il consenso in presenza di nodi malevoli o danneggiati per me è da considerare BFT. Voi cosa ne pensate?

Spero che questa guida sia utile a tutti gli interessati dell'argomento, se ci sono errori o volete aggiungere qualcosa rispondete pure qui così miglioriamo il topic!

Valley​
 
ottima guida, ora ho capito come mai esistono così tante crypto in giro (non riuscivo mai a spiegarmelo:D).

Non vedo ora come ora come Bitcoin possa diventare una valuta con la quale comprare qualcosa fisicamente (come un caffè)
Sono d'accordo pienamente anche io, infatti secondo me difficilmente potrà essere utilizzata come "moneta" del futuro, troppo instabile, per non parlare della sicurezza che e' uno dei punti di grande sfavore di entrambi i tipi di blockchain (basti pensare come non siano rintracciabili e creare un sistema per rintracciarle in qualche modo perderebbero il loro significato originario).
Per questo, personalmente, sono scettico sull'utilizzo nelle nostre vite quotidiane (pero' chi lo sa:boh:).
 
  • Mi piace
Reazioni: Valley
ottima guida, ora ho capito come mai esistono così tante crypto in giro (non riuscivo mai a spiegarmelo:D).


Sono d'accordo pienamente anche io, infatti secondo me difficilmente potrà essere utilizzata come "moneta" del futuro, troppo instabile, per non parlare della sicurezza che e' uno dei punti di grande sfavore di entrambi i tipi di blockchain (basti pensare come non siano rintracciabili e creare un sistema per rintracciarle in qualche modo perderebbero il loro significato originario).
Per questo, personalmente, sono scettico sull'utilizzo nelle nostre vite quotidiane (pero' chi lo sa:boh:).
Beh, secondo me invece la tracciabilità è una delle caratteristiche principali delle blockchain, se conosci il proprietario di un address hai modo di seguire ogni singolo spostamento pubblicamente. Il problema se così lo possiamo chiamare è l'anonimato che fornisce, se è facile sapere dove vanno i bitcoin è difficile sapere di chi siano.

C'è da dire però che con i servizi centralizzati si trova una via di mezzo: si possono utilizzare le cryptovalute pur mantenendo scambi/pagamenti istantanei. L'unico problema è che in questi casi non sei in pieno possesso delle tue coin, uccidi così la decentralizzazione tanto amata.

Secondo me si ci saranno sempre più servizi centralizzati in grado si supportare bitcoin che potranno permettere a questo un utilizzo globale (sarebbe bello), mentre rimarrà di nicchia l'utilizzo di crypto nella sua vera natura.

Sarà interessante vedere come si evolverà la situazione.
 
  • Mi piace
Reazioni: sabba0
Fantastico articolo! Veramente ma veramente bello.

Comunque la mia opinione sulle crypto come valuta e non come forma d'investimento è questa (non piacerà ai sostenitori più fedeli):

Secondo me, è molto difficile se non quasi impossibile che un giorno avremo una valuta decentralizzata come merce di scambio.

Poichè in un mondo in cui l'economia è basata sul denaro come merce di scambio, chi controlla il denaro e le sue fonti, controlla il mondo.

Un sistema monetario decentralizzato non riuscirebbe mai a prendere piede, o meglio, non sarà mai veramente decentralizzato in quanto chi controlla il mondo (nessuna teoria cospirazionista) come i Rockerfeller o i Rothschild non trarrebbe alcun beneficio da questo.

Perchè il vero potere non è avere una montagna di soldi, ma avere il controllo sulle aziende, persone o cose.

Non poter controllare qualcosa significa non avere più potere su di essa.

Quello che penso che succederà invece, è che si le crypto continueranno ad esistere, ma saranno centralizzate, insomma si utilizzerà più la tecnologia dietro alle crypto come XRP per le banche, che la crypto stessa.

IMHO

Poi, non sono così ferrato come altri su questo argomento e capisco molto bene che potrei sbagliarmi perchè ho una visione errata su alcune cosa, ma ora come ora, con quello che so, questa è la mia conclusione dei fatti :)

@Valley te l'ho già detto che è davvero un bell'articolo? Ahahahaa
 
  • Mi piace
Reazioni: Valley e sabba0
Una domanda, con il Pow i miner ricevono una ricompensa quando creano il nuovo blocco giusto? Ma ricevono anche una ricompensa in base alle transazioni del blocco? Nel senso che guadagnano come nel Pos ma hanno in più anche la ricompensa quando creano il blocco?
 
Una domanda, con il Pow i miner ricevono una ricompensa quando creano il nuovo blocco giusto? Ma ricevono anche una ricompensa in base alle transazioni del blocco? Nel senso che guadagnano come nel Pos ma hanno in più anche la ricompensa quando creano il blocco?

L'unica ricompensa che ricevono è per aver risolto il problema.

Ma magari mi sbaglio e ho capito male tutto quanto, qualcuno come @Valley saprà sicuramente dirti meglio.
 
Quindi non c'entra nulla quante transazioni ci sono nel blocco con il guadagno finale del miner?
Attendo conferma di Valley

Ti posso dire con certezza che la ricompensa per ogni blocco creato è fissa, inizialmente era di 50 BTC ma ogni 210k blocchi quest'utimo si dimezza (succede circa ogni 4 anni), questo è il cosidetto "Halving di BTC". Attualmente sta a 12.5 BTC per blocco.

Come ho detto prima, per quanto ne so l'unica ricompensa per i miner è questa, ma mi ripeterò di nuovo, sono sicuro che Valley saprà dirti di più a riguardo.
 
  • Mi piace
Reazioni: Cashkush e C4G3J88
Una domanda, con il Pow i miner ricevono una ricompensa quando creano il nuovo blocco giusto? Ma ricevono anche una ricompensa in base alle transazioni del blocco? Nel senso che guadagnano come nel Pos ma hanno in più anche la ricompensa quando creano il blocco?

Attraverso la proof of work il miner dimostra che ha speso tempo, energie e denaro per trovare la soluzione al problema che consente la creazione di un nuovo blocco.

All'interno di questo blocco il miner può inserire, finchè c'è spazio, le transazioni effettuate dagli utenti e che sono momentanemente nella mempool in attesa di essere convalidate.

Per "ringraziare" il miner del tempo, energie e denaro speso per trovare la soluzione al problema, il codice di bitcoin prevede un premio (attualmente di 6.25 btc @KingNavas ).
Oltre questa ricompensa il miner incassa anche tutte le commissioni pagate dagli utenti che hanno effettuate quelle transazioni che sono state inserite nel blocco appena scoperto.
Un miner è quindi incentivato ad inserire nel blocco le transazioni con una commissione maggiore. è questo il motivo per il quale pagando una commissione più alta la transazione viene confermata più velocemente.

Provo a mostrarti un esempio pratico:
Questo è l'ultimo blocco creato nel momento in cui sto scrivendo.
Se guardi le transazioni presenti all'interno, puoi osservare la Coinbase (la prima transazione del blocco, è quella che include la ricompensa del minatore)

1607813731673.png


Questa transazione come puoi vedere è di 6.5129232 btc, 6.25 di questi sono il premio ricevuto per aver scoperto il blocco.
La differenza (6.5129232 - 6.25 = 0.2629232 ) corrisponde alla somma delle commissioni pagate dagli utenti che hanno effettuato le transazioni chesono state inserita nel blocco.

Ulteriore esempio: Questo blocco è l'ultimo creato prima dell'halving di quest'anno.
Andando ad osservare la sua coinbase:

1607814064113.png

si può vedere che la transazione è di 13.56876397 BTC, 12.5 di questi sono il premio ricevuto per aver scoperto il blocco, la differenza corrisponde alla somma delle commissioni.
 
Attraverso la proof of work il miner dimostra che ha speso tempo, energie e denaro per trovare la soluzione al problema che consente la creazione di un nuovo blocco.

All'interno di questo blocco il miner può inserire, finchè c'è spazio, le transazioni effettuate dagli utenti e che sono momentanemente nella mempool in attesa di essere convalidate.

Per "ringraziare" il miner del tempo, energie e denaro speso per trovare la soluzione al problema, il codice di bitcoin prevede un premio (attualmente di 6.25 btc @KingNavas ).
Oltre questa ricompensa il miner incassa anche tutte le commissioni pagate dagli utenti che hanno effettuate quelle transazioni che sono state inserite nel blocco appena scoperto.
Un miner è quindi incentivato ad inserire nel blocco le transazioni con una commissione maggiore. è questo il motivo per il quale pagando una commissione più alta la transazione viene confermata più velocemente.

Provo a mostrarti un esempio pratico:
Questo è l'ultimo blocco creato nel momento in cui sto scrivendo.
Se guardi le transazioni presenti all'interno, puoi osservare la Coinbase (la prima transazione del blocco, è quella che include la ricompensa del minatore)

Visualizza allegato 47783

Questa transazione come puoi vedere è di 6.5129232 btc, 6.25 di questi sono il premio ricevuto per aver scoperto il blocco.
La differenza (6.5129232 - 6.25 = 0.2629232 ) corrisponde alla somma delle commissioni pagate dagli utenti che hanno effettuato le transazioni chesono state inserita nel blocco.

Ulteriore esempio: Questo blocco è l'ultimo creato prima dell'halving di quest'anno.
Andando ad osservare la sua coinbase:

Visualizza allegato 47784
si può vedere che la transazione è di 13.56876397 BTC, 12.5 di questi sono il premio ricevuto per aver scoperto il blocco, la differenza corrisponde alla somma delle commissioni.

Azz mi ero proprio scordato dell halving di quest’anno ahahahaha colpa mia!

Non potevi spiegarlo meglio di cosí! L’ho capito perfino io :D
 
Attraverso la proof of work il miner dimostra che ha speso tempo, energie e denaro per trovare la soluzione al problema che consente la creazione di un nuovo blocco.

All'interno di questo blocco il miner può inserire, finchè c'è spazio, le transazioni effettuate dagli utenti e che sono momentanemente nella mempool in attesa di essere convalidate.

Per "ringraziare" il miner del tempo, energie e denaro speso per trovare la soluzione al problema, il codice di bitcoin prevede un premio (attualmente di 6.25 btc @KingNavas ).
Oltre questa ricompensa il miner incassa anche tutte le commissioni pagate dagli utenti che hanno effettuate quelle transazioni che sono state inserite nel blocco appena scoperto.
Un miner è quindi incentivato ad inserire nel blocco le transazioni con una commissione maggiore. è questo il motivo per il quale pagando una commissione più alta la transazione viene confermata più velocemente.

Provo a mostrarti un esempio pratico:
Questo è l'ultimo blocco creato nel momento in cui sto scrivendo.
Se guardi le transazioni presenti all'interno, puoi osservare la Coinbase (la prima transazione del blocco, è quella che include la ricompensa del minatore)

Visualizza allegato 47783

Questa transazione come puoi vedere è di 6.5129232 btc, 6.25 di questi sono il premio ricevuto per aver scoperto il blocco.
La differenza (6.5129232 - 6.25 = 0.2629232 ) corrisponde alla somma delle commissioni pagate dagli utenti che hanno effettuato le transazioni chesono state inserita nel blocco.

Ulteriore esempio: Questo blocco è l'ultimo creato prima dell'halving di quest'anno.
Andando ad osservare la sua coinbase:

Visualizza allegato 47784
si può vedere che la transazione è di 13.56876397 BTC, 12.5 di questi sono il premio ricevuto per aver scoperto il blocco, la differenza corrisponde alla somma delle commissioni.
Ottimo grazie mille dunque mi confermi che in entrambi i metodo si guadagna dalle transazioni, ho capito bene?
Messaggio unito automaticamente:

Attraverso la proof of work il miner dimostra che ha speso tempo, energie e denaro per trovare la soluzione al problema che consente la creazione di un nuovo blocco.

All'interno di questo blocco il miner può inserire, finchè c'è spazio, le transazioni effettuate dagli utenti e che sono momentanemente nella mempool in attesa di essere convalidate.

Per "ringraziare" il miner del tempo, energie e denaro speso per trovare la soluzione al problema, il codice di bitcoin prevede un premio (attualmente di 6.25 btc @KingNavas ).
Oltre questa ricompensa il miner incassa anche tutte le commissioni pagate dagli utenti che hanno effettuate quelle transazioni che sono state inserite nel blocco appena scoperto.
Un miner è quindi incentivato ad inserire nel blocco le transazioni con una commissione maggiore. è questo il motivo per il quale pagando una commissione più alta la transazione viene confermata più velocemente.

Provo a mostrarti un esempio pratico:
Questo è l'ultimo blocco creato nel momento in cui sto scrivendo.
Se guardi le transazioni presenti all'interno, puoi osservare la Coinbase (la prima transazione del blocco, è quella che include la ricompensa del minatore)

Visualizza allegato 47783

Questa transazione come puoi vedere è di 6.5129232 btc, 6.25 di questi sono il premio ricevuto per aver scoperto il blocco.
La differenza (6.5129232 - 6.25 = 0.2629232 ) corrisponde alla somma delle commissioni pagate dagli utenti che hanno effettuato le transazioni chesono state inserita nel blocco.

Ulteriore esempio: Questo blocco è l'ultimo creato prima dell'halving di quest'anno.
Andando ad osservare la sua coinbase:

Visualizza allegato 47784
si può vedere che la transazione è di 13.56876397 BTC, 12.5 di questi sono il premio ricevuto per aver scoperto il blocco, la differenza corrisponde alla somma delle commissioni.
Ok quindi entrambi guadagnano dalle transazioni giusto? Ti ringrazio infinitamente!!
 
Ottimo grazie mille dunque mi confermi che in entrambi i metodo si guadagna dalle transazioni, ho capito bene?
Messaggio unito automaticamente:


Ok quindi entrambi guadagnano dalle transazioni giusto? Ti ringrazio infinitamente!!
Si entrambi guadagnano dalle commissioni delle transazioni, ma nel PoW al momento le commissioni sono un guadagno secondario (in quanto solitamente più basse della ricompensa della creazione del blocco), nel PoS il guadagno sono solo le commissioni delle transazioni incluse nel blocco.