Listen on Futurati Podcast

Watch Trent’s talk on Youtube.

Trent Fowler is a machine learning engineer, author, and co-host of the Futurati Podcast. As someone who’s worked at several crypto startups, he has years of experience dealing with blockchain data and thinking about the blockchain’s mechanics. This episode is adapted from a talk he recently gave explaining at a high level how this remarkable technology works and what it might mean for the future.

Related

Show notes

Since this was based on a talk given earlier, I’ve included the entire script below. Eventually this will be migrated over to a blog post containing all of this information. 

  • Introduction
    • I’m embarrassed to say that despite having been at two different cryptoasset startups, and having interviewed quite a number of luminaries in the space through my podcast, it wasn’t until I sat down to do research for this talk that the internals of how a transaction is put together, or how a block is mined, became clear to me. Prior to this, I was operating on a much more limited understanding.
    • So I’ve gotten a lot out of it. I hope you do as well.
    • There are six major sections we’re going to cover.
    • The first is a very high-level view of the blockchain, and specifically we’re going to briefly look what makes it innovative, what makes it exciting, why people care about it. This isn’t all that relevant to the technical sections that follow, but I think it’s good context to have. Knowing why people are drawn to a technology let’s you understand how they’re likely to use it, what problems they’ll run into, etc.
    • After that, we’ll turn our attention to somewhat more technical matters. Sections two, three, and four are on what transactions are and how they work, how blocks are formed, and how blocks are mined, respectively. Throughout these sections we discuss blockchain security, and the penultimate section just gathers those threads into one place. Finally, we zoom back out again and look at some of the ways in which people are using the blockchain currently.
  • High-level overview
    • We begin with a definition, cobbled together from a few different sources. The blockchain is a decentralized, open source, peer to peer network, implementing a data structure called the distributed ledger, in which trust is established by the whole network via special consensus rules.
    • That’s a generic blockchain. The Bitcoin blockchain is this exact same thing, it just has a native currency built into it called Bitcoin
    • Bitcoin incentivizes miners to secure the network. They offer their computers to the task of proving the validity of transactions in a process called ‘mining’, and in exchange they receive bitcoin.
    • ‘Decentralized’ is a fairly intuitive term. It just means that there is no trusted third party that is standing in the middle of everything reconciling the books and making sure that no fraud is taking place, which is how the current, centralized financial system works. And actually many of our institutions are set up this way. They’re set up to have some small number of agents which are the arbiters of truth, and to which everyone else has to defer.
    • Open source just means that the code is published freely on the internet where anyone can read it, fix it, or fork it.
    • Open source as an approach doesn’t make sense everywhere. Elementus for example isn’t an open source shop, we’re a proprietary closed source shop, because a lot of our business advantage comes from having algorithms and attributions that other people can’t copy. But there are many situations in which it makes sense to have the code base publicly available.
    • One of the advantages is that with enough eyeballs all bugs are shallow. One of the reasons that we know the Bitcoin network is secure, though by no means the only one, is that the code has been out there for a decade. And people have found bugs, they’ve fixed bugs, they’ve pored over it in all sorts of different ways looking for vectors of attack. At this point, a lot of really smart people have studied the code, and if no one has figured out a way to directly hack the system yet, you can be reasonably confident that no one ever will.
    • And finally, it’s peer to peer. Now, one could argue that a network being peer to peer is kind of a facet of it being decentralized. I mean, after all, if it’s decentralized, and there’s not a single node everyone’s relating to, how else would it be structured? It would have to be peer to peer.
    • That’s true as far as it goes, but I think it’s worth highlighting the underlying structure of the blockchain network because that will come to be important later when we talk about how transactions are validated, how blocks are mined, etc.
    • So peer to peer just means that each node in the blockchain network interacts with a fairly small number of other nodes. It’s not connected to every other node–the graph is not fully connected–but each node will talk to a few other nodes. When a node takes part in a transaction, it will broadcast that to whatever peers it’s connected to. They will broadcast it to their peers and so on until it has percolated throughout the network.
    • All this happens without ever going through a single arbiter that ensures the transactions are valid. There’s no single node which holds that power because all the nodes hold that power.
    • Now, we said that this decentralized, open source, peer to peer network implements a distributed ledger and there’s nothing at all fancy about this.
    • A distributed ledger is exactly what it sounds like. It is a ledger–which is a bookkeeping data structure that could track transactions, interactions, many other things–that’s distributed–which means that everybody has a copy of it.
    • So it’s like a spreadsheet that everyone has a copy of, and when the spreadsheet is updated, everyone gets a copy of the update as well.
    • And we will see as we go on that what looks to be a fairly prosaic technology actually has a lot of transformative potential.
    • At a fundamental level, the blockchain just is a distributed ledger. There’s a lot of cryptography and assorted cleverness involved, but at the end of the day it’s a particular kind of database. And you can see this because the first thing you do when you stand up a full Bitcoin node is download a copy of every transaction that’s ever been recorded on the blockchain.
    • And the ledger can’t be changed. For all intents and purposes, it’s immutable. It’s not literally impossible to dispute a long-settled transaction (this would involve forking the blockchain and trying to mine a competing one), but that would just be stupendously expensive, and so no one ever does.
    • Past a certain point, therefore, we say that transactions are settled and immutable. This is usually after six blocks, which is about one hour.
    • To a first approximation, the most important property of the blockchain is the mechanism for establishing decentralized trust. The major innovation is getting a network of people who don’t know each other, who are communicating over noisy channels which may be compromised, to nevertheless be able to arrive at a consensus about the truth of the record they all share.
    • Everyone can go to sleep at night knowing their database contains true information without needing to rely on any single entity to make it so.
    • We’re not going to dive deeply into this and talk a whole lot about how Bitcoin is going to shape the future of humanity. But as we look at what transactions are, as we look at how blocks are mined, as we begin to become more familiar with these different facets of the technological system, it’s worth keeping this in mind: the decentralized consensus mechanism is ultimately what makes Bitcoin special.
  • Transactions
    • With all that having been said, let’s get right into transactions. So on the blockchain, a transaction consists in signing value of something over to someone else. It’s just someone sending money to someone else.
    • This is different from how we normally think of a transaction. In normal parlance, a transaction is two-sided, so I give you something and you give me something.
    • On the blockchain it’s only the transfer of value that we actually track. So if I send Nick five Bitcoin, the reason I sent him that is never recorded anywhere, only the transfer of value is recorded. That’s what we mean by a transaction on the bitcoin blockchain.
    • So right now I’m looking at a real transaction that is just pulled from a block explorer. And you can see that we’ve got a sender on the left and receivers on the right, and nothing is particularly mysterious about this.
    • The long series of letters and numbers are just addresses that are controlled by someone. But otherwise this is fairly straightforward.
    • A transaction has two parts: inputs and outputs. Down here, the inputs are on the left, the outputs are on the right.
    • And they have to have certain properties. The outputs have to be less than or equal to the inputs, so there’s no way for you to create more Bitcoin by just somehow messing around with the accounting during a transaction.
    • Any difference between the inputs and the outputs goes to the miners as an added tip on top of whatever they get for mining the block in the first place. You have to be careful with this, because if you don’t remember to send change back to yourself from a transaction, all of that goes to the miner.
    • Say you have 20 Bitcoin, and you want to buy something for one Bitcoin, but you forget to send the 19 Bitcoin in change back to yourself, that 19 goes as a gigantic tip to whoever ends up mining the block successfully. You have to remember to send change back to yourself.
    • And this actually dovetails into a discussion of the concept of the UTXO, which is not really that complicated but honestly confused me a little when I first encountered it.
    • Transaction outputs, the stuff on the right here, these are called UTXO s, which stands for unspent transaction output. So if I send Nick five Bitcoin, that Bitcoin now belongs to him. And it is a UTXO because it is the output of a transaction–the transaction in which I gave it to him–which he has not spent yet, hence an ‘unspent transaction output’.
    • The Bitcoin blockchain works on the UTXO model, which is distinct from how Ethereum handles transactions.
    • In Ethereum you have an account based model and your ether are essentially placed in the equivalent of a checking or savings account. They all go into one big account, you can shave as much or as little as you want off in a transaction. This is intuitive because it’s basically like how you interact with your bank.
    • With Bitcoin that’s not the case. It works on a UTXO model and UTXOs are indivisible.
    • So if you have one Bitcoin, you have to spend that Bitcoin all at once. If you have 1.1 Bitcoin, you have spend 1.1 all at once. If you have 21.983 Bitcoin, it all has to be spent at once. UTXO are indivisible.
    • You can’t spend part of the UTXO any more than you can spend part of $1 bill; you can’t cut $1 in half and get 50 cents, it’s either $1 or it’s not.
    • Now normally when we have change from a transaction, it comes in these little units. For example, $1.83 would be $1, 3 quarters, a nickel, three pennies. The $1.83 can be broken up if you only want to spend 75 cents somewhere.
    • With Bitcoin, it would be as if you got a piece of paper that just said $1.83 on it. You got the total change all in one chunk that has to be spent all in one chunk. You can’t cut the $1.83 bill in half any more than you can $1 bill in half.
    • That means transactions have to be constructed from whatever Bitcoin UTXOs you happen to have lying around. So if you need 20 Bitcoin and you happen to have 20 Bitcoin, great; if you have 18 Bitcoin and 2 Bitcoin, you have to put those together to get 20; or you might have to put five different Bitcoin amounts together to get 20.
    • In other words, you have to combine whatever you already have to get what you need.
    • And remember each one has to be spent all at once. So if you want 20 Bitcoin and you have two UTXO s (10 Bitcoin and 10.5 Bitcoin), those have to go together into 20.5 Bitcoin. The 20 bitcoin will sent somewhere and the .5 will need to be sent as change to an address you control. Otherwise it’s a tip to the miners.
    • Most of this is handled by the wallet software, but it’s worth keeping in mind because it actually does have some interesting implications.
    • One of those implications is ‘dust’, which you may have heard of. Dust is leftover amounts of Bitcoin transactions which are simply not worth the effort of getting out of the wallets.
    • An analogy I sometimes use to explain this is it would be as if the change from a real-world transaction went into a manila envelope and it required a small amount, such as five cents, to open the envelope up.
    • In the normal course of operations that’s not a big deal, but what if somehow you end up with only three cents in the manila envelope? In that case it’s not worth the five cents to get it open. It just sits there forever until hopefully the money appreciates and outstrips the fees enough to be worth getting out.
    • Depending on the size of the dust and the price of Bitcoin, this may never happen. It’s possible for there to simply be a vanishingly small amount of Bitcoin somewhere that is not accessible.
    • Though wallet software tries to avoid creating dust, there’s actually rather a lot of it on the blockchain.
    • Another thing worth keeping in mind is that the Bitcoin blockchain has no idea what your balance is. The balance you see here is an abstraction, it’s tabulated by the software you’re looking at.
    • Ethereum does know what your balance is. It maintains a global state across the network and works on an account based model. Bitcoin does not. So when we look at this transaction in the block explorer, it says there’s a balance of $206 million. The block explorer has to figure that out by looking at all the UTXO’s that are tied to this address and calculating their value.
    • This is done for you as part of the interface.
    • But the blockchain itself does not know any of that, all it knows is who owns a given UTXO, it has no concept of value, no concept of balance, none of those things.
    • With all of that background in place we can now look at this high level definition from Andreas Antonopoulos and understand it pretty well. A transaction consumes previously recorded unspent transaction outputs while creating new transaction outputs. And essentially, this is just how the Bitcoin Blockchain works, it’s these UTXOs ping ponging around the network from one entity to another.
    • Now it’s important to note that outputs have two parts. There’s the actual Bitcoin that’s sent, and there’s a little cryptographic puzzle that specifies what’s required to spend it.
    • When I’m looking at the wallet, I don’t know anything about this puzzle. If I send Bitcoin to Nick all I see is I sent Bitcoin to Nick. That’s it.
    • But how is it that when he goes to spend it, the network can trust that he actually owns it? How do we know he didn’t just steal this?
    • With money in your bank account there’s a very complex, labyrinthine system for keeping track of transactions and settling books, and all of that goes through trusted third parties. With Bitcoin how do verify ownership?
    • Well the details can get a little involved and I don’t understand many of them myself, but I’m going to give you what I do understand and I hope that it will help you form a more complete picture of this process.
    • When I sent Bitcoin to Nick it created the UTXO, one part of which is called a locking script, and the locking script specifies the conditions required to prove ownership of the UTXO and thereby to spend it.
    • (As an aside, the locking script is also called a witness script. If you’ve heard the term SegWit, that stands for ‘segregated witness’ and it refers to how these locking scripts are handled.)
    • In almost all cases, the locking script just tethers the UTXO to a certain address, and basically all it says is this UTXO belongs to the person who holds the private key that was used to generate this address.
    • Addresses are not generated completely randomly, they come indirectly from the user’s private key.
    • A private key is used to generate a public key, which is then processed in a few ways to produce the address.
    • So if you have the private key that was used to generate the public key that was used to generate the address, and the locking script ties the UTXO to that address, then the UTXO is indirectly tethered to your private key.
    • It would be kind of like locking money in a safe, but instead of just using any passcode, we use a passcode that was generated cryptographically from some piece of private information.
    • Equivalently, imagine that when I sent Nick five Bitcoin I locked the safe with a code that was generated from his social security number.
    • What happens when we want to spend a UTXO? When we create a UTXO we create a locking script that specifies what’s required to spend it. And when we get ready to spend it, we have to produce an unlocking script which satisfies the conditions of the locking script.
    • This generally involves producing a digital signature with your private key.
      • Digital signatures are important for three reasons. They prove that the owner of the funds is authorizing the transaction, they do so irreversibly, and they prevent altering the inputs or transactions after signing.
      • In bitcoin, digital signatures have two parts: an algorithm for creating a signature from a transaction (or a subset of it) using a private key; an algorithm for verifying the signature with the transaction and a public key.
      • The digital signature is created by passing a hash of the transaction (or parts of it) and the private key into the signing algorithm.
    • With that done the UTXO is unlocked and we can transfer it to someone else.
    • Let’s take a step back and see what we have. This system would be like having a magical check from the Bank of Gringotts in Harry Potter that somehow knows whether or not a signature is authentic.
    • So I could write a million dollar check to a colleague and leave it on the side of the road, and know that no one can use that money unless they really are my colleague and she actually signed the check.
    • Even if they’ve been practicing her signature for years, the check will know that it’s a forgery.
    • So I would have a mechanism for sending money to people, knowing that it will only be usable by them, with no possibility of it being intercepted or stolen.
    • What’s more, no one can stop the transfer. This isn’t a check I send in the mail, once the money is transferred there’s no way of stopping the other person from receiving it.
    • Without knowing anything else about the blockchain, doesn’t that seem like the kind of technology that could change the world?
    • There would be numerous use cases, say for funding rebel groups who are fighting against despotic governments or sending money overseas without intermediaries to worry about.
  • Blocks
    • We can now turn to blocks, which will be relatively straightforward as we’ve laid a lot of groundwork.
    • Blocks are just clusters of transactions. As far as I know, the transactions don’t actually have to be related to each other; a block could be a bunch of unrelated transactions, or it could be 10 related transactions in a row, depending on mining fees.
    • I haven’t seen any indication that there’s really much of a system in how the mining network chooses transactions to include in a block, other than that higher-fee transactions are prioritized.
    • Mining nodes will gather the transactions together, form them into a block, and then mine them, which is putting a block on the blockchain and thereby making it part of the distributed ledger.
    • Transactions are validated in a two-step process. Step one is verification, which is when nodes in the network check a transaction against a long list of criteria to ensure that everything is in order. Step two is confirmation, which is mining a block containing the transaction.
    • Let’s talk more about verification. Remember that Bitcoin is a peer to peer network. When I perform a transaction, I tell my friends on the network about it, and they verify it by it checking it against a long list of criteria.
    • There’s something like 15 or so checks that need to be performed. Some of them are pretty complicated, and have to do with the size of the transaction and how big a block can be, and some of them are relatively straightforward, and include checking that outputs aren’t bigger than inputs and that the inputs haven’t already been spent anywhere else.
    • As transactions are verified they are added to the mempool. ‘mempool’ stands for memory pool and it’s just a set of transactions the network knows about but which aren’t actually in a block yet.
    • Miners will begin pulling transactions from the mempool and forming them into blocks.
    • Blocks consist of two parts: the transactions and the header. The header contains important information we need to understand.
    • There’s a fair bit of metadata in the header, but all of it falls into three big categories: competitiveness data, summary data, and reference data.
    • Let’s discuss each of these in more detail.
    • The first category is competitiveness data. This consists of the target, which corresponds to how hard it is to actually mine a block; the timestamp, which is when the block was created; and the nonce, which is an integer counter that plays an important role in mining.
    • The target is the proof-of-work algorithm’s difficulty requirements. So in essence, what this does is specify a certain property that a miner’s solution to the mining problem has to have in order to be acceptable to the rest of the network.
    • You can think of this as basically being a knob you can turn up and down to make it more or less difficult to mine a new block.
    • The example that’s sometimes used is to compare mining to solving a sudoku puzzle. A 3×3 Sudoku puzzle is much easier to solve than a 13×13 or a 19×19 one. What the blockchain wants is for a block to be mined roughly every 10 minutes, give or take. So the network dials up the target (i.e. increases the size of the sudoku puzzle) as more computers join the competition to mine blocks, and dials down the target (i.e. decreases the size of the sudoku puzzle) as computers leave the competition to mine blocks.
    • The net effect of these adjustments is to have a new block mined, on average, once every 10 minutes.
    • The timestamp is when the block was created.
    • The nonce is an integer which is incremented as we try to find a solution to the mining problem.
    • The second category is summary data. The summary data is composed of a Merkle tree root, which cryptographically summarizes all the transactions in a block.
    • What creating the Merkle tree root basically amounts to is rolling all the transactions up into a single hash value that summarizes all of them.
    • Hashing something, whether it’s a single transaction or it’s the entire block header, refers to feeding it into the SHA256 hashing function.
    • All the SHA256 algorithm does is take a variable length input and produces an output consisting of a long string of letters and numbers.
    • The output of the SHA256 algorithm has a few important properties.
    • It’s always a fixed length.
    • The same input always generates the same output. So if I put in a lowercase ‘a’ 50 times in a row, I always get the same output string.
    • Changing the input changes the output in ways that cannot be predicted in advance.
    • The Merkle tree algorithm first hashes transactions, then hashes pairs of the hashes, then hashes pairs of those hashes, until it has a single hash which uniquely stands for this set of transactions.
    • It will always be exactly the same for a given set of transactions, and changing any one transaction by even a small amount will completely change the merkle tree root.
    • The third category is reference data, which is a pointer to the previous block’s hash.
    • Where does that come from? Well, the last thing to be hashed is the entire header–the timestamp, nonce, merkle tree root, everything.
    • To recap: some miner wanting to get the Bitcoin reward pulls verified transactions from the mempool, piles them up into a container, and makes a header for it. The header has the timestamp, the nonce, the Merkel tree root, a reference to the previous block’s hash, and everything else discussed so far. A hash is created for the whole header during the mining process, and the subsequent block will contain a reference to it.
    • Now, let’s pause for a moment and consider what we’ve covered. We know that hashing a given input always produces the same output, and if you change the input, the output changes wildly. We know that all the transactions in a block are cryptographically summarized by a merkle tree. We know that a block’s header is hashed. And we know that each block has a reference to the previous block’s hash.
    • What happens if I go 5000 blocks back and I change one transaction to give myself more money? The hash of that transaction changes. That change cascades up through the merkle tree, so that now the Merkel tree root is totally different. The hash for that block header is also totally different. And the hash for the next 5000 blocks, each of which contains a reference to the previous block’s hash, are all totally different.
    • So it would immediately become obvious that my copy of the blockchain is different from everyone else’s, and they would reject it.
    • This would be like having a magical book from the library at Hogwarts, where everyone who has a copy can see in real time the new entries made, and if anybody goes back to page one and makes a change, every single person who owns a copy knows that that change has been made and that the record is compromised.
    • So again, I ask the same question that I asked at the end of the transaction section. If you didn’t know anything about the blockchain, you just knew about these books that have this immutable record, doesn’t that seem like the kind of thing that might have far reaching implications?
  • How are blocks mined?
    • What is mining and how does it work?
    • Mining is the process of trying to discover a block header that meets certain criteria.
    • What ‘criteria’ do these block headers need to have? It’s common to look for a block header hash with a certain number of leading zeros.
    • Miners are trying to find a block header hash which has a certain number of leading zeros in front of it.
    • But how do miners do that? We’ve already said that the output from the SHA256 algorithm is always the same, so shouldn’t you always get the exact same hash output for a header? What do we vary inside the block header to get different hash outputs to check against the criteria?
    • The answer is that we vary the nonce. As mentioned, the nonce is just an integer that starts at zero and increments by one.
    • At each iteration the header, with the current nonce, is fed into the SHA256 algorithm, and the network will check to see if the hash output has the criteria (the number of leading zeroes) that it wants.
    • If it does, the search is over. If it doesn’t, the nonce is bumped up by one and the header is hashed again.
    • The network periodically recalibrates by changing the number of leading zeroes required. More zeros means more difficulty, fewer zeroes means less difficulty.
    • Miners across the network compete to be the first node to discover a solution to the mining problem and add a new block to the distributed ledger. When one wins their solution is verified, they are awarded some amount of bitcoin, and the search begins anew.
    • This mining process requires computational work–you have to assemble the transactions, you have to make the header, you have to hash it, you have to keep running through nonces until you find one that works. If you find a header that meets the difficulty target, you have proven that you’ve done that work. So we call this algorithm proof-of-work of work.
    • proof-of-work means that you have proven that you’ve done the work required to find the kind of header the blockchain wants, and thereby have confirmed the transactions inside the block and added it to the ledger.
  • How do we know the bitcoin blockchain is secure?
    • We’ve alluded to this topic throughout the talk, and this section is mostly just to adumbrate the case for Bitcoin security by gathering together the different threads that we’ve been discussing so far.
    • One part of a UTXO is the locking script which stipulates that only the actual owner of the UTXO may spend it. To spend a UTXO, you have to prove you are the owner with an unlocking script.
    • Anytime a transaction occurs, peers in the network check it for validity against a long list of criteria.
    • Valid transactions are summarized with the Merkle tree root and can’t be changed without changing everything.
    • Each block contains a header with a reference to the previous header’s hash, and if you change any part of the record, all those hashes change and it’s immediately obvious that malfeasance has occurred somewhere.
    • This is pretty secure.
  • How are people using the blockchain?
    • The blockchain has certain primitive properties which make it well suited to different use cases.
    • No double spending–part of creating a UTXO is tethering it to an address in a way that the whole network can check, so there’s just no way to spend it more than once.
    • Immutability–the transactions, and the record of them, can’t be changed without a stupendous expenditure of energy.
    • Neutrality–the blockchain doesn’t know or care who you are or what you’re doing with Bitcoin.
    • Integrity–once a transaction is signed, it can’t be modified without invalidating it. I can’t sneakily go in there and alter the ledger, that will change the hashes.
    • This section must necessarily be short because we are still in the early days of the blockchain, but there is enough data for us to note certain use cases.
    • Currency is an obvious one. Bitcoin is an algorithmically determined deflationary currency which no one can hack, distort, or inflate away.
    • That in and of itself is an enormous revolution in monetary economics and I think will ultimately have far reaching implications.
    • There’s also decentralized finance–payments, remittances, borrowing and lending services which are unstoppable and irreversible.
    • This carries a certain danger to it. If you screw up a transaction, such as by sending it to an address that doesn’t exist, it’s gone forever.
    • But it also means I can e.g. provide loans to entrepreneurs in the developing world who therefore don’t need to go through layers of corruption and bureaucracy to start their business.
    • This isn’t to say that bitcoin is magical. It’s always possible to make life difficult for blockchain users at the point of an exchange or a bank. You can stop a person turning their bitcoin into a local currency, but you can’t actually stop the transfer of ownership.
    • Finally, there’s tracking and transferring ownership of off-chain assets.
    • One of the things I like to do when I’m trying to get a handle on the future of new technology is to look at the things people are already trying to hack it into doing.
    • An example of this on the bitcoin blockchain are so-called colored coins.
    • Colored coins are basically just tiny amounts of Bitcoin with metadata that tie them to off-chain assets.
    • Say I own a car, I could take a small amount of bitcoin with metadata that points to the deed of the car, allowing me to track ownership of this car by sending that little amount of bitcoin around.
    • In this case the bitcoin is a token of ownership, it’s not being used as a currency.
    • This suggests to me the tracking assets, and maybe tracking important documents like birth certificates or citizenship papers, is a pretty natural use case of the blockchain because people are already trying to duct tape the system into doing that.
    • Sometimes people aren’t particularly impressed with the set of applications, and I think that seems larger from the fact that we have it pretty good in the West.
    • Not long ago I interviewed Peter McCormack, who hosts “What Bitcoin did”, the largest Bitcoin podcast in the world.
    • When I asked him about potential use cases for Bitcoin he spent a lot of time talking about remittances.
    • A remittance is just when someone in one country (usually a developed country like the United States) sends money to someone in another country (usually a developing country like El Salvador, India, or Pakistan).
    • It’s not unheard of for a person in the United States to be supporting an extended family of 30 or 40 people in their home country, with the remittances being all that stands between them and starvation.
    • With Bitcoin transfers this process is far less painful than it is when done through Western Union or similar sort of service. Transfers are usually instantaneous and have much smaller associated fees.
    • More broadly, I think when you step back and look at how important money is, especially in places where the currency is less stable and the ruling regime is more onerous and overbearing, you see that there are a lot of use cases to this technology.
    • Money is a crucial load-bearing pillar of civilization. it plays an important role in how the division of labor works, how storing value works, how saving and investment work.
    • Bitcoin is the first cryptographically secure, fully decentralized monetary system in the history of the world, and I think it’s going to be transformative.