Steve: And actually that's exactly why the idea did not take off was that it was still - while, yes, it would be burdensome for spammers, exactly as you said, there are legitimate mass mailers. And if we did anything to allow them through, then the spammers would come through, too. So it had to be all or nothing. And it was too much work for legitimate mass mailers. But it was a really interesting concept. And Satoshi borrowed that concept that Adam Back proposed back in '97 for this. So here's the way it works. So imagine that there are, among all these peers, there are people exchanging value. They're exchanging bitcoins. A bitcoin exchange is somebody wants to send somebody else some bitcoinage. So the whole system works with an asymmetric key system, a public key system where they have both a public key and a private key. They take some amount of bitcoinage and put their public key, sort of associate or include their public key in the transaction, also the public key of the person it is being sent to. And then they sign it with their private key. So what that creates is, that creates a transaction that only they could have originated because they're the only ones who have their private key, which they keep secret. That transaction is broadcast into this peer-to-peer network, to all the nodes in the network, and everyone's transactions are broadcast. Now, it's easy for anyone to verify that transaction because they know the public key of the signer, and that allows them to verify the signature. They can't sign it themselves, but they can verify the signature. So that allows them to verify the transaction. Now what we have to do is we need to prevent that person, who's just depleted their bitcoinage by giving some away, from giving the same bitcoins away again. And so that's clearly one of the hard things to solve about this. So the way we do this is, every so often, all of the transactions which have occurred since, okay, there's sort of a problem of chicken and egg here because I have to explain multiple things at once for this thing to hang together. There is this notion of blocks. A block is a collection of transactions which have been sort of adopted by the network. And the block, which is this collection of transactions, is the thing which work is done to create. In the same way that I was talking about work being done to create this special hash for email headers, the work being done to create this block is what all the nodes on the network are busy doing. So all the nodes receive transactions. And a block is chained to all the previous blocks by taking the hash of the previous block as part of the next block. Which means that essentially you have a forward-moving chain of blocks which are linked by the hash of the previous block. There is a genesis, what's called the "genesis block," which was created on January 3rd of 2009. So just a little over two years ago, when the system began, there was an anchor block which is embedded into all of these nodes, into the code in the nodes. When someone downloads the program and turns it on, they go to an IRC chatroom, that is, the code autonomously goes to an IRC chatroom, joins the room, and that's how it learns about all the other nodes or many of the other nodes on the network. It then interconnects to them and receives the entire history of all previous blocks, that is, this block chain, anchored by the genesis block, all the way to the most recent block that anyone has created. So, and... TOM: That sounds like it could become computationally extensive over time, though; right?