Make Your Own Money I've been thinking about the internet, societies, trade, money, and ecash on and off for some time. After chancing across a few urls that had some interesting ideas about currency and de-centralised systems, I pieced together a few ideas I thought might be worth sharing on how to implement ecash. Note that none of this stuff is my field of speciality, so I should definitely _not_ be considered an authority on this stuff. There are bound to be huge flaws that anyone with half a clue could spot. This should be considered just the beginning of an idea, and perhaps a bad one at that. In the article on "demurrage" currencies, xxx advocates a "stamp script" currency backed by something of real value. The only problems I had with this currency was; it was a "centralised", "paper money", currency. I'm a net-head who has a distrust of anything centraly administered. I want my real-value-backed demurrage currency to be de-centralised and network transferable. I'd been thinking that pgp signatures could be useful for an ecash for some time. I hadn't thought about backing it with something of real value untill reading the demurrage article. If I was issuing my own currency, what would I back it with? After working all day, helping two more friends with their computer systems, going home and realising that in 2 years I still hadn't put a gate in the back fence, it became clear; my time is my most valuable asset. What better to back a currency with? I'll give you an hour for your... How do we depreciate our currency? Accountants would probably specify an annual % depreciation. Being a physics kind of guy, I prefer to use a "half-life", but one can be calculated from the other so they are really the same thing. Depeciation of the currency can be easily justified in real terms... "I promised an hour of my time, but that was two years ago. Two years of my life are gone since then, so I have less time left to give. After 16 years I could even be dead, making it useless." Little is said in the "demurrage" article about what kind of depriciation rates should be used. An ecash should be flexible. So, we Attributes of Money medium of exchange measure of value store of value... undesireable? Requirements of money robust must survive many transactions divisable large denominations can be split transferable can be exchanged unforgeable cannot be faked or copied Any form of ecash is simply information. For ecash to work, information must meet the requirements of money. Information is relatively robust; it's as good as the storage medium you use. Transferability is easy, information flow is not much of a problem. Divisiblity is also easy with information, but can actualy be a problem with physical currency; how do you break a $20. Forged money can be divided into two catagories; faked, and copied. At first glance unfakeablitiy appears difficult, but the magic of digital signatures mean that this is actually not a problem. Uncopyable; bzzzt, not possible, and is even a problem for physical money. Despite many attempts by commercial industry to implement copy-protection, the basic laws of information mean that if it can be read, it can be copied. If it can't be read, it can't be used. So how do we get around this serious limitation of information as a way of implementing money? We need to minimise the risks of money being copied. Who can copy information? Anyone who can read it. Who can spend copied money? We can limit it by making the money like a non-negitiable cheque... that way the only person who can benefit by copying money is the person it is signed to. Any transaction involving money requires a level of trust. We trust the issuer of the money to back their currency. We trust that the money has not been forged. This means we need to trust the issuer and each and every person who had the opertunity to forge that money. This includes every person who used that money in a transaction. How do we do that? First we need to know everybody who used that money. This means money needs an "audit trail". For some time now the technology of digital signatures has identified that one of the largest risks is not "cracking" the crypto, but using fake identities. To reduce this risk the concept of a "web of trust" is used, where digital signatures are applied to public keys to certify that "this public key does indeed belong to whom it claims". Once you know you have the public key of one person who you trust, you can probably trust any keys signed by them, and probably also any keys signed by them, and so on. This gives the "web of trust", helping ensure that you can trust the identity of a public key even if you don't know the individual. ecash=(halflife|ecash),date,serial,length,comment,tokey,fromsig halflife=duration date=time serial=integer length=integer comment=string tokey=gnupg public key of recipient fromsig=signature of transferer value= length/2^((now - issue_date)/halflife)