今まさに話題の中心にある仮想通貨の基本的な技術であるブロックチェーンを学ぼうと、大学のパソコンに仮想的な環境を作ってみた。もちろん参考書となる書籍はある(あえて書籍名は書かないが)。使用しているパソコンのOSはWindows 10である。その上に仮想化ソフトウエアのVirtualBoxをインストールし、その上にゲストOSのUbuntuをインストールする。そしていよいよビットコインの基盤ソフトであるBitcoin Coreをインストールしてテスト環境を作って実行。「おお、動いてる。マイニングも送金もできてる」。
気を良くして、次はイーサリアムに挑戦。こちらもUbuntuの上にgo-ethereumをインストールして、テスト環境を作って実行。「わあ、マイニングが目の前で行われているのが見えて楽しい」。ここまでは楽勝だった。真っ黒なコンソール画面にコマンドを打ち込んでいくのも数十年前に戻ったみたいで楽しかった。
さて、いよいよブロックチェーンの本質的な理解をすべく、イーサリアムの環境でのプログラミングに挑戦。教科書通りにやっていれば大丈夫だろうと思ったら残念ながら甘かった。例に挙げられた画面とは違うものになっているし、エラーメッセージの意味も不明である。メッセージをコピーしてGoogle検索し、英語で対策を論じているサイトに書かれていることを色々試したけれどうまくいかなかった。その後も懲りずにHyperledger Fabricというソフトウエアも試してみたがこちらもうまく動かなかった。この頃には、もう自分が何をしているのか分からない状態になっていた。
結局、インストールしているソフトはフリーソフトで頻繁にバージョンアップされていること、UbuntuもWindows 10も頻繁に更新されていることから、教科書でうまくいっていたことが必ずしもうまくいかないということが分かった。しかも、この書籍は2年前の発行である。これはできなくて当たり前だ。
ここで諦めてしまうのは残念だ。ということで、教科書を離れて、ネット上でのブロックチェーン試行に関する体験談を検索し、それを参考にして一からやってみることにした。一歩進むとエラーメッセージ、それをコピーして検索、英語で書かれた内容をすべて試してみる、ということを繰り返すうちに、先に進めるようになり、いつしか環境ができていた。
しかし、ふと気づいた。パズルを解くのが楽しくて作業しているだけではないのか。例えば、インストールしたプログラムの実行でエラーが出て、検索したら「このバージョンからはポート番号が変わってるよ」とあったのでプログラムを修正して実行したらうまくいったということがある。でも、このポート番号が何を意味して、それを変えるということがどういうことなのか分からない。学生には「問題の本質を捉えてから解決策を考えるように」と偉そうに指導しているのに、全く自分ではやっていないではないか。これではまずいと、うまくいったところから、できたものの構造と動きを理解することに努めてはいるのだが。
でも、エラーメッセージが消えたときの喜びは格別である。ついついのめりこんでしまう。
「わ、どうしよう。止まらなくなってしまった。学生が来てしまった。強制終了だ」。
自分の信念に従って行動する「高い志を持つ、市場価値の高い技術者」を育成します。
「市場価値の高い技術者の育成」を目指して、
コンサルティングと研修のサービスを提供します。
所長:石田厚子 技術士(情報工学部門)博士(工学)
コンサルティングと研修のサービスを提供します。
所長:石田厚子 技術士(情報工学部門)博士(工学)
トップページ > コラム
本質的な問題解決には程遠いのだが
2018.07.01