The last few days I spent putting together the 2 alphas and disk access. I have a single thread which writes out to disk to avoid any locking issues and which allows the main worker threads to be running full speed without worrying about slow disk access. In Bitcoin disk access is involved in nearly everything when it comes to transactions which makes the engine very slow in comparison. I have also been brainstorming a bit more in regards to the MicroCash addresses and I am interested in what other people think.
Previously I discussed the new look MicroCash addresses which would look like this NNGU-YKWW-Z5I3-YGB3Y . Contained within is an 80bit hash of your public key, similar to Bitcoin except the hashing is different and size is half as much (160bits in Bitcoin). In case you are wondering if 80bits is enough for a hash the answer is yes. 2^80 is quite a space to bruteforce and it only applies to before an MicroCash account is registered.
So if someone sent you 10MC to a new address and for whatever reason you failed to run a client which accepted that for a week, then an attacker would need to bruteforce the 80bits within a week. For most people who send to a new address they will typically be at their computer/phone/whatever the moment they send it and it will be registered immediately. Either way the attack vector is nearly impossible even if you waited a year, let alone were cautious and did it immediately so it’s no point in worrying too much about it.
Anyhow….. I had an idea, what if we changed the addresses to look like this – MCASH-NNGU-YKWW-Z5I3-YGB3Y . Basically just added the MCASH to it right? Nothing special there? Well actually the “CASH” part of it is actually a text identifier to a specific balance ledger. Let us consider that the CASH ledger is the default MicroCash one , so if someone posts something starting with MCASH we know where it is supposed to go. But what if we allow users to create their own ledgers within MicroCash for a fee? Want to start one called BTC? MBTC-NNGU-YKWW-Z5I3-YGB3Y . Or what about USD 🙂 ? MUSD-NNGU-YKWW-Z5I3-YGB3Y .
So if we can select which balance ledger a transaction is going to then it would also be cool if the person who creates them could create specific rules for each ledger. Maybe they only want 10 of their currency to be created because it is for a specific private purpose like family trust . Maybe they want to increase currency based on Proof of Work mining, etc.
And on top of this what if we have a default commodity for MicroCash too? MicroGold ? MGOLD-NNGU-YKWW-Z5I3-YGB3Y . This also means we could have a decentralized exchange built into MicroCash to trade all these other ledgers into MicroCash, you wouldn’t even need a centralized exchange to do it.
Proof of stake coins mostly have a fixed rise in their currency, like 3% per year. I was thinking instead of MicroCash itself merely rising 3% per year (or whatever) that it may be more smart to let MicroGold dictate that based on a decentralized floating exchange rate. So the MicroGold aspect is kind of like a decentralized Government bond system.
But even though this sounds good in theory to me how it would work exactly is twisting my neurons so if anyone has some ideas about how to increase and decrease the MicroCash economy then please comment! Thank you and thanks to everyone who run the alphas and passed along the performance stats.