Bitcoin / Lightning Network 관련해서 역사가 오랜된만큼 생각보다 많이 복잡하고 용어도 많습니다.
하나씩 필요시마다 정리해나가봅니다.
PSBT
- Bitcoin의 표준화된, 부분서명 트랜잭션(Partially Signed Bitcoin Transaction)을 나타내는 약어
- Bitcoin 트랜잭션은 일반적으로 블록체인에 기록되기 전에 모든 입력이 서명되어야 하며, 서명된 트랜잭션은 변경되거나 취소될 수 없음
- 그러나 PSBT는 부분서명을 사용하여 트랜잭션에 필요한 모든 서명을 하지 않고도 생성될 수 있음
- 즉, 트랜잭션에 대한 모든 서명을 하나의 파일에 모아두고, 이 파일을 여러 사람이 공유하면 각자가 필요한 입력에 대해 서명을 추가하고 최종 트랜잭션을 만들어 낼 수 있게 됨
- PSBT는 트랜잭션에 대한 서명 프로세스를 효율적으로 처리할 수 있도록 함
- 다중서명(multi-signature) 지갑이나 하드웨어 지갑 등에서 보안을 강화하는 데에도 사용됨
- PSBT는 Bitcoin Improvement Proposal(BIP) 174에서 정의되어 있으며, Bitcoin Core 등의 주요 클라이언트에서도 지원
비트코인 Address 종류
P2PKH (Pay to Public Key Hash)
- 비트코인 주소 중 가장 일반적인 종류
- 비트코인 주소의 첫 번째 문자가 '1'로 시작하며, 160비트 크기의 공개키 해시로 구성
P2SH (Pay to Script Hash)
- 여러 개의 비트코인 주소를 묶어서 하나의 주소로 만들 수 있는 멀티시그(multi-sig) 기능을 사용할 때 사용
- 비트코인 주소의 첫 번째 문자가 '3'로 시작하며, 160비트 크기의 스크립트 해시로 구성
Bech32
- P2PKH와 P2SH 주소와 달리, 42자리의 영문 소문자와 숫자로 구성
- Bech32 주소는 최근에 개발된 Segregated Witness(이하 SegWit) 기능에서 사용되며, 보다 효율적인 트랜잭션 처리를 가능하게함
P2PK (Pay to Public Key)
- 2013년 이전에 사용되던 비트코인 주소로, 비트코인 주소의 첫 번째 문자가 '1'로 시작
- 공개키를 직접 사용하는 것이 특징
Testnet 주소
- 비트코인 네트워크의 테스트를 위한 테스트넷(Testnet)에서 사용되는 비트코인 주소
- Testnet 주소는 실제 비트코인을 사용하지 않고, 테스트를 위한 가상의 비트코인을 사용하여 네트워크를 검증하고 실험하는 데 사용됨
- Testnet 주소의 첫 번째 문자는 'm' 또는 'n'으로 시작
Tabroot 지갑과 Segwit 지갑의 차이점
- Tabroot 지갑 주소와 SegWit(분리된 Witness) 지갑 주소는 둘 다 SegWit 기능에서 파생된 주소 형태
- SegWit 지갑 주소는 Pay-to-Witness-Public-Key-Hash(P2WPKH) 및 Pay-to-Witness-Script-Hash(P2WSH) 주소 두 가지 유형이 있음
- P2WPKH 주소는 "bc1" 접두사로 시작하며, P2WSH 주소는 "bc" 접두사로 시작
- SegWit 주소는 비트코인 트랜잭션에서 입력 및 출력을 차별화하여 크기를 줄일 수 있어서, 보다 효율적인 트랜잭션 처리가 가능함
- Tabroot 지갑 주소는 SegWit v1의 확장된 버전으로, Bitcoin Improvement Proposal(BIP) 342에서 제안됨
- Tabroot 기능을 사용하면 더 많은 입력과 출력을 허용하는 복잡한 트랜잭션을 생성할 수 있음
- Tabroot 기능을 사용하면 더 복잡한 스크립트를 사용하여 더 많은 입력과 출력을 처리할 수 있음
- Tabroot 지갑 주소는 "tb1" 접두사로 시작
- 따라서, SegWit 지갑 주소와 Tabroot 지갑 주소는 둘 다 SegWit을 기반으로 하지만, Tabroot 지갑 주소는 SegWit v1의 확장된 기능을 사용하여 더 복잡한 트랜잭션을 처리할 수 있다는 점이 다름
Pay to public key