Bitcoin Forum

Bitcoin => Development & Technical Discussion => Topic started by: johnny_day on March 08, 2017, 09:30:27 PM



Title: Mobile Wallet: Creating transactions on the server?
Post by: johnny_day on March 08, 2017, 09:30:27 PM
I'm just getting my feet wet with Bitcoin wallet development and I'm unsure where I should create transactions. The mobile wallet will maintain the private keys and my server will maintain a full node. Is it possible to have the server create the transaction, the mobile wallet signs it, and the server broadcasts it? Or should the mobile wallet be responsible for creating and sending the transaction?

Thanks,
Johnny


Title: Re: Mobile Wallet: Creating transactions on the server?
Post by: achow101 on March 08, 2017, 09:42:21 PM
Yes, that is possible, and is a key part of cold storage setups.


Title: Re: Mobile Wallet: Creating transactions on the server?
Post by: alonmuroch on March 09, 2017, 03:49:15 PM
Depending on the setup on the mobile side, it might be able to create, sign and broadcast the transaction by itself.
If it's a light SPV client then all of the above is possible.


Title: Re: Mobile Wallet: Creating transactions on the server?
Post by: johnny_day on March 09, 2017, 04:36:45 PM
Depending on the setup on the mobile side, it might be able to create, sign and broadcast the transaction by itself.
If it's a light SPV client then all of the above is possible.

ugh you're right 8)

I was overcomplicating it in my mind,

thanks


Title: Re: Mobile Wallet: Creating transactions on the server?
Post by: maxi_malism on March 09, 2017, 11:38:58 PM
I'm just getting my feet wet with Bitcoin wallet development and I'm unsure where I should create transactions. The mobile wallet will maintain the private keys and my server will maintain a full node. Is it possible to have the server create the transaction, the mobile wallet signs it, and the server broadcasts it? Or should the mobile wallet be responsible for creating and sending the transaction?

Thanks,
Johnny

I think you're touching on something of a holy grail for bitcoin user experience design. The inherent contradiction of bitcoin is that if someone else is in custody of your keys you don't control your coins. This makes it very hard to create services for bitcoin because you basically need to win user trust AND if you fuck up someone will steal all deposited coins.

A way forward would be a model like you're describing - webapps that provides all the logic but the keys and transaction signing still resides at the user end, distributing risk which is good for both developers and users. If a webapp can coordinate multiple users to create multisig addresses, then suddenly we have "dumb" smart contracts - perhaps not self-executing, but still programmable money on top of a webstack which everyone already knows how to use!

I've been trying to talk to people on reddit about this, but the interest has been mild. The obvious missing component here is a BIP standard employed by all wallets. There is already a way to do payment requests, which is basically the above but with simple one-way payments. What we need is support for multisig, message signing (authentication) so that we can write more complex applications with minimal risk.

This is really the missing link for bringing about the "internet of value".


Title: Re: Mobile Wallet: Creating transactions on the server?
Post by: safeer on March 14, 2017, 05:16:56 PM
Dear all,

I am running a survey questionnaire for my study and i need your help. The aim of this study is to understand how a secure and anonymous system, Bitcoin, influences users’ experiences of usability and security in comparison to credit card users. All the information you give is totally confidential and will not be shared with anyone not directly connected with this project. Please accurately select the most appropriate answer for you. Your contribution is much appreciated.


https://www.surveymonkey.co.uk/r/BitcoinUsability


Your help and time is appreciated.


Thanks alll