해제 스크립트 편집하기
최신판 | 당신의 편집 | ||
47번째 줄: | 47번째 줄: | ||
:* '''P2SH'''(Pay to script hash) : 잠금 스크립트에 스크립트의 해시값을 포함하는 유형으로, 멀티시그에도 사용할 수 있다. 여기서는 P2SH(pay-to-script-hash)를 적용한 멀티시그를 기준으로 설명된다. P2M(pay to multiSig)에서는 잠금 스크립트에 n개의 공개키를 포함해야 하므로, 거래의 크기가 커지고 그만큼 수수료가 비싸지는데 수수료는 거래 크기에 의해 결정된다. 이 때문에 P2M를 지원하는 어드레스에 송금하려면 송금자가 비싼 수수료를 물어야 한다는 단점이 있고, 거래를 생성할 때도 P2PKH보다 복잡한 값을 잠금 스크립트에 포함해야 하므로 송금하는 쪽의 부담이 크다. 문제를 해결하기 위해 P2SH에서는 길이가 긴 스크립트 설정을 송금자가 아닌 송금받는 쪽에 맡긴다. P2M에서는 다음과 같은 잠금 스크립트를 사용했었다.<ref name="체인"></ref> | :* '''P2SH'''(Pay to script hash) : 잠금 스크립트에 스크립트의 해시값을 포함하는 유형으로, 멀티시그에도 사용할 수 있다. 여기서는 P2SH(pay-to-script-hash)를 적용한 멀티시그를 기준으로 설명된다. P2M(pay to multiSig)에서는 잠금 스크립트에 n개의 공개키를 포함해야 하므로, 거래의 크기가 커지고 그만큼 수수료가 비싸지는데 수수료는 거래 크기에 의해 결정된다. 이 때문에 P2M를 지원하는 어드레스에 송금하려면 송금자가 비싼 수수료를 물어야 한다는 단점이 있고, 거래를 생성할 때도 P2PKH보다 복잡한 값을 잠금 스크립트에 포함해야 하므로 송금하는 쪽의 부담이 크다. 문제를 해결하기 위해 P2SH에서는 길이가 긴 스크립트 설정을 송금자가 아닌 송금받는 쪽에 맡긴다. P2M에서는 다음과 같은 잠금 스크립트를 사용했었다.<ref name="체인"></ref> | ||
<m> <pubkey> [<pubkey> ...] <n> OP_CHECKMULTISIG | <m> <pubkey> [<pubkey> ...] <n> OP_CHECKMULTISIG | ||
− | : P2SH는 이 스크립트의 해시값(HASH160)을 잠금 스크립트에 포함시킨다. HASH160으로 생성한 해시값은 20바이트 길이이므로, 공개키를 나열한 형태인 원래의 스크립트보다 길이가 많이 줄어든다. 그리고 해제 스크립트에 해시를 계산한 원래의 스크립트를 포함 시킨다. | + | : P2SH는 이 스크립트의 해시값(HASH160)을 잠금 스크립트에 포함시킨다. HASH160으로 생성한 해시값은 20바이트 길이이므로, 공개키를 나열한 형태인 원래의 스크립트보다 길이가 많이 줄어든다. 그리고 해제 스크립트에 해시를 계산한 원래의 스크립트를 포함 시킨다. |
잠금 스크립트 : OP_HASH160 <redeemScriptHash> OP_EQUAL | 잠금 스크립트 : OP_HASH160 <redeemScriptHash> OP_EQUAL | ||
해제 스크립트 : [<sig> ...<sig>] <redeemScript> | 해제 스크립트 : [<sig> ...<sig>] <redeemScript> |