Bitcoin Forum
November 14, 2024, 07:21:08 PM *
News: Check out the artwork 1Dq created to commemorate this forum's 15th anniversary
 
   Home   Help Search Login Register More  
Pages: [1]
  Print  
Author Topic: Signing my transactions offline with Bitcoin Core  (Read 1106 times)
BusyBeaverHP (OP)
Full Member
***
Offline Offline

Activity: 209
Merit: 100


View Profile
May 26, 2014, 11:24:58 PM
Last edit: May 26, 2014, 11:38:12 PM by BusyBeaverHP
 #1

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?
DeathAndTaxes
Donator
Legendary
*
Offline Offline

Activity: 1218
Merit: 1079


Gerald Davis


View Profile
May 26, 2014, 11:29:27 PM
 #2

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.
BusyBeaverHP (OP)
Full Member
***
Offline Offline

Activity: 209
Merit: 100


View Profile
May 26, 2014, 11:36:02 PM
 #3

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.
DeathAndTaxes
Donator
Legendary
*
Offline Offline

Activity: 1218
Merit: 1079


Gerald Davis


View Profile
May 27, 2014, 12:36:04 AM
 #4

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)
Pages: [1]
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!