Something the Devs may be interested in. (Accepting zero conformations payments)

In a nutshell: 2 multi-signature addresses are used as payment channels between customer & NoRiskWallet and between NoRiskWallet & merchant. The 0 confirmation transaction is a chain of two dependent transactions, these require signatures from the three participants (customer, merchant and NoRiskWallet) and either all signatures are valid or no transaction happens. To make the system work without trust, NoRiskWallet locks at least the same amount of funds required for the transaction to pay the merchant as a collateral.


source - http://www.reddit.com/r/Bitcoin/comments/2ty6cj/bitcoin_hackaton_winner_noriskwallet_accept_0/

https://github.com/baleato/bitcoin-hackathon

Amazing. So much you can do with multisig!

Well now, that is a very interesting idea.

So basically a person sends some money to a no risk-wallet.  Then, when they want an instant transaction, they then send money to that account and then it forwards its money to the merchant.

I had been talking with Makoto about this the other day after reading about NXT.  He brought up the idea of deposit accounts but they weren't perfect.  I had thought that in NEM we could have a deposit account and then that account could be limited by business rules to only sending out one transaction per block (or maybe only one per 10 blocks or something).  Also that account could only send out a certain percent of its funds per block during its limited 1 transaction per that time period.  All coins in that deposit account must have been aged. 

To me the whole 1 transaction per block thing was the key.  If an account had a certain time limit for which it could send coins and the coins had been aged, then anybody receiving that transaction should know then that it would be safe.  But I am pretty sure Makoto said that there was something wrong with this, not sure.  Then I started to try to think of someway to get a mini-consensus with past block formers to a certain degree, and that they would process transactions, and then we got off topic. 

But maybe a deposit account would work.  So for instance, I stick 100 coins in an account.  (we don't need a special service like them if we have smart contracts).  Those 100 coins age for a certain time.  Now anybody getting a transaction from that account can instantly confirm it because they know that account is limited to only sending 1 transaction every so often, so there would literally be no way to double spend because after that account sends 1 transaction it is locked down for a certain amount of time.  And just to be safe, the account could also only spend a certain percentage of the coins in the account at any given time. 

This would be fine for most transactions in which people would need instant transactions (like the grocery store, gas station, or other typical purchase).  How often does a person do two transactions within a few minutes anyway?  It isn't like I can get all my groceries, then be in a coffee shop 10 seconds later and then at a gas station 10 seconds after that. 

Also, I really like GreenAddress.  They have some pretty cool functions.  They have a 2 of 2 multi-sig, where the user has one key and they have one key.  In theory that makes the system a very unlikely candidate for hacking.  But the fear is that if they have one key and they go out of business, then your coins will forever be lost, but it isn't so.  After a certain time of the account being inactive, all the coins get forwarded automatically to an address the user does control.  How it is done I am not sure, but that is what they said.


Amazing. So much you can do with multisig!


I finished reading more about this and it is sooo interesting.  It really does seem like in theory multi-sig could be used to make a fairly trustless form of instant transactions.  That said, the customers and merchants would both have to be on board with the "no risk wallet".  That is asking a lot, that basically everybody has to sign-up for no risk and deposit money there. 

I think it would be so much better if an automatic no-risk type of account was created in the NIS and so nobody had to sign up for it, but instead it was just a feature for all people using NEM. 

Ideas like this and more are so exciting to me because I know that in NEM, we should be able to do things in the future like this at the protocol level where other cyptos  like Bitcoin will basically need third parties. 

The hard part of instant trans is not locking funds, but rather guaranteeing that a transaction will end up in a block that is not unwound (due to soft forks).


The hard part of instant trans is not locking funds, but rather guaranteeing that a transaction will end up in a block that is not unwound (due to soft forks).


Ah right. I remember now. The two problems is the chain unraveling and soft forks. I wish somebody can figure that out!

I different idea I have here is that if a person combined the tech in No-Risk Wallet with the tech in MultiSigna exchange, I think it very well MAYBE might be possible to have a completely trustless exchange, so that people could exchange BTC <-> NEM through a centralized service, but in a way that they users always controlled their keys. 

In that case decentralization isn't needed as it still is a trustless service. 

https://www.multisigna.com/index.php

https://www.cryptocoinsnews.com/multisignia-bitcoin-market-exclusively-using-multi-signature-wallets/