見出し画像

夏休みだったので東京にこもってブロックチェーンの武者修行してみた。

どうもみなさんおはこんばんちは。あけまつです。
note書くのもだいぶ久しぶりっすね。このnoteはまじで気が向いたときだけ更新すればいいやという感じでやっているので個人的には全然OKなんですが、意外と見られるのってこれまたnoteなんですよね。のんびりとお付き合いくださいませ。

夏休み。

最近はもっぱら学校業務に勤しませていただく日々なので、業務にも「夏休み期間」があります。学校の正規職員であれば夏休み中も出勤となるのでしょうが、僕は外部のひとなので、授業がないときはふつーに1日休みになったりします。

なので、どうやら7月下旬くらいから8月下旬くらいまでだいたい1か月、学校が夏休みで授業がなくなる関係で、かなり使える時間ができるだろうなぁということが結構前々からわかっていました。さて、この期間をどう使うか?というところで、大体以下のような案をぼんやり考えていました。

① 海外でも行くか。タイとか、台湾とか、マレーシアとか。
② 釧路でなにもせずにスローライフを満喫するか。
東京あたりにこもり「武者修行」と称してめっちゃ勉強してみるか。

特にどれでもいいや〜と思っていたのですが、①は夏休み中にもちょいちょい学校の仕事が入るんだったので却下。②は確実に3日で飽きることが予想されたので却下。じゃあ③かなぁということで、夏休み初日に東京入りし、学校の仕事がある日以外はひたすらに勉強をするという「武者修行」を決行することを勝手に自分の頭の中で決めました。勉強する内容は、ちょっと前から手を付けていたけどなかなか進められていなかったブロックチェーン技術、あと、余力のある時間でDX人材教育についても情報収集しようとすぐに決めました。

なぜ東京なのか

「別に釧路でやったらいいじゃん」というお声も飛んできそうなので「なぜ東京なのか」を説明しておきますと、明らかにIT系の情報の量は東京が段違いで質・量ともに1位だろうなと思ったからです。実際に夏休みを終えて振り返っている今だから言えますが、まぁ確かにそうだったなという感じがしています。

滞在先は「小岩」にした。

さて、じゃあ東京のどこに滞在しようかねと迷った結果、いろいろと候補はありましたが、安価で滞在できて、しかも下町の雰囲気があって、平和で愉快な、落ち着く街がよいですねということで、小岩にしました。直通で東京にも新宿にも秋葉原にも行けるし。

小岩駅。すっかり小岩は故郷の1つになりましたわ。

てなわけで修行開始。

そんなこんなで、7月26日くらいに東京入り。さっそく小岩に来ることになるかと思いきや、その日はWebXというWeb3.0のカンファレンスが有楽町(東京国際フォーラム)であったので、小岩の前にそれに参加。

WebX入場のときの様子。

この修行の「ルール」は、以下のように決めました。
・読む本を1冊決め、それをひたすらに読む。
・イベントごとは積極的に参加して情報収集する。
・色んな人と繋がりを作る。

読む本については、前から進めよう進めようと思っていたけどなかなか進められていなかった、『プログラミング・ビットコイン―ゼロからビットコインをプログラムする方法』(Jimmy Song)に決定。できればこれを読み終えられればいいなぁという希望的観測を持っていましたが、まだ読み終わってません。

WebXはいろいろと刺激があったのと、あと、俗にWeb3.0といわれる界隈がいまだいろんなことを手探りでやっているのだなぁという実感を見た気がします。ポテンシャルがあるのはわかってるんだけど、それをどう表面化していくかっていうところでみんなもがいてる感じ。

いろいろな講演や展示を見て回って勉強になりましたが、たまたま同じ会場でお会いできたYenpointの代表の佐藤さんからお聞きしたさまざまなお話が一番すごい勉強と刺激になったのは間違いない。(佐藤さんありがとうございました)

『プログラミング・ビットコイン』

てなわけで、いよいよ本格的に教科書を読みまくる日々がWebX直後から始まりました。その記録はX上に「#東京ブロックチェーン合宿」というハッシュタグで書き残していくと決めたのですが、後半ちょっと失速してしまったので、後半の記録は残せませんでした。

この教科書『プログラミング・ビットコイン』は「ゼロからスクラッチでビットコインのブロックチェーンの仕組みをPythonで再現してみよう」というなかなかの強烈なコンセプトの本なので、正直読むのめちゃくちゃしんどかった(というか今もしんどい)ですが、血肉になってる感じというか、スパルタに育ててもらってる感じがすごくあって充実感のほうが強かったです。

学べたトピック

結果として、以下の内容について修行中に学ぶことができました。

  • デジタル署名の意味と手法(楕円曲線署名アルゴリズム/ECDSA)

  • シリアライズ(SECフォーマット、DER署名、WIF、などなど…)

  • ScriptPubKey、ScriptSigの仕組み

  • Script(スタックベースの言語、オプコード、p2pk、p2pkhなど)

  • スマートコントラクトとは何かの概要

  • トランザクションの検証(特に、トランザクションのハッシュ化がややこしいという話)

かなりざっくりとまとめているので少なく見えますが、そのぶん細かく学んでいくわけなので相当な分量勉強した気がします。

書いたノートとソースコード

自分はノートを書きながら勉強する人間なのですが、ノートは結果として100ページ以上作りました。

Goodnotesで書いてます。こんなに本気でノート書きまくったの学生時代以来だなって思いながら書いてました。

さらに、『プログラミング・ビットコイン』の性質上、「すべてをゼロからコーディング」することになるので、プログラムも同時並行で書かなければなりません。しかもライブラリを使わない(自作する)ので、これがとにかく泥臭すぎて死にそうになりました。自分のプログラミング力の乏しさをまざまざと見せつけられ続ける感じでした。

すべてをゼロからPythonで書く。こんな感じの画面と1日中にらめっこでした。プログラミングが一番しんどかったなぁ。(というか今もしんどい)

おそらくこんなにプログラム書くの生まれて初めてだわってくらい書きました。

ChatGPTに相当助けられた

あとね、ChatGPTには相当助けられましたよ。
僕は課金してGPT4をつかっていますが、わりとマニアックな細かい話でも、まぁーどこでそんな知識仕入れてきたのよってくらい答えてくれます。めちゃくちゃ質問して、めちゃくちゃ考えて、そして解決っていうパターンはすんごく多かったです。

こういうこと書くと、「ChatGPTは情報の信頼性が〜」とか言う人が出てきそうですが、そこも含めて検証するのが勉強なのでご心配なさらず。

スーパーしんどい勉強でしたが、結果として充実感と面白さが圧勝だったなと思います。何やってても、
・最初わからなすぎてしんどい
・めちゃくちゃ調べたりChatGPTにきいたりして悩みまくる
・わかった瞬間泣きそうになるくらい感動する(ウォ〜〜おもしれ〜〜!!!!!!!!!!)
の繰り返しでした。

特に面白いなと思ったのはScript

特に面白いなぁと思ったのはやっぱScriptです。これ、今流行りのスマートコントラクトにそのまま繋がってるんですよね。修行の前は偉い人が「スマートコントラクトをイーサリアムで〜」とか言っているのをよくわからずに聞いていたのですが、今はその意味がなんとなく分かるようになりました。(まだイーサリアムのことちゃんとは勉強できてないけど、要はSolidityがチューリング完全だから、アンロックの条件にいろいろ凝れるよねみたいな話だろうなー、みたいな感じ)

なんというか、全体的に「知識の解像度」が上がった気がします。今まではふわっとしか語れなかったものが、今はわりと細かい部分まで聞かれても、ひとつひとつ説明や解説ができるくらいにはなったなというか。

もちろん、ブロックチェーンはこんな1ヶ月くらいでマスターできるもんじゃないので、僕の勉強はまだまだ続くわけですが、それでも修行をやる前と後じゃ、だいぶ変わったなぁと実感してます。

【結論】武者修行、やってよかったです。

てなわけで結論。武者修行はとてもやってよかったと思っています。

イベントも、WebXの他に
・DX EXPO
・DX人材育成関係のイベント2つほど
・経営者交流会
などなど、わりと積極参加させてもらいました。やっぱ、イベント行くってのはとても大事です。先端をリアルに感じられるのと、温度感を肌で受けられるのが刺激としても大きい。

いろいろと途中で想定外もありました。一番堪えたのは、仲が良い友人(修行中に何度か飲みに行こうねと言ってくれていた)が急死したときかな。未だに引きずってる感じがあります。が、あんまり落ち込んでいたら彼から怒られそうなので、彼が愛していた「寿司」を喰らいながら頑張ると決めました。パイセン見ててくださいね。

彼の分まで寿司を食おうということで。すっかり僕もハマってしまった。

技術の面白さ、そして学びの幸せに気づかせてくれた日々

「夏休みなんだからもっとリラックスして遊べばいいじゃん〜」なんて知り合いから言われたりもしましたが、結果としてそれ以上の収穫、充実感を得ることができたと思います。

自分は教育系の人間なので、どうしても気を抜けば「アウトプットばかり」の日々になりがちなんですよ。そうすると、あとは枯れるだけなんですよね。知っていることを何度も喋るだけの壊れたお人形になってしまう。だからより一層意識的にインプットをしなきゃということでこの修行を始めましたが、すごくすごくいいアイデアだったと思います。

そして、同時に「まぁ〜物事は計画通りには進まない」ということも実感しました。結局教科書は全然読み終わらなかったし、後半は正直失速しました。さっき書いた友人の訃報だったりとか、出張とかが後半重なりまくってねぇ…まぁ、そんなもんだろうなと。それでも随分進みやしたじゃないかと前向きに捉えることにします。

「そんなの意味ない」みたいなこと言われるのは辛かった

あ〜、1つ辛かったことを書いておくと。人と喋ったときに「ブロックチェーンの勉強してる」というと、「そんなの流行らないから意味ないですよ」とか「浸透しないから勉強しても無駄ですよ」とか、そういうこと言われることがやたらと多かったです。大体、そんなに深く知らない人ほどこういうこと言うイメージがありました。

別に流行りに乗って儲けてやろうと思って勉強してるわけでもないし、なにより、なんで流行らないって断言できるんだろーね。最先端で活躍してる人ですら手探りなのにね。なんていうか、こういう勉強してるときって、あんまり人に言わないほうが身を守れるのかもしれないって思ったのはちょっと悲しかったことです。学んでる人にそういうこと平気でいうのはよくないと思います。底の浅さが知れますよ。

ブロックチェーンに携わり続けられたらいいな

ちょっとネガティブな話もしましたが、結論として今思っていることは、もちろん勉強もそうなんですが、ブロックチェーンという技術にいつかは仕事して携わって、そしてそれを続けていけたらいいなぁということです。これはマジ。ブロックチェーンの開発の仕事も、教育の仕事もやってみたい。そのくらい、ブロックチェーンという技術に大きな可能性を感じたし、面白さを感じてます。

ブロックチェーンって、いろーーーーーーーーーんな技術のキメラみたいな、マジでどんな頭してりゃこんなん思いつくんだよという技術なんですよ。それを思いついたひとはSatoshi Nakamotoという人なのですが、きわめて頭のおかしな人(褒めてるんですよ)なんだと思います。

僕はもともと数学の人間だったので、「エレガントな単一の理論」みたいなのに慣れていたんですよね。なので、このブロックチェーンは最初「何じゃあこりゃあ一体」という印象でした。しかし、不思議と惹かれてやってみると、その「数学とは違ったアイデアの集積」の「数学とは違った美しさ」、そして「ビットコインという具体的実例」の凄さに圧倒されちまったのです。さらに、それのベースにはいくつもの数学が存在しているってのもまぁーエモーショナルだなと。面白すぎるだろ…という気持ちがいつになっても消えないし、増幅し続けてます。

このままあと1年か2年くらい、ゴリゴリと学び続けたいなと考えてます。そしてそれをいつか、自分のモノとして使いまくっていきたいなと思っているところです。この界隈のみなさま、ぜひ飲みにでも行きましょう。たくさんお話お聞きしたいです。

はい、というわけで!!
ブロックチェーン人生、まだまだ始まったばかり也。
何卒ご指導ご鞭撻のほど、よろしくお願い申し上げます。

小岩で一番よかったなぁと思ったお寿司屋さん「あやせ」。大将も物腰柔らかで気さく。寿司もめっちゃ美味しいです。お値段もそこまで高くない。

この記事が気に入ったらサポートをしてみませんか?