비트코인 표준거래 3가지
상세한 내용은 다음글에 있습니다.
https://steemkr.com/kr/@niipoong/scriptsig-scriptpubkey
비트코인의 표준거래 패턴은 p2pkh p2pk p2sh 다중서명 데이터출력 등입니다.
1 ) p2pkh
수신측의 비트코인 주소를 이용해서 거래를 만드는 방법입니다.
DUP HASH160 Public_Key_A_Hash EQUAL CHECKSIG
위 정보를 스크립트에 저장합니다. 나중에 이 것을 쓰려면 위 hash160에 해당하는 비트코인 주소의 다음 정보를 입력해야 사용할 수 있습니다.
Signature_from_Priv_Key_A Pub_Key_A
2 ) p2pk
수신측의 공개키를 이용해서 거래를 만듭니다.
Public_Key_A CHECKSIG
위에서 거래된 비트코인을 사용하려면 공개키에 해당하는 전자서명을 하기만 하면 사용할 수 있습니다.
Signature_from_Priv_Key_A
3 )p2sh
스크립트해시를 지급조건을 갇도록 하는 거래입니다.
HASH160 20_byte_hash_of_redeem_script EQUAL
위 스크립트의 해시와 같은 결과값을 내는 입력으로 사용할 수 있습니다.
3_1 )p2sh주소
위 스크립트 해시를 일반적인 주소처럼 변형시킨 것입니다. 위 해시에 접두에 05를 추가하고 끝에 base58check 4바이트를 추가 합니다. 그러면 3으로 시작하는 비트코인 주소가 만들어 집니다. (일반 멀티시그 주소입니다.)
어떤 경우든 비트코인 주소를 1번 이상 송신에 사용하면 공개키가 노출됩니다. 공개키와 주소사이에 일대일 대응이 아니고 현재 한개의 공개키로 2개의 비트코인 주소를 만들어 쓸수 있습니다. 합의만 이뤄진다면 한개의 공개키로 수십개의 비트코인 주소를 만들어 사용할 수 있습니다.
전자서명에 이전 tx의 scriptPubKey, txID와 이번 tx의 scriptPubKey를 입력으로 하여 개인키로 서명을 한다. 개인키,공개키와 hash160사이에 다대일 대응이므로 서명위조가 이뤄질 수 있다. 그러나 확률적으로 zero이다.
서명에 들어가는 정보