We need to create a easy way to make and accept fast and small payment in first person
we need to create a easy way to make and accept payment.
when you buy online, or a expansive thing, it is OK to way many minutes to have one or more confirmation.
but think about buying a coffee or a dinner; over a couple of seconds is an overkill.
also inputting address and value is a pain.
and finally we don’t want to take out our private key, and connect to unknown network.
Obviously we don’t wanna use physical coin, so we need an alternative.
so here my idea.
this is known by a little and not expansive machine, with some wireless data exchange like zibee,Bluetooth,nfc,or even WiFi or barcode
How it works
Please note; this is possible because the wallet know the history of the address is using to pay;
when a transaction is accepted, the next will have a different sign(by bitcoin protocol);
this is why we need to rollback failed transition and confirm accepet.
Maybe is a nice idea to let the user be able to override one confirmation/reject, so he can recovery from a bad state without the need of a PC;
if the transaction is maliciously failed, as you rollback your last transaction,
the wallet will be out of sync and will produce invalid sing.
this also mean the wallet have to remember all its transaction to correctly sign the next;
but please note that the buyer-seller protocol is easy and does not require trust.
the worse is that your wallet will be unusable until you sync it (we hope from a secure source!)
a little machine connected to internet, and the only setup is the receiving address.
a little numpad will be used to input the value.
a normal PC may be used, if communication technology with walled are fine.
another secured PC to store the wallet. or whatever you preferr
this HW wallet. it will also need to set up it;
at first boot or on a special HW pin, it will generate an adress.
then you’ll put some coin on it with a transaction;
then you need to synch the history of the wallet, probably sending a stanard JSON rappresentation of its transaction.
as the number of input transaction will be limited (probably 1, but aldo depends on HW capabilities), if you want to load more coin
the idea is to empty the actual address, and then make a new transaction on it, and finally sync again.
the last input transaction will be used as source of coin.
obviously that sync may be done to resync an unsynchronized wallet because erroneus transaction or similar.