ビットコインに興味のある人なら誰でも、「暗号ハッシュ関数」という言葉を一度は聞いたことがあるでしょう。しかし、それは正確には何を意味し、暗号通貨とどのように関係しているのでしょうか? ハッシュ関数は、ビットコイン プロトコルの重要な部分であるだけでなく、情報セキュリティ全体の重要な部分でもあります。 ハッシュ関数がどのように機能するかを示すために、以下の簡単な例をいくつか使用します。 ハッシュ関数とは何ですか?理論的には、ハッシュ関数は、任意のサイズの入力データを受け取り、固定サイズの出力データを返す数学的なプロセスです。 より具体的には、任意の長さの文字のシーケンス (文字列と呼びます) を入力として受け取り、固定長の文字のシーケンスを返します。入力文字列が 1 文字、単語、文、または小説全体のいずれであっても、出力の長さ (ダイジェストと呼ばれます) は常に同じです。 このタイプのハッシュ関数の一般的な使用例は、パスワードの保存です。 パスワードを必要とする Web サービスでユーザー アカウントを作成するとき。このタイプのパスワードはハッシュ関数にかけられ、パスワード情報のハッシュ要約が保存されます。アカウントにログインするためにパスワードを入力すると、同じハッシュ関数がパスワードに対して実行され、サーバーは結果が保存されているダイジェストと一致するかどうかを確認します。 つまり、たとえハッカーがハッシュが保存されているデータベースにアクセスできたとしても、特定のハッシュを生成するパスワードは簡単には見つからないため、一度にすべてのユーザー アカウントを侵害することはできないということです。 Python のシンプルなハッシュ関数Mac および Linux オペレーティング システムにデフォルトでインストールされているプログラミング言語である Python を使用して、ハッシュを試すことができます。 (このチュートリアルでは、Windows で Python を使用するのはより複雑なため、OSX または Linux のいずれかのバージョンを使用していることを前提としています) まず、ターミナルを開き、「python」と入力して Enter キーを押します。 次に、Python REPL に移動します。これは、プログラムを個別のファイルに記述するのではなく、Python コマンドを直接試すことができる環境です。 次に、各行の後に Enter キーを押し、マーカーで TAB キーを押しながら、次の値を入力します。 ハッシュライブラリをインポートする ハッシュを定義します(mystring): [TAB] hash_object = hashlib.md5(mystring.encode()) [TAB] print(hash_object.hexdigest()) [入力] これで、MD5 ハッシュ アルゴリズムを使用して特定の文字列のハッシュ値を計算する関数 hash() が作成されました。関数を実行するには、上記の括弧 () 内に文字列を挿入します。例えば:
Enter キーを押すと、文字列のハッシュ ダイジェストが表示されます。 同じ文字列に対してこのハッシュ関数を呼び出すと常に同じハッシュが生成されますが、1 つの文字を追加または変更するとまったく異なるハッシュ値が生成されることがわかります。 ハッシュ("CoinDesk は最高") => 7ae26e64679abd1e66cfe1e9b93a9e85 ハッシュ("CoinDesk は最高!") => 6b1f6fde5ae60b2fe1bfe50677434c88 ビットコインハッシュ関数ビットコイン プロトコルでは、ハッシュ関数は、マイニング プロセスを通じてブロックチェーンに新しいトランザクションを書き込むために使用されるブロック ハッシュ アルゴリズムの一部です。 ビットコインのマイニングでは、関数への入力はすべて最近の未確認のトランザクションです(前のブロックに関連付けられたタイムスタンプといくつかの追加入力への参照とともに)。 上記のコード例では、ハッシュ関数の小さな部分を変更すると、まったく異なる出力が得られる可能性があることがわかりました。この特性は、マイニング プロセスにおける「作業証明」(POW) アルゴリズムにとって非常に重要です。ブロックを正常に「解決」するには、マイナーはすべての入力を自分の入力データと組み合わせ、結果のハッシュが特定のゼロで始まるようにする必要があります。 基本的なデモンストレーションとして、「CoinDesk rocks!」の後に手動で感嘆符 (!) を追加して、Python ハッシュ関数を使用して「マイニング」してみることができます。単一の 0 で始まるハッシュが見つかるまで続けます。 >>> hash("CoinDesk は最高です!!") 66925f1da83c54354da73d81e013974d >>> hash("CoinDesk は最高!!!") c8de96b4cf781a6373766c668ceac0f0 >>> hash("CoinDesk は最高!!!!") 9ea367cea6a2cc4a6f5a1d9a334d0d9e >>> hash("CoinDesk は最高です!!!!!") b8d43387d98f035e2f0ac49740a5af38 >>> hash("CoinDesk は最高です!!!!!!") 0fe46518541f4739613b9ce29ecea6b6 => 解決しました! もちろん、ビットコイン ブロックのハッシュ (この記事の執筆時点では 18 個のゼロで始まる必要があります) を解くには、非常に大量の計算が必要です (ビットコイン ネットワークのすべてのコンピューター処理能力を合わせても、1 つのブロックを解くのに 10 分近くかかります)。 大量の処理能力が必要となるため、新しいビットコインのマイニングは完了するまでに長いプロセスを要し、一度にすべてのビットコインをマイニングすることは不可能です。 マイニングでビットコインを獲得するには、ブロックを解くために多大な労力を費やす必要があります。この報酬を獲得することで、すべての新しいトランザクションがブロックにロックされ、以前のすべてのトランザクションの永久記録であるブロックチェーンに追加されます。 |
<<: ギリシャ債務危機が再燃、ビットコインファンの新たな波を引き起こす可能性
>>: ビットコインのスケーリング: DCG ポートフォリオからの考察
ロシアの決済大手QIWIは独自の暗号化デジタル通貨を発行する計画で、その新製品の詳細が公開された。 ...
FTX は業績が悪く、資産状況もあまり良くありません。これは元共同創設者兼CTOのGary Wang...
価格は停滞しているものの、10月7日以来24.2%上昇し、2024年の半減期の影響や米国でのスポット...
北朝鮮の最高指導者、金正恩氏の異母兄弟である金正男氏の父を持つ金ハンソル氏は、北朝鮮政府による暗殺未...
仮想通貨取引所バイビットは、社内で給与の支払いを担当していたホー氏を、自らが密かに所有・管理していた...
フェニックステクノロジーニュース、北京時間6月21日、ロイター通信によると、ビットコインの発明者を自...
米上院銀行委員会は来週、暗号通貨とブロックチェーンの規制枠組みについてより広範な議論を行う予定。委員...
木曜日(8月18日)のアジアセッションでは、ビットコインの最近の価格は引き続き弱いままであり、調査に...
ビットコインの「機関投資家熱」は海外から香港に正式に広がった。 3月7日、Meituは2億6000万...
Ubitquity LLC は、ブロックチェーンを使用して居住者の不動産所有権を保護する米国のブロッ...
▲国際市場から発表された多くの好材料は、ビットコイン市場に新たな期待をもたらしました。今回の国内ビッ...
12月7日、ビットコイン電子商取引のスタートアップ企業パースは、バリー・シルバートのデジタル通貨グル...
Baozouの論評:ブロックチェーン分野では、暗号通貨のマイニングメカニズムの変更とアップグレードが...
日本の規制当局は、いくつかの仮想通貨取引所を取り締まり、数社に「行政処分通知書」を発行し、業務を停止...
ビットコインは、売り圧力が強まったため、週末は横ばいで推移した後、再びマイナスに転じた。 Bitpu...