SIGHASH_NONE (SIGHASH_NONE)
입력만 서명하고, 원하는 대로 출력을 변경할 수 있는 서명 해시 유형입니다.
비트코인 거래에서 SIGHASH_NONE 이해하기
거래자로서, 서명이 거래에 미치는 다양한 영향을 이해하는 것이 중요합니다. 이러한 서명 해시 유형 중 하나가 SIGHASH_NONE입니다.
SIGHASH_NONE이란 무엇인가?
SIGHASH_NONE은 비트코인에서 거래의 입력만 서명하는 독특한 서명 해시 유형입니다. 이는 다음을 의미합니다.
- 입력은 고정되어 있으며 변경할 수 없습니다.
- 출력은 거래가 서명된 후 누구든지 변경할 수 있습니다.
- 실생활 예시: 상품을 암호화폐로 거래하기
- 앨리스는 비트코인을 사용하여 밥에게서 상품을 구매하고 싶어합니다.
앨리스는 자신의 입력(지불하려는 금액)으로 거래를 생성하고 SIGHASH_NONE을 사용하여 서명합니다.
- 밥은 앨리스의 서명된 거래를 받습니다.
밥은 입력만 서명되었음을 알게 되므로, 출력이 어디로 갈지(즉, 어떤 주소가 자금을 받게 될지) 변경할 수 있습니다.
- 밥은 필요에 따라 출력 세부 정보를 조정합니다.
밥이 지불금의 일부를 다른 주소로 리디렉션하거나 여러 주소로 분할하고 싶다면, 앨리스의 승인 없이도 할 수 있습니다. 앨리스의 서명은 이러한 변경 사항을 포함하지 않기 때문입니다.
- 거래는 블록체인에 브로드캐스트되고 확인됩니다.
- 왜 SIGHASH_NONE을 사용해야 하는가?
비트코인 세상에서 거래는 가장 중요합니다. 하지만 이러한 거래에 서명하는 방법이 다르다는 것을 알고 계셨나요? 이것이 바로 “서명 해시 유형”이 등장하는 곳입니다. SIGHASH_NONE은 그러한 유형 중 하나이며, 유연성에 관한 것입니다.
누구를 위한 유연성인가?
SIGHASH_NONE은 거래 수신자에게 엄청난 권한을 부여합니다. 다음을 상상해보세요: 비트코인을 보내고 싶지만 정확한 대상 금액을 아직 지정하고 싶지 않습니다. SIGHASH_NONE을 사용하면 수신자가 나중에 결정할 수 있습니다!
어떻게 작동하는가?
거래를 계약과 같다고 생각해보세요. 일반적으로 입력(돈이 어디에서 오는지)과 출력(돈이 어디로 가는지) 모두 서명합니다. 하지만 SIGHASH_NONE을 사용하면 입력만 서명합니다.
유연성이 있지만, SIGHASH_NONE에는 위험이 따릅니다. 출력이 서명되지 않았으므로 수신자는 잠재적으로 다음과 같은 작업을 수행할 수 있습니다:
- 대상 주소를 변경하고 비트코인을 훔칩니다.
- 받는 금액을 수정합니다.
사용 사례: 틈새지만 강력함
SIGHASH_NONE은 위험 때문에 거의 사용되지 않습니다. 그러나 신뢰가 가장 중요한, 신중하게 제어된 시스템이나 다자간 계약과 같은 특정 응용 프로그램이 있습니다.
설명: 입력만 서명하고, 원하는 대로 출력을 변경할 수 있는 서명 해시 유형입니다.
- 거래 수신자를 위한 유연성: 거래 수신자가 발신자의 서명을 무효화하지 않고 출력을 수정할 수 있도록 허용합니다. 이는 결제 채널 또는 다자간 거래에서 유용할 수 있습니다.
- 보안 위험: 발신자를 상당한 위험에 노출시킵니다. 서명된 후 거래를 수정할 수 있는 사람은 누구든지 자금을 자신의 주소로 리디렉션할 수 있습니다.
- 제한된 사용 사례: 내재된 보안 위험으로 인해 SIGHASH_NONE은 실제 사용 사례가 매우 제한적이며 일반적으로 안전하지 않은 것으로 간주됩니다.
중요 사항: 보안 문제로 인해 SIGHASH_NONE을 사용하는 것은 매우 권장되지 않습니다. 위험을 완전히 이해하고 완화한 극히 특정한 시나리오에서만 사용해야 합니다.
