요약
2023-11-21 많은 주목을 받고 있는 Atomics Market 거래 플랫폼에서 0위안 구매 사건이 발생하여 최근 Atomics Protocol과 해당 거래 플랫폼 Atomics Market이 문제에 빠졌습니다. ARC-20 토큰에 관한 일련의 질문은 광범위한 토론과 질문을 촉발시켰습니다.
Atomicals Protocol & Atomicals Market
Atomics Market은 ARC-20 거래에 Atomics Protocol을 사용하는 ARC-20 거래 시장입니다. (Atomics Market과 Atomics Protocls는 동일한 회사가 아닙니다.)
아토믹스 마켓은 21일 아토미컬스 프로토콜 기반 거래 과정에서 PBST 결함을 발견해 아토믹스 토큰 거래 시 사용자에게 손실을 입혔다는 내용의 문서를 발행했다.
이와 함께 아토믹스 프로토콜은 지난 24일 아토믹스마켓의 발언에 반박하는 글을 게재하며 문제의 원인은 아토믹스마켓이 SIGHASH_NONE을 사용해 거래에 서명하는 데 부주의해 사용자를 위험에 빠뜨린 데 있다고 지적했다. Atomics Protocol은 Atomics Market이 서명에 SIGHASH_NONE을 사용해서는 안 된다고 명시하고 경고했습니다. (Atomics 거래 플랫폼이기도 한 SatsX도 비슷한 상황이 아닌 것 같다는 점은 주목할 만합니다.)
분석 결과, 0위안 구매의 근본 원인은 Atomics Market이 PSBT에서 SIGHASH_NONE(TX:1623bf2997cde779dd9e0e2c54b5f7f196f36826dcb689e41acd7fff27ec5c93)을 잘못 사용했기 때문인 것으로 밝혀졌습니다.
예비 지식
그 이유를 더 자세히 분석하기 전에 몇 가지 사전 지식을 이해해야 하는데, 이는 BTC가 이더리움과 같은 계정 모델을 사용하지 않기 때문입니다.
UTXO
비트코인 미사용 거래 출력(UTXO)은 비트코인 소유권의 특정 부분을 나타냅니다. 계정과 잔액을 활용하는 기존 시스템과 달리 비트코인은 이러한 개별 비트코인 세그먼트를 통해 운영됩니다. 각 UTXO는 특정 값으로 정의되며 거래에서 전송되는 비트코인의 다른 부분을 나타냅니다.
거래 과정에서 UTXO는 소비되어 더 이상 존재하지 않습니다. 따라서 이 작업은 하나 이상의 새로운 UTXO를 생성합니다. UTXO 세트라고 하는 이러한 UTXO 모음은 모든 네트워크 노드에서 유지 관리되고 업데이트됩니다. 이는 새로운 블록이 UTXO를 생성하고 파괴하는 트랜잭션을 처리할 때마다 발생합니다. UTXO 세트는 노드가 거래의 적법성과 그들이 사용하려는 비트코인을 독립적으로 확인할 수 있도록 하는 데 핵심적인 역할을 합니다.
PSBT
부분적으로 서명된 비트코인 거래(PSBT)는 서명되지 않은 거래 전송의 용이성을 높여 여러 참가자가 단일 거래에 동시에 서명할 수 있도록 설계된 비트코인 생태계의 프로토콜입니다.
PSBT(부분 서명된 비트코인 거래)는 다양한 시나리오에서 유틸리티를 제공합니다. 세 사람이 참여하는 CoinJoin 트랜잭션을 만드는 것을 고려해 보세요. 이 과정에서 세 명의 참가자는 각각 중앙 조정자에게 메시지를 보냅니다. 메시지에는 CoinJoin에 포함하려는 UTXO(미사용 거래 출력)에 대한 세부 정보가 포함되어 있습니다. 또한 각 참가자는 CoinJoin 거래가 완료된 후 비트코인 지분을 반환해야 하는 주소를 지정합니다.
뭐가 문제 야?
Atomics Protocol은 안전한 PBST 교환 단계에서 판매자가 ARC 20 Atomic이 포함된 2차 입력에 서명하고 결제 금액의 2차 출력을 받는다고 언급합니다.
판매자가 SIGHASH_SINGLE - ANYONECANPAY로 서명해야 하면 구매자는 자금을 받기 위한 입력을 추가하고 ARC 20 토큰 구매를 위한 수신 주소를 추가할 수 있습니다.
그러면 Atomics Market은 swap에서 SIGHASH_SINGLE을 사용하지 않고 SIGHASH_NONE을 사용합니다.
NONE과 SINGLE의 차이점을 살펴보면 다음과 같습니다.
Atomics Market은 NONE을 사용하기 때문에 하나의 입력만 서명됩니다. 이는 판매된 토큰 수만 확인된다는 의미입니다. 출력에 서명하지 못했다는 것은 수신된 토큰이 확인되지 않았음을 의미합니다. 결과적으로 악의적인 사용자는 토큰을 지불하지 않고도 사용자의 토큰을 0위안으로 구입할 수 있습니다.
자산 손실
33, 000 $ATOM
후속 조치
Atomics Market은 사용자의 손실에 대해 보상을 약속합니다.
보안 조언
프로젝트 당사자는 자신이 사용하는 프로토콜에 대해 심층적인 연구를 수행해야 하며 제품은 충분한 테스트와 감사를 거쳐야 하며 프로토콜 자체와 보안 기관의 권장 사항에 주의를 기울여야 합니다.
MetaTrust Labs 소개
MetaTrust Labs는 싱가포르 난양기술대학교에서 인큐베이팅한 Web3 인공 지능 보안 도구 및 코드 감사 서비스를 제공하는 선도적인 업체입니다. 우리는 개발자와 프로젝트 이해관계자가 Web3 애플리케이션과 스마트 계약을 보호할 수 있도록 지원하는 고급 AI 솔루션을 제공합니다. 당사의 포괄적인 서비스에는 AI 보안 스캐닝, 코드 감사, 스마트 계약 모니터링 및 거래 모니터링이 포함됩니다. AI를 통합함으로써 안전한 생태계를 보장하고 사용자와 개발자 간의 신뢰를 강화합니다.
Website: https://metatrust.io/
Twitter: https://twitter.com/MetatrustLabs


