Closed jp3492 closed 6 years ago
I'd say primarily: ease of use. On a good cloud provider, it's trivially easy to set up a new instance, and even to set it up with a specific script that installs everything for you by default, as we do at Linode. This all means that we can teach Bitcoin without requiring that someone also have sysadmin skills.
(And, I think, most people don't have spare machines sitting around at home that could easily be repurposed for Bitcoin work.)
If you've got the hardware and the skills, there's certainly no reason not to use a home machine to play with things. We are only recommending this for testnet play in any case, so the security isn't a strong concern. You'd of course need to make dramatically different decisions if you decided to set up a live Bitcoin service.
The goal of the Linode instructions was to make it easy to do F2F training. When I was teaching at Blockchain University, the setup time for students and our time to support them was challenging to learning. As the first month on Linode is free, and there is a startup script that sets everything up for you, it was a good solution.
The instructions are also quite applicable helping you set up a full node on your machine. However, they are not platform specific — you'll need to adapt it.
Thanks for the additional info.
Shannon - can you elaborate on what you mean by 'dramatically different decisions' in your reply: 'You'd of course need to make dramatically different decisions if you decided to set up a live Bitcoin service'.
I setup a full node on an unused machine at my house, on Mainnet, which has always-on internet, and I'm allowing incoming connections (currently up around 34). I'm just generally playing around with Bitcoin, and while I realize that my node maybe doesn't play a large role in the Bitcoin network, it does make me feel like part of the community and make me want to learn more.
You just have to think much more seriously about security if you're doing mainnet work.
A VPN probably wouldn't be acceptable in that case, unless you were a large company with careful contracts with the VPN company. As for a local machine: that depends on your own security work.
Thanks Shannon. General network security, as in protecting my local LAN from outside attacks after opening port 8333 to the internet? Can you recommend any additional reading material on this topic?
Our basic setup for a Bitcoin machine is, IMO, pretty secure, though obviously we can't make any guarantees about it. So follow that, and you have a great start: lock down almost all of the ports; lock down ssh to only allow access from your machine(s); don't use a live Bitcoin machine for anything else; and religiously keep the machine updated with security updates. You basically have to minimize the surfaces of attack and maximize your upkeep on the remaining surfaces.
The next step is keeping your whole network secure. You don't want someone to get onto another machine, and thus be able to snoop your network. (Mind you, you can minimize the damage of that by always using secure methods to connect to your Bitcoin machine.)
Even that probably isn't enough if you have real Bitcoin funds. Except when you're active trading, you want to send those off into cold storage, but that's a whole other topic.
I don't have any particular sources. I'd do research in two steps: securing machines and securing keys in cold storage.
Im not an expert yet, but trying to get into the technical and developing side of blockchain. I would like to know why we shoud use a cloud provider while following your steps instead of using your local machine at home? cloud provider costs, thats why i am asking thanks in advance, jp