일렉트럼 2.0은 트랜잭션을 직렬화하는 개선된 방법을 도입했습니다. 이 새로운 방법을 통해 사용자는 서명되지 않았거나 부분적으로 서명된 트랜잭션을 다른 서명자와 공유하거나 콜드 스토리지 장치에 저장할 수 있습니다.
이 직렬화 형식의 주요 변경 사항은 트랜잭션 입력에서 찾을 수 있습니다. 특히 일렉트럼은 pubkey
필드에 추가 정보를 포함할 수 있습니다. 이 확장으로 지갑에서 아직 완전히 서명되지 않은 거래를 처리할 수 있게 되어 다중 서명 설정과 콜드 스토리지 작업을 더 쉽게 관리할 수 있습니다.
확장 공개 키
표준 비트코인 공개 키는 다음과 같이 시작됩니다. 0x02
, 0x03
또는 0x04
. 비트코인 거래에 사용되는 일반적인 압축 또는 비압축 공개 키입니다.
확장 공개 키는 다음과 같이 시작됩니다. 0xFF
, 0xFE
또는 0xFD
. Electrum은 이를 사용하여 키의 출처와 파생 경로에 대한 자세한 정보를 제공합니다.
확장 공개 키에는 세 가지 유형이 있습니다:
- 로 시작하는 키
0xFF
는 파생 경로와 함께 BIP32 확장 공개키(xpub)입니다. - 로 시작하는 키
0xFE
마스터 공개 키와 그 파생 경로를 결합하는 Electrum의 레거시 파생 방법을 사용합니다. - 로 시작하는 키
0xFD
는 비트코인 주소만 알려진 알 수 없는 공개 키를 나타냅니다.
유형
- BIP32 파생 (로 시작
0xFF
): 이 형식은 78바이트 길이의 확장 공개 키(xpub)와 그 뒤에 BIP32 파생 경로로 구성됩니다. 파생 경로는 일련의 4바이트 정수로 표시되며, 총 길이는 파생 단계 수의 두 배입니다. - 레거시 일렉트럼 파생 (로 시작
0xFE
): 이 이전 형식은 64바이트 길이의 마스터 공개 키(mpk)와 그 뒤에 4바이트 파생값을 사용합니다. 이 방법은 이전 버전의 Electrum에만 해당됩니다. - 비트코인 주소 전용 (로 시작
0xFD
): 이 형식은 전체 공개 키를 사용할 수 없지만 비트코인 주소 또는 해당 스크립트 해시를 알고 있을 때 사용합니다. 출력 스크립트의 20바이트 해시160을 저장합니다. 이 형식은 공동 서명자가 필요할 때 실제 공개 키를 제공할 수 있다고 가정합니다.
이러한 확장 형식을 통해 일렉트럼은 다양한 지갑 유형과 파생 방법을 처리하여 최신 BIP32 기반 계층형 지갑과 구형 일렉트럼 지갑 구조를 모두 지원합니다. 그리고 0xFD
형식은 부분적으로 알려진 트랜잭션 데이터로 작업할 때 유연성을 제공합니다.
표준 공개 키
비트코인은 공개 키를 표현하기 위해 특정 형식을 사용합니다. 이러한 형식은 비트코인 네트워크에서 표준으로 인정받고 있습니다:
압축 공개 키: 다음 중 하나로 시작합니다. 0x02
또는 0x03
와 32바이트의 데이터가 이어집니다. 시작 바이트는 y
-타원 곡선에서 공개 키의 점의 좌표가 짝수(0x02
) 또는 홀수(0x03
).
비압축 공개 키: 시작은 다음과 같습니다. 0x04
와 64바이트의 데이터가 뒤따릅니다. 이 형식에는 x
및 y
타원 곡선 상의 공개 키 점의 좌표입니다.