This all seriously doing my head in. I am trying to get active here, figuring it all out...
It's not complicated or difficult if you use the software the way it is intended. It's when you start trying to play around with importing and exporting your private keys, that you need to be extra careful. Otherwise a proper backup strategy, a good passphrase, and some care to keep malware off your computer will go a long way towards allowing you to use bitcoin safely. If you are especially concerned about malware on your computer then an offline solution such as Electrum offline or Armory offline should give you all the protection you need.
I have read a lot. Many days now...
I'm not sure what you're reading, but the average person can drive a vehicle without understanding the chemistry of gasoline oxidation, or the mechanics of a planetary gear set. If you want to understand the technical details of how and why Bitcoin works, that's great, but don't get caught up in those details if you're just trying to figure out how to use it.
this whole spending a portion of a wallet and then the balance being moved to a 3rd wallet that is not recoverable with your random word list is rather disconcerting and a serious barrier for use as far as i can see
I'm not sure what you're talking about. Recovery from a proper backup should be fine unless you are messing around with exporting and importing private keys.
(I am an engineer, and if it is taking me this long to figure out how not to lose my wallet, I have trouble seeing how the general population is going to be able to get up to speed).
You don't seem to be talking about figuring out how to not lose your wallet. You seem to be talking about manipulating private keys, and forcing a wallet to use a private key that it didn't generate.
What I would like to to do is:
1. Buy some coin for long term investment, who knows, it just might take off in a big way.
2. Buy some coin and get into high frequency trading.
That's simple enough. Get a bitcoin wallet. It will provide you with one or more bitcoin receiving addresses. Find someone with bitcoins. Give that someone something they want in exchange for their bitcoins. Give that someone your bitcoin address so they cen send the bitcoins to your wallet.
(In most cases that "someone" will be an online bitcoin currency exchange such as BitStamp, BTC-E, Coinbase, etc. and the "something they want" will be your local currency)
3. Transfer money between my Irish and Canadian bank accounts without having to pay the middleman (one of it's advertised features).
First, bitcoin is money. So by sending bitcoin to someone, you are sending them money.
Second, there aren't any banks that I know of yet that accept bitcoin deposits, or provide a way for you to send bitcoins. As such, there will be many middlemen if you are trying to use bitcoins to transfer Euros from your Irish bank to dollars at your Canadian bank.
Now before I put some serious money into to this I need to have a firm grasp of architecture.
Then you should take some time to read the original whitepaper written by Satoshi Nakamoto. While bitcoin has advanced a bit since it was written, it is still a very good starting place for understanding the basic architecture.
I think it would be most useful if someone knowledgeable laid out the bitcoin system in a comprehensive block diagram instead of trying to describe it with analogies.
With associated use case block diagrams.
Not the sort of effort I feel like putting in. How about, you create the block diagram and use cases, and I'll answer any questions you have as you put it together.
Some examples of usecase and block diagram components that i think would be important are:
components:
1. bank accounts
2. exchanges
Please explain how to differentiate between a bank account and an exchange.
3. online wallets
4. offline wallets
There are a variety of each of these, and they are each distinct in their behavior. You'll probably end up having to diagram out each of them separately since it will be difficult to create a single diagram that handles all the differences between all the variations.
5. bit coin client software (with associated credentials [password/username])
At the moment, in most cases, there isn't really a distinction between a wallet or client software. Please describe what you mean by "client software" and how that differs from what you mean by "wallet".
6. private keys, public keys, bitcoin addresses, seeds etc... anything and everything that is possible in terms data that must be retained by a user.
The most important thing to retain is the private keys. Deterministic wallets make this a bit easier by calculating all the private keys from a single seed. This means that if you use a deterministic wallet, you just need to retain the seed, and the private keys can all be re-generated on demand from that.
use cases:
1. Transferring BTC between an offline wallet and an exchange.
Please explain what you mean by "offline wallet". Many people use the phrase "offline wallet" to mean any wallet that isn't "web based". Other's use that phrase specifically to refer to wallets that store your private keys on a computer that is never connected to the internet. How exactly you transfer the BTC between the wallet and the exchange will depend largely on which wallet you choose to use.
2. Can one transfer BTC between exchanges?
Yes.
I have had to set up so many account in the last couple days that I have no idea if my account on an exchange (for example kraken) has an associated address or not.
I've never used Kraken, but it almost certainly has at least one associated bitcoin address. Try looking in the "funding" section?
3. Transferring BTC between private wallets (my PC to some guy in China without the use of an exchange as an intermediary).
Again, the specifics of how you will do this will depend on the wallet you choose to use. In general, you'll choose the "Sending" option in your wallet. You'll enter the bitcoin address provided by your receiver (typically a "copy&paste" or scanning a QR-Code). Then you'll enter the amount of bitcoins you wish to send. Finally you'll click the "send" button. This process is the same regardless of whether you are sending to an exchange, an individual, or another wallet that you own.
4. Transferring real money between an exchange and my bank account.
Bitcoin is real money. I assume you mean transferring your local currency between an exchange and your bank account? Each exchange will have their own rules on you you fund your account at the exchange, and how you receive payments from the exchange. This has absolutely nothing to do with the technical details of bitcoin. It is entirely a business decision by the company operating the exchange.
5. Transferring real money between my bank account and my private offline wallet. I don't think that is possible directly, how would I do it indirectly?
Bitcoin is real money. Unfortunately, there aren't any banks that I'm aware of that except deposits in both local currency and bitcoin. As such, the process would be to exchange bitcoins for local currency and then transfer the local currency to the bank. The reverse is also true. You would transfer your local currency from your bank to somewhere that you could exchange it for bitcoins.
I think such visual information would help a lot of people.
As I said, if you want to make an attempt at creating the visual information, I'd be happy to answer questions and help you understand how the processes work.
Other questions that need to be included:
1. Speed of transfer. In a block diagram include expected potential time delays.
The bitcoin transaction itself is generally received within a second or two as long as both you sender and receiver are connected to peers on the internet. Confirmations can take longer. Some businesses choose not to update your balance at their business until after some number of confirmations. The number of confirmations necessary are entirely up to the business to decide for themselves.
Bank transfer transactions of local currency will likely have their own delays, but this is entirely outside the scope of bitcoin.
2. Approximate charges for a transfer between blocks (no charge, fixed value, % etc)
Transfer between blocks? I'm guessing you're trying to ask the "approximate charges for getting a transaction confirmed in a reasonable amount of time?" If so, then 0.0001 BTC per kilobyte is a good approximation. How many kilobytes it takes to create your transaction will depend on how you received your bitcoins in the first place.
For example, I understand that if I remove $$ from an exchange, it could take days to process. Are there other possible delays with other transactions?
You're talking about $$, not
BTC. You'll have to ask your bank about the delays that occur when moving $$. Also individual businesses will have their own rules about how quickly they choose to process any $$ transfers to or from them.
For me personally at the moment, I'd like to implement some test cases to get started.
I have Electrum installed and I am trying to learn how to use it.
Sounds like a good idea. Perhaps check localbitcoins.com and see if you can find someone near you that would be willing to send you some in exchange for some local currency?
I'm not ready ready to go to my bank and set up a connection yet, that is a whole different can of worms that I haven't figured out yet. All I know so far is I can do it with my bank. I don't know if i physically have to go to the bank?
That will depend on the bank, and on the funding method that is required.
I don't use paypal, i never will.
Good choice. PayPal is nothing but trouble.
Am i supposed to use my credit card here what's the deal??
There aren't many bitcoin exchanges that will accept credit cards, and those that do will have significant delays and very high fees to offset the huge risk they are taking by accepting a reversible form of payment for an irreversible transaction.
Anyway I'll figure that out on my own.
Ok.
Until then (that is going to take some time), I'd seriously be GRATEFUL if someone could help me out with test cases.
What sort of "test cases"?
I have Electrum showing me some address i am supposed to use.
I'd be so happy if someone could kick me a penny or two:
14erp8z6z6hQQQ43T27Tbd9vYjTnWUDpXz
or
1Lf8GGBn8WEh6ijv5sTAJvK1epZGCM88Jy
Sure. Mail me a penny, and I'll send you a penny's worth of bitcoins. (Begging isn't allowed on this forum, so I assume you are offering to pay for the bitcoins?)
That would at least get me going and I can test moving BTC around a bit.
You'll want more than a penny to test moving BTC around a bit, since the typical transaction fee will be approximately 0.005 USD.
(I have gone to those sites that offering free 'microRupees' if I spend a couple days clicking many ads and waiting for many timers, it's a bit ridiculous)
Don't do it. It will create a situation where you wallet has a huge number of unspendable outputs. It will result in huge fees when you try to send a transaction. Stay away from those sites, they are just taking advantage of your lack of knowledge to profit off of you.
P.S> sorry for the long please do x,y,z post, just trying to add some constructive views here as I have already passed the point here myself that I am sure would be a barrier to entry for the layman. I will keep plugging away at it myself only because this is what I am used to doing all day long anyway. Hopefully I don't have to long to go as I'd rather be spending this time trying my hand at writing a trading algorithm.
I don't mind, but it does result in quite a long response, and makes general conversation more difficult. You might find it easier to keep notes to yourself about things you want to understand, and then just ask about them one at a time. That way you may find that as you learn a bit, some of your other questions become meaningless or obvious. It will save you some typing, some reading, and will probably reduce confusion.