Risk Analysis and Mathematical Understanding

Satoshi Nakamoto’s Analysis

The probability that an attacker catches up in authentication when the attacker is lagging behind honest miners by n blocks is:

According to Nakamoto’s analysis, the probability that a double-spending attack by a fraudulent miner will be successful is denoted by P.. When t = Sz, there are N ' (S.) mined blocks. The value of the probability of successful attack P. is

Satoshi’s False Approximation

For zeN, the formula in Satoshi’s Bitcoin white paper is:

PSh(z) = P(z,t), which is the probability that a double-spending attack will be successful after a total of z, blocks has been validated before a time interval of t.

Python3 code for Satoshi’s approximation

#function: ProbAttacksuccess #1: value of lambda #p: probability

#poiss: poisson distribution value From math import exp def ProbAttacksuccess(q.z): p = 1 - float(q)

1 = float(z) * (q / p) ps =1.0

for j in range(z+l): poiss = exp(-l)

for (y in range(j+l): poiss *= 1/y

ps =ps - poiss * (1.0 - ((q / p)**(z - k)) return ps

This approach was rejected later, due to an underestimation of P(z) with Satoshi's approach.

Meni Rosenfeld’s Correction

After the representation of a double-spending attack in Satoshi’s analysis, the Meni Rosenfeld correction has proven to be the correct analysis of a double-spending attack. The probability of a successful double-spending attack is given by:

Here, (",.) denotes "Cr (Combination): "Cr = (/t!)/(((«-/*)!)(/'!)) Pseudo code for Meni Rosenfeld’s correction

A comparison between the probability of success between Meni Rosenfelds’s approach and Nakamoto’

FIGURE 9.8 A comparison between the probability of success between Meni Rosenfelds’s approach and Nakamoto’s approach.P(z) are values through Meni Rosenfeld approach and PVlV(z) are values in accordance with Nakamoto’s approximation.


#define db double db probAttac(r№ «, dbfi)[ db probability = l-/i; db add = 1;

for( int к = 0; к < «; k++){

add-=(pow(probability, a) * pow(/j, k)-pow(/j,«) * pow( probability, k) )* choose(k + «-1, k)) return add;}

Its numerical application with plotting z values, according to Figure 9.8, shows the underestimation of probability by Satoshi Nakamoto’s analysis.

Closed-Form Approach

Using an incomplete beta function, w'e find the probability of success P(z), after there are total z blocks that have been verified

Finer Risk Analysis

Let П be the time taken for an honest miner to get z blocks. Let the expected time it takes be equal to:

and let there be a variable

In general, in Nakamoto’s analysis, this к is assumed to be unity. Instead of finding P(z), let us find P(z, k), keeping к as a contributing factor. Assuming that a total of z blocks has been mined by legitimate miners as S. = TI ,

Blockchain Limitations

Blockchain has a lack of protocols that are in synchronization with existing HTTP/ TCP-IP protocols. Furthermore, its idealization of a decentralized transaction based system with virtually no singular oversight in terms of an intermediary authority/ controlling structure limits its credibility in the eyes of the market and big corporations, which have huge stakes in every venture [20,21].

Apart from that intuitive and hesitation-based reason for nonacceptance, the working of blockchain also poses some hurdles:

Excessive Energy Requirements

The inclusion of transactions is based on miners’ competing in common pools to create the next block to be signed, stamped, authenticated, and verified before it is added. This w'hole process requires a lot of computational pow'er and energy, to the point that it has become cost-ineffective to be a miner [22,23].

Distribution and Duplication

Even though blockchain works on a network of connections of nodes, there is no distribution of flow or cooperation of computation. Every single node in the distributed system is doing the same work. Hence, a single task is duplicated to millions of nodes, and there is no concept of paralleling or mutual exclusion.

Inability to Adapt to User Base Burst

Bitcoin is the most common usage of blockchain, and it is not even that popular yet. Even with a very small user base, the speed of authentication and vast instantaneous changes in storage in the whole network for the execution of a single transaction request makes the overall network very slow and sluggish. This leads to the conclusion that w'hen experiencing a burst in user size, blockchain is inefficient.

Lack of Oversight and Corresponding Manipulations

Blockchains are assumed to be indestructible, immutable, and uncontrollable by the policies of a country. However, this is not necessarily true, as the location concentration of a blockchain group often yields big chunks (sometimes more than 51 percent) of miners from the same country. This way, due to the equal importance/priority of every node in the distributed network, the policies implemented in individual big nations can manipulate the immutable blockchains [24].

< Prev   CONTENTS   Source   Next >