---
title: "ブロックチェーン開発者になるには:知っておくべきこと"
description: "ブロックチェーン開発に必要な知識"
---

# ブロックチェーン開発者になるには:知っておくべきこと

90年代後半にタイムスリップしたと想像してほしい。インターネットが一般家庭に普及しようとしている時期で、あなたにはこの波に早期から乗るチャンスがある。

たとえば、Yahooの最初の12人の従業員の一人になる話が来たとしたら、受けるだろうか?
今の知識があれば、おそらく受けるはずだ。

時間を巻き戻すことはできないが、幸いにも、テクノロジーの最前線には今でも大きなチャンスが存在する。そして実際のところ、私たちは今、歴史上の似たような局面にいる。

暗号資産、そしてDeFi(分散型金融)、NFT(非代替性トークン)、[DAO](https://www.alchemy.com/dapps/top/daos)(分散型自律組織)といったブロックチェーンベースの技術は、2022年のビジネスや人々の関わり方において大きな役割を果たし続けている。

数十億、数百億ドル規模の投資資金が暗号資産分野に流れ込んでおり、その勢いが衰える兆しはない。

以下は、Web3の未来を築こうとしている数多くの新興企業のほんの一部だ。

<EmbeddedTable
  table={{
    columns: [
      { key: "1", width: 200, title: "Layer", dataType: "object" },
      { key: "2", width: 200, title: "Category", dataType: "object" },
      { key: "3", width: 200, title: "Projects/Services", dataType: "object" },
    ],
    data: [
      {
        "1": { title: "<p>Decentralized Applications</p>", tooltip: "", icon: "" },
        "2": { title: "<p>DeFi</p>", tooltip: "", icon: "" },
        "3": { title: "<p>UNISWAP, AAVE, SUSHISWAP</p>", tooltip: "", icon: "" },
        id: 0,
      },
      {
        "1": { title: "<p>Decentralized Applications</p>", tooltip: "", icon: "" },
        "2": { title: "<p>Identity & Auth.</p>", tooltip: "", icon: "" },
        "3": { title: "<p>ENS, METAMASK, ARGENT</p>", tooltip: "", icon: "" },
        id: 1,
      },
      {
        "1": { title: "<p>Decentralized Applications</p>", tooltip: "", icon: "" },
        "2": { title: "<p>NFTs</p>", tooltip: "", icon: "" },
        "3": { title: "<p>OPENSEA, NIFTY GATEWAY, RARIBLE</p>", tooltip: "", icon: "" },
        id: 2,
      },
      {
        "1": { title: "<p>Decentralized Applications</p>", tooltip: "", icon: "" },
        "2": { title: "<p>Data</p>", tooltip: "", icon: "" },
        "3": { title: "<p>HANSEN, CHAINLINK, THE GRAPH</p>", tooltip: "", icon: "" },
        id: 3,
      },
      {
        "1": { title: "<p>Presentation Layer</p>", tooltip: "", icon: "" },
        "2": { title: "<p>Web3 Native Libraries</p>", tooltip: "", icon: "" },
        "3": { title: "<p>ETHER.JS, WEB3.JS, ALCHEMY WEB3</p>", tooltip: "", icon: "" },
        id: 4,
      },
      {
        "1": { title: "<p>Presentation Layer</p>", tooltip: "", icon: "" },
        "2": { title: "<p>Developer Environments</p>", tooltip: "", icon: "" },
        "3": { title: "<p>HARDHAT, TRUFFLE, BROWNIE</p>", tooltip: "", icon: "" },
        id: 5,
      },
      {
        "1": { title: "<p>Presentation Layer</p>", tooltip: "", icon: "" },
        "2": { title: "<p>File Storage</p>", tooltip: "", icon: "" },
        "3": { title: "<p>IPFS, FILBASE, ARWEAVE</p>", tooltip: "", icon: "" },
        id: 6,
      },
      {
        "1": { title: "<p>Blockchain Interaction Layer</p>", tooltip: "", icon: "" },
        "2": { title: "<p>Data Access</p>", tooltip: "", icon: "" },
        "3": { title: "<p>SUPERNODE, BUILD, MONITOR, NOTIFY, APIS, NFT API</p>", tooltip: "", icon: "" },
        id: 7,
      },
      {
        "1": { title: "<p>Blockchain Interaction Layer</p>", tooltip: "", icon: "" },
        "2": { title: "<p>Self-Hosted Nodes</p>", tooltip: "", icon: "" },
        "3": { title: "<p>Self-Hosted Nodes</p>", tooltip: "", icon: "" },
        id: 8,
      },
      {
        "1": { title: "<p>Blockchain Interaction Layer</p>", tooltip: "", icon: "" },
        "2": { title: "<p>Block Explorers</p>", tooltip: "", icon: "" },
        "3": { title: "<p>SNOWTRACE, ETHERSCAN, POLYGONSCAN</p>", tooltip: "", icon: "" },
        id: 9,
      },
      {
        "1": { title: "<p>Network Layer</p>", tooltip: "", icon: "" },
        "2": { title: "<p>EVM Blockchains</p>", tooltip: "", icon: "" },
        "3": { title: "<p>ETHEREUM, POLYGON, ARBITRUM, AVALANCHE, STARNET, CRONOS, OPTIMISM, ZK SYNC</p>", tooltip: "", icon: "" },
        id: 10,
      },
      {
        "1": { title: "<p>Network Layer</p>", tooltip: "", icon: "" },
        "2": { title: "<p>Non-EVM Blockchains</p>", tooltip: "", icon: "" },
        "3": { title: "<p>NEAR, FLOW, SOLANA, TERRA</p>", tooltip: "", icon: "" },
        id: 11,
      },
    ],
  }}
/>

暗号資産の価格追跡サイトCoinGeckoによると、世界の暗号資産の時価総額の合計は2兆ドルに迫っている(2022年上半期時点)。

<ImageBlock
  src="https://media.alchemy.com/1703830571-cryptocurrency-global-charts.png"
  alt="世界の暗号資産時価総額が2兆ドルに迫っていることを示すCoinGeckoのチャート"
  width={1600}
  height={688}
  caption="Source"
/>

数字の話はここまでにして、これがあなたにとって何を意味するのかを考えてみよう。

## ブロックチェーン開発は良いキャリアになるか?

今**最も収入の良いキャリアパスの一つ**が、ブロックチェーン開発者になることだ。Talentによると、[ブロックチェーン開発者の平均年収は14.5万ドル](https://www.talent.com/salary?job=blockchain+developer)にのぼる。ブロックチェーン開発者への需要は今後も伸び続けると見られており、今が参入のタイミングだ。

ブロックチェーン開発者は、初期段階のプロジェクトへの投資など、さまざまな機会において有利な立場に立てる。

ブロックチェーンを開発することで、成功しそうなプロジェクトを見分け、勢いのないものを避けられるようになる。何が機能し、何が機能しないのかをリアルタイムで見極めながら、Web3の未来を自らの手で築いていくことになる。

## ブロックチェーン開発者に必要な知識とは

ブロックチェーン開発者に必要なスキルには、Javascript、Python、[Solidity](https://www.alchemy.com/overviews/solidity)といったプログラミング言語のほか、ブロックチェーン、コンセンサスメカニズム、ハッシュ関数、ガスといった主要な概念の理解が含まれる。

新しい技術を学ぶ素養があり、根っからの開発者であれば、専門職として成功する機会は事欠かない。ただし、それにはいくつかのスキルと、ブロックチェーン開発における主要な概念の理解が必要になる。

以下、押さえておきたい基本事項を挙げる。

## ブロックチェーン開発者になるために必要な5つのスキル

### 1. よく使われるブロックチェーンプログラミング言語

ブロックチェーン開発者として、複数のプログラミング言語を学ぶ必要が出てくるだろうが、Javascriptの習得は避けて通れない。

Javascriptは汎用性が高く移植性にも優れた言語で、ブロックチェーンのエコシステムで広く使われている。たとえば、Javascriptのライブラリだけで、既存の[スマートコントラクト](https://www.web3.university/article/a-developers-guide-to-securing-ethereum-smart-contracts)とやり取りする[分散型アプリケーション](https://www.alchemy.com/dapps/top/defi-dapps)を構築できる。

他の言語にも精通しているとなお良い。たとえばC++(かの有名なBitcoinはこの非常に柔軟な言語で書かれている)やPythonだ。特にPythonは、バックエンド開発や高度なスクリプティングに力を入れたい場合に有用だ。

[Ethereum Javascript](https://www.web3.university/article/web3-stack)のリソースに時間をかけて目を通し、理解を深めることを強く勧める。もちろん、Solidityの学習にも投資すべきだが、これについては[こちら](https://www.web3.university/article/web3-stack)で詳しく取り上げている。

複数のプログラミング言語を学ぶことだけが課題ではない。

### 2. ブロックチェーン技術の基礎

ブロックチェーン技術の基礎を理解することは、ブロックチェーン開発者にとって欠かせない。[Bitcoin](https://ethereum.org/en/whitepaper/)と[Ethereum](https://ethereum.org/en/whitepaper/)のホワイトペーパーは必読だ。ただし、いくつかの重要な概念も理解しておく必要がある。

たとえば、ブロックチェーンの本質は**分散型台帳技術(DLT)**の一種であるということを知っておくのは重要だ。これは、中央管理者を持たないデータベースの機能を実現するプロトコルであり、データのブロックが複数の場所や主体に分散されている。ブロックチェーンは暗号資産に使われるのはもちろんだが、用途はそれだけにとどまらない。今後、組織、さらには国家までもがブロックチェーンを使って選挙を実施したり、各種の政府資金の使途を決定したりする場面が増えていくと考えられる。ブロックチェーンはまた、その多くが誰でも閲覧できる公開台帳であるという点で、一種の説明責任を担保する。この利用が広がるにつれ、政治や経済の状況にどのような影響を与えるかは想像に難くない。ブロックチェーンが世界のあらゆる問題を解決するわけではないが、その強力な用途の理解はまだ始まったばかりだ。

### 3. ブロックチェーンのコンセンサスメカニズム

ブロックチェーンと暗号資産における画期的な発明が、コンセンサスメカニズムだ。これは、中央権威を持たない分散型のピアツーピアシステムが意思決定を行うための手順であり、どの取引を台帳に、どの順序で追加するかを合意するための仕組みである。
簡単な例を挙げよう。

<ImageBlock
  src="https://media.alchemy.com/1703830684-blockchain-consensus-mechanisms.png"
  alt="分散したノード間で合意を保つブロックチェーンのコンセンサスメカニズムの仕組みを示す図"
  width={737}
  height={663}
/>

Proof of WorkとProof of Stake

上で述べたように、ブロックチェーンには通常、複数のコンセンサスメカニズムがあるが、どれも目指すゴールは同じで、台帳の記録が信頼できるものであることを保証することにある。

最も広く使われている2つのコンセンサスメカニズムは以下の通りだ。

- [Proof of Work (PoW)](https://ethereum.org/en/developers/docs/consensus-mechanisms/pow/)
- [**Proof of Stake (PoS)**](https://ethereum.org/en/developers/docs/consensus-mechanisms/pos/)

Bitcoinネットワークを支える仕組みとして最もよく知られているProof of Workは、計算能力(マイナーを通じて)を使って複雑な数学の方程式を解くプロセスを指し、これによってブロックチェーンの安全性と正確性を保つ。

その見返りとして、方程式を解くために必要なリソースを投じたマイナーはBitcoinで報酬を受け取る。

Proof of WorkはBitcoinを支える仕組みである一方、エネルギー消費が非常に大きいことが分かっており、Solanaをはじめとする多くの新しいブロックチェーンはこれを避けようとしている。とはいえ、Proof of Workを採用するブロックチェーンは、高いセキュリティレベルを持ち、ネットワーク上の取引を検証する分散型の手段を提供する傾向がある。

一方、Proof of Stakeは、エネルギーコストが大幅に低いProof of Workの代替手段だ。取引の検証にエネルギーを使う代わりに、Proof of Stakeはバリデーターに正しい振る舞いを強制するために金銭的なペナルティを用いる。

「_2つのコンセンサスメカニズムの大きな違いの一つがエネルギー消費だ。Proof of Stakeのブロックチェーンでは、マイナーが同じパズルを解くために競い合うといった重複した処理に電力を費やす必要がないため、Proof of Stakeはネットワークをはるかに少ないリソース消費で運用できる_」と[Coinbaseは書いている](https://www.coinbase.com/learn/crypto-basics/what-is-proof-of-work-or-proof-of-stake#:~:text=In%20proof%20of%20work%2C%20the,in%20the%20network%27s%20best%20interests.)。

もともとProof of Workで立ち上げられたEthereumも、現在はProof of Stakeを採用している。

両方のコンセンサスメカニズムの比較をさらに詳しく見てみよう。

<EmbeddedTable
  table={{
    columns: [
      { key: "1", width: 200, title: "Proof of Work", dataType: "object" },
      { key: "2", width: 200, title: "Proof of Stake", dataType: "object" },
    ],
    data: [
      {
        "1": { title: "<p>Proof of work is a requirement to define an expensive computer calculation, also called mining</p>", tooltip: "", icon: "" },
        "2": { title: "<p>Proof of stake, the creator of a new block is chosen in a deterministic way, depending on its wealth, also defined as stake.</p>", tooltip: "", icon: "" },
        id: 0,
      },
      {
        "1": { title: "<p>A reward is given to the first miner who solves each blocks problem.</p>", tooltip: "", icon: "" },
        "2": { title: "<p>The PoS system there is no block reward, so, the miners take the transaction fees.</p>", tooltip: "", icon: "" },
        id: 1,
      },
      {
        "1": { title: "<p>Network miners compete to be the first to find a solution for the mathematical problem</p>", tooltip: "", icon: "" },
        "2": { title: "<p>Proof of Stake currencies can be several thousand times more cost effective.</p>", tooltip: "", icon: "" },
        id: 2,
      },
    ],
  }}
/>

<EmbeddedTable
  table={{
    columns: [
      { key: "1", width: 200, title: "Aspect", dataType: "object" },
      { key: "2", width: 200, title: "PoS (Proof of Stake)", dataType: "object" },
      { key: "3", width: 200, title: "PoW (Proof of Work)", dataType: "object" },
    ],
    data: [
      {
        "1": { title: "<p>Full Name</p>", tooltip: "", icon: "" },
        "2": { title: "<p>Proof of Stake</p>", tooltip: "", icon: "" },
        "3": { title: "<p>Proof of Work</p>", tooltip: "", icon: "" },
        id: 0,
      },
      {
        "1": { title: "<p>How It Works</p>", tooltip: "", icon: "" },
        "2": { title: "<p>Owners of the cryptocurrency can stake their coins, then the protocol selects a validator who adds a new block of transactions and earns rewards.</p>", tooltip: "", icon: "" },
        "3": { title: "<p>The first miner to solve the puzzle (finding a target hash) gets to add a block of transactions and earn rewards.</p>", tooltip: "", icon: "" },
        id: 1,
      },
      {
        "1": { title: "<p>Energy Usage</p>", tooltip: "", icon: "" },
        "2": { title: "<p>Low</p>", tooltip: "", icon: "" },
        "3": { title: "<p>High</p>", tooltip: "", icon: "" },
        id: 2,
      },
      {
        "1": { title: "<p>Equipment & Resources Required</p>", tooltip: "", icon: "" },
        "2": { title: "<p>PoS doesn't require validators to purchase specialized equipments or to solve complex equations.</p>", tooltip: "", icon: "" },
        "3": { title: "<p>PoW requires hardwares and energy, because mining capacity depends largely on a miner's computational power.</p>", tooltip: "", icon: "" },
        id: 3,
      },
    ],
  }}
/>

両方のコンセンサスメカニズムの基礎を理解するための[優れたリソース](https://www.youtube.com/watch?v=3QCykHU89To)がオンラインに多数あり、これらに時間をかけて学ぶことを強く勧める。

もちろん、暗号資産とブロックチェーンが進化し続ける中で、[新たなコンセンサスメカニズムが作られ、使われていく](https://www.youtube.com/watch?v=3QCykHU89To)ことも間違いない。

### 4. ハッシュ関数

コンセンサスメカニズムに加えて、ハッシュ関数についても理解しておく必要がある。

[ハッシュ関数](https://www.youtube.com/watch?v=jmtzX-NPFDc)は、新しい取引をブロックチェーンに書き込み、エンコードされたデータの安全性を確保するために使われる。

ハッシュ化とは、数学的な関数を使って、任意のデータ入力を固定サイズの文字列に変換する操作のことだ。簡単に言えば、ある文字列がアルゴリズムによって決まった数字と文字の並びに変換される、ということになる。

これらの関数は、最終的にブロックチェーンの不変性——取引履歴が恒久的に残る性質——を保証する。しかし、これこそがブロックチェーン開発が中央集権型のエコシステムでのプログラミングより難しくなる理由でもある。

こうしたプロトコルの設計には長い時間がかかる。完璧を期して作り込む必要があるからだ。理論上、コードをアップロードした後は、ごく限られた例外を除いて変更できない。

このテクノロジーへの理解を深めるため、できる限り多くのオンラインコースを受講することを勧める。

まずは以下から:

- プリンストン大学が提供する優れた[暗号資産の無料コース](https://www.coursera.org/learn/cryptocurrency)
- MITにも[優れたコース](https://www.youtube.com/playlist?list=PLUl4u3cNGP63UUkfL0onkxF6MYgVa04Fn)がある
- Ethereumの共同創業者Vitalik Buterinによる[この講義](https://www.youtube.com/watch?v=gjwr-7PgpN8)も、ブロックチェーンの技術的側面について優れた説明と入門になっている

動画講義やコース以外にも、優れた書籍がいくつかある。

- [The Basics of Bitcoins and Blockchains by Antony Lewis](https://www.amazon.com/dp/B08RWTV6BW/ref=dp-kindle-redirect?_encoding=UTF8&btkr=1)
- [The Blockchain Developer by Elad Elrom](https://www.amazon.com/Blockchain-Developer-Implementing-Distributed-Blockchain-based/dp/1484248465)
- [Cryptoassets by Chris Burniske and Jack Tatar](https://www.amazon.com/dp/B0743MPV9R/ref=dp-kindle-redirect?_encoding=UTF8&btkr=1)

これで網羅しているわけではないが、上記の内容を読み、実践に移せば、ブロックチェーン開発者への道は着実に開けていくはずだ。

### 5. ガス、マイナー、スマートコントラクト実行のコスト

<ImageBlock
  src="https://media.alchemy.com/1703830895-gas-miners-cost-of-running-smart-contracts.png"
  alt="スマートコントラクトの実行に対してマイナーに支払われるEthereumのガス代を示す図"
  width={881}
  height={465}
/>

ブロックチェーン開発者として、[Ethereumのエコシステム](https://www.alchemy.com/dapps/ecosystem/ethereum)における「ガス」の役割も理解しておく必要がある。

Ethereum Virtual Machine(すべての取引が計算処理される場所)が持つスペースは非常に限られている。常にその時々で、限られた計算スペースに対する需要の水準は変動している。

常時オークションが行われており、ユーザーはEthereum上の計算能力の単位である「ガス」に対して対価を支払うことができる。

ユーザーとして、[ガス代を節約する方法を知っておく](https://newsletter.banklesshq.com/p/6-ways-to-save-on-ethereum-gas-fees?s=r)ことは、自分の暗号資産ポートフォリオにとってプラスになる。ガスをよりコストフレンドリーにしつつ、マイナーにも公正な対価を確保することは、暗号資産分野の多くの開発者にとって優先課題となっている。

## ブロックチェーン開発者コミュニティとつながるには

ブロックチェーン開発者コミュニティとつながる最良の方法は、Discordサーバーやコミュニティに参加し、Twitter上でweb3開発者やソートリーダーと交流し、web3のハッカソンやカンファレンスに参加することだ。

プログラミングができることがブロックチェーン開発者としての成功に最も大きく関わってくるのは間違いないが、一行もコードを書かなくてもできることも数多くある。

ブロックチェーン開発者のコミュニティは、主にDiscordと[Twitter](http://www.meetbunch.com/the-twitter-guide)というウェブ上の二つの場所に集まっている。最も重要な議論はそこで行われており、人脈を築き、仕事を探す場所でもある。

従来型の職場とは異なり、LinkedInにきちんとしたスーツ姿の写真を載せる必要はない。Web3の世界で最も重視されるのは実質的な知識——実践、暗号資産インフルエンサーの追跡、コースの受講、ハッカソンへの参加などを通じて培った、いわばブロックチェーンへの労力の投資だ。

暗号資産やブロックチェーンについて面白いコンテンツを投稿すれば、たとえ匿名で面白いアバター画像を使っていても、人とつながり、注目されることができる。

存在感を持っておくべきDiscordサーバーやコミュニティをいくつか挙げる。

- [Ethereum.org](https://twitter.com/VitalikButerin)
- [Solidity](https://zpl.in/discord)
- [CryptoDevHub](https://discord.gg/FRVxrbFKT9)
- [Openzeppelin](https://zpl.in/discord)
- [Bankless](https://discord.com/invite/mMGsVgd)
- [Alchemy](https://discord.com/invite/mMGsVgd)

そして、フォローを検討すべき暗号資産・ブロックチェーンのトップソートリーダーは以下の通りだ。

- [Vitalik Buterin](https://twitter.com/VitalikButerin)
- [Arianna Simpson](https://twitter.com/ariannasimpson)
- [Elizabeth Stark](https://twitter.com/LexSokolin)
- [Lex Sokolin](https://twitter.com/LexSokolin)
- [Brian Armstrong](https://twitter.com/brian_armstrong)
- [Laura Shin](https://twitter.com/laurashin)
- [Charlie Lee](https://twitter.com/SatoshiLite)
- [Roger Ver](https://twitter.com/rogerkver)
- [Tyler Winklevoss](https://twitter.com/tyler)
- [Andreas M. Antonopoulos](https://twitter.com/aantonop)
- [Anthony Pompliano](https://twitter.com/APompliano)

さらに、誰もが好むわけではないが、カンファレンスに参加することは、直接人とつながり、専門的な人脈を築く良い機会になり得る。すべてを挙げることはできないが、[まずここから始められる充実したリスト](https://crowdcreate.us/best-crypto-blockchain-conference-events-in-2022/)がある。

## あなたも未来のブロックチェーン開発者になれる

プログラミングの世界に足を踏み入れたばかりでも、ブロックチェーンのキャリアをさらに一段引き上げたいと考えていても、避けて通れないことが一つある——努力を積み重ねる必要があるということだ。
とはいえ、暗号資産とブロックチェーン技術は金融、ビジネス、文化などあらゆる領域を変えつつあり、そこにあるチャンスは尽きることがない。

このガイドで紹介した提案やヒントに従えば、この世界的な変革の最前線に立つ開発者への道を着実に歩んでいけるはずだ。AlchemyはWeb3におけるリーディングなノードサービスプロバイダーの一つだ。他にも、[Enhanced APIs](https://www.alchemy.com/enhanced-apis)、[Notify API](https://www.alchemy.com/notify)、そして最新の[NFT API](https://www.alchemy.com/nft-api)を提供している。
