エレメントはデータのことで、signature, pubkeyなど
オペレーションはデータに対して操作をする OP_CHECKSIG, OP_DUP, OP_HASH160
OP_DUPはスタックの先頭エレメントを複製し、新しく生成したエレメントにpush
重要なオペレーションはOP_CHECKSIG
stackから pubkey, signatureをpopし、その署名が公開鍵に対して有効であるか確認する。有効な場合、OP_CHECHSIGは1をスタックにpush
op_dup 118(10進数) -> 0x76(16進数)
def op_dup(stack): if len(stack) < 1: return False stack.append(stack[-1]) return True
hash256 170(10進数) -> 0xaa(16進数)
def op_hash256(stack): if len(stack) < 1: return False element = stack.pop() stack.append(hash256(element)) return True
hash160だと同様に以下のようになる。
def op_hash160(stack): if len(stack) < 1: return False element = stack.pop() stack.append(hash160(element)) return True