トランザクション
ビットコインのトランザクション(取引)は複数の TxIn(支払元)と複数の TxOut(支払先)によって構成されます。
すべての TxIn は秘密鍵によって署名する必要があります。そして TxIn の合計数量と TxOut の合計数量の差が手数料と呼ばれ、ブロック生成時に採掘者が手に入れます。
TxIn にはアドレスも数量も書いておらず、支払元のコインを入手したトランザクション(取引)とそのトランザクション内の TxOut の何番目かのインデックスしか書かれていません。
そのため TxIn の合計数量を計算するには 1 億以上あるトランザクションから対象となるトランザクションを取り出さなくてはなりません。ビットコインデーモンを新たに作成する場合一番苦労する点でしょう。
さらにその支払元のコインが二重払いになっているかを判定するためには工夫を要します。