Bitcoin Hasher を使用した Node.js プラットフォームでの SHA-256 での衝突の検出

読み始める前に、以下に説明するすべての定義と私が行った調査は情報提供のみを目的としており、不完全または不正確であることを警告したいと思います。





この記事を書いている間、取り上げたトピックの量が多かったため、多くの重要な側面が省略されているか、補足されていません。私が提供した情報に基づいて、データ保護や暗号化などの科学をより深く理解するために参照できる資料のリストが提供されます。





Bitcoin Hasher アプリケーションの動作を理解するために、記事の内容を小さなセクションに分けました。





  1. ちょっとした理論





  2. SHA-2について少し





  3. ブロックチェーンについて少し





  4. ビットコイン・ハッシャー





  5. 便利な素材





1. ちょっとした理論

, INPUT ( ) OUTPUT ( ). . (). , . , . :





, :









  1. hash-





  2. -









, . - . (x) "" (H) (y). (x) (H) (y) :





2. SHA-2

SHA-2 (Secure Hash Algorithm Version 2 - , 2).





, "", : SHA-224, SHA-256, SHA-384, SHA-512, SHA-512/256 SHA-512/224 -, . , . , - . SHA-1 2002 . SHA-256, : Bitcoin Blockchain ( Blockchain ). .





, SHA-2:





SHA-224:       Hello World ! --> 2c8abaa6a94a76fe9c6005994567d67a1631bc90dfca267099dc750f
SHA-256:       Hello World ! --> 07f2bdef34ed16e3a1ba0dbb7e47b8fd981ce0ccb3e1bfe564d82c423cba7e47
SHA-384:       Hello World ! --> 67e60f9ce837caa3ca82550f0dfcbde1b8b8a7c1605fa8d115bcc2314204fd95f5f607306622c38c0205de7df6d426d8
SHA-512:       Hello World ! --> feab0028f1142d420a1425d1dd5b518225b4523aa1cff63385ece3411318819f5ec83042ccb79d81f20e4a243866886ca3ae3026153acff8e126c0e89631502e
SHA-512/256:   Hello World ! --> a70e1d1268e729e90db4c0834214f449c8e7b652777f40a8a0d26f2372e39ca7
SHA-512/224:   Hello World ! --> 7cc0d174b7ce522eff7d7ee59789e420d75d0244f006ef8ce0f4efb7
      
      



3. Blockchain

Blockchain SHA-256 , " " Bitcoin Hasher.





Blockchain - , , , .





, :





  1. (1991 ): Blockchain, . 1991 . Blockchain-.





  2. (1992 ): Blockchain , Blockchain.





  3. (2008 ): : "Bitcoin: a peer-to-peer electronic cash system". Blockchain Bitcoin.





  4. (2009 ): , , Blockchain Bitcoin.





, , , Blockchain , .





Blockchain , ( 685466, 2021-05-30 08:05):





{
      "hash": "00000000000000000009fde417c010d7ec9ffb25a268f4b0667681ed9b74cf65",       (   )
      "ver": 536870916,                                                                 ( )
      "prev_block": "00000000000000000007b7241ee4748769266870bdab4e5306379739db07c466"  (   ),
      "mrkl_root": "8d620000ab7ba942a165ed49be563a31c33269ce8f2d40b8317784475a543fe7"   (     ),
      "time": 1622351111                                                                (      ),
      "bits": 386752379                                                                 (- BTC),
      "nonce": 3069945434                                                               (       ),
      "n_tx": 996                                                                       (     ),
      "size": 1602081,                                                                  (  )
      "block_index": 685466                                                             (  ),
      "height": 685466                                                                  (  ),
      "tx": [
         "--Array of Transactions--"                                                    (   )
      ]
   }
      
      



, Blockchain, API.





Blockchain , . , , .





4. Bitcoin Hasher

Bitcoin Hasher SHA-256.





" " . Blockchain, SHA-256.





:





  1. JavaScript XHR- Blockchain API : https://blockchain.info/rawblock/ ( input ).





  2. Blockchain , Bitcoin Hasher , .





  3. "tx" "" Node.js .





  4. "prev_block" ( ) JavaScript XHR- : https://blockchain.info/rawblock/ ( ). .





  5. - INPUT-OUTPUT db_blocks/block-NUMBER_BLOCK.txt





  6. INPUT , OUTPUT .





アプリケーションに慣れるための便利な資料:





リポジトリ ビットコイン ハッシュ





ブロックチェーンの高さが665862のブロックの「二重暗号化」の形成例





Bitcoin Hasher ワークフロー:





5. 便利な素材

  1. Alferov A.P.、Zubov A.Yu.、Kuzmin A.S.、Chermushkin A.V. 暗号の基礎。M .: Helios ARV、2001.479 p。





  2. 分散型アプリケーション。ブロックチェーン技術が活躍中。S・ラヴァラ





  3. 実用的な暗号。ニールス・ファーガソンとブルース・シュナイアー








All Articles