I'm going to combine all my responses into a single reply. I hope this doesn't confuse anyone ('specially me
There are many issues with this idea, most notably the lack of miners, the continued vulnerability to the 'finney attack', and the added bloat.
Lack of miners??? The difficulty increased by 37% a few days ago because a lot of miners have jumped on board.
I've seen a few references to "the finney attack" in these forums, but I can't find a description of what it is. Can someone point me to a discussion of the attack, please?
There are some serious issues with such an idea[...]. Another is the complexity added to the protocol.
Extending the blocks to add a new type is not a big extension to the protocol. Unless we are using different definitions of the word - to me "protocol" is the definition of how data is passed from one node to another. In any case, the protocol must be extensible or sooner or later the whole system will collapse because of its inflexibility.
Transactions are complete in milliseconds, it's the confirmations that take ten minutes, which are way faster than how this is done by just about any other online method. Credit card transactions are, likewise, nearly instant; but it can take up to 60 days before they are final. So I have to ask, what is the problem trying to be solved?
I thought the subject line summed it up nicely: real-time confirmations.
Your comparison is flawed, because credit card transactions are reversible. Bitcoin transactions are not. Double-spent transactions can be rejected, but not reversed. That's why a (near) real-time confirmation is desirable. Before I let the guy who showed up at my place of business walk out the door with my merchandise, I want a reasonable assurance that the Bitcoins he used are valid.
Anyone making a large transaction surely will have the patience to wait an hour or so for 6 confirmations.
Maybe for an online transaction, but I'm thinking about a face-to-face transaction. I am
not going to hang around some merchant's store for an hour just to have my transaction confirmed.
I could see a separate chain running with a target time of perhaps as low as one minute, but a target time of seconds will be impossible due to latency. I don't think a separate chain is the answer, though: there would be no incentive to create blocks on it, and there are probably other methods that will work even better.
Well, until someone tosses in an idea that works better, why not continue discussing this approach? There's no rule that says we have to actually
do anything with these ideas. Maybe this discussion will spark someone thinking of a better solution.
On the topic of latency - has anyone attempted to measure how long it takes for a transaction to propagate through the P2P network? Is it even possible to measure? I can think of a couple of ways to measure the propagation, but they all involve changing the client so that it reports back to a single monitoring site - a proposition which I doubt very many users would approve of.
Can floating transactions be made low-risk enough that it doesn't matter if they aren't included in a block right away?[/li][/list]
What do you mean by "floating transactions"?
The network might never be large enough to support this, though, and no changes are necessary to Bitcoin now, so it's not worth working on. By the time it becomes useful, solutions for dealing with fast transaction acceptance will already have been established.
Sorry, I cannot agree with that sentiment. That's the kind of thinking that led to the Y2K problem. People kept putting off looking at their systems, so that in the end some of the solutions that went in were poorly thought out and ill-considered, or just plain abandoned.
Also, anyone remember Lotus 1-2-3? It was one of the first spreadsheets. It quickly took a lion's share of the marketplace, but because nobody at Lotus thought ahead and tried to put in new features or otherwise improved the software, other spreadsheets were able to surpass Lotus 1-2-3's capabilities. By the time Lotus figured out what was happening, they had lost any possible advantage they may have had, and 1-2-3 died. (and then they foisted Lotus Notes on us, but that's a whole other rant
)
The time to think about these issues is
now, while we have the luxury of tossing around ideas and exploring a lot of "what if" scenarios, and while the software is still in beta and changes are expected.
That's why I'm bringing up topics like the face-to-face exchange, which (to my knowledge) aren't currently supported by any clients. Someday, they may very well be.