We may earn an affiliate commission when you visit our partners.
Course image
酒井 潤 (Jun Sakai)

このコースではブロックチェーンの技術とGoを用いて仮想通貨の送金システムを構築しながらブロックチェーンの根幹にある技術、考え方とその応用方法をハンズオンで学びます。

Blockchain技術は難しい技術資料が多い上に、ブロックチェーン=仮想通貨=怪しいというイメージを持たれがちですが、ブロックチェーンの技術はIT業界の常識を覆し、次世代のネットワーク分散システムのプラットフォーム上で未知なる可能性を秘めています。

ブロックチェーンネットワーク上では、もちろん送金決済、地域通貨、ポイントサービス、その他のデジタル資産のやり取りがインターネット上でできるようになりますが、資産の所有権を記録することもできるため、ブロックチェーンが信頼するIDとして、土地管理、財産の所有権、その他物的財産の所有権を示すこともできます。また、投票やパスポート取得、権利やサービスへも使えます。また、日々書類で行われている行政サービスや不動産契約などの信頼も証明することができます。ここで挙げた以上に多くの分野で使用される可能性が高いのです。

FacebookがLibraの仮想通貨を発表し、Amazon、Microsoft、IBMなどの大企業ではブロックチェーンのプラットフォームを提供し始めました。これは、今後ブロックチェーンのインフラが使用される機会が増えることを予測しているからこそかと思います。

Read more

このコースではブロックチェーンの技術とGoを用いて仮想通貨の送金システムを構築しながらブロックチェーンの根幹にある技術、考え方とその応用方法をハンズオンで学びます。

Blockchain技術は難しい技術資料が多い上に、ブロックチェーン=仮想通貨=怪しいというイメージを持たれがちですが、ブロックチェーンの技術はIT業界の常識を覆し、次世代のネットワーク分散システムのプラットフォーム上で未知なる可能性を秘めています。

ブロックチェーンネットワーク上では、もちろん送金決済、地域通貨、ポイントサービス、その他のデジタル資産のやり取りがインターネット上でできるようになりますが、資産の所有権を記録することもできるため、ブロックチェーンが信頼するIDとして、土地管理、財産の所有権、その他物的財産の所有権を示すこともできます。また、投票やパスポート取得、権利やサービスへも使えます。また、日々書類で行われている行政サービスや不動産契約などの信頼も証明することができます。ここで挙げた以上に多くの分野で使用される可能性が高いのです。

FacebookがLibraの仮想通貨を発表し、Amazon、Microsoft、IBMなどの大企業ではブロックチェーンのプラットフォームを提供し始めました。これは、今後ブロックチェーンのインフラが使用される機会が増えることを予測しているからこそかと思います。

また、ブロックチェーンができるエンジニアの求人はシリコンバレーでも増えており、今後ブロックチェーンが開発できるエンジニアの希少性が高まることが期待できます。

プロックチェーンのエンジニアにならなくとも、ブロックチェーンを実装された経験はきっと就職や転職の際に提出する履歴書の中でも目立つものとなるので、この機会にブロックチェーンの実装をしてみしょう。

それでは、今後とも皆様のご活躍お祈りしております。

Enroll now

What's inside

Learning objectives

  • ブロックチェーンの仕組みを理解することができます。
  • Goを使ったブロックチェーンの基本となる開発を学べます。
  • ブロックチェーンのトランザクションの認証を理解することできます。
  • ブロックチェーンを繋げるハッシュの仕組みができます。
  • プロックチェーンのマイニングでのナンスを導き出すコンセンサスアルゴリズムが理解できます。
  • ブロックチェーンの分散された合意形成のコンセンサスの仕組みが理解できます。
  • 仮想通貨の送受信の仕組みが理解できます。

Syllabus

はじめに
ブロックチェーンエンジニアの求人とブロックチェーンを採用する大企業の状況
講義を受ける前の注意事項
ブロックチェーンとは
Read more

こちら本コースで使用するソースコードになりますのでご活用ください。

Traffic lights

Read about what's good
what should give you pause
and possible dealbreakers
Uses Go, a language known for its efficiency and suitability for blockchain development, making it relevant for experienced engineers
Explores blockchain technology beyond just cryptocurrency, including applications like digital asset management and ownership verification
Covers topics such as Proof of Work, ECDSA, and consensus mechanisms, which are fundamental concepts in blockchain technology
Involves building a cryptocurrency transfer system, offering practical experience in blockchain development, which is valuable for career advancement
Focuses on building a blockchain from scratch, which may require significant time investment and dedication from learners
Teaches blockchain concepts with the assumption that learners have some familiarity with software development and networking concepts

Save this course

Create your own learning path. Save this course to your list so you can find it easily later.
Save

Reviews summary

Goでブロックチェーンを学ぶ実践入門

学生は言います、このコースはブロックチェーンの仕組みをGo言語で手を動かしながら学ぶのに非常に役立ちます特にゼロから仮想通貨の送金システムを構築する実践的なアプローチは、多くの学習者にとって理論だけでなく実装スキルを身につけるための大きな強みとなっています。現役シリコンバレーエンジニアによる講義は信頼性とモチベーション向上に繋がり、ブロックチェーン技術の全体像と応用可能性を理解する上で非常に有用だと評価されています。一方で、Go言語の初心者にとってはペースが速く感じられる場合があり、事前のGoの基礎知識があるとよりスムーズに進められるという声も複数聞かれます。コードの一部に古い部分がある可能性や、複雑な説明が駆け足に感じられる点が改善点として挙げられています。全体としては、ブロックチェーン開発のしっかりとした基礎を築くための優れたコースとしてポジティブに受け止められています
シリコンバレーでの経験が信頼性をもたらします。
"現役シリコンバレーエンジニアの方の話が聞けるのはモチベーションが上がります。"
"講師の実体験に基づいた説明は非常に説得力があり、ブロックチェーンの現実世界での使われ方を知る良い機会でした。"
"シリコンバレーからの視点は面白く、コース内容の信頼性を高めています。"
システム構築を通して実践的に学べます。
"ブロックチェーンの仕組みをGoで手を動かしながら学べて、非常に理解が進みました。"
"仮想通貨の送金システムを自分で作れる体験は貴重です。理論だけでなく実践が学べるのがこのコースの最大の強みだと感じました。"
"このコースのおかげで、ブロックチェーンが「怪しい仮想通貨」というイメージから「面白い技術」に変わりました。Goでの実装は最初は戸惑いましたが、手を動かすことで理解が深まりました。"
コードの一部が古く、修正が必要な可能性があります。
"コードが古くて動かない箇所があり、自分で修正する必要がありました。"
"提供コードの一部に、現在のGoのバージョンでは警告が出る部分や非推奨の書き方が見られました。"
"講座自体は素晴らしいのですが、使用しているライブラリやGoのバージョンによって、そのままでは動かない部分があり、少し手間がかかりました。"
一部で説明が速く、理解に時間がかかる場合があります。
"内容は面白いのですが、時々説明が駆け足に感じました。特に複雑な部分。"
"一部の説明が難解で理解に時間がかかりました。"
"もう少し複雑な部分について、図や具体的な例を用いた丁寧な解説があるとより分かりやすいと感じました。"
Goの初心者には難易度が高い可能性があります。
"ただ、Goの初心者には少しペースが速いかもしれません。事前にある程度Goをやっておくとよりスムーズだと思います。"
"Go初心者には厳しかったです。前提知識が必要と感じました。エラーで詰まることが多く、挫折しそうになりました。"
"内容についていくためには、ある程度Goの文法や基本的な開発に慣れている必要があると感じました。"

Activities

Be better prepared before your course. Deepen your understanding during and after it. Supplement your coursework and achieve mastery of the topics covered in 現役シリコンバレーエンジニアが教えるGoで始めるスクラッチからのブロックチェーン開発入門 with these activities:
Goの基礎を復習する
Go言語の基礎知識を復習することで、ブロックチェーン開発の学習をスムーズに進めることができます。特に、構文、データ型、関数、構造体などの基本を重点的に復習しましょう。
Browse courses on Golang
Show steps
  • Goの公式ドキュメントを読む
  • 簡単なGoプログラムを書く
  • Goのチュートリアルを試す
「Goプログラミング言語」を読む
Go言語の知識を深め、ブロックチェーン開発に必要なスキルを習得するのに役立ちます。
View Melania on Amazon
Show steps
  • 本の目次を確認する
  • 関連する章を重点的に読む
  • サンプルコードを実際に実行する
ハッシュ関数の実装を練習する
ブロックチェーンの根幹技術であるハッシュ関数の理解を深めるために、様々なハッシュ関数を実装する練習をします。SHA-256などの一般的なハッシュ関数を自分で実装することで、内部の仕組みをより深く理解できます。
Show steps
  • SHA-256のアルゴリズムを理解する
  • GoでSHA-256を実装する
  • 他のハッシュ関数も実装してみる
Four other activities
Expand to see all activities and additional details
Show all seven activities
ブロックチェーンに関するブログ記事を書く
学んだ知識を整理し、アウトプットすることで、理解を深めることができます。ブログ記事を書くことで、他の人に説明する能力も向上します。
Show steps
  • 記事のテーマを決める
  • 記事の構成を考える
  • 記事を書く
  • 記事を公開する
簡単なブロックチェーンのプロトタイプを作成する
コースで学んだ知識を実践的に応用し、ブロックチェーンの仕組みをより深く理解することができます。簡単なプロトタイプを作成することで、理論だけでなく、実践的なスキルも身につけることができます。
Show steps
  • ブロックの構造を定義する
  • ブロックチェーンにブロックを追加する関数を作成する
  • 簡単なコンセンサスアルゴリズムを実装する
  • ブロックチェーンの状態を表示する関数を作成する
「Mastering Bitcoin」を読む
ブロックチェーン技術の理解を深め、より高度な開発スキルを習得するのに役立ちます。
View Mastering Bitcoin on Amazon
Show steps
  • 本の目次を確認する
  • 興味のある章を重点的に読む
  • サンプルコードを参考に、自分でコードを書いてみる
ブロックチェーン関連のオープンソースプロジェクトに貢献する
実際のプロジェクトに参加することで、実践的なスキルを向上させることができます。他の開発者とのコラボレーションを通じて、より高度な知識や技術を習得することができます。
Show steps
  • GitHubでブロックチェーン関連のプロジェクトを探す
  • プロジェクトのドキュメントを読む
  • 簡単なバグを修正する
  • コードをレビューしてもらう

Career center

Learners who complete 現役シリコンバレーエンジニアが教えるGoで始めるスクラッチからのブロックチェーン開発入門 will develop knowledge and skills that may be useful to these careers:
ブロックチェーンエンジニア
ブロックチェーンエンジニアは、ブロックチェーン技術を活用したアプリケーションやシステムの開発、設計、実装、テスト、および保守を行います。このコースでは、Go言語を使ってスクラッチからブロックチェーンを構築する方法を学ぶため、ブロックチェーンエンジニアとして必要な実践的なスキルを身につけることができます。特に、トランザクションの認証、ハッシュの仕組み、コンセンサスアルゴリズム、仮想通貨の送受信といったブロックチェーンの根幹技術をハンズオンで学べる点は、ブロックチェーンエンジニアを目指す上で非常に有益です。このコースを受講することで、ブロックチェーンエンジニアとしてのキャリアをスタートさせるための強固な基盤を築くことができるでしょう。
仮想通貨開発者
仮想通貨開発者は、新しい仮想通貨や暗号資産の開発、設計、実装、および保守を行います。このコースでは、Go言語を用いてスクラッチから仮想通貨の送金システムを構築する方法を学ぶため、仮想通貨開発者として必要な実践的なスキルを身につけることができます。特に、トランザクションの認証、ハッシュの仕組み、コンセンサスアルゴリズム、ウォレットの作成といった仮想通貨の根幹技術をハンズオンで学べる点は、仮想通貨開発者を目指す上で非常に有益です。このコースを受講することで、仮想通貨開発者としてのキャリアをスタートさせるための強固な基盤を築くことができるでしょう。
分散システムエンジニア
分散システムエンジニアは、複数のコンピュータが連携して動作するシステムを設計、構築、および保守します。ブロックチェーンは分散型台帳技術であり、分散システムの重要な要素です。このコースでは、Go言語を用いてブロックチェーンの基本的な仕組みを実装するため、分散システムエンジニアとして必要な知識とスキルを習得できます。特に、コンセンサスアルゴリズムやネットワークノードの同期など、分散システム特有の課題に対する理解を深めることができます。分散システムエンジニアがこのコースを受講することで、より高度な分散システムの設計や開発に携わる機会を得られるでしょう。
ソフトウェアエンジニア
ソフトウェアエンジニアは、ソフトウェアアプリケーションの設計、開発、テスト、およびデプロイメントを行います。このコースでGo言語を用いたブロックチェーン開発を学ぶことは、ソフトウェアエンジニアとしてのスキルセットを拡充する上で役立ちます。特に、分散システムや暗号技術に関する知識は、現代のソフトウェア開発においてますます重要になっています。このコースは、ブロックチェーンの基礎から応用までを網羅しており、ブロックチェーン技術を理解し、活用するための実践的なスキルを身につけることができます。ソフトウェアエンジニアがこのコースを受講することで、ブロックチェーン技術を活用した新しいアプリケーションやサービスの開発に貢献できるようになるでしょう。
Web3開発者
Web3開発者は、ブロックチェーン技術を活用した分散型アプリケーション(dApps)の開発を行います。このコースでは、Go言語を用いてブロックチェーンの基本的な仕組みを実装するため、Web3開発者として必要な知識とスキルを習得できます。特に、ブロックチェーンサーバーのAPI作成やウォレットのUI作成など、Web3アプリケーションの開発に必要な要素を学ぶことができます。Web3開発者がこのコースを受講することで、ブロックチェーン技術を活用した新しいWebサービスの開発に貢献できるようになるでしょう。
金融システム開発者
金融システム開発者は、金融機関で使用されるソフトウェアシステムの開発、保守、および改善を行います。ブロックチェーン技術は、送金決済、地域通貨、ポイントサービスなど、金融分野における様々なアプリケーションに活用できます。このコースでは、Go言語を用いて仮想通貨の送金システムを構築するため、金融システム開発者として必要なブロックチェーン技術の基礎を学ぶことができます。金融システム開発者がこのコースを受講することで、ブロックチェーン技術を活用した新しい金融サービスの開発に貢献できるようになるでしょう。
暗号技術者
暗号技術者は、データの安全性とプライバシーを保護するための暗号化アルゴリズムやプロトコルを開発、実装、および評価します。ブロックチェーン技術は、暗号技術を基盤としており、トランザクションの署名や検証、データのハッシュ化などに暗号技術が用いられています。このコースでは、秘密鍵と公開鍵を用いたECDSA署名や、ハッシュ関数を用いたデータの整合性検証など、ブロックチェーンにおける暗号技術の応用を学ぶことができます。暗号技術者がこのコースを受講することで、ブロックチェーン技術の安全性と信頼性を向上させるための知識とスキルを習得できるでしょう。
システムアーキテクト
システムアーキテクトは、複雑な情報システムの全体的な設計と構造を定義します。ブロックチェーン技術を組み込んだシステムは、従来のシステムとは異なるアーキテクチャ設計が必要になります。このコースでは、ブロックチェーンのコンポーネントとその相互作用について学ぶことができるため、システムアーキテクトとしてブロックチェーンベースのシステムを設計する上で役立ちます。特に、分散型データベースやコンセンサスアルゴリズムの知識は、システム全体のパフォーマンスとセキュリティに影響を与えるため重要です。このコースを受講することで、システムアーキテクトは、スケーラブルで安全なブロックチェーンシステムの設計が可能になるでしょう。
ブロックチェーンコンサルタント
ブロックチェーンコンサルタントは、企業や組織に対してブロックチェーン技術の導入や活用に関するアドバイスを提供します。このコースでは、ブロックチェーンの仕組みや応用事例を学ぶことができるため、ブロックチェーンコンサルタントとして必要な知識を習得できます。特に、ブロックチェーンが様々な分野で使用される可能性について理解を深めることは、コンサルティングを行う上で非常に重要です。このコースを受講することで、ブロックチェーンコンサルタントとしてのキャリアをスタートさせるための基礎を築くことができるでしょう。 特に金融、サプライチェーン、医療などの分野におけるブロックチェーンの応用について理解を深める必要があります。
セキュリティエンジニア
セキュリティエンジニアは、コンピュータシステムやネットワークをサイバー攻撃から保護するための対策を講じます。ブロックチェーン技術は、分散型であるため、単一障害点のリスクを軽減できますが、同時に新たなセキュリティ上の課題も抱えています。このコースでは、51%攻撃などのブロックチェーン特有の脆弱性について学ぶことができます。セキュリティエンジニアがこのコースを受講することで、ブロックチェーン技術のセキュリティリスクを評価し、適切な対策を講じるためのスキルを習得できるでしょう。
スマートコントラクト開発者
スマートコントラクト開発者は、ブロックチェーン上で自動的に実行される契約であるスマートコントラクトの開発を行います。このコースでは直接スマートコントラクトの開発を扱いませんが、ブロックチェーンの基本的な仕組みを理解することで、スマートコントラクトの概念や動作原理を理解する上で役立ちます。特に、トランザクションの認証やコンセンサスアルゴリズムなどの知識は、スマートコントラクトのセキュリティや効率性を考慮する上で重要です。スマートコントラクト開発者を目指す人がこのコースを受講することで、ブロックチェーン技術の基礎を固め、より高度なスマートコントラクト開発に挑戦できるようになるでしょう。
プロジェクトマネージャー
プロジェクトマネージャーは、プロジェクトの計画、実行、および完了を監督します。ブロックチェーン関連のプロジェクトは、技術的な複雑さや規制の変化など、特有の課題を抱えています。このコースでは、ブロックチェーンの基本的な仕組みや応用事例を学ぶことができるため、プロジェクトマネージャーとしてブロックチェーンプロジェクトを管理する上で必要な知識を習得できます。プロジェクトマネージャーがこのコースを受講することで、ブロックチェーンプロジェクトを成功に導くためのリーダーシップを発揮できるようになるでしょう。
データサイエンティスト
データサイエンティストは、大量のデータから有用な情報を抽出し、意思決定を支援するための分析を行います。ブロックチェーン上に記録されたデータは、改ざんが難しく、透明性が高いため、データサイエンスの分野でも注目されています。このコースでは直接データ分析の手法を扱いませんが、ブロックチェーンの仕組みを理解することで、ブロックチェーン上のデータを分析するための基礎知識を習得できます。データサイエンティストがこのコースを受講することで、ブロックチェーン技術を活用した新しいデータ分析の可能性を探求できるようになるでしょう。
テクニカルライター
テクニカルライターは、技術的な情報を分かりやすく伝えるためのドキュメントを作成します。ブロックチェーンは複雑な技術であるため、分かりやすいドキュメントのニーズが高まっています。このコースでは、ブロックチェーンの仕組みや開発方法を学ぶことができるため、テクニカルライターとしてブロックチェーン関連のドキュメントを作成する上で必要な知識を習得できます。テクニカルライターがこのコースを受講することで、ブロックチェーン技術の普及に貢献できるようになるでしょう。
品質保証エンジニア
品質保証エンジニアは、ソフトウェア製品の品質を保証するためのテストや評価を行います。ブロックチェーン技術は、セキュリティ上のリスクが高いため、徹底的なテストが必要です。このコースでは、ブロックチェーンの仕組みや脆弱性について学ぶことができるため、品質保証エンジニアとしてブロックチェーン関連のソフトウェアをテストする上で必要な知識を習得できます。品質保証エンジニアがこのコースを受講することで、ブロックチェーン技術の信頼性を向上させることに貢献できるようになるでしょう。

Reading list

We've selected two books that we think will supplement your learning. Use these to develop background knowledge, enrich your coursework, and gain a deeper understanding of the topics covered in 現役シリコンバレーエンジニアが教えるGoで始めるスクラッチからのブロックチェーン開発入門.
この本はBitcoinの技術的な詳細を深く掘り下げたもので、ブロックチェーンの仕組みを理解する上で非常に役立ちます。特に、トランザクション、コンセンサスアルゴリズム、ネットワークプロトコルなどの章は、コースの内容を補完し、より深い理解を促します。この本は、ブロックチェーン技術を学ぶ上で必読の書として、多くの専門家に推奨されています。コースで学んだ知識をさらに深めたい場合に最適です。

Share

Help others find this course page by sharing it with your friends and followers:

Similar courses

Similar courses are unavailable at this time. Please try again later.
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2025 OpenCourser