SIGHASHを理解する
このnoteは以下の方に向けて書いています。
✅ デジタル署名(digital signature)について知りたい方
✅ 署名にはどのような種類があるのか?(signature type)
✅ そもそもSIGHASHとは?
デジタル署名
Bitcoinの取引ではデジタル署名によってその正当性が保証されています。
デジタル署名とは、その名の通りデジタル上での署名を指します。実際の書類などで署名をするわけでは無いことが重要です。
デジタル署名では公開鍵暗号方式を採用しています。細かい部分はすでに分かりやすく解説されている他の記事に任せてざっくりと解説していきます。
理解には公開鍵と秘密鍵だけ知っておけば大丈夫です。
Signature Type
一口に署名と言ってもいくつか種類があります。トランザクション全体に対して署名を行うのか一部に行うのか。範囲を規定しているフラグがSIGHASHと呼ばれるものです。
トランザクションとは?
Bitcoinのトランザクションとは入力と出力に関する情報を指します。トランザクションIDやいくら入力してどのような分配として出力するのか、などが含まれています。
三つのSIGHASH
いくつかSIGHASHが存在しますが、ここでは基本の4つについて説明します。
SIGHASH_ALL:全てのトランザクション情報に署名すること
SIGHASH_NONE:トランザクションの入力情報にのみ署名する
SIGHASH_SINGL:入力情報と入力インデックスと一致する一つの出力情報に署名する。
SIGHASH_ANYONECANPAY:特定のインプットインデックスに紐ずく入力情報にのみ署名する
感想
書いたはいいもののSIGHASHの細かい部分に関して理解できていないので深ぼっていきたい。
$${英文記事を中心に書いていますので間違いを含む可能性があります。}$$
$${ご了承ください}$$
参考記事:
https://raghavsood.com/blog/2018/06/10/bitcoin-signature-types-sighash
https://btcinformation.org/en/glossary/signature-hash
https://wiki.bitcoinsv.io/index.php/SIGHASH_flags
この記事が気に入ったらサポートをしてみませんか?