Q: How many bitcoiners does it take to tell you what money is?
A: All of them, apparently.
OK so that joke was shamelessly ripped off from one about how many singers it takes to sing "Summertime", but the point is similar. Way too many of us are eager to tell you "what money is". The tune is a good one, and the topic is also of interest, they are just overplayed is all. And here I am just following the usual script. Mea culpa. Hey wait! Stay! I am going to give you something different here.
But this song gives a different kind of feeling
It's a new kind of dealing, it's a special kind of healing
Well the first thing one has to say is that money is an exchange commodity.
The usual script then continues with discussion that the object itself under consideration needs to be scarce, fungible, long-lived, transferable, and easy to transport. All well and good, but you've heard this before.
The trouble is that this all focuses on the object itself and leaves out the very important context. Without context there is no meaning. We're going to take a more systemic approach here, one which comes - as you might expect - from studying public coin.
Let's just jump right in:
To use money one needs 4 separate components, or to put it another way - money is a system of four linked components:
Many people ignore items 1,2, and 4, because they focus on what's in their wallet. However what's in the wallet wouldn't be money if the other components were not in place. Let's look at each component in a little more detail.
In simple bitcoin this consists of a simple list of "peers", that is - nodes, possibly information about them, and a simple protocol for communicating to them. TCP Port 8333, packet format, etc. In more generality, one needs to be able to convey and hear information about money to make it of use. In practice there are sometimes hierarchies of networks. Different nodes use different networks or pieces of networks than others. If you want to accept credit cards, you need a line of communication to a merchant account provider. If you want to cash a check, you need a line of communication to a bank teller - sure this could be desk that you walk up to - but this is still a network. ATMs, Swift, ACH, SEPA, Hawala, the list goes on and on. For an individual on a desert island, one could have gold, dollars, or bitcoin - but one doesn't have money really. Without a network to use the things, you are just holding a bag and wishing it were plastic so you could turn it into a desalination system. Now there's real value.
Unless you have some idea of how much of the stuff exists, and in who's hands it lies, you are basically financially lost. Is one Drachma a lot? Is 1 ZXcash a lot? You don't know do you, unless you have some clue about the ledger. For bitcoin this is called the block chain. You maintain and verify a copy so that you know how many coins are outstanding and when you got paid, to name two crucial elements. If you don't have your own copy, at least you have a way to access somebody else's copy (blockchain explorers or simple payment verification systems). With dollars this is the bank accounts. Somebody has to keep track of who has what. With gold this is harder to visualize but it is still there. If nobody had any idea of where all the gold was, the system wouldn't work. With gold there's not always a hard ledger, but there's a vague one. "Tons of new gold have been taken from the new world and brough to Europe" was at one point an important news item for those living on the gold standard. "The king has a lot of gold" was also important to know, perhaps. This knowledge is part of the ledger. With gold one can easily see how much is in hand, by getting out the scale. With bitcoin one needs to check the ledger. Perhaps somebody has added more coin to that address? Consult the network, check the ledger.
The wallet is where you keep the coin, and the mechanism you have for signing it off - transacting. In bitcoin this means selecting unspent outputs (from the ledger if you aren't prepared), selecting a change address, and signing it, at which point you pass the transaction on the the network and hope for the best. Well, if you know what goes on behind the scenes that's what it means. Simplistically it could also mean a device that you whip out, scan a QR code, and hit "pay". To make the payment operative and final, this will require interaction with the network. With gold this means your scales and your pouch. The network will mean handing the stuff over. With dollars this means your checkbook, rolled up wad of cash in your sock, and possibly mother's credit card number scrawled on a paper napkin, though lets note in passing that third party payment providers like credit cards really could work with any of these underlying units. Don't forget your pin number and your encrypted key password if you have these, they are technically part of your wallet as well.
Without a mint none of this stuff would exist. With gold it's a mine, it's where you get the stuff. With dollars it's people with a printing press, and some other people in a back room toggling entries in a database. With bitcoin, this is the infamous miners (and woodcutters). Mining in bitcoin has an important feedback with the ledger portion, but if you think about it - this is true for other kinds of money too. Privately issued dimensionless coins are known as fiat, and require effectively no work or expenditure for the minters. Gold is privately issued (no way to know for the public how much you pulled out of the ground or created in your nuclear reactor), but having a physical dimension eliminates a certain amount of abuse. Bitcoin is publicly issued, so there's no question about how much was created.
With public coin, all these elements are out in the open for inspection by anyone who cares to inspect. They are fully regulated and verifiable. With other systems, not so much. But that doesn't mean they don't exist. All these elements must be there to some degree for the thing to be a usable money.
The Satoshi client is a chunk of software that performs all four of these important tasks. It mines, it networks, it ledgers, and it wallets.
And so we come to the devious point of this whole exercise, which is to as you dear reader - should a public coin client really be four separate pieces of software? As per UNIX philosophy? Or is their interactivity so heavy that they cannot be separated?