インターネットで検索すると、ハッシュを解読すると約束するサイトが見つかります。これらのサイトは何も解読していません。解読するものは何もないからです。これらのサイトが持っているのは、すでに計算されたものの巨大なテーブルです。あなたがそこに見つけたものは、計算を解いたのではなく、誰かがすでに保存していた結果を認識しただけです。
ハッシュ関数は、単語、契約書、2ギガバイトのビデオなど、何でも取り込み、固定サイズの数値を返します。Bitcoinのハッシュ関数はSHA-256で、NSAによって設計され、2001年にアメリカの連邦標準として公開されました。返される数値は256ビットで、プログラマーが書く方法で64文字になります。ビデオでも単語でも64文字です。
最初の特性は決定論的であることです。同じ入力は、今日も2009年も、世界の反対側のコンピュータでも同じ出力を生成します。誰とも何も調整する必要はありません。これが、何千人もの人々が同じブロックを確認し、同じ結果に達する理由です。初心者向けのトレイルが示したように、彼らは同意する必要はなく、計算する必要があります。

次に、固定サイズであることが挙げられます。これにより、関数が要約になります。この短い出力が移動し、比較され、文書全体の代わりに保存されます。ブロックヘッダーは80バイトで、数千のトランザクションをこのように表現します。
三番目の特性は一方向性です。これがレッスンの名前の由来となるフレーズです。ファイルの要約を計算するのはマイクロ秒で済みます。あなたが選んだ要約を生成するファイルを見つけるには、一つ一つの入力を試す必要があり、その試行の空間はレッスン5で測定される2^256と同じです。誰も逆方向を知りません。それが難しいのではなく、既知のショートカットが存在しないのです。

四番目はアバランチ効果です。ピリオドをコンマに変えると、要約が少し変わるのではなく、完全に変わります。ビットの半分が平均して変わり、結果は以前のものと全く似ていません。ほぼ正しいということはなく、近いということもありません。これがハッシュが検証に役立つ理由です。30ページの契約書の中の1文字が変わると、要約が認識できなくなり、受け取った人は契約書を読まずに気づきます。
五番目は衝突耐性です。入力は無限であり、出力は2^256であるため、同じ要約を持つ異なる入力が無限に存在します。これは数学であり、欠陥ではありません。誰もペアを見つけることができないことが求められます。この要求は以前に破られました。MD5は2004年に中国の研究者Wang Xiaoyunの手によって破られ、SHA-1は2017年2月23日にGoogleとアムステルダムのCWI研究所が同じ要約を持つ異なるPDFファイルを公開したときに破られました。これには9京以上の操作が必要でした。これらの関数は引退し、ハッシュ関数が古くなることを知っておくと良いです。

これらの5つの特性を持っていると、SHA-256が同時に4つの場所でBitcoinを支えているのがわかります。各ヘッダーが前の要約を持っているので、ブロックを連鎖させ、古いブロックを変更するとその後のすべてが壊れます。トランザクションをブロック内でツリーに要約します。マイナーが小さい結果を探して毎秒何十億回も繰り返す計算です。そして、アドレスのレシピにRIPEMD-160という別の関数と一緒に入ります。Satoshiは、既知の攻撃に対する予防策として、これらの使用のほとんどで2回連続で適用しました。
語彙の詳細がレッスンを締めくくります。これにより、後で間違った質問を避けることができます。ハッシュは暗号化ではありません。暗号化は、正しい鍵を持つ人が解読できることを前提としていますが、要約は誰も解読できないことを前提としています。
次のレッスンの操作も簡単に行え、逆にすることは不可能ですが、その向こう側にあるのはファイルではなく、あなたのお金の所有権です。次のレッスンでは、秘密鍵、公衆鍵、secp256k1曲線について学びます。