<p>Since nobody replied, I posted this on the <a href="https://math.stackexchange.com/questions/2845598/how-to-calculate-binomial-distribution-of-really-small">Math Stack Exchange</a> and quickly got an answer. </p>

<p>For anyone that's interested, using a formula from <a href="https://www.r-project.org/" rel="nofollow noreferrer">R</a> we get the following values:</p>

<pre><code>pbinom(0,3.365231884e48,2^(-160), FALSE)   = 0.9000000000339017
pbinom(0,1.0130357393e48,2^(-160), FALSE)  = 0.5000000000001161
pbinom(0,1.46885823057e46,2^(-160), FALSE) = 0.01000000000005571
</code></pre>

CC BY-SA 4.0
2018-07-09T18:00:18.270Z
2018-07-09T21:25:36.847Z
2018-07-09T21:25:36.847Z
pgSystemTester
<p>I'm making an informational video about how unlikely it is for an attacker to successfully brute force a specific bitcoin address. Obviously, it will deal with impossibly huge numbers (<em>"not in earth's lifetime with today's technology"</em>), but I would like to include the number of trials required for an attacker to gain 1%, 50% and 90% confidence of success.</p>

<p>Normally I can get away with using Excel for statistical problems. However, Excel doesn't do really big numbers so I'm unable to calculate.</p>

<p>If I were to use Excel, I would use the below formula that tells me the chance of getting 0 successes in ???? trials. I would subtract the result from 1 and that % represents the possibility of success.</p>

<p><code>=1-BINOM.DIST(0,????,2^-160,TRUE)</code></p>

<p>For a simplified example of what I'm looking for: If I were to play a game with a 1% chance of winning, I would have about a 90% chance of 1 or more successful efforts after 250 trials, 50% chance after 70 trials, and 1% chance after 1 trial.</p>

<p>91.89%<code>=1-BINOM.DIST(0,250,0.01,TRUE)</code></p>

<p>50.52%<code>=1-BINOM.DIST(0,70,0.01,TRUE)</code></p>

<p>1.00%<code>=1-BINOM.DIST(0,1,0.01,TRUE)</code></p>

<p>Can anyone calculate how many trials would be needed for 90%, 50%, and 1% possibility of success against a single bitcoin address? The possibility of landing the address correctly is 1 out of 2^160.</p>

<p>Kudos if you can do the math in your head.</p>

<private-key><address-generation><security-key>
Number of Trials Required For Brute Force Attack To Have x% Of Success?
pgSystemTester
# Number of Trials Required For Brute Force Attack To Have x% Of Success?

(Asked by: username_0 on 2018-07-08)

I'm making an informational video about how unlikely it is for an attacker to successfully brute force a specific bitcoin address. Obviously, it will deal with impossibly huge numbers (*"not in earth's lifetime with today's technology"*), but I would like to include the number of trials required for an attacker to gain 1%, 50% and 90% confidence of success.

Normally I can get away with using Excel for statistical problems. However, Excel doesn't do really big numbers so I'm unable to calculate.

If I were to use Excel, I would use the below formula that tells me the chance of getting 0 successes in ???? trials. I would subtract the result from 1 and that % represents the possibility of success.

`=1-BINOM.DIST(0,????,2^-160,TRUE)`

For a simplified example of what I'm looking for: If I were to play a game with a 1% chance of winning, I would have about a 90% chance of 1 or more successful efforts after 250 trials, 50% chance after 70 trials, and 1% chance after 1 trial.

91.89%`=1-BINOM.DIST(0,250,0.01,TRUE)`

50.52%`=1-BINOM.DIST(0,70,0.01,TRUE)`

1.00%`=1-BINOM.DIST(0,1,0.01,TRUE)`

Can anyone calculate how many trials would be needed for 90%, 50%, and 1% possibility of success against a single bitcoin address? The possibility of landing the address correctly is 1 out of 2^160.

Kudos if you can do the math in your head.

**Tags:** private-key, address-generation, security-key


---

## 1 answers

### Answer by username_0 on 2018-07-09. Score: 0 | Accepted answer

Since nobody replied, I posted this on the Math Stack Exchange and quickly got an answer. 
For anyone that's interested, using a formula from R we get the following values:
pbinom(0,3.365231884e48,2^(-160), FALSE)   = 0.9000000000339017
pbinom(0,1.0130357393e48,2^(-160), FALSE)  = 0.5000000000001161
pbinom(0,1.46885823057e46,2^(-160), FALSE) = 0.01000000000005571


---

