user3596: If not, what else would be needed to steal all funds from all people and completely break bitcoin? 
I bet some will say ECSDA gives bitcoin an additional layer of protection. I counter this by saying ECSDA is dependent on a hash function such as SHA256. So I will ask this as well: What kind of ECSDA does bitcoin use and would it still be protected if SHA256 were broken?
Yes, I know I am illustrating an unlikely scenario but I still believe we should know what will happen.
If you want to mention other hash functions in relation to SHA256, you can. Feel free to explain how RIPEMD-160 would keep bitcoin safe in case of a SHA256 exploit.

user2306: Bitcoin uses SHA256 followed by RIPEMD-160, which I'll collectively call HASH160.
Good hashes have 4 properties: 

it is easy to compute the hash value for any given message 
it is infeasible to generate a message that has a given hash
it is infeasible to modify a message without changing the hash
it is infeasible to find two different messages with the same hash

Source: Wikipedia
We care about properties 1, 2, and 3. We know for a fact that property 1 is true about HASH160 - we can benchmark it. If properties 2 or 3 were false, then you could steal bitcoins. Not good.
It's a good thing that the scripting language is so flexible, and would allow people to switch to a different address type without forcing everyone to upgrade.
This is a current bitcoin transaction script: 
 OP_DUP OP_HASH160 09432ab39083b5098b6f09432ab39083b5098b6f OP_EQUALVERIFY OP_CHECKSIG

Here's how that might change if HASH160 were broken:
OP_DUP OP_HASH256 09432ab39083b5098b6f09432ab39083b5098b6f09432ab39083b5098b6f826496 OP_EQUALVERIFY OP_CHECKSIG

Note that we've swapped HASH160 for HASH256. Or, assuming both were broken:
<pubKey> OP_CHECKSIG

Now we're forgoing hash functions entirely and putting in the ECDSA key explicitly. However, this would make bitcoin addresses about a hundred characters long.

3596: <p>If not, what else would be needed to steal all funds from all people and completely break bitcoin? </p>

<p>I bet some will say ECSDA gives bitcoin an additional layer of protection. I counter this by saying ECSDA is dependent on a hash function such as SHA256. So I will ask this as well: What kind of ECSDA does bitcoin use and would it still be protected if SHA256 were broken?</p>

<p>Yes, I know I am illustrating an unlikely scenario but I still believe we should know what will happen.</p>

<p>If you want to mention other hash functions in relation to SHA256, you can. Feel free to explain how RIPEMD-160 would keep bitcoin safe in case of a SHA256 exploit.</p>
 2306: <p>Bitcoin uses SHA256 followed by RIPEMD-160, which I'll collectively call HASH160.</p>

<p>Good hashes have 4 properties: </p>

<ol>
<li>it is easy to compute the hash value for any given message </li>
<li>it is infeasible to generate a message that has a given hash</li>
<li>it is infeasible to modify a message without changing the hash</li>
<li>it is infeasible to find two different messages with the same hash</li>
</ol>

<p>Source: <a href="http://en.wikipedia.org/wiki/Cryptographic_hash_function" rel="nofollow">Wikipedia</a></p>

<p>We care about properties 1, 2, and 3. We know for a fact that property 1 is true about HASH160 - we can benchmark it. If properties 2 or 3 were false, then you could steal bitcoins. Not good.</p>

<p>It's a good thing that <a href="https://en.bitcoin.it/wiki/Script#Standard_Transaction_to_Bitcoin_address" rel="nofollow">the scripting language</a> is so flexible, and would allow people to switch to a different address type without forcing everyone to upgrade.</p>

<p>This is a current bitcoin transaction script: </p>

<pre><code> OP_DUP OP_HASH160 09432ab39083b5098b6f09432ab39083b5098b6f OP_EQUALVERIFY OP_CHECKSIG
</code></pre>

<p>Here's how that might change if HASH160 were broken:</p>

<pre><code>OP_DUP OP_HASH256 09432ab39083b5098b6f09432ab39083b5098b6f09432ab39083b5098b6f826496 OP_EQUALVERIFY OP_CHECKSIG
</code></pre>

<p>Note that we've swapped HASH160 for HASH256. Or, assuming both were broken:</p>

<pre><code>&lt;pubKey&gt; OP_CHECKSIG
</code></pre>

<p>Now we're forgoing hash functions entirely and putting in the ECDSA key explicitly. However, this would make bitcoin addresses about a hundred characters long.</p>
