こんにちは、おかてんです。
最近ビットコインのニュースが飛び交っていますよね。そんな中でよく聞く言葉がブロックチェーン。ビットコインとセットで説明されることが多いです。
例えば
- ブロックチェーンのおかげでビットコインは安全に取引できる
- ブロックチェーンを使えば過去のデータが改ざんされることはない
- 国や銀行がお金を管理しなくてもブロックチェーンなら大丈夫
など、ブロックチェーンを使えばビットコインのようなネット上の通貨でも安全に使うことができるんですね。
ただ、ブロックチェーンはビットコインだけに目が行きがちですが、ビットコイン以外にも様々な用途が考えられます。
- 不動産などの契約を仲介者なしでできる
- 選挙の投票をネット上でスムーズに行うことができる
- 企業間での複雑な決済が一瞬で終わる
ブロックチェーンを使えば、契約などの手間のかかる行為やそれによって発生する高額な手数料がブロックチェーンにより全てなくなります。
今後はブロックチェーンにより世の中がどんどん便利になっていき、社会に浸透していくと思います。
そうすると、ブロックチェーンを運用するためにそれを作成する人が必要ですよね。つまり、ブロックチェーンをプログラムで実装できる技術者が必要になってきます。
そのために今のうちにブロックチェーンの技術を学んでおくと今後の社会に生き残れるんじゃないかと思い、ブロックチェーンをプログラミングして学ぼうと決めました。
そこで見つけたのがプログラミングサービスのAidemyで、なんとブロックチェーン基礎コースが無料で学べるとのこと。
早速学んでみたのでご紹介します。
目次
Aidemyで学べるブロックチェーン基礎
このコースではPythonの知識を前提としているので、Pythonを使ったことのない人は基礎を学んでから取り組むことをオススメします。
Aidemyの基礎コースなら無料でPythonが学べちゃいます。有料で低コストならUdemyをオススメします。
学習の進め方としては最初にビットコインを題材としたブロックチェーンをテーマとして、基本的な用語や知識を学習したのちに、プログラミング演習という流れになっています。
この講座で学べるブロックチェーンに関する内容はこちら。
- マインング処理
- 新しいブロックを追加
- トランザクション(取引内容)をブロックに追加
- 現在のブロックチェーンの状態を表示
これらをプログラミング実装で学ぶことができます。
ブロックチェーンの話でよく出てくるマイニングや、トランザクションを自分でプログラミングできるんですね。
プログラミングの知識は前提として必要とされますが、ブロックチェーンやビットコインの知識はプログラミングを通じて学んで行くのでそれほど必要とされません。
この講座では自分で1から実装というよりは、すでに実装されている関数を組み合わせて完成させるというものが多いので、大まかなブロックチェーンの流れがわかっていれば細かい処理の内容は知らなくても大丈夫です。もし、知りたくなったら関数の内容を見ればいいので、学習方法としては非常に適しています。
例えば、初めのチャプターのブロックチェーンの基礎ではマイニングとブロックに取引情報を追加するトランザクションを実装します。
マイニングとして以下のような関数が初めから実装されています。
この「mine」という関数をブロックチェーン技術としてどのタイミングで使用するか?ということが課題として与えられ、進めて行きます。
いきなりこの関数を1から実装しろと言われるといくらプログラミングやブロックチェーンの技術に詳しい人でも難しいと思いますが、関数として使う分には最低限の知識さえあれば可能ですね。
もっと詳しく知りたければ関数の中身やAidemyがこれらの課題を作る際に参考にしたソースコートがありますので、そちらを見ていただければと思います。
また、課題はプログラミング実装だけでなく、以下のような設問形式で知識を深めることができます。
僕もビットコインに興味を持ち始めて、ブロックチェーンもそこそこ知識をつけたつもりでしたが、踏み込んだ内容も多いのでとても勉強になりました。
良かった点
このコースを全て受けてみて良かった点をご紹介します。
プログラミング環境が必要ない
Aidemyでは基本的にプログラミング環境を個人で用意する必要はありません。
ブラウザ上でプログラムを書き、そのまま実行するだけです。
あとは先ほども述べましたが、ある程度のプログラムが書かれていて、穴埋め形式になっています。
プログラムを読みながら学習を進め、流れが分かれば穴埋めを書いていくというものです。そのため、ある程度のプログラムを読む力は必要とされます。ただ、コメントアウトでどういう機能なのかを説明してくれるので、読み進めやすかったですね。
実行すると合っているかどうかがすぐ出てくるので、学習効率もいいですね。
実装することで覚える
このコースではブロックチェーンに関する単語も学びますが、意味よりもまずは実装してみるところから始まります。
意味がわかっていないと実装もできないんじゃないか?という人もいるかもしれませんが大丈夫です。プログラミングやっている人ならわかると思いますが、プログラムを読むことによって初めて意味がわかることもあります。
僕はどちらかというとプログラミングはできるのですが、ブロックチェーンの知識はあまり詳しくないので、「ブロックチェーンを深く学んでから実装」というよりは「実装することでブロックチェーンを深く学ぶ」という感じで、非常に勉強になりました。
全て穴埋め形式なので、プログラムの形は整っているので、それを追えば自然と意味も理解できます。
細かいセクションで分けられているので学んだことがわかりやすい
1つのセクションが長いと、自分が何を学んでいるかわからなくなり、しかも途中で飽きちゃったりしますよね。
Aidemyでは細かくセッションが分けられているので、自分が何を学んだかをしっかり身につけることができ、1回1回で実装を完了し、結果が見られるので飽きることなく勉強を継続することができます。
また、プログラミング実装だけでなく、間にクイズ形式のブロックチェーンに関する問題も出るので、プログラミングに飽きそうになっても大丈夫です。
最後に
Aidemyではブロックチェーンに関するプログラミングを無料で学ぶことができます。
プログラミングの前提知識は必要なので、プログラミング未経験の人はまずはPythonの勉強から始めましょう。
今後ブロックチェーンはビットコインだけでなく、社会にどんどん浸透していくと思います。
その時までにブロックチェーンに関する基礎を身につけて、今後の社会を生き残れる準備をしておきましょう!