Can Bitcoin help charitable organisations ensure payments go to the right people? One common problem when organisations, such as charities or governments, donate money to good causes is that it becomes very hard to track where the money went. 

For example, there are accusations of money unintentionally being used to purchase weapons instead of providing food. Naturally, the organisations handing out the money do their best to keep track of it, mainly relying on accounting and reporting procedures, but these chains become complex and there are many ways to obfuscate the money trail.

Is there a way, even if it is not yet implemented, that Bitcoin would be able to provide a better solution than existing in this scenario?
By itself Bitcoin doesn't provide a complete solution however it could be used in conjunction with a trusted non-governmental entity to track charitable flows.  The issue is that while Bitcoin provides public and irrefutable evidence of monetary transfers it doesn't (and shouldn't) provide information on who owns those accounts.  It would require some mechanism of registering ownership of accounts similar to how an SSL cert is used to not just encrypt traffic but to also validate ownership of the site.

Using a system of cert authorities and public key encryption one could create "public and verified" addresses.  This has potential uses beyond just Charities.  The Bitcoin network itself should always remain psuedo anonymous.  It was designed to have properties of digital cash and trying to force verified identities into the network would be a mistake.

A better solution would be building a framrwork that allows entities to volentarily have their identitiy validated.  They could then be issued a digital cert which would enable them to sign an address making it public &amp; verified.

Many businesses would benefit by linking an anonymous Bitcoin address to their real world identity to improve the trust and confidence of customers and suppliers. Remember Bitcoin is irrevocable so this present unique challenges if it were ever to become mainstream.  If a major store (Amazon for example) decided to accept bitcoin and was hacked, the attacker could replace Amazon payment address(es) with their own. Unsuspecting customers would be paying the wrong entity and would have method of reversing those fraudulent transactions. The larger the sales volume the more tempting the target.  In the Amazon example even if the attack was detected within minutes a sizeable amount of funds could be diverted. 

To protect against this thread an entity could use a "public &amp; verified" payment address.  Wallets &amp; browsers could implement changes to warn users that an address in unverified, similar to how browsers use SSL today to provide warnings or assurances to users.