Bitcoin Forum
May 14, 2024, 06:49:20 PM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1]
  Print  
Author Topic: Signing transactions off-line with Bitcoin-QT  (Read 2057 times)
agent13 (OP)
Newbie
*
Offline Offline

Activity: 26
Merit: 0


View Profile
December 05, 2013, 12:04:45 AM
 #1


If a transaction simply contains a list of inputs and outputs and are not tied to tied to specific blocks.. it seems to me that Bitcoin-QT should be able to sign a transaction (and subsequent transactions) without having the updated blockchain. Or, will Bitcoin-QT not spend unconfirmed outputs?

If it could spend unconfirmed outputs, then you should be able to perform a transaction and dump the raw transaction output... burn it to CD and copy the transaction to an on-line Bitcoin-QT installation and re-broadcast it. Could this work?

deepceleron
Legendary
*
Offline Offline

Activity: 1512
Merit: 1032



View Profile WWW
December 05, 2013, 04:56:06 AM
 #2

It is not simply "signing", it is spending valid payments you have previously received.

Bitcoin needs to at least know about how your payment is funded; it must have received the blocks and transactions that sent you money. If another wallet has your addresses or private keys and you are using it, you can create a situation where you already spent the money you are sending, allowing your old-blockchain bitcoin to make a double-spend that will never confirm.

You can send a transaction using Bitcoin offline - when you do reconnect your computer and run bitcoin, it will eventually retransmit the transaction to the network.

agent13 (OP)
Newbie
*
Offline Offline

Activity: 26
Merit: 0


View Profile
December 05, 2013, 06:33:13 AM
 #3

It is not simply "signing", it is spending valid payments you have previously received.

To clarify - I would only be redeeming outputs that were previously generated on this off-line Bitcoin-QT instance. I would not be redeeming outputs that other third-parties may have sent me, but rather outputs that I have only signed myself. I gain no further information by downloading the blockchain, other then seeing which block my transactions were accepted in.

I suspect Bitcoin-QT won't let me spend unconfirmed outputs though? I know of at least one web-wallet that allows this. I would simply like to use the core-dev client instead, off-line.
Abdussamad
Legendary
*
Offline Offline

Activity: 3612
Merit: 1564



View Profile
December 05, 2013, 08:31:23 AM
 #4

It is not simply "signing", it is spending valid payments you have previously received.

To clarify - I would only be redeeming outputs that were previously generated on this off-line Bitcoin-QT instance. I would not be redeeming outputs that other third-parties may have sent me, but rather outputs that I have only signed myself. I gain no further information by downloading the blockchain, other then seeing which block my transactions were accepted in.

I suspect Bitcoin-QT won't let me spend unconfirmed outputs though? I know of at least one web-wallet that allows this. I would simply like to use the core-dev client instead, off-line.


You can create and sign transactions offline. You will need the txids and vouts of the inputs, the script pub keys and the private keys of the input addresses. IF you have all of this you can craft a raw transaction manually. But you can't do it with the GUI.

https://en.bitcoin.it/wiki/Raw_Transactions
wiggi
Sr. Member
****
Offline Offline

Activity: 403
Merit: 251


View Profile
December 06, 2013, 04:25:51 PM
 #5


Could this work?
Definitely, if your offline Bitcoin-QT knows about the outputs/coins in question at all (i.e. they need to be older than
the offline blockchain is outdated)

No need for raw transaction. Send coins as usual, burn wallet.dat to CD and copy it to an on-line Bitcoin-QT installation.
Bitcoin-QT will rescan and then broadcast the transaction, not immediately but within an hour.

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!