검수요청.png검수요청.png

P2PKH

위키원
eom9522 (토론 | 기여)님의 2019년 8월 16일 (금) 15:52 판 (입력 스크립트)
이동: 둘러보기, 검색

P2PKH(Pay-to-Public-Key-Hash)란 비트코인 내에서 가장 일반적인 스크립트 형식으로 비트코인 프로토콜에 대한 지불 거래 유형이다. 주소는 1로 시작하는데, 세그윗(Segwit)을 지원하는 새로운 주소 3 또는 BC1로 시작하는 주소보다 훨씬 비싸다. 공개키의 간단한 해시이며, 이 해시를 주소로 사용할 수 있다.

거래 방식

발신인이 (개인키에서) 유효한 서명 및 공개키를 제공하돌고 요구하는 경우, 트랜잭션 출력 스크립트는 서명 및 공개키를 사용할 것이며, 일부 암호 기능을 통해 공개키 해시와 일치하는지 여부를 확인할 것이며, 그렇게 되면 자금이 사용 가능해질 것이다. 이 방법은 추가적인 보안을 위해 공개키를 해시 형태로 숨긴다.

P2PKH 스크립트

블록체인(Blockchain)에서 가장 일반적인 표준 스크립트는 P2PKH 주소의 이름을 따서 명명된다. 목적지 P2PKH 비트코인(BitCoin) 주소를 가지면 코인을 보낼 출력 스크립트를 작성할 수 있다. 목적지 주소가 생성된 개인키를 가지면, 나중에 그러한 코인을 쓸 입력 스크립트를 작성할 수 있다.

출력 스크립트

  1. P2PKH 출력 스크립트에는 Base58Check 디코딩 대상 주소, 즉 ECDSA 공개키의 해시160이 포함된다.
    OP_DUP
    OP_HASH160
    [hash160(public_key)]
    OP_EQUALVERIFY
    OP_CHECKSIG
  2. 샘플 압축 공개키를 사용
    02
    82 00 6e 93 98 a6 98 6e
    da 61 fe 91 67 4c 3a 10
    8c 39 94 75 bf 1e 73 8f
    19 df c2 db 11 db 1d 28
  3. 해시160 다이제스트
    6b f1 9e 55 f9 4d 98 6b
    46 40 c1 54 d8 64 69 93
    41 91 95 11
  4. 테스트넷(Testnet) 버전 관리 및 Base58Check 인코딩 후 다음과 같이 표시된다.
    mqMi3XYqsPvBWtrJTk8euPWDVmFTZ5jHUK
  5. 이 주소로 송금하는 출력 스크립트는 다음과 같다.
    76 (OP_DUP)
    a9 (OP_HASH160)

    14 6b f1 9e 55 f9 4d 98
    6b 46 40 c1 54 d8 64 69
    93 41 91 95 11

    88 (OP_EQUALVERIFY)
    ac (OP_CHECKSIG)

입력 스크립트

  1. P2PKH 입력 스크립트에는 DER로 인코딩 된 ECDSA 서명과 압축되지 않거나 압축된 원시 공개키가 포함되어 있다. 이러한 입력 스크립트에는 푸시 외의 옵코드(OPCode)가 없다.
    [signature]
    [public_key]

표준 전환

비트코인의 기존 주소 생성 표준은 "Pay-to-Public-Key-Hash"인 P2PKH이었다. 이름에서 알 수 있듯이, 이것은 공개키의 간단한 해시이며 이 해시를 주소로 사용할 수 있음을 의미한다. 소프트웨어 업그레이드와 같은 많은 소프트 포크와 더 나은 보안 및 새로운 기능을 제공하기 위해 비트코인(BitCoin) 블록체인은 나중에 P2SH(Pay-To-Script-Hash)라고 불리는 주소 생성을 위한 새로운 표준으로 전환했다.

각주

참고자료

같이보기

  검수요청.png검수요청.png 이 P2PKH 문서는 블록체인 기술에 관한 글로서 검토가 필요합니다. 위키 문서는 누구든지 자유롭게 편집할 수 있습니다. [편집]을 눌러 문서 내용을 검토·수정해 주세요.