SEZIONE 04.04 – Portafogli online e Cambi

WEEK 4
Come gestire e usare i Bitcoin

This week we’ll explore how using Bitcoins works in practice: different ways of storing Bitcoin keys, security measures, and various types of services that allow you to trade and transact with bitcoins.
Questa settimana esamineremo come funziona in pratica l’uso dei Bitcoin: diversi modi di memorizzare chiavi Bitcoin, misure di sicurezza e vari tipi di servizi che consentono di negoziare e negoziare con bitcoin.

Edward W. Felten – Professor of Computer Science and Public Affairs Princeton University

Sezione 4.4 – Portafogli online e Cambi
In segment 4.4, we’ll move on to talk about Online Wallets and Exchanges. Thus far, we’ve talked about ways in which you could store and manage your bitcoins yourself.
Nel segmento 4.4 passeremo a parlare di portafogli online e scambi. Finora, abbiamo parlato dei modi in cui è possibile archiviare e gestire i bitcoin da soli.
04.04.01
Now we’ll talk about ways in which you can use other people’s services to help you do that. So the first thing you could do is to use an online wallet. An online wallet is kind of like a local wallet that you might manage yourself, except that the information is stored in the cloud and so you have some kind of say web based interface like this. This is from one called Block Chain, but there are plenty of other online wallet services.
You might have a website that you use on your computer, you might have an app that you use on your phone. So it’s like a local wallet but it’s in the cloud. It might typically run in your browser which means the site sends the code that does all of the operations, the site will store your keys, at least, it will have the ability to access your keys. Ideally, the site will encrypt those keys under a password that only you know but of course, you have to trust them to do that. You have to trust their code to not leak that key or leak that password and then of course you would log in, in order to access the wallet, okay.
Ora parleremo dei modi in cui è possibile utilizzare i servizi di altre persone per aiutarti a farlo. Quindi la prima cosa che potresti fare è usare un portafoglio online. Un portafoglio online è un po ‘come un portafoglio locale che potresti gestire tu stesso, tranne che le informazioni sono archiviate nel cloud e quindi hai una sorta di interfaccia basata sul web come questa. Questo è da uno chiamato Block Chain, ma ci sono molti altri servizi di portafoglio online.
Potresti avere un sito web che usi sul tuo computer, potresti avere un’app che usi sul tuo telefono. Quindi è come un portafoglio locale, ma è nel cloud. In genere può essere eseguito nel tuo browser, il che significa che il sito invia il codice che esegue tutte le operazioni, il sito memorizzerà le tue chiavi, almeno, avrà la possibilità di accedere alle tue chiavi. Idealmente, il sito crittograferà quelle chiavi con una password che solo tu conosci ma, ovviamente, devi fidarti di loro per farlo. Devi fidarti del loro codice per non perdere la chiave o perdere quella password e poi, naturalmente, accederesti, per poter accedere al portafoglio, okay.
04.04.02
So an online wallet has certain trade offs compared to doing things yourself. One of the big advantages is that it is convenient. You don’t have to install anything on your computer in order to be able use an online wallet in your browser, on your phone you maybe just have to install an app once. It’ll work across multiple devices. You can have one wallet that you access on your desktop, and on your phone and it will just work because the real wallet lives in the cloud, but there are security worries. If the site or the people who operate the site turn out to be malicious or are compromised somehow, now you have to worry about the information of yours that they’re storing. You have to worry about the fact that they’re supplying code, that has it’s grubby fingers on your bitcoins, and there are things that can go wrong if there’s a compromise or malice at the service provider.
Ideally, you would hope that the site or the service is run by security professionals who are better trained or perhaps more diligent than you in protecting the security of things. And so you hope that they do a better job and that your coins are actually more secure, but at the end of the day, you have to trust them and you have to rely that they won’t be compromised.
Quindi un portafoglio online ha alcuni compromessi rispetto al fare le cose da soli. Uno dei grandi vantaggi è che è conveniente. Non devi installare nulla sul tuo computer per poter utilizzare un portafoglio online nel tuo browser, sul tuo telefono potresti dover installare un’applicazione una sola volta. Funzionerà su più dispositivi. Puoi avere un portafoglio accessibile sul desktop e sul telefono e funzionerà solo perché il vero portafoglio vive nel cloud, ma ci sono preoccupazioni per la sicurezza. Se il sito o le persone che gestiscono il sito risultano malintenzionati o sono in qualche modo compromessi, ora devi preoccuparti delle informazioni che stai memorizzando. Devi preoccuparti del fatto che stanno fornendo codice, che ha le dita sporche dei tuoi bitcoin, e ci sono cose che possono andare storte se c’è un compromesso o malizia al fornitore di servizi.
Idealmente, spereresti che il sito o il servizio sia gestito da professionisti della sicurezza che sono meglio addestrati o forse più diligenti di te nel proteggere la sicurezza delle cose. E così speri che facciano un lavoro migliore e che le tue monete siano effettivamente più sicure, ma alla fine della giornata, devi fidarti di loro e devi fare affidamento sul fatto che non saranno compromesse.
04.04.03
Now another approach instead of an online wallet, is something that functions rather more like a bank in the real world. And to set context for this, let’s talk about how banks or bank-like services operate in the traditional economy. So this is pretty simple, right? You give the bank some money, that’s a deposit and then the bank in exchange, promises to give you back that money later. And of course crucially, the bank doesn’t actually just take your money and put it in a box in the back room, all the bank does is promise that if you show up and ask for the money, they’ll give it back. The bank will typically take that money, put it somewhere else. They’ll invest it or something else like that. The bank will probably keep some money around in reserve in order to make sure that they can payout the demand for withdrawals that they’ll face on a typical day or may be even an unusual day. Many banks typically use something called Fractional Reserve where they keep a certain fraction of all the demand deposits on reserve just in case.
Ora un altro approccio invece di un portafoglio online, è qualcosa che funziona piuttosto come una banca nel mondo reale. E per stabilire il contesto, parliamo di come le banche o i servizi bancari operano nell’economia tradizionale. Quindi questo è abbastanza semplice, giusto? Dai alla banca dei soldi, è un deposito e poi la banca in cambio, promette di restituirti quei soldi in seguito. E ovviamente, la banca in realtà non prende i tuoi soldi e li mette in una scatola nella stanza sul retro, tutta la banca fa promettere che se ti presenti e chiedi il denaro, loro lo restituiranno. Solitamente la banca prende quei soldi, mettendoli da qualche altra parte. Lo investiranno o qualcos’altro come quello. La banca probabilmente manterrà un po ‘di soldi in riserva per assicurarsi che possano pagare la richiesta di prelievi che dovranno affrontare in una giornata tipo o potrebbe essere anche una giornata insolita. Molte banche in genere usano qualcosa chiamato Riserva frazionata dove mantengono una certa frazione di tutti i depositi a vista in caso di necessità.
04.04.04
Now bitcoin exchanges are businesses that at least from a user interface standpoint, function in a way that are that’s similar to banks, that is they accept deposits of bitcoins, you can transfer your bitcoins to an exchange and they will, just like a bank, promise you that they would give them back on demand later. You can also transfer fiat currency, that is, traditional currencies like dollars or Euros or similar into an exchange by doing a transfer from your bank account. And so you can make deposits of both of these sorts of things and they promise to pay back either or both of them on demand and what they then let you do is, again, various banking like things. They let you make and receive bitcoin payments, you can direct the exchange to pay out some bitcoins to a particular party, or you can ask someone else to deposit funds into a particular exchange on your behalf, put them into your account. And they also let you exchange bitcoins for fiat currency or viceversa. And typically, the way they do that is they find some customer who wants to buy bitcoins with dollars and some other customer who wants to sell bitcoins for dollars and they try to match them up. That is they try to find customer who are willing to take opposite positions in a transaction, so that there’s a mutually acceptable price and then they will consummate that transaction.
Ora gli scambi di bitcoin sono aziende che, almeno dal punto di vista dell’interfaccia utente, funzionano in modo simile alle banche, accettano depositi di bitcoin, è possibile trasferire i bitcoin in uno scambio e, proprio come una banca, ti prometto che li avrebbero restituiti su richiesta più tardi. Puoi anche trasferire valuta fiat, cioè valute tradizionali come dollari o euro o simili in uno scambio, effettuando un bonifico dal tuo conto bancario. E così puoi fare depositi di entrambi questi tipi di cose e promettono di rimborsare entrambi o entrambi su richiesta e ciò che poi ti lasciano fare è, ancora una volta, varie attività bancarie come le cose. Ti permettono di effettuare e ricevere pagamenti bitcoin, puoi indirizzare lo scambio per pagare alcuni bitcoin a una particolare festa, oppure puoi chiedere a qualcun altro di depositare fondi in una particolare borsa a tuo nome, metterli nel tuo account. E ti permettono anche di scambiare bitcoin con valuta fiat o viceversa. E in genere, il modo in cui lo fanno è trovare un cliente che vuole comprare bitcoin con dollari e qualche altro cliente che vuole vendere bitcoin per dollari e cercano di abbinarli. Cioè cercano di trovare clienti disposti a prendere posizioni opposte in una transazione, in modo che ci sia un prezzo reciprocamente accettabile e poi consumeranno quella transazione.
04.04.05
Now it’s important to understand what happens if you buy or sell bitcoins in an Exchange. So suppose my account at some Exchange starts holding $5000 and three bitcoins. And I use the Exchange, I put in an order to buy two bitcoins for $580 each. And eventually, the Exchange finds someone who’s willing to take the other side of that transaction and the transaction happens. So the result of that is that my account is different. Now I have five bitcoins instead of three, and I also have $3840, that is, that’s my 5000 initial dollars minus $580 each times two bitcoins. That’s $3840. So, now that what’s in my account. But the important thing to note here is that when this transaction happened involving me and another customer of the same exchange, then no transaction actually happened on the bitcoin block chain because the exchange didn’t need to go to the block chain in order to transfer from my account into that other person’s account of dollars or in the other direction, some bit coins. So all that happens in this transaction is that the exchange is now making a different promise to me than they were making before. Before they said we’ll give you $5000 and three bit coins. Now they are saying, we’ll give you $3840 and five bit coins. It’s just the change in their promise, no actual movement of money through the dollar economy or through the bitcoin blotching. And of course the other person has had their exchanges promised to them change in the corresponding opposite way.
Ora è importante capire cosa succede se acquisti o vendi bitcoin in un Exchange. Quindi supponiamo che il mio account in qualche Exchange inizi a contenere $ 5000 e tre bitcoin. E io uso lo scambio, ho fatto un ordine per comprare due bitcoin per $ 580 ciascuno. E alla fine, lo scambio trova qualcuno che è disposto a prendere l’altro lato di quella transazione e la transazione accade. Quindi il risultato è che il mio account è diverso. Ora ho cinque bitcoin invece di tre, e ho anche $ 3840, cioè, sono i miei 5000 dollari iniziali meno $ 580 ogni volta due bitcoin. Quello è $ 3840. Quindi, ora ciò che è nel mio account. Ma la cosa importante da notare qui è che quando questa transazione è avvenuta coinvolgendo me e un altro cliente dello stesso scambio, quindi nessuna transazione è effettivamente avvenuta sulla catena di blocchi bitcoin perché lo scambio non ha avuto bisogno di andare alla catena di blocco per trasferire dal mio account nel conto di quell’altra persona di dollari o nella direzione opposta, un po ‘di monete. Quindi tutto ciò che accade in questa transazione è che lo scambio ora mi sta facendo una promessa diversa da quella che stavano facendo prima. Prima hanno detto che ti daremo $ 5000 e monete da tre bit. Ora stanno dicendo, ti daremo $ 3840 e monete da cinque bit. È solo il cambiamento delle loro promesse, nessun vero movimento di denaro attraverso l’economia del dollaro o attraverso il bitcoin blotching. E naturalmente l’altra persona ha avuto i loro scambi promessi loro di cambiare nel modo opposto corrispondente.
04.04.06
Now there are pros and cons to using exchanges. One of the big pros is that exchanges help to connect the bitcoin economy, and the flows of bitcoins with the fiat currency economy; the dollar, and euro, and other national currency economy so that it is easy to transfer value back and forth. If I have an account in an exchange and a bunch of dollars and a bunch of bitcoins, I can trade back and forth between dollars and bitcoins pretty easily and that’s really helpful.
The con is risk that because an exchange functions in some ways like a bank, that is that it is accepting demand deposits, that it’s accepting payments of money to it in exchange for a promise to pay money back later, that you have the same kinds of risks that you face with banks. And those risks really fall into three categories. The first risk is the risk of a bank run.
Ora ci sono pro e contro nell’usare gli scambi. Uno dei grandi pro è che gli scambi aiutano a collegare l’economia bitcoin e i flussi di bitcoin con l’economia della valuta fiat; il dollaro, l’euro e l’altra economia della moneta nazionale in modo che sia facile trasferire il valore avanti e indietro. Se ho un account in uno scambio e un mucchio di dollari e un mucchio di bitcoin, posso scambiare avanti e indietro tra dollari e bitcoin abbastanza facilmente e questo è davvero utile.
Il contro è il rischio che uno scambio funzioni in qualche modo come un banca, cioè accetta i depositi a vista, accetta pagamenti di denaro in cambio di una promessa di rimborso in seguito, che hai lo stesso tipo di rischi che devi affrontare con le banche. E quei rischi ricadono davvero in tre categorie. Il primo rischio è il rischio di una corsa bancaria.
04.04.07
This of course, is a famous scene from the movie, It’s a Wonderful Life. Jimmy Stewart is running a credit union, another bank-like business, and all of these people have shown up and they want their money back. This is a bank run. And Jimmy Stewart explains to them, I don’t have your money in the back room, I lent out your money to Fred so he could open his hardware store, and so on. So one of the risks is that even if the bank is solvent on paper, that you might show up and want your money back, and the bank might be unable to produce it. And there’s a danger of a kind of panic behaviour where once the rumour starts to get around that a bank or exchange might be in trouble and they might be getting close to not honouring withdrawals, then people stampede in to try to withdraw their money ahead of the crowd, and you get a kind of avalanche and that’s what Jimmy Stewart was able to stave off with his eloquence in the movie.
Questa, ovviamente, è una scena famosa del film, It’s a Wonderful Life. Jimmy Stewart gestisce un’unione di credito, un’altra attività simile a una banca, e tutte queste persone si sono presentate e vogliono i loro soldi indietro. Questa è una corsa in banca. E Jimmy Stewart spiega loro che non ho i tuoi soldi nella stanza sul retro, ho prestato i tuoi soldi a Fred per poter aprire il suo negozio di ferramenta, e così via. Quindi uno dei rischi è che anche se la banca è solvibile su carta, potresti presentarti e volere indietro i tuoi soldi, e la banca potrebbe non essere in grado di produrla. E c’è il pericolo di una sorta di panico in cui una volta che si sparge la voce che una banca o uno scambio potrebbero essere in difficoltà e potrebbero avvicinarsi a non onorare i prelievi, allora la gente fugge per cercare di ritirare i loro soldi prima di la folla, e si ottiene una sorta di valanga e questo è quello che Jimmy Stewart è stato in grado di allontanare con la sua eloquenza nel film.
04.04.08
The second risk is that the owners of the banks just might be crooks. This is Charles Ponzi, inventor of the Ponzi scheme. A Ponzi scheme is a scheme where he would get people to give him money in exchange for wonderful, wonderful profits in the future. Only he would actually take their money and use them to pay out the wonderful, wonderful profits to people who bought previously. And so his schemes were always insolvent and were doomed to eventually fail and lose a lot of people a lot of money which is why he went to prison. And so there’s the risk that the people who run the exchange are just crooks.
Il secondo rischio è che i proprietari delle banche potrebbero essere solo imbroglioni. Questo è Charles Ponzi, inventore dello schema Ponzi. Uno schema di Ponzi è uno schema in cui vorrebbe convincere la gente a dargli dei soldi in cambio di profitti meravigliosi e meravigliosi in futuro. Solo lui avrebbe effettivamente preso i loro soldi e li avrebbe usati per pagare i profitti meravigliosi e meravigliosi alle persone che avevano comprato in precedenza. E così i suoi progetti erano sempre insolventi e erano destinati a fallire e alla fine perdere un sacco di soldi e questo è il motivo per cui è andato in prigione. E quindi c’è il rischio che le persone che gestiscono lo scambio siano solo dei truffatori.
04.04.09
The third risk is the risk of a cyber attack, the risk that someone will manage to penetrate the security of the exchange. Exchanges have large numbers of bitcoins. That means that they store key information that controls large numbers of bitcoins and they need to be really careful about their procedures and how they manage their cold and hot storage and all of that. And if something goes wrong, if that key information is compromised, if a suitable quorum of employees is compromised, then your money could get stolen from the Exchange. And all of these things have happened. We’ve seen exchanges that fail due to the equivalent of a bank run. We’ve seen exchanges that fail due to the operators of the exchange being crooks, and we’ve seen exchanges that fail due to break ins. And in fact, the studies on this are not encouraging.
Il terzo rischio è il rischio di un attacco informatico, il rischio che qualcuno riesca a penetrare la sicurezza dello scambio. Gli scambi hanno un gran numero di bitcoin. Ciò significa che memorizzano informazioni chiave che controllano un gran numero di bitcoin e devono essere molto attenti alle loro procedure e al modo in cui gestiscono il loro storage freddo e caldo e tutto ciò. E se qualcosa va storto, se quell’informazione chiave viene compromessa, se un quorum di impiegati adeguato viene compromesso, allora i tuoi soldi potrebbero essere rubati dallo scambio. E tutte queste cose sono successe. Abbiamo visto scambi falliti a causa dell’equivalente di una corsa in banca. Abbiamo visto scambi che falliscono a causa del fatto che gli operatori dello scambio sono truffatori, e abbiamo visto scambi falliti a causa di irruzioni. E in effetti, gli studi su questo non sono incoraggianti.
04.04.10
The best study I think shows that, at least as of the time of the study, something like 45% of bitcoin exchanges had ended up closing due to some failure, some inability to pay out the money that the Exchange had promised to pay out.
The most famous example of this of course, is Mt.Gox. Mt.Gox was at one time, the largest bitcoin exchange and it eventually found itself insolvent, that is unable to pay out the money that it owed. And Mt.Gox was a Japanese company and it ended up declaring bankruptcy, leaving a lot of people wondering where their money had gone. Right now, Mt.Gox and the bankruptcy of Mt.Gox is tangled up in Japanese and American courts and it’s gonna be a while I think before we know exactly where the money went. The one thing we know is that there’s a lot of it and Mt.Gox doesn’t have it anymore. So, this is a cautionary tale about the use of exchanges. Now connecting this back to banks, we don’t see a 45% failure rate for banks in most developed countries and the reason for that partly is because of regulation.
Il miglior studio che penso mostra che, almeno fino al momento dello studio, qualcosa come il 45% degli scambi di bitcoin si era concluso a causa di un qualche fallimento, qualche incapacità di pagare i soldi che la Borsa aveva promesso di pagare.
L’esempio più famoso di questo, ovviamente, è Mt.Gox. Mt.Gox era allo stesso tempo il più grande scambio di bitcoin e alla fine è stato trovato se stesso insolvente, che non è in grado di pagare i soldi dovuti. E Mt.Gox era un’azienda giapponese e finì col dichiarare bancarotta, lasciando molte persone chiedendosi dove fossero finiti i loro soldi. In questo momento, Mt.Gox e la bancarotta di Mt.Gox sono aggrovigliati nei tribunali giapponesi e americani e ci vorrà un po ‘di tempo prima che sappiamo esattamente dove sono finiti i soldi. L’unica cosa che sappiamo è che ce n’è molta e Mt.Gox non ce l’ha più. Quindi, questo è un ammonimento sull’uso degli scambi. Ora collegando questo alle banche, non vediamo un tasso di fallimento del 45% per le banche nella maggior parte dei paesi sviluppati e la ragione per questo è in parte dovuta alla regolamentazione.
04.04.11
For traditional banks, government regulates in various ways. The first thing that governments do is they often impose a minimum reserve requirement. In the U.S., this is typically 3 to 10% of demand deposits a bank is required to have in liquid form so that it can deal with a surge of withdrawals if that happens. Second, the regulators often regulate the types of investments and money management methods that banks can use to make sure that the bank’s assets are invested in places that are relatively low risk because those are really the assets of the depositors in some sense.
Now in exchange for these forms of regulation, governments typically do things to help banks, or at least protect their depositors. First, governments will issue deposit insurance, that is that they’ll tell depositors that if you deposit your money in a bank that follows these rules, then we the government guarantee that if the bank goes under, we will make good on at least part of those deposits for you. And the other thing that governments sometimes do is act as a lender of last resort and what that means is that if a bank gets itself into a tough spot, but is basically solvent, that the government may step in and loan that bank money in order to tide it over until it can move money around as necessary to get itself out of the woods. So tradition banks are regulated in this way, bitcoin exchanges are not. The question of whether or how bitcoin exchanges or other bitcoin businesses should be regulated is a topic that we’ll come back to in lecture seven.
Per le banche tradizionali, il governo regola in vari modi. La prima cosa che fanno i governi è che spesso impongono un requisito di riserva minima. Negli Stati Uniti, si tratta in genere del 3-10% dei depositi a vista che una banca deve avere in forma liquida, in modo che possa fronteggiare un’impennata dei prelievi se ciò accade. In secondo luogo, le autorità di regolamentazione regolamentano spesso i tipi di investimenti e metodi di gestione del denaro che le banche possono utilizzare per assicurarsi che le attività della banca siano investite in posti a rischio relativamente basso perché in realtà sono in realtà i beni dei depositanti.
Ora in cambio per queste forme di regolamentazione, i governi di solito fanno cose per aiutare le banche, o almeno proteggere i loro depositanti. In primo luogo, i governi emetteranno un’assicurazione sui depositi, cioè comunicheranno ai depositanti che se depositate i vostri soldi in una banca che segue queste regole, allora il governo garantirà che se la banca subisce, riusciremo a fare bene almeno in parte di quei depositi per te. E l’altra cosa che i governi a volte fanno è agire come prestatore di ultima istanza e ciò significa che se una banca si trova in una situazione difficile, ma è fondamentalmente solvibile, che il governo può intervenire e prestare denaro in banca per accorciarlo fino a quando non può spostare i soldi in giro come necessario per uscire dai boschi. Quindi le banche tradizionali sono regolate in questo modo, gli scambi di bitcoin non lo sono. La questione se o come gli scambi di bitcoin o altre attività di bitcoin dovrebbero essere regolamentati è un argomento su cui torneremo a sezione sette.
04.04.12
Now there is one interesting thing that a bitcoin exchange or somebody else who holds bitcoins can do which relies on some cryptographic tricks to give users or customers some amount of comfort about where the money went or where the money is that those people deposited into the bitcoin business and that’s what’s called a Proof of Reserve.
So let me explain how that works. The goal here is that a bitcoin exchange, or some other business that’s holding bitcoins can prove that it has a fractional reserve, it can prove that we have at least, let’s say 25% or maybe we have 100% of the deposits that people have made with us available and under our control if need be. And so the way that Proof of Reserve works is you break the problem into two pieces. First you prove how much reserve you’re holding, that’s the relatively easy part. So the company publishes a valid payment to self transaction of that amount, that is, if they claim to have 100,000 bitcoins, they create a transaction in which they pay 100,000 bitcoins to themselves and show that that transaction is valid.
Then they sign some challenge string, that is some random string of bits that was generated by some impartial party and they sign that challenge string with the very same private key that was used to validate that payment-to-self transaction. That proves that someone who knew that private key was participating in this proof of reserve. Now strictly speaking, that’s not a proof that the party who’s claiming to own the reserve owns it, all this proves is that whoever does own that 100,000 bitcoins is willing to cooperate in this process. But nonetheless, this looks like a proof. This looks something like a proof that somebody controls or knows someone who controls the given amount of money. So the first piece is to prove how much reserve you have, and the second piece is to prove how many demand deposits the group holds. And if you can prove those two things, then somebody can simply divide those two numbers and that is what your fractional reserve is. One more thing to note before we go on and talk about how you prove how many demand deposits you hold, that is the tricky part, is that in proving how much reserve you are holding, you could under claim. That is the organization might have 150,000 bitcoins, but choose to make a payment to self of only a 100,000. And so this proof of reserve doesn’t prove that this is all you have, but it does prove that you have at least that much, okay.
Ora c’è una cosa interessante che può fare uno scambio di bitcoin o qualcun altro che detiene bitcoin che fa affidamento su alcuni trucchi crittografici per dare agli utenti o ai clienti un po’ di conforto su dove sono finiti i soldi o dove sono i soldi che quelle persone hanno depositato nel business bitcoin e questo è ciò che viene chiamato una Prova di Riserva.
Quindi lascia che ti spieghi come funziona. L’obiettivo qui è che uno scambio bitcoin, o qualche altra azienda che detiene bitcoin può dimostrare che ha una riserva frazionaria, può dimostrare che abbiamo almeno, diciamo il 25% o forse abbiamo il 100% dei depositi che le persone hanno fatto con noi disponibili e sotto il nostro controllo, se necessario. E così il modo in cui funziona Proof of Reserve è di rompere il problema in due parti. Per prima cosa dimostri quanta riserva stai tenendo, questa è la parte relativamente facile. Quindi la società pubblica un pagamento valido per l’autotransferazione di quell’importo, ovvero, se afferma di avere 100.000 bitcoin, crea una transazione in cui paga 100.000 bitcoin a se stessi e mostra che quella transazione è valida.
Quindi firmano una sfida stringa, che è una stringa casuale di bit che è stata generata da una parte imparziale e che firma la stringa di verifica con la stessa chiave privata utilizzata per convalidare la transazione pagamento-per-sé. Ciò dimostra che qualcuno che sapeva che la chiave privata partecipava a questa prova di riserva. Ora, a rigor di termini, non è una prova che la parte che sta sostenendo di possedere la riserva lo possegga, tutto ciò dimostra che chiunque sia il proprietario di quei 100.000 bitcoin è disposto a collaborare in questo processo. Tuttavia, questo sembra una prova. Questo assomiglia a una prova che qualcuno controlla o conosce qualcuno che controlla la quantità di denaro fornita. Quindi il primo pezzo è quello di dimostrare quanta riserva hai, e il secondo pezzo è quello di dimostrare quanti depositi di domanda il gruppo detiene. E se riesci a provare queste due cose, allora qualcuno può semplicemente dividere quei due numeri e questo è ciò che è la tua riserva frazionaria. Un’altra cosa da notare prima di andare avanti e parlare di come si dimostra quanti depositi di domanda si detiene, che è la parte difficile, è che nel dimostrare la quantità di riserva che si detiene, si potrebbe rivendicare. Questa è l’organizzazione che potrebbe avere 150.000 bitcoin, ma scegliere di effettuare un pagamento a soli 100.000. E così questa prova di riserva non dimostra che questo è tutto ciò che hai, ma dimostra di avere almeno così tanto, okay.
04.04.13
Now how do you prove how many demand deposits you hold? In order to do, that we’re going to use a trick that relates to the Merkle trees that we talked about in lecture one. And if you recall, a Merkle tree is a binary tree that’s built with hash pointers so that each one of these pointers not only says where we can get a piece of information, but also what the cryptographic hash of that information is. Now we’re going to add to each one of these hashpointers another a field or attribute. So we’re gonna add to each hashpointer a total value, that is a total monetary value in bitcoins of all of the things that are underneath that hash pointer in the trees. So for example, this hashpointer here would be tagged with the total value in this entire left sub-tree. Now down here at the bottom, we’re going to have one item for each user, for each user’s or customer’s account and we’re gonna combine these up the tree so that each node, the hashpointer coming out of it will be labelled with the sum of the values on the two hashpointers down below. So that will be a valid total for the subtree. So that’s so we could construct that structure and then the exchange that wants to do the proof of reserve can cryptographically sign the root hashpointer here, which is making a claim that this is a valid tree and that everybody is down here, okay.
Ora, come provi quanti richieste di depositi hai? Per fare, useremo un trucco che si riferisce agli alberi di Merkle di cui abbiamo parlato nella conferenza uno. E se ricordi, un albero di Merkle è un albero binario costruito con puntatori di hash in modo che ognuno di questi puntatori non dicono solo dove possiamo ottenere un’informazione, ma anche l’hash crittografico di quell’informazione. Ora aggiungeremo a ciascuno di questi hashpoint un altro campo o attributo. Quindi aggiungeremo ad ogni hashpointer un valore totale, ovvero un valore monetario totale in bitcoin di tutte le cose che sono al di sotto di quel puntatore di hash negli alberi. Quindi, per esempio, questo hashpointer qui sarebbe etichettato con il valore totale in questo intero sottoalbero sinistro. Ora qui in basso, avremo un elemento per ogni utente, per l’account di ogni utente o cliente e li combineremo nell’albero in modo che ogni nodo, l’hashpointer che ne esce sarà etichettato con la somma dei valori sui due hashpointers in basso. Quindi questo sarà un totale valido per la sottostruttura. Quindi è così che potremmo costruire quella struttura e quindi lo scambio che vuole fare la dimostrazione di riserva può firmare crittograficamente l’hashpointer di root qui, che sta affermando che questo è un albero valido e che tutti sono qui, okay.
04.04.14
Now each customer can then go to the organization and they say okay, prove it to me if this is proof that my account is included in your tree. And so I can go to the Exchange, I can make that demand, and they can show me this partial tree. I can see that up here that the hashpointer is the same hashpointer that they’ve assigned, I can see that the hash pointers are consistent all the way down, and that the hash stored in this hash pointer actually is the hash of this cryptographic hash of this node, and so on for each hash pointer all the way down. And so just like with the Merkel tree, that proves that my account here was in the tree that they initially committed to. I also am going to verify that the amounts in the hashpointers add up all the way down. So for example the amount, the total value in this hashpointer adds up to the same total as this hashpointer plus this hashpointer, which is included in this node. And I make sure that on this path down to my account, that the totals add up all the way. Now if you think about it, if everybody does this, if everybody makes a demand to see their own account, then every branch of this tree is going to get explored and someone is going to verify that for every node in the tree, that the value of the hashpointer pointing to that node is equal to the sum of the value on these two children. And so if everyone does this, then they will collectively prove over the whole tree that the values are added correctly going up the tree. Okay, so this is scheme that first the exchange builds a tree like this that includes all their customers accounts at the bottom and sums the total values going up the top, then all customers, or really realistically those customers who are willing to go to the trouble, demand to see the partial subtree that includes their account and verify that everything adds up. And if that works, then we can believe that the organization is correctly reporting all of the accounts that they have or actually to be a little bit more precise, they can claim to have more accounts than they really have. All they’re proving is that every actual account appears somewhere in the tree.
Ora ogni cliente può quindi rivolgersi all’organizzazione e, a suo dire, va bene, provatelo se è la prova che il mio account è incluso nel vostro albero. E così posso andare allo scambio, posso fare quella richiesta e possono mostrarmi questo albero parziale. Posso vedere che qui l’hashpointer è lo stesso hashpointer che hanno assegnato, posso vedere che i puntatori di hash sono coerenti fino in fondo e che l’hash memorizzato in questo puntatore hash è in realtà l’hash di questo hash crittografico di questo nodo e così via per ogni puntatore hash fino in fondo. E così proprio come con l’albero Merkel, ciò dimostra che il mio account qui era nell’albero a cui inizialmente si erano impegnati. Verificherò anche che gli importi degli hashpoint si sommano fino in fondo. Quindi, ad esempio, l’importo, il valore totale in questo hashpointer somma allo stesso totale di questo hashpointer più questo hashpointer, che è incluso in questo nodo. E mi assicuro che su questo percorso fino al mio account, che i totali si sommano fino in fondo. Ora, se ci pensate, se tutti lo fanno, se tutti fanno una richiesta per vedere il proprio account, allora ogni ramo di questo albero verrà esplorato e qualcuno verificherà che per ogni nodo nell’albero, che il il valore dell’hashpointer che punta a quel nodo è uguale alla somma del valore su questi due figli. E così se tutti lo fanno, allora dimostreranno collettivamente sull’intero albero che i valori vengono aggiunti correttamente salendo all’albero. Va bene, quindi questo è lo schema che prima lo scambio costruisce un albero come questo che include tutti i conti dei clienti in basso e somma i valori totali salendo in cima, quindi tutti i clienti, o in realtà realisticamente quei clienti che sono disposti ad andare ai guai, chiedi di vedere la sottostruttura parziale che include il loro account e verifica che tutto si aggiunga. E se funziona, allora possiamo credere che l’organizzazione stia riportando correttamente tutti gli account che hanno o che sono effettivamente un po ‘più precisi, possono pretendere di avere più account di quanti ne abbiano realmente. Tutto quello che stanno dimostrando è che ogni account reale appare da qualche parte nell’albero.
04.04.15
Now let’s review. So first they’ve proven that they have at least X amount of reserve currency by doing a self transaction of X amount. Then they’ve proven that their customers have utmost, an amount Y deposited and of course, they can claim that in the other direction as well. So what that means is that the reserve fraction is if they report it exactly accurately, it’s X over Y. If in fact X is larger, then the reserve fraction is larger than they’re claiming or if Y is smaller, then the reserve fraction also because it is in the denominator, is also larger than they are claiming. And so when they prove an X and prove a Y this way, you can guarantee that the actual reserve fraction that they’re holding is at least as big as what they are claiming and therefore, they can prove a reserve to you. And what that means is that if a bitcoin exchange wants to prove that they hold 25% reserves on all deposits, or 100%, they can do that in a way that’s independently verifiable by anybody, and no central regulator is required. So that’s an aspect of regulation that bitcoin exchanges can prove voluntarily but other aspects of regulation, as we’ll see in a later lecture, are harder to guarantee.
Ora esaminiamo. Quindi, per prima cosa hanno dimostrato di avere almeno X quantità di valuta di riserva effettuando una transazione personale di importo X. Poi hanno dimostrato che i loro clienti hanno il massimo, un importo depositato e, naturalmente, possono reclamarlo anche nell’altra direzione. Quindi, ciò significa che la frazione di riserva è se la segnalano esattamente con precisione, è X su Y. Se infatti X è più grande, allora la frazione di riserva è maggiore di quella che stanno sostenendo o se Y è minore, quindi la frazione di riserva anche perché è nel denominatore, è anche più grande di quanto affermano. E così quando dimostrano una X e dimostrano una Y in questo modo, puoi garantire che la frazione di riserva effettiva che stanno mantenendo sia grande almeno quanto quella che stanno rivendicando e quindi, possono dimostrarti una riserva. E ciò significa che se uno scambio di bitcoin vuole dimostrare di detenere il 25% di riserve su tutti i depositi, o al 100%, può farlo in un modo che è indipendentemente verificabile da chiunque, e non è richiesto alcun regolatore centrale. Quindi questo è un aspetto della regolamentazione che gli scambi di bitcoin possono dimostrare volontariamente, ma altri aspetti della regolamentazione, come vedremo in una conferenza successiva, sono più difficili da garantire.
[top]
© Edward W. Felten – Professor of Computer Science and Public Affairs Princeton University
SEZIONE 04.03
Dividere e distribuire le chiavi
SEZIONE 04.05
Servizi di pagamento