「ハードウェアハッカー」(拙訳、山形浩生監訳、2018年技術評論社刊)の著者で、Chunbyほかいくつものオープンソースハードウェアを手掛けているMITメディアラボのアンドリュー“バニー”ファンは、「信頼できて、毎日使えるハードウェア」として「Precursor」というプロジェクトを始めた。クラウドファンディングサイトのCrowdsupplyでは22万ドル(約2400万円)の目標に対して、40万ドル(約4300万円)を超える支持を集めている。
オンラインで行われた東南アジア最大のオープンソースイベントFOSSASIAで3月14日、バニーが語った情報をもとに、Precursorについて紹介する。スライドの全文もダウンロードできる。
Precursorは携帯電話のような見た目だがSIMカードは入らず、電話機能はない。外部とのインターフェースも最小限で、USBとWi-Fiがあるだけだ。スクリーンも白黒の液晶で、CPUはWebブラウザを動かすのも難しい非力な性能 (「XC7S50」わずか100MHz)しかない。バニー自ら「BlackBerry 6210」「ニンテンドーDS」「Palm Treo 600」といった2002~2005年頃のハードウェアとの比較表を載せ、「だいたい同じ」と説明している。
「ほぼ15年前の性能しかないハードウェアをなぜいま改めて作るのか? それは、“本当に信頼できるハードウェア”のためだ」とバニーは語る。
「ファーウェイのスパイチップ疑惑など、ハードウェアのセキュリティに疑問が持たれている。いままでどのエンジニアも、スパイチップそのものを発見して公表した人はいないけど、それは“この世にない”という証明にならない。ハードウェアはソフトウェアと違い、一つ一つの個体が違うから、どこにもないことの証明は、どこかにあることの証明よりずっと難しい。ならば、完全に証明・検証できるハードウェアで、パスワードマネージャーや仮想通貨のウォレットなどを作ろうと思った」
とバニーはPrecursorの設計思想を説明する。その結果実現したハードウェア仕様は、平凡な性能からは思いもよらないとがったものだ。
CPUは論理回路をプログラムで構成できるFPGA、XilinxのXC7S50を採用し、FPGA上にプログラムでRISC-VのCPUを構築する。このソースコードは公開されていて検証可能だ。CPUの構造を可視化しただけでなく、Precursorはシステム全体をユーザーが検証できるように設計されている。
「僕がチップ部品を作ったのでなくて、端末そのものを作ったのは、情報は部品と部品の間で受け渡されるから、そこを検証可能にするためだ」とバニーは語る。その検証可能性は、PCB(プリント基板)だけでなくディスプレイやキーボード、全てのパーツに及ぶ。
キーロガーと呼ばれるようなプログラムがキーボード入力を盗んでパスワード等を盗まれる事例はある。ソフトウェアで実施されることもあるが、ハードウェア側にチップを仕込む場合もある。そこでPrecursorはチップを使わないキーボードをこのために専用設計し、組み込んである。これによりキー入力について検証可能なハードウェアとなる。
キー入力が検証可能なように、画面出力も検証可能にしてある。Precursorは解像度336×536のモノクロディスプレイを採用している。15年前のPalmやゲーム機でもカラー液晶が当たり前だったのに、ニンテンドーDSなどに比べると高解像度とはいえ、今の時代にモノクロディスプレイを採用したのは、こちらも検証可能性のためだ。
画面の描画のためには、画面の側にもLCDコントローラーのようなマイコンチップを備え、チップ上のフレームバッファに画面に表示されるデータを蓄積し、一気に書き換える。そのマイコンチップが情報を改変する可能性はゼロではない。そこでPrecursorはLCDコントローラーやフレームバッファを持たず、FPGA上にオープンソースで組み上げた、CPUから直接駆動するモノクロディスプレイを採用した。出荷時の状態では白黒2値だけで表示するようになっているので、ユーザーが自分でソースコードを変更しない限り、透明なボタンやテキストが画面に表示される詐欺から無縁になる。
PCBもシンプルな2層基板を採用し、こちらも表と裏ですべての回路と、部品同士を接続する配線が見えるようになっている。このように、システム全体を通して、ユーザーがすべてのハードウェアとソフトウェアを検証できるようにするのが、Precursorの設計思想だ。
「セキュリティを必要とし、セキュリティホールとなりうるのは人間なのだから、セキュリティにとっての最後の課題は、(多くのユーザーに使ってもらえるような)ちゃんとしたユーザビリティを備えることだ。」と語るバニーは、ユーザーが日常的に(使おうと思えば)使えることまで視野に入れてPrecursorをデザインしている。
Hackable:仕様が公開され、Hackを推奨されているライセンスのハードウェアにはArduinoやRaspberry Piなどがある。Evidence-Based Trust:FPGAをCPUに採用し、さらに厳密な検証が可能な開発ボードも、「Fomu」などがある。Pocket-Ready:バッテリーやスクリーンを備えて単体動作するものにはスマートフォンがある。
その3つの要素の重なるところにある、これまでにないハードウェアとしてPrecursorは設計されている。
バニーはPrecursorを「検証可能な(Verifiable)ハードウェアのケーススタディ」と語る。その実験のターゲットには、こうした製品コンセプトも実験の対象といえる。
バニーはハードウェアハッカー界の巨人だ。MITで学んだ学生時代のXboxハックと書籍出版、スタートアップとしてのChumbyハードウェアの設計、その量産過程で「スタートアップとして、中国でのハードウェア量産」に取り組んで成功させたこと。そしてその後自分のデザインスタジオSutajio Ko-Usagi(ロゴには日本語でスタジオ小兔とある)を立ち上げ、すべてオープンソースのラップトップNovena、中国の山寨コピー携帯を西洋のオープンソースライセンスの元で再構成しようと試みたプロジェクトfernvale、デジタルミレニアム著作権法をハックしてテレビ放送にTwitterなどを重ねて表示するためのハードウェアNeTV——相棒のファームウェアエンジニアXobsと一緒に取り組んだこれらのプロジェクトは、「オープンハードウェアが社会に対して何を可能にするのか」を一つ一つ広げてきた。また、MITメディアラボの研究者として、研究プロジェクトを深圳で量産につなげる「Research at the Scale」を主導し、サンフランシスコに本拠を置くハードウェアアクセラレーターHAXのメンターとしてサポートしているハードウェアスタートアップは数え切れない。
Precursorは、オープンハードウェアを作ることで社会に対して問う、これまでのバニーのキャリアが集大成されていると感じる。完全にオープンソースでハッカブルなハードウェアという考え方はChunbyやNovenaと、世の中で見落としているコンピューターの課題に解決策を提示するという点はNeTVやfernvaleと共通するものだ。
現在Precursorはクラウドファンディングでは目標190%に当たる41万8559ドルを集めているが、台数でいうと508台にすぎない。ほぼPDAと呼べるような複雑なハードウェアを、チップやあらゆる部品、筐体、中のOS、そして量産設計までコントロールしてごく少数の量産を1年かからずに成功させるのは神業と言えるだろう。