Selaa lähdekoodia

PIP-0036: corrections and updates

Herman Schoenfeld 6 vuotta sitten
vanhempi
commit
903bb095b1
1 muutettua tiedostoa jossa 6 lisäystä ja 6 poistoa
  1. 6 6
      PIP/PIP-0036.md

+ 6 - 6
PIP/PIP-0036.md

@@ -226,11 +226,11 @@ Blake2B_160, Blake2B_256, Blake2B_512, Blake2B_384, Blake2S_128, Blake2S_160, Bl
 
 Since hashing starts and ends with a ```SHA2-256``` the cryptographic strength of RandomHash2 is **at least** that of ```SHA2-256D``` as used in Bitcoin. Even if one were to assume the data transformations in between the start/end were cryptographically insecure, it wouldn't change this minimum security guarantee.
 
-However, the transformations in between are not weak and involve the use of 77 other cryptographically strong hash algorithms. As a result, RandomHash2 is orders of magnitude more stronger than standard cryptographic hash algorithms since they are combined in random, non-determinstic ways. However this achievement is paid for by significant performance overhead (which is intentional).
+However, the transformations in between are not cryptographically weak and involve the use of 77 other cryptographically strong hash algorithms. As a result, RandomHash2 is orders of magnitude stronger than any single cryptographic hash algorithm since it fundamentally is composed of a random combination of many cryptographic hash algorithms. It should be noted that this achievement is paid for by significant performance overhead, which is intentional since the purpose of this algorithm if Proof-of-Work more than cryprographic obfuscaion.
 
-However, within the 18 hash algorithms used, some are considered "cryptographically weak" such as MD5. The use of some weak algorithms is inconsequential to overall security since their purpose is not to add to security but to computational complexity to prevent ASIC manufacturing.
+One criticism levelled against RandomHash2 is that within the set of 77 hash algorithms used, some are considered "cryptographically weak", such as **MD5**. These criticisms are misguided since the use of some weak algorithms is **inconsequential** to the cryptographic security since their purpose is only to add computational complexity to prevent ASIC implementations, not to complement security. 
 
-In order to get a grasp of the minmum security provided by RandomHash2, consider it's high-level algorithmic structure as essentially a set of nested hashes as follows:
+In order to get a grasp of the minmum security provided by RandomHash2, consider the high-level algorithmic structure as essentially a recurrence of nested hashes as follows:
 ```
 RandomHash2(Data) = SHA2_256( H1( H2( .... H_N( SHA2_256( DATA ) ) ...) )
 where
@@ -238,12 +238,12 @@ where
    N = a random number determined by the nonce and neighbouring nonces (indeterminable but bound)
 ```
 
-It follows that the weakest possible RandomHash2 for some ```WeakestDigest``` would comprise of 2 levels of evaluation (```MIN_N=2```) with each of those 2 levels having 0 neighbouring nonce dependencies (```MIN_J=0```). Also, we assume the hash algorithms used at all levels were ```MD5```, as it is considered weakest of the set of 18 possible algorithms. In this case, 
+It follows that the weakest possible RandomHash2 for some ```WeakestDigest``` would comprise of 2 levels of evaluation (```MIN_N=2```) with each of those 2 levels having 1 neighbouring nonce dependency (```MIN_J=1```). Also, we assume the hash algorithms used at all levels were ```MD5```, as it is considered weakest of the set of 18 possible algorithms. In this case, 
 ```
-RandomHash2(WeakestDigest) = SHA2_256( MD5 ( MD5 ( SHA2_256( WeakestDigest ) ) ) )
+RandomHash2(WeakestDigest) = SHA2_256( MD5 ( MD5 ( MD5 ( MD5 ( SHA2_256( WeakestDigest ) ) ) ) ) )
 ```
 
-Clearly the above is still far stronger than the typical SHA2-256D used in Bitcoin and almost all other cryptocurrencies since
+Clearly the above shows the weakest possible RandomHash2 is still **far stronger than a SHA2-256D** as typically employed in Bitcoin-based cryptocurrencies.
 
 ```pascal
 SHA2-256D(WeakestDigest) = SHA2-256 ( SHA2-256 ( WeakestDigest ) )