TwitDaoはスキャム!?TDT上場戦で起こったこと

5000e12 | kanta
CryptoKudasaiJP
Published in
Jan 17, 2023

こんにちわ、5000兆円欲しい5000e12です。

今回はTwitDaoというTwitFiの二番煎じのトークン上場戦で起こったことを記載していきます。

上場戦前の基本情報

事前にコントラクトアドレスは公開されてる状態で、Pancakeで上場するということもアナウンスされていました。

事前に上場時刻やコントラクトアドレス、LPサイズまで丁寧ですね☺

コントラクトアドレスが公開されているので、とりあえずコードを見に行きます。AMAZYのようなブラックリスト機能が搭載されていれば、即購入して幽閉されてしまうなど、リスクが高くなってしまいます。

今回のコントラクトはソースコードが公開されていない状態でした。

https://bscscan.com/address/0xb1a2adfcff33c286d2c068bdaf7e4a435db2d6c7#code

16進数のバイト配列しかわからない

どんな処理が入っているのか雰囲気理解するために「Decompile ByteCode」でデコンパイルします。

transfer周りは以下のような処理になっていました。

プログラミングできる人なら雰囲気理解できるコードにデコンパイルしてくれます

細かい説明は省略しますが、以下の仕様になっていることが雰囲気理解できました。

  • 特定の時刻以降しか転送ができない(=売買ができない)
  • 特定のアドレスは上記の転送制限を回避することが可能

この段階では、売買が発生する前に運営がミントしたり、LP追加したりするための機能なんだろうなーと思っていました。

実際に告知通りの1/17 12:00:00から転送できるように設定され、トークンをミントできる運営だけ転送可能な状態に設定されました。

63c60f30は1673924400で2023/01/17 12:00:00

その後、LP追加LPロックを行ったため、上場後すぐにLPを抜いてラグるという選択肢が消えました。もちろん、トークンは運営が無限に発行できるので、トークンを無限発行して売るというラグリスクは残っていました。

以上が上場前日までに準備していたことで、一部ラグリスクは残っているが、そこそこはいけるんちゃうか!?という感じでワクワクしながら寝ました。

上場当日

前日までに調べてた通り、1/17 12:00:00(ブロックタイムスタンプ)に予算分を購入するtxを発行するだけです。

・・・が何故か購入できませんでした。

0.004が上場価格なので数倍取れたのかな・・・と思っていました。この時は・・・

買えている人も居たので、自分のミスかぁ・・・と思っていました。

しかし、違和感が少しありました。

  • 初動が想定しているブロックより2ブロック遅い
  • 初動で買えている人が全然ガス盛っていない

自分の知らないブロックチェーンの仕様でもあるのかなぁ・・・と思いましたが、念のため条件などを確認し直しました。

デコンパイル結果も読み直しましたが、以下の通り変わりありませんでした。

特定の時刻以降しか転送ができない(=売買ができない)

特定のアドレスは上記の転送制限を回避することが可能

念のため、ストレージ領域も見ておくか・・・と

ストレージ領域を見るツール(非公開)

連番が振ってある8が転送開始時刻が格納されている場所です。 0x0000000000000000000000000000000000000000000000000000000063c60f4e

これを変換し、時刻にすると

https://tool.konisimple.net/date/unixtime?q=1673924430

は?30秒ずれてる????????

前日に確認したときは12:00:00だったはず・・・あれ・・・これもまた自分の知らないブロックチェーンの仕組みがあるのか・・・???

そんな悩みをみかん🍊先生に聞きながら調べて行きました。

setTimestampを呼んでいるtxがない

直前に開始時刻を変更したのか!?と思ってトランザクションを見ますが、そのようなトランザクションは発行されていませんでした。

トランザクションを発行せずにストレージ領域を変更できる魔法がブロックチェーンにはあるのか!?とか思ってました。

そもそも開始時刻が30秒も遅れてない

2ブロックの遅れ(約6秒)はありましたが、購入txは飛んでいました。設定されている時刻が30秒ずれているのは謎でしたが、購入はできている人はいたのです。

設定されてある時刻がおかしいのか???ブロックチェーンがおかしいのか???自分がおかしいのか???

何がおかしいのかよくわからなくなっていました。

上場直後のtxを眺め直してみると・・・

もう一度上場直後の購入txを眺めていました。

そこまできれいに揃っていないですが、購入費用がみんな4桁で端数がありませんでした。

アドレスはバラバラ、購入金額は4桁ドル

一番始めに買ってるtxをもう一度よく見てみるとガス盛っていないだけでなく、amountOutMin(最低限これだけくださいという数値)が0でした。amountOutMinまわりの説明は以下の週間RUGも見てみてください!

この「どうぞサンドイッチしてください!」と言っているようなものなのに、サンドイッチされていないのはなぜ・・・?また何か自分の知らないブロックチェーンの魔法(ツール)を使っているのかな・・・とか思っていましたが、ここで一つ嫌な予感がしました。

特定のアドレスだけがいつでも購入できる状態にしていたのではないか

この状態であれば、12:00:30以前に購入しているtxがあることも理解できる。でもこの設定ができるのは運営のみ・・・

つまり上場戦で購入しようとしていた自分達は、先に購入できる運営にはめ込まれたのではないか・・・?という疑惑

まだこの段階ではもしかして? だったので、実際にストレージ領域にそのアカウントが登録されているのかを調べていく。

いつでも転送ができるアカウントが設定されているか

ストレージ領域に書き込まれている情報を取るのは簡単ですが、どこにその情報が書き込まれているのかを特定するのが一癖あったので苦労しましたが、以下のやり方でできました。

そして、実際に初動で購入しているアドレスについて調べると・・・

一番下が1になっていれば、いつでも購入できるアドレス

BINGOOOOOOOOOOO!!!!

他のアドレスについてもいくつか調べてみましたが、12:00:30以前に購入しているアドレスは全ていつでも転送できる状態になっていました。

どうやって開始時刻といつでも転送できるアカウントを設定していたのか

ここはみかん🍊先生が見つけてくれました。

https://bscscan.com/vmtrace?txhash=0x197783a0c2e9d03cbdc707d7736735c9108e3550cf6de4dc6ddf763f200d8c3a&type=gethtrace2

以下のように多段に関数を実行し、scan上で簡単に追えないような状況を作っていました。

  1. 0x8b7cf3d02061c6d5b5028e668e6ba41e5aecd2b2 (tx発行者)
  2. 0x226fcccba5b81179d1b2ec353da3cd175e13c9e2(アドレス格納用コントラクト)
  3. 0xb27cc36bfbcec58710f4fc63cd6ad22d86ae5132(実行コントラクト)
  4. 0x6609f208c401a28e7413920ffd26ea4f8fb752cd($TDTのowner)
  5. 0xb1a2adfcff33c286d2c068bdaf7e4a435db2d6c7($TDT)

$TDTのownerが謎コントラクトに変更していたことは気付いていたので、その謎コントラクトのストレージ領域を見てアドレスっぽいものがあったので、遡って・・・ということを繰り返し、このtxが見つかったということです。

こういうものはすべてinternal txとしてscanに表示されていると思っていましたが、BNBの移動がないとscan上には出て来ないらしいです。一つ賢くなりました。

まとめ

  • $TDTの上場は(バレないように)1/17 12:00:30に変更されていた。
  • 12:00:30までの購入は運営が(バレないように)設定したアドレスのみ。

以上より、TwitDao運営はバレないように告知と違うことを行っていたようですね!

今回はちょっと自分の知識力に自信がない中調べながらの出来事だったのですが、ある程度確度の高い情報はどんどん CryptoKudasaiJPに投稿するので、ぜひみなさんも参加してみてください!

リアルタイムの暗号資産・クリプト情報はコチラから

https://link3.to/kudasaijp

--

--