This thread is dedicated to discussion of Nxt features (https://bitcointalksearch.org/topic/ann-nxt-descendant-of-bitcoin-303898), don't confuse it with Bitcoin or other altcoins.In Bitcoin a payment is made by transferring all coins from input to output addresses with difference between input and output paid as transaction fee. If someone wants to send only part of the coins they must send the rest back to one of their own addresses. An attempt to use the same input twice is a double-spending, only one of the transactions will be confirmed even if enough money is sent back.
Unlike Bitcoin and its forks, Nxt uses a single account instead of multiple addresses for each user. It is possible to send multiple transactions from the same source address (called "account"), all these transactions will be confirmed if the account holds enough coins. Someone still can attempt a double-spending by paying for something with low fee and then sending all their coins to other account with higher fee, making it impossible to confirm the first payment.
We can counteract a double-spending attack in Nxt by using special accounts. A special account has certain limits that don't let to create transactions for more than (for example) 1/10th of the balance in total within a 24 hour timeframe. The network will simply ignore transactions and blocks that violate this rule.
A merchant (or a vending machine) can accept payments from special accounts without waiting for confirmations. The only thing should be done is checking that a received transaction doesn't violate the rule.
Does anybody see flaws or disadvantages in such design?
P.S. Payment privacy in Nxt will be provided via mixing.
One disadvantage I see is that people might be reluctant to do it because what happens if a crisis occurs? Ie: a major bug is found, the NXT economy collapses, Mt Gox scenario, etc. However, it might work for people's hot wallets ie: an account set up for "mad money" with only trivial amounts held there.
In that scenario I think it should be as easy o set up as possible ie: checking a box saying "designate this account as hot wallet" with a clear explanation of the implications posted and warning about putting large amounts there.
Iis there a way to simply have the client watch for double-spends until confirmations come in? I thought that's what the "double-spending transactions" servlet was going to be for when implemented.
P.S. Payment privacy in Nxt will be provided via mixing.
IMHO I think mixing stands a high chance of being made illegal in the future. Tread with caution.