P2PKH, マルチシグ

支払い形式によって、スクリプトの設定方式が複数存在
– ScriptPubKey

def self.to_address_script(address)
	hash160 = Bitcoin.hash160_from_address(address)
	case Bitcoin.address_type(address)
	when :hash160; to_hash160_script(hash160)
	when :p2sh; to_p2sh_script(hash160)
	end
end

– ScriptSig

UTXOを使用するには複数の署名が必要になる
m-of-nマルチシグはn人のうちm人が署名すればできる

ScriptPubKeyにスクリプトのハッシュを設定することで単純化したものがP2SH
ハッシュを用いてトランザクションに含まれるデータ量を少なくすることで取引手数料を低く抑える

ロックタイム(OP_CLTV, OP_CSV)
特定のUTXOを使用したトランザクションを設定したブロック高またはUNIXタイムまでブロックに含まれないよう制限をかけることができる