Bitcoin Forum

Other => Beginners & Help => Topic started by: BusyBeaverHP on May 26, 2014, 11:24:58 PM



Title: Signing my transactions offline with Bitcoin Core
Post by: BusyBeaverHP on May 26, 2014, 11:24:58 PM
In the process of improving my security, I have bought a strict offline computer. I want to be able to sign all of my bitcoin transactions offline.

So here's my scheme so far:

1. Encrypted wallet currently residing on PC connected online.
2. Copy encrypted wallet on flash drive.
3. Copy flash drive's encrypted wallet onto offline PC.

--- Offline Barrier ---

4. In the offline PC, create a "Send" transaction, sign it via encryption password.
5. Save updated wallet.

--- Offline Barrier ---

6. Take the updated wallet to online PC.
7. Wallet updated, transaction broadcasted.

With this scenario, my password and private key is never exposed in an online environment. Is this true?

Is this a safe setup? Comments?


Title: Re: Signing my transactions offline with Bitcoin Core
Post by: DeathAndTaxes on May 26, 2014, 11:29:27 PM
That is not the standard procedure no.  After step 4 the wallet will believe the tx has been broadcast and will not immediately attempt to rebroadcast it.

The normal procedure is to use an online wallet to construct a raw transaction.  Copy raw transaction to offline wallet.  Have offline wallet sign the raw transaction.  Copy signed raw transaction to online wallet.  Have online wallet broadcast the signed transaction.


Title: Re: Signing my transactions offline with Bitcoin Core
Post by: BusyBeaverHP on May 26, 2014, 11:36:02 PM
That is not the standard procedure no.  After step 4 the wallet will believe the tx has been broadcast and will not immediately attempt to rebroadcast it.

The normal procedure is to use an online wallet to construct a raw transaction.  Copy raw transaction to offline wallet.  Have offline wallet sign the raw transaction.  Copy signed raw transaction to online wallet.  Have online wallet broadcast the signed transaction.
I don't understand what you mean by raw transaction, or I must have missed that on Bitcoin Core.
I think you'll have spell that one out for me or walk me through it.


Title: Re: Signing my transactions offline with Bitcoin Core
Post by: DeathAndTaxes on May 27, 2014, 12:36:04 AM
It is easier to use a client like armory but the steps can all be done by RPC calls

listunspent - (online) return a list of outputs which can be used to create a new tx
createrawtransaction - (online) create an unsigned tx
signrawtransaction - (offline) sign the unsigned tx (copied from online wallet)
sendrawtransaction - (online)broadcast the signed tx (copied from offline wallet)