share
システムがあればプロトコルがある
ブロックチェーン・テクノロジーは、人々が知らなかった問題に対する画期的なソリューションとして登場した。それに伴い、今日に至るまで説明されていない用語や概念が数多く登場した。そのひとつがブロックチェーン・プロトコルだ。この用語はしばしばブロックチェーン・ネットワークと同じ意味で使われるが、正確には同じものではない。
この記事では、ブロックチェーン・プロトコルの概念、ブロックチェーンそのものとの違い、そしてその主な仕組みと応用例について説明する。
ブロックチェーン・ネットワークとは何か?
ブロックチェーンは、あらゆる暗号のベースレイヤーである。これは分散型ネットワークであり、世界中のピアツーピアのデジタル資産で、高速、無許可、匿名、安全な取引を可能にする。ネットワークは分散型データベースとして機能し、ブロックチェーン上で行われたすべての取引はオープン、匿名、ブロックに保存され、誰でも見ることができる。
ブロックチェーンは、ノードの分散型ネットワーク(世界中でネットワークを維持するために稼働しているコンピューター)によって動いている。ノードは通常、(ビットコインのようなプルーフ・オブ・ワーク・ネットワークでは)マイナーとして、または(イーサリアムやカルダノのようなプルーフ・オブ・ステーク・ネットワークでは)ステーカー/デリゲーターとして働きます。その努力に対して、マイナーとステーカーは、彼らが検証に協力した取引手数料の分け前を得る。
プルーフ・オブ・ワーク(Proof-of-Work)ネットワークのマイナーは、次の取引ブロックのハッシュ(一意の暗号識別子)を解読するのが仕事である。そのために生の計算能力を使用し、基本的に計算速度を競う。プルーフ・オブ・ステーク(Proof-of-Stake)ネットワークでは、これは計算ではなく、ネットワーク固有の通貨を大量に保有することで行われる。
ブロックチェーンのパイオニアはビットコインであり、現存する最初の暗号通貨であるBTCである。サトシ・ナカモトと名乗る無名の人物によって考案されたビットコインのブロックチェーンは、分散化された熱狂的なグループによって、むしろ象徴的に命を吹き込まれた。
ビットコイン暗号通貨はネットワークの燃料として機能し、ユーザーはトランザクションの一部を送金手数料として支払う。
イーサリアムのブロックチェーンはビットコインをベースに構築され、スマートコントラクトによってブロックチェーンの武器を拡張した。スマートコントラクトはあらかじめコード化されたアルゴリズムで、特定の条件が満たされたときに自ら実行する。例えば、アドレス(X)からNFTトークン番号(XYZ)を受信次第、200ETHをアドレス(X)に送信します。
スマートコントラクトは、ブロックチェーン・アプリケーションの展開において比類のない柔軟性を可能にし、本質的に今日のすべてのDeFiのファブリックとなっている。イーサリアム・ネットワークが先駆者となり、スマート・コントラクトは流行し、今日知られているブロックチェーン・プロトコルのほとんどで実装されるようになった。
さて、ブロックチェーン・ネットワークが何であるかを理解したところで、ブロックチェーン・プロトコルが何であるかを理解しよう。
ブロックチェーン・プロトコルは、基本的にブロックチェーン・ネットワークがどのように動作するかを管理するルールである。それはブロックチェーン・ネットワークそのものではなく、そのすべての仕組みに組み込まれた一連のルールである。これは、ネットワークのさまざまな要素が特定のことをいつ、どのように、どの程度までできるか、またはできないかを定義します。
すべてのブロックチェーンのバックボーンは、その一挙手一投足を管理する一連のプロトコルである。これらのプロトコルは、ネットワークのセキュリティ、接続性、コンセンサス手続きを支える柱であり、すべてが時計仕掛けのように動くことを保証する。取引を監督する中央当局がないため、これらのプロトコルは信頼できる台帳コピーを維持し、コンセンサス方式で取引を検証する重要な役割を担っている。いったん検証されると、変更は不可能なブロックに記録される。
身の回りの主なプロトコル
システムがあればプロトコルがある。プロトコルとは、何かを機能させるための基礎となるレイヤーのことだ。もちろん、プロトコルは暗号通貨だけのものではない。プロトコルは、あるコンピューターから別のコンピューターへのデータ伝送を管理する、インターネットが機能するための基本的なものだ。
現在、私たちが当たり前だと思っていることの多くは、ネットワークプロトコルによって実現され、管理されている。その代表的なものが、TCP/IP:Transmission Control Protocol/Internet Protocol(伝送制御プロトコル/インターネット・プロトコル)で、ウェブ上の機器間の接続に使われ、HTTP/HTTPS:Hypertext Transfer Protocol(HTTP)はウェブサーバーとクライアント間のデータ転送に使われる。
ブロックチェーン・プロトコルは何が違うのか?
しかし、ブロックチェーンのプロトコルに関しては違いがある。従来のデータ転送よりも面白く、複雑になる。ブロックチェーン・ネットワークは、意思決定有機体の分散型フレームワークであり、それぞれがアルゴリズムに従うだけでなく、より多くのことをしなければならない。このことは、一連のルールがネットワークを構成するすべてのノードによって合意され、観察され、検証されなければならないことを意味する。
ここからが少し複雑になる。実はブロックチェーンのプロトコルには3種類ある:
- ネットワーキング・プロトコル
- コンセンサス・プロトコル
- 状態遷移関数
どのタイプも他のタイプと同様に重要であり、物事をスムーズに進めるためには、この3つすべてに忠実に従わなければならない。
ネットワーク・プロトコル
ネットワーキング・プロトコルは、ネットワークのノードが通信できる(できない)ルールを定めたものだ。これには、ノードが互いを発見し認識する方法、ブロックやトランザクションに関する情報を交換する方法、その他ありふれたことが含まれる。このプロトコルには、ノードがお互いのメッセージをどのように解読するかを定義する構文が含まれています。
コンセンサス・プロトコル
コンセンサス・プロトコルは、ノードがどのトランザクションを有効または無効とみなすかについて合意する方法を概説している。ご存知のように、各ノードはネットワーク全体の完全なコピーをハードディスクに保存している。このコピーには、ネットワークに登録されたすべてのデータが含まれている。各コピーは、新しいブロックが偽造され、新しいトランザクションが検証されると、リアルタイムで更新される。
したがって、あるノードがネットワークに追加する新しいブロックを送信するとき、そのノードは1つのブロックだけを送信するのではなく、実際にはブロックチェーンのこれまでのコピー全体を送信する。そして、他のすべてのノードから提出されたネットワークのコピーをスキャンし、評価し、(中略)検証するのは、ネットワーク上のすべてのノードの仕事だ。ビットコインのようなProof-of-Workネットワークでは、ブロックの最も長いチェーンだけが検証される。ご想像の通り、これは膨大な作業であり、同程度のコンピューティング・パワーを必要とする。
プルーフ・オブ・ステーク・ネットワークでは、バリデーターは、そのネットワークのネイティブコインを大量にウォレットに保有するノードの中から、ネットワークによってランダムに選ばれる。このアプローチを資本主義的な独占と同一視する人もいるかもしれないが、ネットワークを独占する見込みは先手を打って取り組まれている。これには、各ノードが賭けられる金額、検証を許可されるトランザクションの数、検証の頻度などの制限が含まれる。いずれにせよ、制限や制約はすべてプロトコルに定められている。
状態遷移関数
ここからが本格的な技術的な話になる。
状態とは、基本的に、ネットワークが任意の時点で「考えている」ことすべてである。すべてのノード、トランザクション、ブロックの現在の「位置」、「関係」、「動き」、これらすべてがネットワークの状態を構成する。
ネットワークの状態は、その中のエレメントのセットやバランスと同様に、時間とともに変化する。状態遷移は特定の方法で登録される必要があり、ネットワーク・プロトコルはその点も監視している。ノードがネットワークに出入りし、情報を交換し、ブロックチェーンの構造を変化させると、新たな複雑さとともに新たな可能性が生まれる。
ステートは、ネットワークがその時点でできること、できないことのすべてをカプセル化したものである。もし条件AとBが満たされれば、ネットワークはXとYを行うことができる。もしステートが条件CとDによって定義されるなら、可能なアクションはWとZだけである。
上記の各部分は、Verified Stateと呼ばれる三位一体のパズルのピースとして機能する。トランザクションに関する情報がネットワーキング・プロトコルに入ると、そこで検証または破棄される。検証されれば、ゲートキーパーの役割を果たすコンセンサス・プロトコルに移行する。コンセンサス・プロトコルは、他のノードのデータと一致した場合に、データがネットワークの状態に入ることを許可する。
受け入れられた場合、データは状態遷移関数に引き渡され、そこでネットワークの新しい検証済み状態となる。ベリファイド・ステートは、ブロックがチェーンに追加された後に実際に「何が起こるか」を定義する実用的なフロンティアである。これには、特定のウォレットの残高を変更したり、スマートコントラクトを起動したりすることが含まれる。
ノードはプロトコルから逸脱できるか?
ノードはプロトコルに背くことができますか?前述したように、ブロックを検証するには、すべてのノードが他のすべてのノードからオンラインで提出されたすべてのデータをチェックする必要がある。そのためには、ブロックチェーンのプロトコルに忠実に従わなければなりません。もし1つのノードが従わなければ、他のノードと協力することができず、報酬を得ることもできない。つまり、ブロックチェーンには異論が入る余地がなく、その状態は本質的に全体主義的なのだ。
しかし、ブロックチェーンが強制的に、あるいは意図的に2つに分割されることがある。フォークが起こるのは、まさに一部のノードが分散台帳の残りの部分と矛盾するデータを提出するためだ。
正常な動作状態であれば、ネットワークはデータの不具合の原因を突き止めようとはせず、ただそのノードを他のネットワークから切り離し、そのまま放置する。そのため、潜在的に悪意のあるノードはネットワークに影響を与えることができない。各ブロックチェーンの “間違った “コピーの大部分は、今もどこかに保管されている可能性がある。
しかし、フォークは良いことでもある。ブロックチェーン・ネットワークは、現在の状態をただ「更新」することはできない。検証された新しい状態は、ネットワークの完全な新しいコピーとなる。
ブロックチェーンの主要な更新はフォークと呼ばれることをご存知だろうか。このように、ブロックチェーンは更新が必要になると、開発者によって意図的に新しいコピーにフォークされる。更新前のバージョンはレガシーとして保存され、新しくフォークされたものが本物となる。
ビットコインのプロトコルを理解する
ブロックチェーン・プロトコルがどのようなものを管理するのか、もう少し掘り下げてみよう。例として、ビットコインのネットワークを見てみよう。
ビットコインは金の塊のように手渡されるものではありません。BTCを送受信するときはいつでも、実際にはビットコインを「もらったり」「あげたり」しているわけではありません。実際に起きているのは、新しい取引ごとにデジタル署名が登録されることだ。この署名には、ハッシュ(前回の取引の一意の暗号ID)と受信者の公開鍵が含まれている。したがって、各取引は暗号証明によって保護されており、改ざんや偽造はできない。
オンライン上の売り手と買い手の主な懸念は、ある時点で利用され、金融詐欺の餌食になるかもしれないということである。これはフィッシングや明らかな偽取引という形で現れるかもしれない。また、二重支出の問題や、不当な利益を求めてシステムを改ざんすることもある。ブロックチェーンは中央組織によって管理されていないため、取引の安全性に関する懸念はすべてプロトコルの肩にかかっている。
ビットコインの開発者はこれらの懸念に対処し、デジタル署名や暗号証明のようなメカニズムを導入して緩和した。したがって、ビットコインのプロトコルは、他のノードに存在する暗号証明と一致する暗号証明を持つブロックのみを検証することができます。
タイムスタンプサーバーとプルーフ・オブ・ワークシステム
二重支出はブロックチェーンにおける大きな問題である。これは、ユーザーが同じデジタル通貨を2回使おうとするシナリオである。これは、通貨がデジタルであるため、発見されずに通貨の複製やコピーが容易になる可能性があるために発生する可能性がある。
あるユーザーが1BTCを持っていて、それを2つの異なるアドレスに送って2回使おうとしたとする。従来の決済システムであれば、システムは二重支出の試みを検知し、取引を拒否するだろう。しかし、分散型ブロックチェーン・ネットワークでは、プルーフ・オブ・ワーク・システムとコンセンサス・アルゴリズムにより、各取引が有効であり、すでに使用されていないことが保証されるため、これを防ぐことができる。
これを確実にするため、ビットコインのプロトコルはタイムスタンプサーバーを実装し、各取引のハッシュに一意のタイムラベルを貼り付ける。プルーフ・オブ・ワーク・システムは各タイムスタンプを記録し、すでにシステムに登録されているハッシュと一致する取引を拒否する。
ビットコインのネットワークで偽造された新しいブロックには、それぞれプルーフ・オブ・ワークが添付されている。証明は Nonce または Number Only Generated Once とも呼ばれる。これは、マイナーがブロックを検証するためにいくらかの計算能力を費やし、成功したことを暗号学的に証明する役割を果たします。
しかし、他のノードが採掘したものと矛盾するデータを含む不良ブロックも存在する。不良ブロックが検出された場合、そのブロックは引き抜かれ、矛盾がないかさらに評価される。有効だと判断されれば、そのブロックは通常通りネットワークに追加される。そうでない場合は破棄される。
これまでのプロトコル
とはいえ、各主要ネットワークは、コンセンサス・メカニズム用に特別に作られた独自のプロトコルに従う。ビットコイン・ネットワークはビットコイン・プロトコルで、イーサリアムはイーサリアム・プロトコルで動いている。
以下は、現在までに最も著名なブロックチェーン・プロトコルである:
ポルカドット (DOT)
Polkadotは、異なるブロックチェーン間の相互運用性に革命をもたらし、スマートコントラクトの助けを借りてシームレスな通信とデータ共有を可能にする先駆的なブロックチェーンプロトコルです。そのユニークなNPoS(Nominated Proof of Stake)コンセンサス・メカニズムは、わずか6秒という超高速の平均ブロックタイムと平均0.10~0.20ドルの低重量取引手数料で、高度に安全でスケーラブルなプラットフォームを提供します。
注目すべきプロジェクトクサマ、チェーンエックス、ムーンビーム、チェーンリンク、リーフファイナンス
アバランチ(AVAX)
Avalancheはオープンソースのプラットフォームであり、世界中の分散型金融(DeFi)愛好家やブロックチェーン開発者にとって希望の光となっている。その最先端のAvalancheコンセンサス・メカニズムは、高いスループットと迅速なファイナリティを可能にし、市場で最もスケーラブルで高速なブロックチェーンの1つとなっている。アバランチは平均2秒のブロックタイムと平均1ドル以下の取引手数料を誇る。
注目すべきプロジェクトPangolin、Trader Joe、Benqi、Lydian Lion、SushiSwap
ポリゴン(MATIC)
Polygonは、イーサリアムのスケーラビリティと取引手数料の問題を変革する次世代のLayer-2スケーリングソリューションである。そのPoS(Proof-of-Stake)コンセンサスメカニズムは、金融取引を迅速に検証し、平均ブロックタイムはイーサリアムよりはるかに速い2-3秒です。平均取引手数料は0.002ドルで、Polygonは費用対効果の高い分散型アプリケーションの構築を目指す開発者にとって理想的な選択肢です。
注目すべきプロジェクトAave、Quickswap、Curve Finance、Polymarket、Zapper
ソラナ(SOL)
Solanaは、Proof-of-History(PoH)コンセンサスメカニズムによってブロックチェーン業界に旋風を巻き起こした高性能ブロックチェーンプラットフォームです。平均ブロックタイム0.4-0.8秒、平均取引手数料0.00025ドルというSolanaの高いスループットと高速ファイナリティは、信じられないほど高速で手頃なブロックチェーンプラットフォームとなっている。
注目すべきプロジェクトRaydium、Serum、Mango Markets、Audius、Bonfida
バイナンス・スマートチェーン(BSC)
バイナンス・スマートチェーンは、イーサリアム仮想マシン(EVM)との互換性と分散型アプリケーションを実行する能力でゲームを変えたブロックチェーンプラットフォームです。また、その互換性により、イーサリアムからより効率的で費用対効果の高いプラットフォームへのアプリケーションの移行を検討している開発者にとっても魅力的な選択肢となっている。
注目すべきプロジェクトPancakeSwap、Venus、Spartan Protocol、BakerySwap、Autofarm
ブロックチェーン開発ソリューションの探し方
ICODAでは、ブロックチェーン開発サービスおよび機能するブロックチェーン製品の開発における長年の専門知識を持っています。ブロックチェーンソフトウェア開発プロジェクトがあれば、私たちがお手伝いします。トークンやDApp、DEXやNFTマーケットプレイスの立ち上げが必要な場合も、ブロックチェーン開発ソリューションがお客様のビジネスにどのようなメリットをもたらすかをお知りになりたい場合も、弊社にお任せください。今すぐお問い合わせの上、簡単な計画を立て、すぐに作業を開始してください。