1

Mainly I am proposing the idea below because I feel that the blockchain is overkill, but I assume I must be missing something. So if someone could pick out the flaw below, I would greatly appreciate it.


Suppose there is an alternative architecture:

Every user holds a complete ledger, not of all historical transactions, but the current balance of every other user. To send a coin, I would simply send out a message to every node saying who the money is going to and how much. Then using my address (public key), all other nodes can determine if the message actually came from me, and if so alter their copy of the ledger. As a fail safe against double spending, before this alteration takes place, every node would then query other nodes and see if if the majority have received the same message. If two transactions are present, it would enact the earliest timestamped trade (or whoever the majority thinks is first), then accept or reject the later based on balance.

4
  • 1
    It doesn't really seem like your proposed system is appreciably faster or simpler. However, there's not really enough details of the system to evaluate how well it would work. For example, how does the system resolve a split if half of the system thinks a transaction went through, and half thinks a different, mutually exclusive transaction went through? How do you prevent MIT from using their 16 million IP addresses to dominate the network?
    – Nick ODell
    Commented Nov 26, 2015 at 22:52
  • doesn't a powerhouse like MIT, or even the NSA if they wanted to tear the economic heart out of the dark net, have enough computing power to achieve the same thing with the current blockchain? Commented Nov 27, 2015 at 14:48
  • That's true. The amount of money required to control more than half of all Bitcoin mining is something like a tenth of a percent of the US military's black budget. It's quite possible that if you fully developed this idea, it would be better/more practical than Bitcoin. As it stands, though, a lot of this is awfully vague.
    – Nick ODell
    Commented Nov 27, 2015 at 18:34
  • See this answer for why checking the majority of your peers does not work: bitcoin.stackexchange.com/questions/41544/double-spending/…
    – Nayuki
    Commented Nov 29, 2015 at 21:13

2 Answers 2

6

Problems:

1) Sybil attack (this is actually a huge one and has been for decades and decades in all kinds of applications). Other answers already mentioned this too. What is a majority if one attacker can easily pretend to be 10 million nodes?

Bitcoin makes (mining) nodes do Proof of Work and it's the amount of (unfakeable) work done that counts, not the number of (easily fakeable) nodes.

2) Timestamp? There is no such thing as an "earliest timestamped trade". Transactions arrive at different nodes at different times. Do you trust the timestamp that the attached put inside the transaction or do you listen to the majority (see 1).

Note that Bitcoin decides what is "earliest" by constructing a global clock that beats very irregularly, but on average every 10 minutes.

3) Initial download. Where in your system is a brand new node going to get the current ledger? From the majority? (See 1) Bitcoin solves this by keeping the history so as long as you start with the initial genesis block, you'll arrive at the current ledger without having to trust anyone.

4) Keeping balances is actually not more efficient at all if you care anything for the pseudonymous nature of Bitcoin. Every address is supposed to be unique so if you keep a balance for every address it's still going to be big. Sure you can drop zero balances but Bitcoin does that too in the UTXO set. Once validated old blocks don't matter anymore at all. They get archived on disk or even deleted (pruned). So the 50GB of blocks don't matter anymore anyway.

2
  • 1
    The bit about "zero balances being dropped" is slightly misleading, zero value outputs are actually quite valid in Bitcoin.
    – Claris
    Commented Nov 27, 2015 at 12:17
  • True, it's not the zero that is key there. It's the fact that an output has been consumed, so it can be dropped. I was trying to suggest the analogous situation to a 0 balance, in a balance-ledger.
    – Jannes
    Commented Nov 27, 2015 at 15:18
2

Something that you must explain is that you must define how nodes can join the network. If there is no barrier to entry, someone could create enough nodes to become the majority then double spend.

Another thing is that you described a clearing mechanism, but not an issuing mechanism. How does money enter the system at the beginning and throughout?

2
  • doesn't a powerhouse like MIT, or even the NSA if they wanted to tear the economic heart out of the dark net, have enough computing power to dominate the network already if they truly wanted to? As for the mining, it seems like that is the primary benefit of the hash problem, but the waste of electricity involved, seems like there must be a more efficient answer. I should note, I'm not proposing a new currency, I just want to know if the hash problem truly offers some other protection that I'm not aware of Commented Nov 27, 2015 at 14:49
  • 1
    @Nob0dySp3cial A design feature of the Bitcoin protocol is that if an attacker has so much hashing power, they can profit more by mining bitcoins instead of disrupting the network.
    – Nayuki
    Commented Nov 29, 2015 at 21:15

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.