MicroCash – The distributed bank

MicroCash differs from Bitcoin (and nearly every other cryptocurrency) in that it has a distributed ledger of accounts. It is much like a normal bank account in that there is a balance but instead of a name “John Smith” there is a random address which looks something like “SXTNFWJWXTPBLI4GM” . To prove you own a MicroCash account you must prove so by signing a transaction with your private key that only you should ever know.

In Bitcoin there is a list of inputs and outputs in every transaction. For every input in a transaction you must sign it to prove you own those funds. In the Bitcoin system it is like proving you own every transaction ever put into your bank account instead of merely proving you own that bank account.

Consider if every time you withdrew from your bank account you had to prove how every dollar got in there in the first place, it would be tiring right? Well it’s also tiring for the Bitcoin nodes themselves to prove it which is one reason why Bitcoin transactions are slower than they could be.

MicroCash instead is much like a distributed bank in that anyone can run and verify the bank, unlike traditional banks which aren’t transparent and can be controlled by people nothing in MicroCash can be controlled by people who don’t own a particular account.

So it’s much like how a bank should be in theory, an irreversible place for you to store your savings that the government, or corporations cannot remove from you.It is much simpler to process for the nodes as they only have to verify you own a single account, not prove how everything ever got in there.

You might ask why Bitcoin never adopted this method in the first place as it is a lot more efficient. I’m not sure if Satoshi ever mentioned it himself but I think it was believed that it would be more privacy orientated. But it isn’t really, in some ways it leaks specific knowledge such as when particular coins get spent. For instance imagine a scenario where an account has 5 transactions of 100 coins each put into it.  One of those transactions may have originated from a sensitive origin which we will mark with an asterix *

[100] [100] [100] [*100*] [100]

In Bitcoin or MicroCash the user would have a balance of 500 but the difference is how it is stored. Bitcoin stores it like above, 5 transactions (which can be 100000 bytes each) whereas MicroCash simply stores it like this [500] which only takes up 8 bytes.

Over time the knowledge of how that account ever got 500 in it would be lost in MicroCash as that information is not important to it or the nodes. In Bitcoin the “dirty transaction” marked with an asterix has to be spent exactly like it is and you would know exactly when and how. This is why Bitcoin hackers immediately start to divide and attempt to obfuscate anything they have stolen, because there is zero privacy really afforded to them without creating thousands of useless transactions which bloat the blockchain and slow down nodes.

You may argue that by putting that [*100*] into a MicroCash account you have tainted the entire account, the entire 500 is now tainted like this [*500*]. But this also means every single account in MicroCash could also easily be tainted by people distributing their funds in donations and gifts until you would never know what is tainted and what isn’t. If I spend [100] of that [*500*] is it using one of the first 4 transactions or the dirty one? No one knows. If everything in MicroCash is “tainted” then worrying about taint in a single account is nearly pointless. Services which wash coins have a very easy job compared to Bitcoin.

6 thoughts on “MicroCash – The distributed bank

  1. roméo says:

    But i thought in Bitcoin the history of an address was there to prove the account has 500BTC.

    How in microcash, without an history, can people know the amount owned by your address is real and correct ?
    How other node can know how many your adress have?

    Like

    • In MicroCash the protocol allows for the current state to be saved and verified so instead of resending every transaction that ever got the state maching to this point clients can instead download a much smaller state file. This state file is verified by nodes on a 24/7 basis, so even if you join the network 10 years down the line and don’t have every transaction ever sent you can still rely on the fact that many nodes have been running over this journey and not noticed any non compliance when it comes to transactions.

      Existing banking networks also have to forget transactions after a period of time and rely on the fact an account has a balance. Usually there is a paper trail somewhere, but not always. It is likely some nodes or some people will record every transaction ever made and allow this information to be sought after for external 3rd party verification. The network itself which has to run fast to allow global trade however cannot keep useless data around forever.

      Like

  2. SC holder says:

    A bit on the side: Is it still true that all SC holders will be given a proportional market share upon MC launch?

    Like

    • At the moment I am not involved in any preseeding economic decisions so those questions will need to be forwarded to Realsolid. When I get close to the point of having a stable release it is more relevant to have economic discussions. Right now I am just reimplementing the MicroCash protocol without any external source reliance (Bitcoin, OpenSSL, Boost) and improving areas I think can be improved. Thanks for your interest.

      Like

  3. fellow says:

    not sure if this is correct but my understanding is this:
    each time you receive coins the sender has signed them to belong to you without leaving a trace where they came from.
    if you can decode the signed transaction with your private key the protocol adds the received coins to your balance.
    the sender cannot fake his total coin balance cause he can only sign transactions if the nodes timestamp is synced correctly. this prevents doublespends cause you cannot send more than one transaction at the exact same time for the network. if you run multiple instances of the wallet on isolated network nodes the protocol shall detect there is a mismatch and not be able to decode the signed transaction.
    for me the more important question is how fast this detection happens.

    Like

    • People do not have to rely on unconfirmed transactions in MicroCash because every transaction sent on the wire is nearly immediately signed and verified. As soon as it is verified there is no way to reverse the transaction unlike the Bitcoin protocol. Even though it is very hard to reverse Bitcoin transactions it is still possible and happens fairly often, especially with unconfirmed transactions but sometimes with transactions that have had a couple of confirmations. This isn’t always maliciously either, it is just a byproduct of the Bitcoin protocol that reversing transactions is possible (and needs to be otherwise the protocol can’t work).

      Double spends happen a lot more on the altchains built off Bitcoin protocol because it is much easier to overwhelm smaller networks. Part of the reason I got involved with MicroCash is that I like pure solutions to a problem and having completely irreversible transactions is a pure and real solution to global distributed transactions. Bitcoin nearly got us there but I feel we need a modified protocol to truly have security in the distributed transaction model.

      Thanks for your comment.

      Like

Comments are closed.