On 23/04/2014 05:51 p.m., Mike Hearn wrote:
On Wed, Apr 23, 2014 at 10:44 PM, Adam Ritter <aritter@gmail.com> wrote:
Isn't a faster blockchain for transactions (maybe as a sidechain) solving the problem? If there would be a safe way for 0-confirmation transactions, the Bitcoin blockchain wouldn't even be needed.

The 10 minute average comes from a desire to balance wasted work due to natural chain splits with latency. With a very fast block interval you end up with lots of forks and things take longer to converge, also, it can make attacks easier because an attacker is building on his own blocks so he doesn't suffer propagation delays and the attendant splits.

It's not clear you can just make a faster block chain. 10 minutes is somewhat arbitrary, it could be 5 minutes and the system would still work, but it probably can't be 5 seconds.
5 seconds block interval is possible. I've simulate it with great success and I encourage anyone to repeat or check my simulations.

There are a very few protocol modifications that are required to allow 5 seconds block, and most of them have already been discussed in the forums.
For more information you can check my post: http://bitslog.wordpress.com/2014/02/17/5-sec-block-interval/
Also NimbleCoin is a new alt-coin that uses 5-sec block intervals, allows 100 tps and .... it's based on BitcoinJ (NimbleCoinJ now). So not only it is possible, but it was coded by Mike itself.
Important note: the 5-sec block interval method probably requires a block reward forever. It doesn't work well if there is no block reward at all.


Unfortunately for best physical-world usability you really need very fast payments. A few seconds is competitive with modern credit cards.
Another solution to achieve <5 secs block intervals is this: http://bitslog.wordpress.com/2014/03/20/mincen-a-new-protocol-to-achieve-instant-payments/

So the problem with 0-confirmations is solely of Bitcoin and other alt-coins, new alt-coins may achieve instant transactions and no not have to rely on 0-confirmations.

Best regards,
 Sergio.