Bitcoin Forum
September 25, 2018, 02:22:58 PM *
News: ♦♦ New info! Bitcoin Core users absolutely must upgrade to previously-announced 0.16.3 [Torrent]. All Bitcoin users should temporarily trust confirmations slightly less. More info.
 
   Home   Help Search Donate Login Register  
Pages: [1]
  Print  
Author Topic: syncing the blockchain on an offline pc  (Read 650 times)
figmentofmyass
Hero Member
*****
Offline Offline

Activity: 896
Merit: 584



View Profile
October 25, 2017, 08:36:48 PM
 #1

what is the safest/easiest way to sync an offline desktop wallet? i like the idea of signing transactions on the offline pc, then transferring them via USB or similar medium and broadcasting from a pc that connects to the internet.

naturally, once you push a transaction or two, you need to sync the wallet, otherwise it will try to sign transactions using invalid inputs. where can i safely download block data, and what's the proper way to add it to my wallet directory so that it can sync past my latest transactions?

thanks!

1537885378
Hero Member
*
Offline Offline

Posts: 1537885378

View Profile Personal Message (Offline)

Ignore
1537885378
Reply with quote  #2

1537885378
Report to moderator
1537885378
Hero Member
*
Offline Offline

Posts: 1537885378

View Profile Personal Message (Offline)

Ignore
1537885378
Reply with quote  #2

1537885378
Report to moderator
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction. Advertise here.
1537885378
Hero Member
*
Offline Offline

Posts: 1537885378

View Profile Personal Message (Offline)

Ignore
1537885378
Reply with quote  #2

1537885378
Report to moderator
1537885378
Hero Member
*
Offline Offline

Posts: 1537885378

View Profile Personal Message (Offline)

Ignore
1537885378
Reply with quote  #2

1537885378
Report to moderator
1537885378
Hero Member
*
Offline Offline

Posts: 1537885378

View Profile Personal Message (Offline)

Ignore
1537885378
Reply with quote  #2

1537885378
Report to moderator
Taras
Legendary
*
Offline Offline

Activity: 1330
Merit: 1011


Please do not PM me loan requests!


View Profile WWW
October 25, 2017, 09:03:41 PM
 #2

When I need to sign transactions online, I use a synced wallet on an online computer that has watch-only addresses. You can make a transaction online while synced, then sign it offline without needing to be synced, and bring the signed transaction back to your online synced wallet and broadcast it from there. Syncing an offline wallet just seems like a weird hard way of doing that same thing.
TryNinja
Hero Member
*****
Online Online

Activity: 770
Merit: 760


ChipMixer's Badge of Honor


View Profile
October 25, 2017, 10:12:49 PM
 #3

what is the safest/easiest way to sync an offline desktop wallet? i like the idea of signing transactions on the offline pc, then transferring them via USB or similar medium and broadcasting from a pc that connects to the internet.

naturally, once you push a transaction or two, you need to sync the wallet, otherwise it will try to sign transactions using invalid inputs. where can i safely download block data, and what's the proper way to add it to my wallet directory so that it can sync past my latest transactions?

thanks!
You don't have to. What do you mean with "it will try to sign transactions using invalid inputs"?

You create transactions in a watch-only connected to the internet wallet, only use the offline wallet to sign the transaction and then broadcast the signed transaction in a connected device. The offline wallet doesn't know which inputs are spendable in the wallet because it doesn't have to be ever connected to the internet.

I myself, have a bootable image that has Electrum installed and my wallet is showing a balance of 0 BTC. Are you saying that you always sync your offline wallet and create the transaction from there? Because this takes away the whole purpose of using a cold-storage wallet.

HCP
Hero Member
*****
Offline Offline

Activity: 728
Merit: 925

<insert witty quote here>


View Profile
October 25, 2017, 10:50:54 PM
 #4

When you create the unsigned transaction on your online wallet, it should provide the details of the inputs being used. All you are doing on the offline computer is signing the transaction. It has no need to know if the inputs are used or not. That is what the online "watching only" wallet, on the online PC, is for... it keeps track of all the incomings/outgoings and knows which UTXOs are still unspent and usable.

The workflow goes like this:

1. On online PC, using synced "watching only" wallet... create unsigned transaction.
2. Transfer unsigned transaction to offline PC via USB stick
3. Sign the transaction using the offline wallet containing private keys
4. Transfer signed transaction back to online PC via USB stick
5. Broadcast transaction to the network from online PC

At no point, does the offline PC need to (or should) be connected to the internet. Doing so would completely negate the whole point of the "air gapped" offline computer setup.

figmentofmyass
Hero Member
*****
Offline Offline

Activity: 896
Merit: 584



View Profile
October 26, 2017, 01:29:51 AM
 #5

what is the safest/easiest way to sync an offline desktop wallet? i like the idea of signing transactions on the offline pc, then transferring them via USB or similar medium and broadcasting from a pc that connects to the internet.

naturally, once you push a transaction or two, you need to sync the wallet, otherwise it will try to sign transactions using invalid inputs. where can i safely download block data, and what's the proper way to add it to my wallet directory so that it can sync past my latest transactions?

thanks!
You don't have to. What do you mean with "it will try to sign transactions using invalid inputs"?

as you confirmed below, the offline wallet doesn't know which inputs are spendable. e.g. the wallet tries to spend UTXOs that were already spent because it is not synced...

You create transactions in a watch-only connected to the internet wallet, only use the offline wallet to sign the transaction and then broadcast the signed transaction in a connected device. The offline wallet doesn't know which inputs are spendable in the wallet because it doesn't have to be ever connected to the internet.

this is the piece i was missing. i'll try out using a watch-only wallet. it didn't occur to me that a watch-only wallet could construct the transactions. sounds easy enough, thanks.

I myself, have a bootable image that has Electrum installed and my wallet is showing a balance of 0 BTC. Are you saying that you always sync your offline wallet and create the transaction from there? Because this takes away the whole purpose of using a cold-storage wallet.

no. that was the whole point of my post -- how to get up-to-date UTXO data without connecting the offline pc. why would i make this thread if i were just connecting the "offline" pc to the internet? LOL...

i guess maybe that line of thinking makes sense for electrum, where syncing means connecting to a trusted server. with a full node, the database directory should include block data, current chainstate, UTXO set. i was asking how i could extract that block data from a synced node's directory and transfer it via flash drive to the offline wallet. i still don't see why that should be a problem, though i'm just not clear on the specifics of what should be transferred.

my thinking was that transferring signed transactions via flash drive expose it to similar attack vectors (being air-gapped is irrelevant there), so no real security loss. i'm not sure i understand how that "takes away the whole purpose of using a cold-storage wallet" unless you're telling me that the only way to get block data is to literally connect to the internet.

HCP
Hero Member
*****
Offline Offline

Activity: 728
Merit: 925

<insert witty quote here>


View Profile
October 26, 2017, 05:15:21 AM
 #6

Well... if you want to transfer the initial 150gigs via a USB drive... plus the ~150meg per DAY via USB everytime you want to make a transaction... no one is going to stop you! Tongue

It also basically means you're running two copies of the blockchain, which is a bit wasteful... when you can create an online "watching only" wallet... have that fully synced with all the block data... create unsigned transactions and just use the offline machine to just sign the transactions.

Also, as a lot of people have already pointed out in countless threads... hardware wallets have effectively made the "air gapped" offline wallet setup mostly irrelevant. Why mess around with a 2nd computer and transferring files back an forth when you can simply plug the device into the online machine and sign the transaction. Wink

But whatever floats your boat! Smiley

squatter
Hero Member
*****
Offline Offline

Activity: 896
Merit: 606


STOP SNITCHIN'


View Profile
October 27, 2017, 07:48:20 AM
 #7

Also, as a lot of people have already pointed out in countless threads... hardware wallets have effectively made the "air gapped" offline wallet setup mostly irrelevant. Why mess around with a 2nd computer and transferring files back an forth when you can simply plug the device into the online machine and sign the transaction. Wink

But whatever floats your boat! Smiley

I'm tempted to get a hardware wallet, but I'm still too paranoid. With generalized hardware like a PC, I feel reasonably confident that my hardware isn't compromised out of the box. And the Core software is battle-tested for many years now. I don't have the same confidence with hardware wallets. Not at all.

It's enough trouble for me to verify signatures on binaries. I wouldn't know where to begin auditing one of these devices, and I don't know anyone who I could trust to do it. I'm amazed at how quickly these hardware wallets are being adopted. But then again, it seems like most people in the cryptocurrency space get scammed at least once or twice before they start asking the right questions, so I shouldn't be surprised.

lukaexpl
Full Member
***
Offline Offline

Activity: 148
Merit: 100


View Profile
October 27, 2017, 09:23:36 AM
 #8

Quote
I'm tempted to get a hardware wallet, but I'm still too paranoid. With generalized hardware like a PC, I feel reasonably confident that my hardware isn't compromised out of the box. And the Core software is battle-tested for many years now. I don't have the same confidence with hardware wallets. Not at all.

It's enough trouble for me to verify signatures on binaries. I wouldn't know where to begin auditing one of these devices, and I don't know anyone who I could trust to do it. I'm amazed at how quickly these hardware wallets are being adopted. But then again, it seems like most people in the cryptocurrency space get scammed at least once or twice before they start asking the right questions, so I shouldn't be surprised.

You hit the nail on the head. Although I do have a hardware wallet (Trezor) the jury consisting of paranoid copies of myself is still in session whether I should trust it. Everything I read does speak in favour of trusting such a device but the cost of being wrong is infinite and irreparable.
ranochigo
Legendary
*
Offline Offline

Activity: 1554
Merit: 1094


View Profile WWW
October 27, 2017, 09:36:23 AM
 #9

I'm tempted to get a hardware wallet, but I'm still too paranoid. With generalized hardware like a PC, I feel reasonably confident that my hardware isn't compromised out of the box. And the Core software is battle-tested for many years now. I don't have the same confidence with hardware wallets. Not at all.

It's enough trouble for me to verify signatures on binaries. I wouldn't know where to begin auditing one of these devices, and I don't know anyone who I could trust to do it. I'm amazed at how quickly these hardware wallets are being adopted. But then again, it seems like most people in the cryptocurrency space get scammed at least once or twice before they start asking the right questions, so I shouldn't be surprised.
I would definitely agree with you. I wouldn't buy a hardware wallet or anything specifically for storing Bitcoins. The one and only reason being the cost. If the device costs $100+ to just do nothing and store Bitcoins, I would rather get a raspberry pi which I can use to airgap and store Bitcoins.

In all honesty, the risk of your computer being compromised out of the box is still the same with your hardware wallet being compromised out of the box. IIRC, for most hardware wallets, you can compile it yourself and reflash the firmware. If you were to install core without inspecting each of the codebase yourself, you are still trusting someone else.

HCP
Hero Member
*****
Offline Offline

Activity: 728
Merit: 925

<insert witty quote here>


View Profile
October 28, 2017, 11:12:33 PM
 #10

Cost? A raspberry Pi 3 is like US$35+ shipping... Then you need peripherals and power... or you end up having to swap cables for keyboards and monitors etc.

And all you ever be able to do with it is "store Bitcoins"... Otherwise you are going to be opening yourself up to attacks.

Plus, you get the added "bonus" of moving transactions backwards and forwards using USB sticks etc...

Compared with a €69 USB stick that you can just plug in and use. Honestly, if you have more than a few hundred $/€/£ worth of coins... A hardware wallet makes sense.

I don't really buy the "but how can a trust it?" argument... How can you trust the OS you put on the pi unless you audit every single line of code yourself? I'd think it would be easier to audit the code on a hardware wallet given the smaller codebase.

Given the level of paranoia within crypto, and the number of teardowns and code reviews of Trezor and Ledger... I'm comfortable they are "safe" from deliberate backdoors... The recent Trezor "exploit" obviously highlighted that this doesn't mean they don't have undiscovered flaws tho

LoyceV
Legendary
*
Offline Offline

Activity: 1246
Merit: 1995


Let's make Bitcointalk great again!


View Profile WWW
October 29, 2017, 10:53:11 AM
 #11

Well... if you want to transfer the initial 150gigs via a USB drive... plus the ~150meg per DAY via USB everytime you want to make a transaction... no one is going to stop you! Tongue

It also basically means you're running two copies of the blockchain, which is a bit wasteful... when you can create an online "watching only" wallet... have that fully synced with all the block data... create unsigned transactions and just use the offline machine to just sign the transactions.
When you're talking about 150gigs, I assume you're talking about Bitcoin Core. I use Bitcoin Core, I have some Watch-only addresses in there, but (with Coin Control Features enabled), it doesn't let me select them. What would I have to do to create a transaction in this hot wallet, to sign offline?
Being able to do this would be a very nice addition to my current setup.

Quote
Also, as a lot of people have already pointed out in countless threads... hardware wallets have effectively made the "air gapped" offline wallet setup mostly irrelevant. Why mess around with a 2nd computer and transferring files back an forth when you can simply plug the device into the online machine and sign the transaction. Wink
I'm still not comfortable with the fact that I'd have to trust the hardware wallet manufacturer completely, as it's a black box and I can't see it's inner workings. And storing backup seed words gives the same risks as an unencrypted paper wallet.

I don't really buy the "but how can a trust it?" argument... How can you trust the OS you put on the pi unless you audit every single line of code yourself? I'd think it would be easier to audit the code on a hardware wallet given the smaller codebase.

Given the level of paranoia within crypto, and the number of teardowns and code reviews of Trezor and Ledger... I'm comfortable they are "safe" from deliberate backdoors... The recent Trezor "exploit" obviously highlighted that this doesn't mean they don't have undiscovered flaws tho
I am quite confident they're safe too, but even 99.99% is still a risk. Recently the Antminer backdoor was discovered, who knows what comes out many years from now.
The easiest way I know to be absolutely sure I don't have anyone to trust, is creating my own private key from throwing a dice many times. But this is too annoying to do every time.

ranochigo
Legendary
*
Offline Offline

Activity: 1554
Merit: 1094


View Profile WWW
October 29, 2017, 11:16:57 AM
 #12

When you're talking about 150gigs, I assume you're talking about Bitcoin Core. I use Bitcoin Core, I have some Watch-only addresses in there, but (with Coin Control Features enabled), it doesn't let me select them. What would I have to do to create a transaction in this hot wallet, to sign offline?
Being able to do this would be a very nice addition to my current setup.
The easiest way is to use coinb.in/#newTransaction. Absolutely zero security risk as long as you use the console to verify it before you sign it. You can also do it yourself via the console though this would be more tedious.

I'm still not comfortable with the fact that I'd have to trust the hardware wallet manufacturer completely, as it's a black box and I can't see it's inner workings. And storing backup seed words gives the same risks as an unencrypted paper wallet.
You can flash your own firmware. Some hardware wallets allows the user to select an encryption for their seed.
I am quite confident they're safe too, but even 99.99% is still a risk. Recently the Antminer backdoor was discovered, who knows what comes out many years from now.
If the wallet is designed to be airgapped from the internet (ie. to have the private key secured and nothing will get it exposed), the attack vectors would be reduced significantly. Hardware wallet makers are not stupid, they don't connect the hardware wallet itself to the internet unless necessary. The most would be for the UI on the computer to be on the internet but the device would only take in signing commands.

LoyceV
Legendary
*
Offline Offline

Activity: 1246
Merit: 1995


Let's make Bitcointalk great again!


View Profile WWW
October 29, 2017, 02:26:44 PM
 #13

When you're talking about 150gigs, I assume you're talking about Bitcoin Core. I use Bitcoin Core, I have some Watch-only addresses in there, but (with Coin Control Features enabled), it doesn't let me select them. What would I have to do to create a transaction in this hot wallet, to sign offline?
Being able to do this would be a very nice addition to my current setup.
The easiest way is to use coinb.in/#newTransaction. Absolutely zero security risk as long as you use the console to verify it before you sign it. You can also do it yourself via the console though this would be more tedious.
I've seen and tested coinb.in before, but didn't realize I can use it to sign a transaction on an offline PC. I tried making a new transaction (with some random addresses I found in recent blocks), and it does work, but seems a bit too "die hard" for me. This seems like a good way to mess up and send a huge amount as fee.
Also, I can't figure out how to sign with more than one private key.
Thanks for mentioning the option, but I don't feel comfortable using it.

Quote
I'm still not comfortable with the fact that I'd have to trust the hardware wallet manufacturer completely, as it's a black box and I can't see it's inner workings. And storing backup seed words gives the same risks as an unencrypted paper wallet.
You can flash your own firmware. Some hardware wallets allows the user to select an encryption for their seed.
Flashing my own firmware still makes it something I can't verify on my own.

Pages: [1]
  Print  
 
Jump to:  

Sponsored by , a Bitcoin-accepting VPN.
Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!