W02.05 – METTENDO TUTTO INSIEME


WEEK 2
Come Bitcoin realizza la Decentralizzazione
Learn Bitcoin’s consensus mechanism and reason about its security. Appreciate how security comes from a combination of technical methods and clever incentive engineering. Imparare il meccanismo di consenso di Bitcoin e la ragione sulla sua sicurezza. Apprezzare il modo in cui la sicurezza deriva da una combinazione di metodi tecnici e ingegnosità intelligente.

Arvind Narayanan
Assistant Professor of Computer science – Princeton

Sezione 02.05 – Mettendo tutto insieme
02.05.01
Let’s now look at mining economics, because we’ve said that it’s quite expensive for miners to be in operation, because finding a single block takes computing about 10 to the 20 hashes. At the same time, we’ve also seen that the block reward is about 25 Bitcoins, which is quite a lot of money. So it really boils down to an economics question of whether or not it’s profitable for a miner to mine.

But we can write down a simple equation that represents what the inputs into this decision are. Fundamentally the mining reward that the miner gets is in terms of the block reward and transaction fees. The miner asks himself whether that’s bigger than or less than their total expenditure, which is the hardware and electricity cost. In fact, Bitcoin mining is so expensive in terms of electricity that, that becomes a significant portion of the cost and not just the up front cost of the hardware.

And if the rewards are greater than the cost, then the miner profits. If not, the miner incurs a loss.

But there are some complications to this simple equation. The first is that, as you may have noticed, the hardware cost is a fixed cost. It’s an up front cost. Where as the electricity cost is a variable cost that is incurred over time.

Another complication is that, remember that a reward that a minor gets depends upon the rate at which they find blocks which depends on not just the power of their hardware, but in facts more accurately, as the ratio of the power of their hardware. As a fraction of the total global hash rate.

So that makes it more complicated as well.

Another complication is, note that the costs that the miner incurs are in terms of dollars or whatever currency that they’re using.

Whereas they’re rewarded in terms of Bitcoins that are created or Bitcoins that are transaction fees. So this equation is really going to depend on what the exchange rate of Bitcoin is doing at any given time.

And finally, so far we have assumed that the miner is interested in honestly following the protocol, but it could be the case that the miner could deploy some other mining strategy instead of always finding the next block that extends the longest valid branch.

And so this equation doesn’t capture all the nuances of the different strategies that the miner can employ. So even though we can write down the simple equation, actually analyzing what it makes sense for miners to do is a complicated game theory problem and we don’t have simple answers to that. Okay, so now we’ve obtained a pretty good understanding of how a Bitcoin obtains decentralization. Let’s put it all together now and do a little bit of a recap and understand some high level points in order to get an even better understanding.
Guardiamo ora all’economia mineraria, perché abbiamo detto che è piuttosto costoso per i minatori essere operativi, perché trovare un singolo blocco richiede da 10 a 20 hash. Allo stesso tempo, abbiamo anche visto che il premio del blocco è di circa 25 Bitcoin, che è un bel pò di soldi. Quindi si riduce a una questione di economia se sia o meno redditizio per un minatore.

Ma possiamo scrivere una semplice equazione che rappresenta ciò che gli input in questa decisione sono. Fondamentalmente la ricompensa mineraria che ottiene il minatore è in termini di compensi per blocco e commissioni di transazione. Il minatore si chiede se è più grande o meno della spesa totale, che è il costo dell’hardware e dell’elettricità. In effetti, l’estrazione di Bitcoin è così costosa in termini di elettricità che diventa una parte significativa del costo e non solo il costo iniziale dell’hardware.

E se i premi sono maggiori del costo, allora i profitti del minatore. Altrimenti, il minatore subisce una perdita.

Ma ci sono alcune complicazioni a questa semplice equazione. Il primo è che, come avrai notato, il costo dell’hardware è un costo fisso. È un costo in anticipo. Quando il costo dell’elettricità è un costo variabile sostenuto nel tempo.

Un’altra complicazione è che, ricorda che una ricompensa che un minatore ottiene dipende dalla velocità con cui trovano i blocchi che dipendono non solo dalla potenza del loro hardware, ma in realtà in modo più accurato, come il rapporto tra la potenza del loro hardware. Come una frazione del tasso globale di hash.

Ciò rende anche più complicato.

Un’altra complicazione è che i costi sostenuti dal minatore sono in termini di dollari o di qualsiasi valuta che stanno utilizzando.

Mentre sono ricompensati in termini di Bitcoin creati o Bitcoin che sono costi di transazione. Quindi questa equazione dipenderà davvero da ciò che il tasso di cambio di Bitcoin sta facendo in un dato momento.

E infine, finora abbiamo assunto che il minatore fosse interessato a seguire onestamente il protocollo, ma potrebbe essere il caso che il minatore potesse implementare qualche altra strategia di mining invece di trovare sempre il blocco successivo che estende il ramo più lungo valido.

E così questa equazione non cattura tutte le sfumature delle diverse strategie che il minatore può impiegare. Quindi, anche se possiamo scrivere la semplice equazione, in realtà analizzare ciò che ha senso per i minatori è un complicato problema di teoria dei giochi e non abbiamo risposte semplici a questo. Ok, ora abbiamo ottenuto una buona comprensione di come un Bitcoin ottiene il decentramento. Mettiamo tutto insieme ora e facciamo un piccolo riassunto e comprendiamo alcuni punti di alto livello per ottenere una comprensione ancora migliore.
02.05.02
So what I’m gonna do is I’m gonna do a very quick recap of several of the major aspects of Bitcoin that we have learned so far. Let’s start from identities, as we have learned there are no real world identities required to participate in the Bitcoin protocol. Any user can create a pseudonymous key pair at any moment, any number of them.

And when Alice and Bob want to make a transaction, when Alice, for example, wants to know what address Bob wants to get paid at, that’s not part of the Bitcoin protocol. That needs to be through some other process, for example, on Bob the merchant’s website.

So given these psudonymous key pairs as identities, transactions are basically messages that are broadcast to the Bitcoin peer-to-peer network that are instructions to transfer a coin from one address to another. And a coin really is just a chain of transactions to the extent that we can call anything in Bitcoin an actual coin. And this is something we will see in much more detail in future lectures.

And so this peer to peer network that we’ve looked at, it’s goal is to propagate all new transactions to all the Bitcoin peer nodes. As well as new blocks to the Bitcoin peer nodes. But it’s just gonna do sort of the best effort that it can. The real security of the system doesn’t come from the perfection of the peer-to-peer network. In fact, the underlying assumption that the network is, in fact, quite unreliable. But, instead, where the security comes from is from the block chain and the consensus protocol that we spent a lot of time looking at.

So, what it means for your transaction to be in the block chain is that it achieves a lot of confirmations. It’s not a fixed number, 6 is a commonly used heuristic, but the more confirmations your transaction has received, the more blocks are found that extend the block that contained your transaction, the more certain you can be that your transaction was part of the consensus chain.

And now often there are going to be a variety of orphan blocks. These are blocks that don’t make it into the consensus chain. This could represent an invalid transaction or a double spend attempt. It could simply represent the fact that there is latency in the network, and two miners competing to solve this proof of work puzzle. Simply ended up finding new blocks within just a few seconds of each other. And, so both of these blocks were broadcast nearly simultaneously onto the network.

So another subtle point here is that if Alice and Bob were two different miners, and Alice has 100 times as much computing power as Bob. What that means is, not that Alice will always win the race against Bob to find the next block, but instead, Alice and Bob have a ratio, a probability ratio, of finding the next block in the proportion 100 to 1. So in the long term Bob will find, on average, 1% of the blocks that Alice does.

So those are some of the basics of block chain and consensus, and where the security of system really comes from. And finally, we looked at hash puzzles and mining. Miners are a special type of nodes that bother to compete in this game of creating new blocks and they’re rewarded for their efforts in terms of Bitcoins. And we expect that miners are going to be typically somewhere near the economic equilibrium of the expenditure that they incur, in terms of hardware and electricity, being somewhere equal to the rewards that they obtain in terms of the new block creation reward and the transaction fee based rewards.

So that’s a broad recap of the system.

Let me show you in a pointed way how deeply this notion of distributed consensus permeates Bitcoin. Now in a traditional currency, consensus does come into to play in a limited extent. Which is we have a consensus process around what is the exchange of the currency. You can make a rough analogy to consensus and distributed systems.
Quindi quello che farò è che farò un riepilogo molto veloce di molti degli aspetti principali di Bitcoin che abbiamo imparato finora. Iniziamo dalle identità, come abbiamo appreso non ci sono identità reali necessarie per partecipare al protocollo Bitcoin. Ogni utente può creare una coppia di chiavi pseudonusa in qualsiasi momento, un numero qualsiasi di essi.

E quando Alice e Bob vogliono fare una transazione, quando Alice, per esempio, vuole sapere a quale indirizzo Bob vuole essere pagato, questo non fa parte del protocollo Bitcoin. Questo deve avvenire attraverso qualche altro processo, ad esempio, sul sito web di Bob the merchant.

Quindi, date queste coppie di chiavi psudonymous come identità, le transazioni sono fondamentalmente messaggi che vengono trasmessi alla rete peer-to-peer di Bitcoin che sono istruzioni per trasferire una moneta da un indirizzo a un altro. E una moneta è davvero solo una catena di transazioni nella misura in cui possiamo chiamare qualsiasi cosa in Bitcoin una moneta reale. E questo è qualcosa che vedremo in modo molto più dettagliato nelle prossime lezioni.

E così questa rete peer-to-peer che abbiamo visto, l’obiettivo è quello di propagare tutte le nuove transazioni a tutti i nodi peer Bitcoin. Così come nuovi blocchi per i nodi peer Bitcoin. Ma farà solo il miglior sforzo possibile. La vera sicurezza del sistema non deriva dalla perfezione della rete peer-to-peer. In realtà, l’ipotesi di fondo che la rete è, in realtà, abbastanza inaffidabile. Ma, invece, da dove proviene la sicurezza proviene dalla catena di blocchi e dal protocollo di consenso che abbiamo passato molto tempo a guardare.

Quindi, ciò che significa che la transazione è nella catena di blocchi è che ottiene molte conferme. Non è un numero fisso, 6 è un’euristica comunemente usata, ma più conferme la transazione ha ricevuto, più blocchi si trovano che estendono il blocco che conteneva la transazione, più sicuro si può essere che la transazione fosse parte del consenso catena.

E ora spesso ci sarà una varietà di blocchi orfani. Questi sono blocchi che non entrano nella catena del consenso. Questo potrebbe rappresentare una transazione non valida o un tentativo di doppia spesa. Potrebbe semplicemente rappresentare il fatto che c’è latenza nella rete e due minatori in competizione per risolvere questa prova di lavoro puzzle. Semplicemente ha finito per trovare nuovi blocchi in pochi secondi l’uno dall’altro. E, quindi, entrambi questi blocchi sono stati trasmessi quasi contemporaneamente sulla rete.

Un altro punto sottile qui è che se Alice e Bob fossero due minatori diversi, e Alice avesse una potenza di calcolo 100 volte superiore a quella di Bob. Ciò significa, non che Alice vincerà sempre la gara contro Bob per trovare il blocco successivo, ma invece, Alice e Bob hanno un rapporto, un rapporto probabilità, di trovare il blocco successivo nella proporzione 100 a 1. Quindi nel a lungo termine, Bob troverà, in media, l’1% dei blocchi che Alice fa.

Questi sono alcuni dei principi fondamentali della catena di blocco e del consenso, e da dove proviene davvero la sicurezza del sistema. E infine, abbiamo esaminato i puzzle di hash e il mining. I minatori sono un tipo speciale di nodi che si preoccupano di competere in questo gioco di creazione di nuovi blocchi e sono ricompensati per i loro sforzi in termini di Bitcoin. E ci aspettiamo che i minatori saranno in genere in qualche luogo vicino all’equilibrio economico della spesa che essi sostengono, in termini di hardware ed elettricità, essendo in qualche misura uguali ai benefici che ottengono in termini di nuovo premio per la creazione dei blocchi e la commissione di transazione Ricompense basate.

Quindi questo è un ampio riassunto del sistema.

Permettimi di mostrarti in modo approfondito quanto profondamente questa nozione di consenso distribuito permei Bitcoin. Ora in una valuta tradizionale, il consenso entra in gioco in misura limitata. Qual è il processo di consenso attorno a ciò che è lo scambio della valuta. È possibile fare un’analogia approssimativa con il consenso e i sistemi distribuiti.
02.05.03
And that is certainly true in Bitcoin as well, we need consensus around the value, the exchange rate of Bitcoin. But consensus goes much deeper in Bitcoin than in other say fiat currencies. In fact, you need consensus around state, which is what the block chain accomplishes, that is a record of which transactions are valid or which transactions have even happened.

So even the idea of how many Bitcoins you own is subjective consensus. What it means when I say I own a certain amount or number of Bitcoins, is that I mean that the Bitcoin peer to peer network as recorded in the block chain, considers me the sum total of all my addresses to own a certain number of bitcoins. That is sort of the ultimate nature of truth within Bitcoin. So ownership of Bitcoins is nothing more than other nodes thinking that I own a certain number of Bitcoins.

And finally we need consensus about the rules of the system because occasionally the rules of the system have to change. There are things called soft forks and hard forks, and we are gonna see a little bit more detail of those in later lectures.

Now I want to show you another subtle idea, which is very tricky, and its this very neat idea of bootstrapping that I really found intriguing the first time I encountered it. So I want to share this with you. So what do I mean by bootstrapping.
E questo è certamente vero anche in Bitcoin, abbiamo bisogno di un consenso intorno al valore, al tasso di cambio di Bitcoin. Ma il consenso va molto più in profondità in Bitcoin che in altre valute legali. In realtà, è necessario il consenso sullo stato, che è ciò che la catena di blocchi realizza, cioè un record di quali transazioni sono valide o quali transazioni sono state addirittura verificate.

Anche l’idea di quanti Bitcoin possiedi è un consenso soggettivo. Che cosa significa quando dico di possedere una certa quantità o numero di Bitcoin, è che intendo che la rete peer-to-peer di Bitcoin registrata nella catena a blocchi, mi considera la somma totale di tutti i miei indirizzi per possedere un certo numero di bitcoin. Questa è una specie della natura ultima della verità in Bitcoin. Quindi la proprietà di Bitcoin non è altro che altri nodi pensando di possedere un certo numero di Bitcoin.

Infine, abbiamo bisogno di un consenso sulle regole del sistema perché occasionalmente le regole del sistema devono cambiare. Ci sono cose chiamate soft forks and hard forks forchette morbide e forchette dure, e vedremo un po ‘più di dettaglio di quelle nelle conferenze successive.

Ora voglio mostrarti un’altra idea sottile, che è molto complicata, ed è questa idea molto carina di boot/strap [cinghia di avvio – cinghia di distribzione?] che Ho davvero trovato interessante la prima volta che l’ho incontrato. Quindi voglio condividerlo con te.
02.05.04
I mean the tricky interplay between three things in Bitcoin, and what are these three things? Let’s start from the security of the block chain. So obviously we want the block chain to be secure for Bitcoin to be a viable currency. But, what is necessary for the block chain to be secure? What this means is that an adversary shouldn’t be able to overwhelm the consensus process. Shouldn’t be able to create a lot of nodes and take over 50% or more of the new block creation.

But when will that be true? What is the prerequisite for that? A prerequisite for that is having a healthy mining ecosystem made up of largely honest protocol following nodes. So that’s a prerequisite for security of the block chain. But what’s a prerequisite for that? When can we be sure that a lot of miners will put a lot of computing power into participating in this hash puzzle solving competition? Well, they’re only gonna do that if the exchange rate of Bitcoin is pretty high.

Why is that? Because they receive rewards denominated in Bitcoins, whereas their expenditure is in dollars, so the more the value of the currency goes up the more incentivized these miners are going to be.

But what ensures a high and stable value of the currency? That can only happen if, users in general, people who want to buy Bitcoins, have trust in the security of the block chain. Because if they believe that the network could be overwhelmed at any moment by an attacker then Bitcoin is not going to have a lot of value as a currency. So you have this interlocking interdependence between these three things, all right? So the existence of each of these is predicated on the existence of another.

So one might flip that around and imagine, at the beginning during Bitcoin’s creation when none of these three things existed. When there were no miners other than what we believed to be Nakamoto himself or whoever the creator was running the mining software. And when Bitcoin didn’t have a lot of value as a currency, and when the block chain was in fact insecure because there was not a lot of mining going on, and so anybody could easily overwhelm this process. How do you go from there, not having any of these three properties to having all three of them. That is what I mean by bootstrapping and it’s this very tricky process of how all of these three characteristics we’re required by the Bitcoin system in an interdependent manner with each other. And this was of course fueled by a lot of media attention as well. Because the more people hear about Bitcoin, the more they’re gonna get interested in mining. And the more they get interested in mining, the more confidence people will have in the security of the blockchain because there’s now more mining activity going on, and so on and so forth.

And so Bitcoin went from having none of these properties to now having, in some large measure, all three of these properties. That’s the interesting bootstrapping feature of Bitcoin, and every new Alt Coin that wants to succeed, also has to somehow solve this problem of pulling it self up by its boot straps.
Quindi cosa intendo per bootstrap. Intendo la complicata interazione tra tre cose in Bitcoin e quali sono queste tre cose? Iniziamo dalla sicurezza della catena dei blocchi. Quindi, ovviamente, vogliamo che la catena di blocchi sia sicura affinché Bitcoin sia una valuta valida. Ma cosa è necessario per proteggere la catena dei blocchi? Ciò significa che un avversario non dovrebbe essere in grado di sopraffare il processo di consenso. Non dovrebbe essere in grado di creare molti nodi e assumere oltre il 50% o più della nuova creazione di blocchi.

Ma quando sarà vero? Qual è il prerequisito per questo? Un prerequisito per questo è avere un ecosistema minerario sano formato da protocolli ampiamente onesti che seguono i nodi. Quindi questo è un prerequisito per la sicurezza della catena di blocchi. Ma quale è un prerequisito per questo? Quando potremo essere sicuri che molti minatori porteranno molta potenza di calcolo a partecipare a questa competizione di risoluzione di enigmi? Beh, lo faranno solo se il tasso di cambio di Bitcoin è piuttosto alto.

Perché lo è? Perché ricevono compensi denominati in Bitcoin, mentre la loro spesa è in dollari, quindi più il valore della valuta sale, più incentivati saranno questi minatori.

Ma cosa garantisce un valore elevato e stabile della valuta? Ciò può accadere solo se, in generale, gli utenti che vogliono acquistare Bitcoin hanno fiducia nella sicurezza della catena di blocchi. Perché se credono che la rete potrebbe essere sopraffatta in qualsiasi momento da un attaccante, allora Bitcoin non avrà molto valore come valuta. Quindi hai questa interdipendenza interdipendente tra queste tre cose, va bene? Quindi l’esistenza di ognuno di questi è basata sull’esistenza di un altro.

Si può capovolgere ciò e immaginare, all’inizio durante la creazione di Bitcoin quando nessuna di queste tre cose esisteva. Quando non c’erano minatori oltre a quello che credevamo essere lo stesso Nakamoto o chiunque fosse il creatore che eseguiva il software di mining. E quando Bitcoin non aveva molto valore come valuta, e quando la catena di blocchi era in realtà insicura perché non c’era molta estrazione in corso, e così chiunque potrebbe facilmente sopraffare questo processo. Come vai da lì, non avendo nessuna di queste tre proprietà per averle tutte e tre. Questo è ciò che intendo per bootstrap ed è questo processo molto complicato di come tutte queste tre caratteristiche sono richieste dal sistema Bitcoin in modo interdipendente l’una con l’altra. E questo è stato naturalmente alimentato anche da molta attenzione da parte dei media. Perché più persone sentono parlare di Bitcoin, più si interesseranno al settore minerario. E più si interessano al settore minerario, maggiore è la fiducia che le persone avranno nella sicurezza della blockchain perché ora c’è più attività mineraria in corso, e così via.

E così Bitcoin è passato dall’avere nessuna di queste proprietà ad avere ora , in una certa misura, tutte e tre queste proprietà. Questa è l’interessante funzione di bootstrap di Bitcoin, e ogni nuovo Alt Coin che vuole avere successo, deve anche in qualche modo risolvere questo problema di tirarlo su dalle sue cinghie di avvio.
02.05.05
Okay, let me leave you now with one final thing. Which is that in order to understand consensus and what it’s responsible for and what it’s not responsible for, a good way to do that is to ask ourselves what would happen if consensus failed and there were in fact a 51% attacker, somehow, who controls 51% or more of the mining power in the Bitcoin network.

So let’s see what happens in that case, and let’s list a whole variety of things, possible bad things, that we think might happen, and let’s ask ourselves which of these are possible for a 51% attacker.

First of all, can this attacker steal coins from an existing address?

Well, you might guess that the answer is no because stealing from an existing address is not possible. Unless you subvert the cryptography, it’s not enough to subvert the consensus process.

This is a bit tricky, let’s follow through this line of argument. Let’s say that this 51% attacker, creates an invalid block that contains an invalid transaction. That represents stealing Bitcoins from an existing address that the attacker doesn’t control and transferring them to his own address.

Now this attacker can pretend that that’s a valid transaction, and pretend that that’s a valid block. And keep building upon this block.

And even succeed in making that the longest branch. But the other honest nodes are simply not going to accept this invalid block, and are going to keep mining based on the last valid block that they found at the network. So what will happen is that there will be what we call a fork in the chain. Now imagine this. From the point of view of the attacker trying to spend these invalid coins and send them to some merchant, Bob, and buy something in exchange. Now, Bob will presumably be running a Bitcoin node himself and that will be an honest node. And that node is going to say, oh, this might be the longest branch but it’s not a valid branch because it contains an invalid transaction because the crypto, the signatures, didn’t check out.

And so it’s going to simply ignore this longest branch because it’s an invalid branch. And because of that, subverting consensus is not enough, you have to subvert cryptography to steal coins from an existing address. So we conclude that this attack is not possible for a 51% attacker.

By the way, in saying all of this I should note that this is somewhat hypothetical, somewhat a thought experiment because if there were, in fact, actual signs of a 51% attack, what will probably happen is that the developers will notice this, and will try to react to it. And will update the Bitcoin software, and we might expect that the rules of the system of the P2P network might change in some form, to make this attack more difficult to launch. But we can’t quite predict that, so we’re working in a simplified model where a 51% attack happens, but other than that, there are no changes or tweaks to the rules of the system.
Okay, lascia che ti lasci ora con un’ultima cosa. Che è quello per capire il consenso e di cosa è responsabile e di cosa non è responsabile, un buon modo per farlo è chiedersi cosa succederebbe se il consenso fallisse e ci fosse in effetti un 51% di aggressore, in qualche modo, che controlla Il 51% o più del potere di estrazione nella rete Bitcoin.

Vediamo cosa succede in quel caso e elenchiamo tutta una serie di cose, possibili cose brutte, che pensiamo possano accadere, e chiediamoci quali di questi sono possibili per un attaccante del 51%.

Prima di tutto, questo attaccante può rubare monete da un indirizzo esistente?

Bene, si potrebbe supporre che la risposta sia no, perché non è possibile rubare da un indirizzo esistente. A meno di non sovvertire la crittografia, non è sufficiente sovvertire il processo di consenso.

Questo è un po’ complicato, seguiamo questa argomentazione. Diciamo che questo attaccante del 51% crea un blocco non valido che contiene una transazione non valida. Questo rappresenta rubare Bitcoin da un indirizzo esistente che l’attaccante non controlla e trasferirli al suo stesso indirizzo.

Ora questo malintenzionato può fingere che sia una transazione valida e fingere che sia un blocco valido. E continua a costruire su questo blocco.

E riesci anche a fare di quel ramo il più lungo. Ma gli altri nodi onesti non accetteranno semplicemente questo blocco non valido e manterranno il mining in base all’ultimo blocco valido trovato nella rete. Quindi, ciò che accadrà è che ci sarà quello che chiamiamo un fork della catena. Ora immagina questo. Dal punto di vista dell’attaccante che cerca di spendere queste monete non valide e di mandarle a un mercante, Bob, e comprare qualcosa in cambio. Ora, presumibilmente, Bob gestirà un nodo Bitcoin e questo sarà un nodo onesto. E quel nodo sta per dire, oh, questo potrebbe essere il ramo più lungo ma non è un ramo valido perché contiene una transazione non valida perché la crittografia, le firme, non ha verificato.

E quindi semplicemente ignorerà questo più lungo ramo perché è un ramo non valido. E a causa di ciò, sovvertire il consenso non è sufficiente, devi sovvertire la crittografia per rubare monete da un indirizzo esistente. Quindi concludiamo che questo attacco non è possibile per un attaccante del 51%.

A proposito, nel dire tutto questo dovrei notare che questo è un po ‘ipotetico, un po’ un esperimento mentale perché se ci fossero, in effetti, i segni reali di un 51 % di attacco, ciò che probabilmente accadrà è che gli sviluppatori lo noteranno e proveranno a reagire. E aggiorneremo il software Bitcoin, e potremmo aspettarci che le regole del sistema della rete P2P possano cambiare in qualche modo, per rendere questo attacco più difficile da avviare. Ma non possiamo proprio prevederlo, quindi stiamo lavorando su un modello semplificato in cui si verifica un attacco del 51%, ma a parte questo, non ci sono cambiamenti o modifiche alle regole del sistema.
02.05.06
Okay, let’s move on. Can the attacker suppress some transactions? Let’s say there are some user, say Carol, whom the attacker really doesn’t like. And the attacker knows some of Carols addresses and wants to make sure that no coins belonging to any of those address can possibly be spent.

Is that possible? Well, let’s think about this. The attacker, since he controls the consensus process of the block chain. Can simply refuse to create any new blocks that contain transactions from one of Carol’s address, and can in fact also refuse to build upon blocks that contain such transactions, and the attacker will be successful at that. However the attacker can not prevent these transaction from even being broadcast to the peer-to-peer network. Because the peer to peer network doesn’t depend on the block chain, doesn’t depend on consensus, and we’re assuming that the attacker doesn’t fully control the network, so the transactions are still going to find a way to reach the majority of nodes. So even if the attacker tries this attack, it will be very clear that, that attack is happening because the peer to peer network will still receive these transactions.
Okay, andiamo avanti. L’attaccante può sopprimere alcune transazioni? Diciamo che ci sono alcuni utenti, ad esempio Carol, a cui l’aggressore non piace davvero. E l’attaccante conosce alcuni degli indirizzi di Carols e vuole assicurarsi che nessuna moneta appartenente a nessuno di questi indirizzi possa essere spesa.

È possibile? Bene, pensiamo a questo. L’attaccante, dal momento che controlla il processo di consenso della catena di blocco. Si può semplicemente rifiutare di creare nuovi blocchi che contengano transazioni da uno degli indirizzi di Carol, e in effetti può anche rifiutarsi di costruire su blocchi che contengono tali transazioni, e l’attaccante avrà successo a tale scopo. Tuttavia, l’utente malintenzionato non può impedire che tali transazioni vengano trasmesse alla rete peer-to-peer. Poiché la rete peer-to-peer non dipende dalla catena di blocchi, non dipende dal consenso e supponiamo che l’attaccante non controlli completamente la rete, quindi le transazioni troveranno comunque un modo per raggiungere la maggior parte dei nodi. Quindi, anche se l’attaccante proverà questo attacco, sarà chiaro che quell’attacco sta accadendo perché la rete peer-to-peer continuerà a ricevere queste transazioni.
02.05.07
Okay, what about this one? Can the attacker change the block reward? Can the attacker start pretending that the block reward is instead of 25 Bitcoins, 100 Bitcoins or something like that? Well this sort of corresponds to changing the rules of the system and because of a reasoning similar to what we applied for stealing Bitcoins from an existing address. This is also not possible because the attacker doesn’t control the copies of the Bitcoin software that all of the honest nodes are running. Okay, e questo? L’attaccante può cambiare la ricompensa del blocco? L’attaccante può iniziare a fingere che il premio del blocco sia invece di 25 Bitcoin, 100 Bitcoin o qualcosa del genere? Beh, questo tipo di correzioni corrisponde a cambiare le regole del sistema e a causa di un ragionamento simile a quello che abbiamo chiesto per aver rubato Bitcoin da un indirizzo esistente. Anche questo non è possibile perché l’attaccante non controlla le copie del software Bitcoin che tutti i nodi onesti sono in esecuzione.
02.05.08
So that’s also not possible. Finally let’s ask ourselves if the attacker can somehow destroy confidence in Bitcoin. Well, let’s imagine what would happen. If there were a variety of double spin attempts, and behaviour of not extending the longest valid branch and other such attempted attacks, then people are going to look at this and decide that Bitcoin is no longer acting as a decentralized ledger that they can trust. And so people will simply loose confidence in the currency and we might expect that the exchange rate of Bitcoin is going to plummet.

In fact, if there is a 51% attacker, and this is known, even if the attacker is not necessarily trying to launch any attacks, it’s possible that this might happen. So this we can classify as not only possible but in fact, likely that a 51% attacker of any sort will simply destroy confidence in the currency. And this last one is in fact the main practical threat if a 51% attack where ever to materialize. None of these others really, considering the amount of expenditure that the adversary would have to put into attacking Bitcoin and achieving a 51% majority, really makes sense from a financial point of view to try any of these other attacks
Quindi non è nemmeno possibile. Infine chiediamoci se l’attaccante può in qualche modo distruggere la fiducia in Bitcoin. Bene, immaginiamo cosa sarebbe successo. Se ci fossero una varietà di tentativi di doppio spin, e il comportamento di non estendere il ramo più lungo valido e altri tentativi di attacco, allora la gente guarderà a questo e deciderà che Bitcoin non agirà più come un libro mastro decentralizzato di cui possano fidarsi. E così le persone perderanno semplicemente fiducia nella valuta e potremmo aspettarci che il tasso di cambio di Bitcoin crollerà.

Infatti, se c’è un attaccante del 51%, e questo è noto, anche se l’attaccante non sta necessariamente cercando di lanciare eventuali attacchi, è possibile che ciò possa accadere. Quindi questo possiamo classificarlo come non solo possibile ma in realtà, probabilmente, un aggressore del 51% di qualsiasi tipo semplicemente distruggerà la fiducia nella valuta. E quest’ultima è in effetti la principale minaccia pratica se un attacco del 51% dovunque si materializzi. Nessuno di questi, in realtà, considerando la quantità di spesa che l’avversario avrebbe dovuto attaccare con Bitcoin e raggiungere una maggioranza del 51%, ha davvero senso dal punto di vista finanziario per provare uno di questi altri attacchi.
02.05.09
Great, so now hopefully you’ve obtained a really good understanding of how decentralization is achieved in Bitcoin. And understood identities, understood transactions, understood the peer-to-peer network, understood the blockchain and consensus, understood hatch puzzles and mining. So you should be at a really good point now and a good launching point for understanding a lot more of the subtle details and new ounces of Bitcoin which we’re going to start seeing in the next few lectures. Grande, quindi ora speriamo hai ottenuto un’ottima comprensione di come viene realizzata la decentralizzazione in Bitcoin. E ha compreso le identità, ha compreso le transazioni, ha compreso la rete peer-to-peer, ha compreso la blockchain e il consenso, ha capito i puzzle di tratteggio e l’estrazione. Quindi dovresti essere in un punto molto buono ora e un buon punto di partenza per comprendere molto di più i dettagli sottili e le nuove once di Bitcoin che inizieremo a vedere nelle prossime lezioni.
02.05.10
So the next lecture is gonna be by Joe Bonneau, where he will address a lot of questions that take off from the point where we’ve left off in this lecture.

The first is, how do we get from consensus to currency? So this is an assumption that I’ve already made in this lecture. Not only are we solving a distributed consensus problem but also we’re treating the result of distributed consensus as the currency, in order to incentivize participants. But a lot of details are missing. What exactly does it mean to be paid in Bitcoin, how does that happen, how are those transactions represented and so on. We’re going to look at that, we’re going to look at, what else can we do with consensus. I hinted at this a little bit, but it turns out that Bitcoin offers a lot in addition to just doing consensus. It has a whole scripting language, so there are a lot of interesting things to see there. And so Joe is gonna take it from there in the next lecture, thank you.
Quindi la prossima conferenza sarà di Joe Bonneau, dove affronterà un sacco di domande che decolleranno dal punto in cui ci siamo interrotti in questa conferenza.

Il primo è, come possiamo ottenere dal consenso alla valuta? Quindi questa è una supposizione che ho già fatto in questa conferenza. Non solo stiamo risolvendo un problema di consenso distribuito, ma stiamo anche trattando il risultato del consenso distribuito come valuta, al fine di incentivare i partecipanti. Ma mancano molti dettagli. Che cosa significa esattamente essere pagato in Bitcoin, come può accadere, come sono rappresentate quelle transazioni e così via. Daremo un’occhiata a ciò, vedremo, che altro possiamo fare con il consenso. Ho accennato un po ‘a questo, ma si scopre che Bitcoin offre molto oltre a fare solo consenso. Ha un intero linguaggio di scripting, quindi ci sono molte cose interessanti da vedere lì. E così Joe lo prenderà da lì nella prossima lezione, grazie.

[top]
© Arvind Narayanan – Assistant Professor of Computer science – Princeton University

W02.04
Incentivi e Prova del Lavoro
W03.01
Transazioni Bitcoin