Please excuse a noob's ignorance, but I understand that even if the transaction is generated offline, the online armory client need to download the full blockchain to broadcast the transaction message.
My question is: why ?
If I try to broadcast an invalid transaction and the originating address does not contain enough coins the miners will reject it anyway. Why do I need the whole chain?
Because most people who would commit such a mistake most likely wouldn't be able to recover coins not spent if they were sent in an invalid transaction without coming here crying for help.
The technical reasons may be different, but this one sure is one heck of a reason.
Never trust user inputs without validation.
Thanks for your answer.
What kind of errors could be prevented by downloading the blockchain?
If we're talking about inputting bad addresses then the embedded checksum should prevent that.
No, I'm talking about armory not knowing if some of the coins on "your" transaction were already spent in a previous transaction. Now imagine that mixed with those already spent coins you also send some coins you didn't spend yet. What would happen? Those "valid" coins would be "stuck" on an invalid transaction that nobody would accept or relay.
Maybe you or me could recover those coins with 5 or 10 minutes of work, deleting the tx or exporting and importing the private key(s) into another wallet, but most users won't.
Not allowing users to do stupid things is a great reason, don't you think?
Certainly there
may be are other technical reasons for it. I'm sure etotheipi will come here and give you a detailed explanation.