QR 코드를 스캔하여 다운로드하세요.
BTC $60,911.74 -2.28%
ETH $1,565.40 -7.02%
BNB $575.83 -1.62%
XRP $1.09 -2.63%
SOL $62.63 -5.03%
TRX $0.3200 -1.97%
DOGE $0.0804 -5.48%
ADA $0.1535 -6.56%
BCH $211.14 -9.85%
LINK $7.27 -4.53%
HYPE $59.42 -3.19%
AAVE $60.99 -9.58%
SUI $0.6893 -4.96%
XLM $0.1950 -0.61%
ZEC $369.58 -1.21%
BTC $60,911.74 -2.28%
ETH $1,565.40 -7.02%
BNB $575.83 -1.62%
XRP $1.09 -2.63%
SOL $62.63 -5.03%
TRX $0.3200 -1.97%
DOGE $0.0804 -5.48%
ADA $0.1535 -6.56%
BCH $211.14 -9.85%
LINK $7.27 -4.53%
HYPE $59.42 -3.19%
AAVE $60.99 -9.58%
SUI $0.6893 -4.96%
XLM $0.1950 -0.61%
ZEC $369.58 -1.21%

소스코드 해독: 화제가 된 이모부 코인이 정말 도망쳤나요?

Summary: 이모부 코인의 스마트 계약 소스 코드를 해석하고 블록체인 거래 기록을 결합하여 프로젝트 측의 블록체인 작업을 반증하고 본 사건의 원인을 분석합니다.
십사군
2022-07-31 19:15:01
수집
이모부 코인의 스마트 계약 소스 코드를 해석하고 블록체인 거래 기록을 결합하여 프로젝트 측의 블록체인 작업을 반증하고 본 사건의 원인을 분석합니다.

저자:십사군

개요

이모 삼촌 코인이 왔고, 이모 삼촌은 도망갔습니다. 오늘 당신은 이러한 뉴스로 화면이 가득 찼을 것이라고 믿습니다. 그가 정말로 도망간 것일까요?

결론적으로, 트위터의 보안 전문가가 올린 글과 수많은 미디어의 전파로 인해 생긴 이모 삼촌 코인은 사실 도망가지 않았으며, 31일에 자발적으로 프로젝트 관리자 권한을 포기했습니다.

소문을 반박하고 싶다면 증거가 필요합니다. 필자는 이모 삼촌 코인의 스마트 계약 소스 코드를 해석하고 블록체인 거래 기록을 결합하여 프로젝트 측의 블록체인 작업을 반증하며 이 사건의 원인을 분석하겠습니다.

먼저 말씀드리자면, 저는 프로젝트 측이 아니며 이모 삼촌 코인을 전혀 보유하고 있지 않습니다. 본문은 기술 연구 관점에서 해석한 것입니다. 배경

이번 뉴스 전파를 되짚어보면, 트위터의 한 보안 전문가가 글을 올리면서 시작되었고, 이후 수많은 미디어가 이를 전파했습니다. 초기 원문은 아래와 같습니다:

image

트위터에서, 부록 링크 참조

사실 소문을 전파하는 관점에서 보면, 이러한 글은 매우 사실적으로 보이며, 전문적인 수치가 놀랍고, Tornado Cash는 실제로 자금을 세탁하는 일반적인 경로이기도 합니다. 하지만 정말 그런 것일까요? 130만 달러의 손실은 어떻게 계산된 것일까요?

프로젝트 측도 응답이 있었습니다:

처음에 프로젝트 측은 에어드롭을 통해 트위터 팬들에게 보상을 주어 팬을 늘리려 했습니다.

image

트위터에서, 부록 링크 참조

이렇게 보니, 정말로 도망갈 것 같은 모습입니다.

분석

이 코인은 BSC 바이낸스 스마트 체인에 배포되었으며, 오픈 소스 검증이 이루어졌습니다. 여러 증거를 아래 주소에서 확인할 수 있습니다.

블록체인 탐색기 사용 방법은 이전 글을 참조하세요:

우리가 Etherscan을 볼 때, 도대체 무엇을 보고 있는가?

프로젝트 측 주소:

0x469de2c6357666c69156722e83136ad1919a70aa

이모 삼촌 코인 계약 주소 1

0x6e7ad49f67a9fa80d50f9659c3fc938296d68b58

이모 삼촌 코인 계약 주소 2

0xe67cff48da0156e7978bc5a9a44d516a48d2a1d6

필자는 7월 31일 오후 3시부터 본문을 작성하기 시작했으며, 수집된 이모 삼촌 코인 블록체인 거래는 총 1686건입니다.

초기 배포 작업의 초기화 단계에서, 프로젝트 측은 자신에게 1,000,000,000,000,000개의 이모 삼촌 코인을 발송했습니다.

이미지image

초기화 배포, bscscan에서, 부록 링크3 참조

그 배포 시 초기화 함수에는 상당한 변경이 있었으며, 대부분은 거래 풀과의 상호작용 방법과 관련이 있습니다. 그러나 자산을 생성하고 이전하는 핵심 부분은 아래 코드의 _mint 부분으로, 배포자가 누구인지에 따라 한 번에 민트됩니다.

설명: constructor는 계약의 초기화 함수로, 계약 배포 시 한 번만 호출되어 실행되며, 이후에는 실행할 수 없습니다.


모두 자신에게 주는 모습은 점점 더 Rug의 전조처럼 보이며, 다른 사람들이 소문을 퍼뜨리는 것도 무리가 아닙니다.

하지만 코인을 발행하는 것은 발행하는 것이며, 거래소의 거래 풀에서 다른 코인으로 교환할 수 있어야 도망갈 자금을 전환할 수 있습니다. 블록체인에서 코인을 발행하는 것은 어렵지 않으며, 5줄의 코드로 코인을 발행할 수 있습니다. 100억 개의 토큰을 발행하는 것은 물론, 최대 10의 78제곱에 해당하는 토큰을 자신에게 발행할 수도 있습니다. 이는 표준 ERC20의 잔액 저장 유형이 uint256이며, 최대값이 2**256입니다.

그렇다면 이 토큰은 직접 교환할 수 있을까요?

소스 코드는 총 3000줄로, 표준 ERC20 및 대부분의 일반적인 플러그인 등을 포함하고 있으며, 거래 풀과의 교환 코드를 내장하고 있습니다.

도망가려면 자금 상호작용이 있어야 합니다.

  • 다른 주소가 계약과 거래를 통해 자금을 유입해야 합니다.

  • 또는 프로젝트 측이 거래소 풀에서 교환해야 합니다.

필자는 이모 삼촌 코인의 모든 계약 거래를 읽어본 결과, value에 BNB가 포함된 거래는 단 한 건, 즉 0.126 BNB가 주입된 거래만 있었습니다.

image

bscscan에서 계약 거래 기록의 일괄 다운로드

비록 이모 삼촌 코인은 거래소에서 이미 많은 거래 이동 기록이 있었지만(8K건), 현재 이모 삼촌 코인을 보유한 주소는 1600개 이상에 달합니다.

하지만 도망갔는지 판단하려면, 프로젝트 측이 발행할 때 자신이 보유한 토큰 중 얼마나 많은 것이 풀을 통해 다른 토큰으로 전환되었는지를 봐야 합니다.

프로젝트 측이 자신에게 대규모로 발급한 토큰의 기록을 추적해보면, 배포 시 자신에게 발급한 1,000,000,000,000,000을 제외하고는, 위의 두 번째 줄의 이전 작업만 있습니다. 프로젝트 측은 자신의 990,000,000,000,000개의 토큰을 0 주소로 전송했습니다.

image

99%의 토큰을 소각, bscscan에서, 부록 링크4 참조

또한 프로젝트 측의 모든 거래를 계산해보면, 프로젝트 측이 pancakeSwapV2를 통해 이모 삼촌 코인으로 교환한 1.3 BNB만 전송된 것을 확인할 수 있습니다. 설명: 현재 BNB의 달러 가격은 271달러입니다.

정말 몇 백 달러를 위해 도망가겠습니까?

image이미지

bscscan에서 계약 거래 기록의 일괄 다운로드

그렇다면 왜 130만 달러라는 말이 나왔을까요?

추측해보건대, 아마 이 보안 전문가는 전송된 것이 1.3B 달러라고 생각했을까요? 그리고 너무 터무니없어서 이 "B"가 billion(십억)이 아니라 million(백만)이라고 생각했을까요?

물론, 현재 거래 풀의 총량에서 토큰이 차지하는 비율은 0.55%로 맞습니다. 왜냐하면 프로젝트 측이 99%의 토큰을 소각했기 때문입니다. 그리고 그의 소각은 totalSupply를 수정하지 않았습니다(이는 확실히 그래서는 안 되며, 그의 소각은 표준 Burn 방법을 호출하지 않았기 때문입니다).

지금까지의 상황을 보면, 확실히 프로젝트 측은 악의적으로 많은 이익을 취하지 않았다고 말할 수 있습니다.

또한 프로젝트 측은 소문을 퍼뜨린 측에 반문했지만, 응답을 받지 못했습니다.

image이미지

트위터에서, 부록 링크 참조

관리 권한 포기

31일 오후, 프로젝트 측은 유언비어가 난무하는 가운데 결정적인 조치를 취했습니다. 즉, 프로젝트 측의 관리자 권한을 포기한 것입니다.

image

위의 그림에서 볼 수 있듯이, 프로젝트 측 주소의 마지막 두 거래 작업은 이모 삼촌 코인의 두 계약 주소에 대해 소유권을 0으로 설정하는 작업이었습니다.

이렇게 정말로 원숭이 NFT처럼 새로운 민트 권한을 포기할 수 있을까요?

확실히 가능합니다.

소유권 포기는 renounceOwnership 방법을 실행하며, _owner를 0 주소로 설정합니다. 이렇게 되면 전체 계약에서 onlyOwner로 수정된 방법은 모두 호출할 수 없게 됩니다. image

사용할 수 없는 함수는 대략 20개이며, 관리자 권한을 제거하는 가장 중요한 것은 새로운 토큰을 민트하는 방법을 제거하는 것입니다. 전체 3000줄의 코드 중에서 _setBalance만이 민트 권한을 호출하는데, 비록 onlyOwner 기호로 수정되지 않았지만, 이는 internal 방법이기 때문에 외부에서 호출할 수 없으며, 계약 내에서 이미 정의된 방법만 호출할 수 있습니다.

image

해당 함수는 다음과 같이 두 개가 있으며, 명백히 onlyOwner로 수정되어 있으므로 이후에는 사용할 수 없게 됩니다.

![image](/upload/image/20220731/1659265908806147.jpg)

저는 또한 잔액을 저장하는 _balances 변수가 다른 이름으로 우회할 수 있는 백도어를 남겨두었는지 분석했지만, 그런 것은 발견되지 않았습니다. 다른 백도어가 있는지는 고급 계약 감사 전문가들의 손에 달려 있습니다.

결론

프로젝트 측은 확실히 도망가지 않았습니다. 아마도 소문을 퍼뜨린 사람의 악의적이었거나, 그의 편집자가 하락을 보고 프로젝트 측이 1.3BNB를 전송한 것을 1.3Million으로 착각했을 것입니다.

하지만 블록체인 거래 기록은 거짓말을 하지 않으며, 계약 코드도 거짓말을 하지 않습니다. 코드에 정의된 대로 변하지 않을 것입니다.

인용:

보안 전문가 발표:

https://twitter.com/WhoCares_News/status/1552659993530609665

프로젝트 측 응답:

https://twitter.com/SecondUncle_Dao/status/1553621587697381376

이모 삼촌 코인 계약 배포 거래:

https://bscscan.com/tx/0xe51cf68ec605bbbce8f2784109faff98be9272824db8ebf5ad426fcfa1bca395

프로젝트 측이 얻은 1.3BNB:

https://bscscan.com/tx/0x5c22ce9f185ad0907c08b60a9d36add51deed9b2b629527c48190bba0b2a5cdb

프로젝트 측이 전송한 1.3BNB:

https://bscscan.com/tx/0xc3adb38d93c4b11b47f70a8af498dc114582392da80be8c6e7ee6783bd69b637

warnning 위험 경고
app_icon
ChainCatcher Building the Web3 world with innovations.