이 기술 노트는 스케일비트 연구팀인 Leon에 의해 작성되었습니다. 작성자
TL;DR
이 글에서는 최근 BEVM의 크로스체인 운영에서 일부 룬의 '손실'에 대해 설명합니다.
이 문서에서는 최근 BEVM 크로스체인 운영에서 발생한 일부 룬 '손실'에 대한 심층 분석과 함께 이러한 문제의 재발을 방지하기 위한 보안 권장 사항을 제공합니다.
최근 BEVM 크로스체인 운영에서 일부 룬 "손실" 현상이 발견되어 커뮤니티에서 우려와 의구심을 불러일으키고 있습니다. 이 기사에서는 이 문제를 심층적으로 분석하여 사용자에게 문제에 대한 보다 포괄적인 이해를 제공하고, 최근 화제가 되고 있는 비문과 룬의 사용 과정에 대해 이야기할 수 있는 기회를 갖도록 하겠습니다.
배경
2023년 12월 23일(베이징 시간), 일부 BEVM 크로스체인 거래 사용자는 자신의 계정에 있는 COOK과 PSBTS 중 일부가 자신도 모르게 새 계정으로 이전된 것을 발견했습니다. 일부 BEVM 사용자는 자신의 계정에 보유하고 있던 COOK, PSBTS, PSBTS 중 일부가 자신도 모르게 크로스체인 브릿지로 이체된 것을 발견하고 BEVM 팀에 이체에 대해 질문했습니다. 그러자 BEVM 공식 트윗을 통해 룬의 일부가 유니샛과 같은 주류 지갑에서 지원되지 않기 때문에 BEVM으로의 크로스 체인에서는 이러한 유형의 비주류 비문은 일반 UTXO로 취급될 것이라고 성명을 발표했습니다. > BEVM 주소로 이동합니다.
스케일비트 보안팀은 이를 발견하고 즉시 연구를 진행했습니다. 스케일비트 팀의 조사 결과, 일부 룬은 BEVM에 의해 "도난"된 것이 아니라 동일한 크로스체인 트랜잭션에서 정상적인 UTXO로 전송된 것으로 확인되었습니다.
본문
BEVM의 공식 웹사이트를 인용하면, BEVM은 BTC를 가스로 사용하는 BTC 레이어2이며, EVM과 호환됩니다. BEVM은 EVM과 호환되는 BTC 레이어2이며, 핵심 목표는 비트코인의 스마트 컨트랙트 시나리오를 확장하고, BTC가 비트코인 블록체인의 튜링 불완전성, 비지원 스마트 컨트랙트의 제약을 극복할 수 있도록 지원하며, BEVM의 레이어2에서 BTC를 기본 가스로 사용하여 탈중앙화된 애플리케이션을 구축할 수 있도록 하는 것입니다.
최근 BEVM 오디세이의 오픈과 함께 많은 사용자들이 향후 BEVM 생태계에 참여할 수 있는 기회를 잡기 위해 BTC와 BEVM을 교차 체인화하여 서로 상호작용하기 시작했습니다. 그러나 크로스 체인 과정에서 일부 사용자는 자신의 COOK 및 PSBTS 중 일부가 분실된 것을 발견했으며, 블록체인 브라우저에 따르면 일부 룬이 BEVM 크로스 체인 브리지로 전송되어 앞서 언급한 상황이 발생했습니다.
다음으로 무슨 일이 있었는지 살펴보겠습니다.
우선, 저희는 BEVM 브라우저(https://scan.bevm.io/stats)를 통해 크로스체인 트랜잭션 정보를 발견했고, 이를 분석하여 크로스체인 브리지의 수신 주소가 다음과 같다는 것을 확인했습니다."
bc1p43kqxnf7yxcz5gacmqu98cr2r5gndtauzrwpypdzmsgp7n3lssgs5wruvy.
이후 Rune Alpha에서 일부 크로스 체인 브리지 메시지를 발견했습니다( COOK, PSBTS 등 룬 프로토콜을 지원하는 범용 브라우저이자 서비스)는 11만 개 이상의 COOK과 28만 개 이상의 PSBTS를 포함한 다양한 룬을 주소로 보유하고 있습니다.
그런 다음 룬 관련 트랜잭션 중 일부를 조사하고 분석했습니다. 연구 및 분석.
이번 거래 중 하나를 예로 들어보겠습니다:
https://runealpha.xyz/txs/ center">
트랜잭션에 두 개의 입력값이 있는 것을 볼 수 있습니다.0.00000546 BTC( 1000 COOK 포함) 및 0.02169031 BTC, 출력은 0.02 BTC(1000 COOK 포함) 및 0.00148377 BTC입니다.
비교를 위해 크로스 체인 브리지를 사용하지 않는 트랜잭션을 찾아보았습니다. COOK 트랜잭션의 출력은 아래와 같습니다.
입력과 출력에 모두 0.00000546 BTC의 UTXO가 포함되어 있음을 알 수 있습니다.
왜 그럴까요? 여기서 우리가 배워야 할 것이 있습니다.
UTXO
먼저, UTXO가 무엇인지 이해해 봅시다.
UTXO는 미사용 트랜잭션 출력으로 알려져 있으며, 직접 번역하면 미사용 트랜잭션 출력이 됩니다. 직역하면 미사용 트랜잭션 출력으로, 비트코인 지식의 핵심입니다. 비트코인 트랜잭션에는 모든 트랜잭션에 입력과 출력이 존재하며, 누군가가 지불하는 돈은 "트랜잭션 입력"이고 여러분이 받는 돈은 "트랜잭션 출력"입니다.
UTXO의 핵심 설계 아이디어는 최종 상태가 아닌 트랜잭션 이벤트를 기록하는, 즉 변경 이벤트만 기록하고 사용자는 이 기록을 바탕으로 잔액을 계산해야 하는 무상태가 되는 것입니다. 결과적으로 비트코인의 거래 모델은 은행 계좌와 다르며, 비트코인은 계좌라는 것이 존재하지 않고 금액에 상관없이 '코인'으로 생각할 수 있는 UTXO만 존재합니다.
UTXO, 입력과 변경
UTXO는 동전과 동일하며 깨질 수 없으므로 거래 과정에서 충분한 입력을 얻는 방법, 변경하는 방법은 무엇입니까? 어떻게 하나요?
예를 들어 샤오밍은 1 BTC를 샤오강으로 전송했고, 전체 프로세스는 이와 같으며, 샤오밍은 충분한 입력을 수집하기 위해 샤오밍의 주소가 이전 거래에 해당하며, 1 BTC에 충분하지 않은 0.9 UTXO의 명목 가치를 발견했으며, 거래에서 하나 이상의 입력을 가질 수 있으므로 샤오밍은 다음을 수행합니다. 은 액면가 0.2 UTXO를 찾았으므로 이체 거래에는 두 개의 입력값이 있습니다. 동시에 두 개의 출력이 있는데, 하나는 액면가 1 BTC인 샤오강의 주소를 가리키고, 다른 하나는 액면가 약 0.1 BTC인 밍의 주소를 가리키며, 이 출력이 변경 사항이 될 것입니다.
비트코인 송금 시 입력을 반올림하는 정해진 알고리즘은 없으며, 지갑의 구현 방식에 따라 달라집니다.
비트코인 비문과 룬
둘째, 비문과 룬이 무엇인지 이해해야 합니다. 비트코인 비문과 룬은 비트코인 생태계에서 중요한 두 가지 개념입니다.
비트코인 인스크립션의 주요 표현은 오디널스 프로토콜입니다. 오디널스는 2022년 12월에 탄생했으며, 전적으로 온체인이고, 케이시 로다모어가 개발했습니다. 이 프로토콜은 일련 번호를 부여하여 트랜잭션의 각 사토시를 추적하는 사토시 번호 시스템을 활용하며, 사용자는 오디널스를 통해 비트코인 블록체인에 추가 데이터(이미지, 비디오, 텍스트 등)를 첨부할 수 있어 각 사토시를 고유하게 만들고, 따라서 본질적으로 NFT입니다. BRC-20은 이 프로토콜을 기반으로 만들어졌습니다.
룬 프로토콜은 룬 프로토콜이라고도 합니다. BRC-20이 폭발적으로 증가하면서 BRC-20 관련 토큰 거래가 조례 프로토콜에서 큰 비중을 차지했습니다. 2023년 9월 26일, 케이시 로다모어는 1923년에 만들어진 BRC-20을 대체하기 위해 Runes(룬 프로토콜이라고도 함)라는 프로토콜을 재개발했고, 현재는 룬 프로토콜이라고도 불립니다. BRC-20을 대체하는 프로토콜입니다. 이 프로토콜은 미사용 트랜잭션 출력(UTXO)을 기반으로 하는 간단한 FT(대체 가능한 토큰) 프로토콜로, 비트코인 사용자들이 좋은 사용 경험을 할 수 있도록 합니다. 룬은 앞서 언급했듯이 주로 COOK과 PSBTS로 대표됩니다.
비트코인 인스크립션과 룬은 모두 UTXO 캐리어이며, 비트코인 인스크립션과 룬의 주요 차이점 중 하나는 인스크립션에 UTXO가 새겨져 있다는 점입니다. 인스크립션과 룬의 주요 차이점은 인스크립션은 분리된 증인 데이터에 새겨지는 반면, 룬은 OP_RETURN에 새겨지는 것입니다. OP_RETURN은 저장할 수 있는 데이터의 크기가 매우 제한적이지만 코인을 발행하는 데는 충분하며 새로운 기술이 아닙니다.
사용자가 비문이나 룬을 발행하기 위해 기본적으로 비트코인의 양을 프로토콜에 전송하면 프로토콜은 비문이나 룬이 포함된 UTXO를 반환하는데, 일반적으로 0.00000546 BTC UTXO입니다. 0.00000546, 이는 최소 거래 금액으로 설정된 비트코인입니다.
비문 전송 역시 이러한 지갑이 다음과 같은 특수 형식을 인식하기 때문입니다. 이러한 비문은 특수한 형식이며, 지갑은 이를 해당 프로토콜의 입력으로 사용하고 상대방에게 전송하기 위해 추가 수수료를 지불합니다.
왜 사용자들은 "룬"?
사용자가 룬을 잃어버리는 이유는, 여전히 본질적으로 UTXO이기 때문에, 사용자가 비트코인 크로스 체인 작업을 수행하기 위해 유니샛을 사용했을 때, 유니샛이 룬이 포함된 UTXO의 해당 부분을 인식하지 못하고 일반 UTXO로 취급했기 때문입니다. 가 크로스 체인 브리지로 전송되었습니다.
실제로 크로스 체인 작업뿐만 아니라 룬을 지원하지 않는 지갑에서 다른 비트코인으로 송금할 때에도 룬이 손실될 수 있습니다. 12월 7일, 한 사용자가 유니샛에서 BRC-20 스왑 작업으로 15,000 COOK을 잃었습니다.
또 다른 흥미로운 점은 룬 알파에서 룬을 시전할 때 사용자의 비문을 가스로 전송하는 것도 가능하다는 것입니다.
왜 아무도 분실된 룬에 대한 피드백을 제공하지 않나요?
비트코인 공식 문서를 통해 비문 크로스체인이 비문의 크로스체인을 지원한다는 사실을 알게 되었으며, 이를 통해 사용자는 BSwap을 통해 자신의 비문을 비트코인에 크로스체인할 수 있습니다. 크로스 체인에 사용되는 지갑은 유니샛 지갑입니다. 이는 사용자가 BRC-20 토큰을 저장, 발행 및 전송할 수 있도록 도와주는 BTC 생태계를 위한 크롬 플러그인 지갑입니다. 유니샛 지갑은 사용자의 인스크립션을 인식하여 UTXO의 해당 부분이 병합되는 것을 방지하고, 사용자가 인스크립션을 적극적으로 거래하는 경우에만 전송됩니다.
때문에 유니샛은 현재 룬 프로토콜을 지원하지 않기 때문에 사용자가 체인에서 룬을 "잃어버리지만" 비문을 "잃어버리지" 않습니다. 이것이 사용자가 룬을 "분실"하지만 체인 간 비문은 "분실"하지 않는 이유입니다. 룬을 지원하지 않는 다른 지갑에서도 비슷한 상황이 발생할 수 있습니다.
룬을 검색할 수 있나요?
룬이 크로스체인 브리지로 전송된 이후에도 사용자가 해당 룬을 다시 가져올 수 있나요?
비트코인 백서를 확인한 결과, BEVM의 자산 크로스체인 솔루션은 비트코인의 탭루트 기술을 기반으로 하며, 이는 슈노르의 융합 기술입니다. 시그니처와 마스트 계약, 1000개의 비트코인 라이트 노드로 구성된 POS 네트워크를 기반으로 탈중앙화된 크로스 체인과 자산 관리를 달성하기 위해 BTC - BEVM 양방향 크로스 체인은 노드 합의의 체인을 완전히 기반으로 관리하여 완전한 크로스 체인을 달성합니다. BTC-BEVM 양방향 크로스 체인은 체인의 노드 합의에 따라 관리되며, 다중 서명이나 인적 관리에 의존하지 않고 완전히 코딩되고 신뢰할 수 없기 때문에 BTC 및 비트코인 자산의 크로스 체인 보안이 BFT POS만큼 탈중앙화되고 안전하며, 결과적으로 BEVM 관계자는 사용자의 "룬 자산"을 꺼내기 위해 별도의 전송 거래를 시작할 수 없습니다.
BEVM은 룬 프로토콜을 지원하지 않기 때문에 룬의 이 부분이 전송될 확률은 완전히 무작위이며, 호스팅 계약이 거래를 실행할 때 이러한 "룬 자산"이 전송되는 일반 UTXO로 취급될 수 있지만 전체 프로세스는 다음과 같습니다. 그러나 이 모든 과정은 완전히 무작위이며 사람이 통제할 수 없습니다. 이를 강제하려면 전체 BEVM 체인의 합의를 완전히 변경해야 하며, 이는 의심할 여지없이 하드 포크와 같은 것입니다.
전반적으로 이 이벤트는 여러 가지 이유로 인해 발생합니다.
어떻게 하면 이런 일이 재발하지 않을까요?
일반 사용자의 경우 이런 문제가 다시 발생하지 않도록 하려면 어떻게 해야 하나요? 상호작용을 할 때 사용자는 다음을 수행하는 것이 좋습니다.
사용 중인 지갑이 비문 또는 비문 프로토콜을 지원하는지 확인합니다.
상호 작용할 프로토콜(예: 크로스체인 브리지)이 인스크립션 룬 프로토콜을 지원하는지 확인하세요.
프로토콜을 사용하기 전에 프로세스에 문제가 있는 사용자가 있는지 조사하세요.
여러 지갑을 사용해 여러 자산을 관리합니다.
또한 개발자는 개발 및 설계 시 코드 수준에서 발생할 수 있는 프로토콜 비호환성 문제를 해결하기 위해 충분히 고려하고 준비해야 한다는 점을 상기하세요. 그렇지 못하다면 라이브를 시작하기 전에 미리 조사하고 명확하게 알려 불필요한 질문과 문제를 피하세요.
요약
비문과 룬의 등장은 비트코인 생태계의 지속적인 탐구와 혁신에 있어 중요한 이정표이며, 이는 모두의 관심을 크게 끌어올렸습니다. 그러나 현재로서는 비문과 룬이 아직 비교적 초기 단계에 있으므로 참여하는 동안 관련 위험에 주의를 기울이고 실명하지 않기를 바랍니다.