Bitcoin Forum

Local => India => Topic started by: BTCIndia on November 08, 2014, 07:33:54 AM



Title: How to create OFFLINE Transaction?
Post by: BTCIndia on November 08, 2014, 07:33:54 AM
Private key is converted into public key from one way cryptography thereafter it is used to sign transaction etc etc. Is it possible to create a offline transaction?

I mean do all necessary things offline then it would result in some "lengthy random string" which can only be understand and processed by network. Once that lengthy random string is made we can convert into some hash of 32 bytes. Then write it on paper and then decrypt '32 bit hash'  with computer connected to internet to yield "lengthy random string" which can be broadcast to network?

I don't know much about cryptography. But, I think. It is possible. How can I do it to ensure security of my private key?


Title: Re: How to create OFFLINE Transaction?
Post by: polynesia on November 09, 2014, 02:55:55 AM
Private key is converted into public key from one way cryptography thereafter it is used to sign transaction etc etc. Is it possible to create a offline transaction?

I mean do all necessary things offline then it would result in some "lengthy random string" which can only be understand and processed by network. Once that lengthy random string is made we can convert into some hash of 32 bytes. Then write it on paper and then decrypt '32 bit hash'  with computer connected to internet to yield "lengthy random string" which can be broadcast to network?

I don't know much about cryptography. But, I think. It is possible. How can I do it to ensure security of my private key?

If you are using electrum
https://electrum.org/tutorials.html#offline-mpk



Title: Re: How to create OFFLINE Transaction?
Post by: BTCIndia on November 09, 2014, 05:09:52 AM
Private key is converted into public key from one way cryptography thereafter it is used to sign transaction etc etc. Is it possible to create a offline transaction?

I mean do all necessary things offline then it would result in some "lengthy random string" which can only be understand and processed by network. Once that lengthy random string is made we can convert into some hash of 32 bytes. Then write it on paper and then decrypt '32 bit hash'  with computer connected to internet to yield "lengthy random string" which can be broadcast to network?

I don't know much about cryptography. But, I think. It is possible. How can I do it to ensure security of my private key?

If you are using electrum
https://electrum.org/tutorials.html#offline-mpk



Kind thanks! I'll try to play with it.


Title: Re: How to create OFFLINE Transaction?
Post by: buysellbitcoin on November 09, 2014, 05:34:30 AM
Private key is converted into public key from one way cryptography thereafter it is used to sign transaction etc etc. Is it possible to create a offline transaction?

I mean do all necessary things offline then it would result in some "lengthy random string" which can only be understand and processed by network. Once that lengthy random string is made we can convert into some hash of 32 bytes. Then write it on paper and then decrypt '32 bit hash'  with computer connected to internet to yield "lengthy random string" which can be broadcast to network?

I don't know much about cryptography. But, I think. It is possible. How can I do it to ensure security of my private key?

If I am guessing it correctly, this is what you want to do :
1. Create transaction instructions ( in your words offline transaction ) from your public computer.
2. Secure that transaction instruction ( hashing is not the way to do it, as it will be irreversible. You can encrypt it,  but basically you do not need that )
3. Send this transaction instructions to your offline computer and decrypt it.
4. Sign this transaction by your private key.
5. get this transaction back to online computer and broadcast it to netwrok.

https://www.armoryguide.com/OfflineTransactions.html

There are few security challenges though :
1. Transfer of transaction instruction ( unsigned transaction )from online computer to offline computer and transferring signed transaction back to online computer.
2. How you will ensure that the unsigned instructions are indeed coming from your online computer only ( In your case you propose it with encryption )
3. How you will secure the transport channel between online computer and offline computer.

One way to make it secure and automatic is using your own secure mail server to send PGP signed emails between both endpoints with both nodes running on TOR.

There are few more ways to do it which includes generating and scanning barcodes via webcam and many more.

Regards


Title: Re: How to create OFFLINE Transaction?
Post by: BTCIndia on November 09, 2014, 06:28:16 AM
Mahin,

I could not understand that perfectly. Perhaps, I'm unable to convey my question precisely due to non-technical background. I'll try it again.

http://i57.tinypic.com/34fd07r.jpg

I know this figure it not relevant in context. But just to give idea, worked on whatever was handy. Did it help?


Title: Re: How to create OFFLINE Transaction?
Post by: buysellbitcoin on November 10, 2014, 06:05:30 AM
BTCIndia,
I think what you are trying to achieve is fine but it has few steps mingled in :

Let me go step by step :
1. You need an online computer to create raw transaction as it will need to calculate and include input and output tx inputs. This is just a message and nothing else.
2. Once you have raw transaction formed ( X string ) you must sign it with your private key ( which should be on offline storage ). This process will generate a signed version of this raw transaction which you need to broadcast to network with the help of online node connected to Bitcoin network.

If you want the transfer of raw unsigned and signed transaction secured you can use encryption/decryption ( hashing will not work as you will need it to be reversed )

note : Second step is very complicated if you want to do it via semi manual process, as you will need to sign each tx input with its corresponding private key.

If your aim is to just secure your private keys, this is what I will propose.
1. Create two wallets, one spending and second cold.
2. Spending wallet should be available with coinsbase or blockchain or Armory on your online computer.
3. Cold wallet should be generated via any offline deterministic wallet provider such as Armory or Electrum. Create encrypted paper wallet and store it in bank locker at two different places along with digital encrypted copy in terms of USB drives. Make sure your decryption password or passphrase is stored somewhere else.

I am still not sure if I have answered your original question.

Regards


Title: Re: How to create OFFLINE Transaction?
Post by: BTCIndia on November 10, 2014, 10:39:22 AM
Perfecto! :)

Thanks a lot!