Merkle Tree - ハッシュ木で包含を証明する
Merkle Tree(マークルツリー、ハッシュ木)は、データの並びを 2 つずつハッシュ関数で畳み込み、最後に 1 つの値へまとめる木構造です。まとまった 1 つの値をルートハッシュと呼びます。全件を持つ側は、データ 1 件と少数のハッシュだけを渡して、その 1 件が並びに確かに含まれていた事を相手に検証させられます。 ...
Merkle Tree(マークルツリー、ハッシュ木)は、データの並びを 2 つずつハッシュ関数で畳み込み、最後に 1 つの値へまとめる木構造です。まとまった 1 つの値をルートハッシュと呼びます。全件を持つ側は、データ 1 件と少数のハッシュだけを渡して、その 1 件が並びに確かに含まれていた事を相手に検証させられます。 ...
Bitcoin のブロックは、発生した取引をまとめて 1 つに束ね、直前のブロックへの参照で鎖状に繋いだデータの単位です。ブロックの列がブロックチェーンで、Bitcoin の参加者はこの列を送金の履歴として共有するよう動きます。 ...
Bitcoin は、ブロックに入った取引(transaction、以下の図では Tx と略します)の並びを Merkle Tree で 1 つのルートハッシュへ畳み込み、80 バイトのブロックヘッダに収めています。ここでは、Bitcoin が何を葉にして木を組み立てているのか、その木で取引の包含をどう検証するのかを説明します。 ...
Merkle Tree の構築方法は 1 通りに決まっていません。奇数の葉をどう組むか、葉と内部ノードをどうハッシュするか、葉をどう並べるかは、それぞれのプロトコルが決める設計事項です。ルートハッシュが何を保証しているのかは、この規則を決めて初めて確定します。 ...