A few clarifications about running the bitcoin client (let's say bitcoin-qt) on multiple machines on a private.
Question is sort of hypothetical but I was hoping to get some insight into best-practices.
Suppose I want to share a wallet between 2 machines and have both automatically update whenever there is a send/receive. I imagine one way to do this is to have a single wallet.dat file available on one of the machines and have both clients point to it.
Or on another server somewhere or even some cloud storage account. So my questions are:
Is this even possible?
If so, is it considered safe or a good practice? Should/can you share the blockchain db files as well?
Would the wallet encryption cause any issues with this?
What if the clients are running on different OS?
Any alternative non-cloud solutions ? Like keeping it on one machine that will allow (secure) remote access from the other?
Of course one could just use a blockchain.info or other e-wallet and problem-solved. Although that solution has its own inherent issues as well.
yes, it's complicated, you need to run the equivalent of remote desktop to gain access to the user/date file where the wallet.dat file is and the related block chain information. Even with Linux, you can not set multiple users with the same block chain information and wallet with out some form of ' fake access ' to that particular machine as that particular user.
2.Considered extremely unsafe and bad practice. Anyone with the right network tools could intercept your contact to the host and copy enough to log in as you and send the whole wallet to their own with no way of reversing the transaction.
no, once you have access on the host machine for what it cares is that user typing in to it, no stopping someone from remotely sending all your coins to their wallet or you sending your transactions from that one wallet if there is the coins for it. The passwords and such would seem to the host system that the user was at the keyboard typing.
I recently switched to Ubuntu ( Linux ) from XP due to the amount of times remote assistant or remote desktop kept re-re-re-installing itself. Any operating system that allows remote access will not have an issue with any other operating system connecting to it, passing authentication, then treating the incoming commands ( no mater how self destructive ) as if they were at the keyboard.
Alternatives is to have the ' current ' block chain on the systems, close Bitcoin, replace the wallet.dat from a backup ( each time ), wait for the rescan, do the transaction, close Bitcoin, put back the non-shared wallet.dat file so that it prevents any one else accessing that unit from getting a copy of your wallet to spend hours hacking. The wallet info is the wallet, the block chain is the copy of ALLLL transactions. No wallet, no way to send from that address, Bitcoin will create a new ( empty ) one on start up if there isn't already one.
Agreed on the Blockchain wallet option, every online wallet has the cost per transaction issue and you can set so few transactions as a bulk send with it. The best option is just have one wallet on one system that has remote administration removed, no remote desktop and you physically at the keyboard to send. The VPN ( Virtual Private Network ) option still would require remote desktop ( SSH connection as ROOT in the Linux world ) to log in and open the Bitcoin Client as a specific user on that system to gain access to that particular copy of the block chain and that particular wallet. Part of the built in security is where the wallet is stored. In Windows, it is in the logged in user's application storage directory ( documents and settings\user\Bitcoin ) and only THAT user can get Bitcoin-QT to access that particular directory. As an option to look in to, the owner of Slush's Pool ( Bitcoin mining pool ) was working with some people on a portable wallet.