[画像] 100万個のチェックボックスをテクニカルに使用して秘密のメッセージをやりとりしていたグループがある



100万個のチェックボックスを世界中のユーザーと同時にクリックし合えるサイト「One Million Checkboxes」の作者であるノーレン・ロイヤリティ氏が、One Million Checkboxesを使用して創造性あふれる遊びをしていた若者を見つけたとブログに投稿しました。

The secret inside One Million Checkboxes | eieio.games

https://eieio.games/essays/the-secret-in-one-million-checkboxes/

One Million Checkboxesはその名の通り100万個のチェックボックスが設置してあるだけのサイトで、誰かがチェックボックスのオン・オフを切り替えると即座にサイトを見ている全員に対して変更が反映されます。様子は下記の記事で確認できます。

リアルタイムで誰でも入力できる100万個ものチェックボックスを作成した猛者が登場 - GIGAZINE



チェックボックスのデータはチェックボックス1つにつき1bitで保存されており、1byteが8bitなので100万bitが125KBで保存されていました。データはRedisというデータベースに保存されており、base64エンコードしてクライアントに送信されていたとのこと。



ロイヤリティ氏は人々が交流できるゲームを作成するのが好きですが、何らかの嫌がらせが発生することを危惧していました。そのため、One Million Checkboxesではブラウザのウィンドウサイズに応じて1行に表示するチェックボックスの数を変更し、何かメッセージを書き込んでもまったく同じサイズのウィンドウでサイトを開いている人にしかメッセージが伝わらないようにしました。



One Million Checkboxesはロイヤリティ氏の予想以上に人気を集め、サイトを公開していた2週間の間にのべ50万人が6億 5千万回以上チェックボックスをクリックしたとのこと。

ロイヤリティ氏は負荷に対応するためバックエンドを書き換えるなどの対応をしていましたが、作業中にデータベースのチェックボックスの状態をファイルに出力した際に下記のようなURLを発見。ロイヤリティ氏が初めてこのURLに気付いたとき、「なんてことだ!ハッキングされてしまった」と思ったそうです。



しかし、ロイヤリティ氏がどれほど分析してもハッキングを受けた痕跡は見つからず、URL部分に対応するチェックボックスの部分を見てみると8個のチェックボックスを使用して文字が表現されていました。



ASCII文字コードでは、8bitで表現できる数字にさまざまな文字が割り当てられており、例えば「01101000」は「h」という文字を表します。ロイヤリティ氏は直接サーバーの内部をハッキングされたのではなく、誰かがチェックボックスを通してメッセージを伝えている事に気付いたとのこと。



メッセージ部分のチェックボックスは変更してもすぐに「誰か」によって元のメッセージの状態に修正されたそう。



メッセージのURLにアクセスすると、Discordの「Checking Boxes」というサーバーの招待リンクであることが判明。



ロイヤリティ氏が参加するとすでに10人以上のメンバーが参加しており、One Million Checkboxesの作者であることを伝えると熱烈に歓迎されたとのこと。



「Checking Boxes」のメンバーは100万個のチェックボックスを1000×1000のディスプレイとして扱い、さまざまな画像やDiscordサーバーへのQRコードやリンクを表示させていました。



メッセージを読み解いた人がどんどん「Checking Boxes」に参加し、最終的にメンバーは60人以上まで増加したそう。1000×1000ディスプレイとしての表示も、サーバーのレート制限アルゴリズムがリバースエンジニアリングされるにつれて高度化していき、下図のように巨大な画像を描けるようになりました。



ロイヤリティ氏がサイトを閉鎖する時、すべてのレート制限を解除するとDiscordにメッセージを送信。画像だけでなく短い動画を描画させたメンバーも出現したとのこと。



ロイヤリティ氏は今回の出来事について、「Discordがもたらしたものはとてもクールで驚きがあり、創造的でした。それを直接見てメンバーを励まし、怒りでなく称賛と誇りを持って対応できたことは私にとって非常に意味のあることでした」「このDiscordメンバーがプレイする価値があると判断したものを作成できたことを誇りに思います。メンバーたちがOne Million Checkboxesを使って行った事はもっと誇りに思います」とメンバーたちの創造性あふれる行為を称賛し、「彼らがこれから何を作るのか楽しみです」とブログを締めくくっています。