저자:리사

편집자: 셰리

배경

블록체인 세계의 특수한 통신 방식인 온체인 메시지는 최근 몇 년 동안 다양한 보안 사고에 자주 사용되었습니다. 예를 들어, SlowMist는 최근 KiloEx가 온체인 메시지를 통해 공격자와 여러 차례 소통하는 것을 도왔고, 마침내 도난당한 844만 달러의 전액을 반환하는 데 성공했습니다. 익명의 환경에서 온체인 메시지는 초기 대화를 시작하고 이후 자금 회수를 위한 기반을 마련하는 효과적인 도구 역할을 할 수 있습니다.

이전 기사 "도난당한 자산에 대한 응급처치 가이드에서의 온체인 메시지"에서는 이더리움에 메시지를 남기는 방법을 자세히 소개했습니다. 비트코인 네트워크도 온체인 메시지를 지원하지만, 두 가지의 구현 방법은 약간 다릅니다. 비트코인 체인에 메시지를 남기는 핵심 도구는 OP_RETURN 명령어입니다. 사용자는 거래에 80바이트의 사용자 정의 데이터를 삽입할 수 있습니다. 이 데이터는 노드에서 거래 검증에 사용되지 않으며, UTXO 상태에 영향을 미치지 않습니다. 이는 순전히 정보를 기록하는 데 사용되며 블록체인에 모두 기록됩니다.

OP_RETURN을 사용하여 체인에 메시지를 남기는 방법

1단계: 메시지 내용 인코딩

먼저, 전송할 텍스트 정보를 16진수(HEX) 형식으로 변환합니다. 비트코인 체인의 OP_RETURN 명령어는 HEX 형식 데이터만 허용합니다.

예를 들어, 메시지를 남기고 싶다면:

이것은 테스트입니다.

변환된 HEX는 다음과 같습니다.

54686973206973206120746573742e

이 작업은 온라인 형식 변환 도구나 Python 스크립트를 사용하여 수행할 수 있습니다.

text = "안녕하세요, 테스트입니다."hex_text = text.encode("utf-8").hex()print(hex_text)

메시지 내용은 160자(160바이트) 미만이어야 합니다. 길이가 이 제한을 초과하는 경우, 메시지를 단순화하거나 여러 개의 메시지로 보내는 것이 좋습니다.

응급처치 가이드: BTC가 도난당했을 때 당황하지 말고 먼저 체인에 메시지를 남겨두세요.

2단계: OP_RETURN을 사용하여 트랜잭션 구성

다음으로, OP_RETURN 출력으로 거래를 생성하려면 사용자 정의 거래를 지원하는 비트코인 ​​지갑이나 도구를 사용해야 합니다.

Bitcoin Core를 예로 들면 createrawtransaction을 사용하여 OP_RETURN 출력을 수동으로 추가합니다.

비트코인-cli createrawtransaction '[{"txid":"your_input_txid","vout":0}]' '[{"data":"54686973206973206120746573742e"}]'

이런 방식으로 구성된 거래는 실제로 돈을 이체하지 않고, 단지 체인에 메시지를 쓸 뿐입니다.

imToken 지갑을 예로 들면, BTC 지갑 전송 인터페이스에 들어가서 "고급 모드"를 켭니다. "OP_RETURN" 입력란에 16진수 정보를 입력하세요. "다음"을 클릭하여 거래 정보 확인을 완료하세요. OP_RETURN 정보와 함께 거래를 성공적으로 보내려면 거래 비밀번호를 입력하세요. "입력 금액 = 출력 금액 + 채굴 수수료"가 맞는지 확인하세요.

응급처치 가이드: BTC가 도난당했을 때 당황하지 말고 먼저 체인에 메시지를 남겨두세요.

3단계: 거래 브로드캐스트

서명된 거래를 비트코인 ​​네트워크 전체에 브로드캐스트합니다. OP_RETURN 거래는 실제로 돈을 이체하지 않으므로 처리되려면 채굴 수수료를 포함해야 하며 채굴자가 이를 블록으로 패키징할 때까지 기다려야 합니다. 거래가 확인되면 해당 메시지는 비트코인 ​​블록체인에 영구적으로 저장됩니다.

4단계: 메시지 내용 보기

거래가 완료되면 TXID를 받게 되며, 블록 브라우저를 통해 볼 수 있습니다. 브라우저는 일반적으로 OP_RETURN 16진수 데이터를 자동으로 ASCII로 디코딩합니다. 예:

응급처치 가이드: BTC가 도난당했을 때 당황하지 말고 먼저 체인에 메시지를 남겨두세요.

 (https://mempool.space/tx/f4ac7abcb689df30ec5e8d829733622f389ca91367c47b319bc582e653cd8cab)

OP_RETURN 애플리케이션

보안 사고가 발생하면 일부 공격자는 체인에서 OP_RETURN 메시지를 사용하여 프로젝트 당사자에게 자금을 반환하려는 의사를 사전에 표현하거나 프로젝트 당사자와 화이트햇 팀이 이 방법을 사용하여 공격자와 대화하고 연락을 시도합니다. OP_RETURN은 협상 시나리오에서 사용되는 것 외에도 "표시" 작업에도 사용됩니다. 예를 들어, Chainalysis는 2022년 러시아-우크라이나 전쟁이 발발하기 전날 신원이 확인되지 않은 비트코인 ​​사용자가 OP_RETURN 체인을 사용하여 메시지를 남기고 러시아 보안 부서와 관련이 있는 것으로 의심되는 주소 1,000개 가까이를 표시했다고 공개한 적이 있습니다. 러시아어로 작성된 이 메시지에는 이 주소가 사이버 공격이나 간첩 활동에 연루되었을 가능성이 있다는 내용이 직접적으로 언급되어 있었습니다.

  • "GRU에서 SVR로. 해킹에 쓰인다!"
  • "GRU에서 GRU로. 해킹에 쓰인다!"
  • "GRU에서 FSB로. 해킹에 사용!"
  • "GRU 카키르로부터 받은 돈으로 우크라이나를 도와주세요"

응급처치 가이드: BTC가 도난당했을 때 당황하지 말고 먼저 체인에 메시지를 남겨두세요.

 (https://mempool.space/address/1CMugHhsSf8Bzrp142BpvUynWBR1RiqMCk)

이 사용자가 이러한 경고를 발행했을 때, 그는 단순히 메시지를 남긴 것이 아니라, 대량의 비트코인을 소각하는 데 협조했습니다. OP_RETURN 출력의 특성상, 해당 거래에 전송된 모든 비트코인은 소각되며 사용할 수 없습니다. 통계에 따르면, 이 사용자는 이 일련의 작업에서 30만 달러 상당의 비트코인을 소진했습니다.

요약하다

특히 비트코인 ​​네트워크의 OP_RETURN과 같은 온체인 메시지는 익명, 공개 및 변경 불가능한 커뮤니케이션 방법을 제공하며, 자금 회수의 초기 단계 연락 및 정보 전달에 널리 사용됩니다. 그러나 공격자는 온체인 메시지를 이용해 피해자를 악성 링크로 유도하거나 위험한 작업(복호화를 위한 개인 키 입력 등)을 수행할 수도 있으므로 항상 경계하고 신뢰할 수 없는 기기에서 의심스러운 정보를 보거나 처리하지 않도록 해야 합니다. 보안 사고가 발생하면 가능한 한 빨리 전문 보안팀에 연락하여 분석을 돕고 자금 회수 성공률을 높이는 것이 좋습니다. 동시에, 사용자와 프로젝트 당사자는 공격 대상이 되는 것을 피하기 위해 보안 인식을 지속적으로 강화해야 합니다.