今や様々なパブリックブロックチェーンが開発され、スケーラビリティの改善が行われてきました。しかし、エコシステム間の相互運用性は依然として低く、流動性の分断が起こっています。この傾向は、クロスチェーンソリューションが増えている現在でもあまり改善されておらず、レイヤー2の爆発的な増加とともにむしろ悪化する傾向にあります。2018年に設立されたNervos Networkは、早期からスケーラビリティと相互運用性の問題に注目し、モジュラーブロックチェーンを構築しています。
Nervos Network(CKB)の概要
Nervos Network(ナーバスネットワーク、以下Nervos)は、モジュラー構造を採用したブロックチェーンネットワークです。ベースレイヤーは、2019年11月16日から稼働を開始し、ネイティブトークンとして$CKBを発行しています。
一般的に、ブロックチェーンの主な作業はトランザクションの実行、データ可用性の保証、データベースの正しさについて合意する(コンセンサス)という3つがあります。これらのタスクを実行すると、いわゆる「ブロックチェーンのトリレンマ」にぶつかることになります。これらを解決するための方法として、Nervosはチェーンのレイヤーを2つに分割しました。レイヤー1は Common Knowledge Base (CKB) と呼ばれ、データ可用性の保証と、コンセンサス、及び相互運用性の確保を担います。そして、レイヤー2でトランザクションの実行、及び新しいステートの生成を行います。
また、レイヤー1のCKBは、分散化とセキュリティの観点から Proof of Stake (PoS) をあえて採用せず、Bitcoinのコンセンサスモデルを改良した Proof of Work (PoW) を用いています。加えて、低レベルなRISC-V命令セットに対応することによって、現在主流のWebAssemblyやEVMのような高レベルな命令セットの仮想マシンよりもさらに柔軟なアプリケーションを実現できるようになります。
Nervos Network の技術ハイライト
レイヤー1: Common Knowledge Base (CKB)
Nervos NetworkのベースレイヤーはCommon Knowledge Base (CKB)を提供しています。CKBでは、データ可用性の保証とコンセンサス、及び相互運用性を提供します。また、以下の技術的特徴を併せ持っています。
NC-Max: PoWによるコンセセンサス
CKBでは、Proof of Work (PoW) によるコンセンサスアルゴリズムであるNC-Maxを採用しています。レイヤー1のコンセンサスはProof of Stake (PoS) が主流になる中で、NervosはあえてPoWを採用しました。プロジェクトは、PoSについて以下のように述べています。
- 基本的なインセンティブ構造により、長期的に集中化をもたらす。
- トランザクションの受け入れがバリデーターに委ねられているため、コントロールされる可能性があり、その発見や罰則が困難。
- ステーキングの仕組み自体は、ネイティブトークンの価値を増加させるものではない。
- バリデーターが個人から委任を受ける構造であるため、バリデーターが規制当局の影響を受けると、それが個人にも及ぶ場合がある。
プロジェクトは、PoWにおいて優位的立場になるには継続的な設備投資が必要であるため、マイナーが長期的に同じ立ち位置にいるのは難しく、最終的に分散化をもたらすとしています。また、PoWシステムにおけるコンセンサスへの参加は、真にオープンであり、現在の権力構造に左右されることはないと述べています。
一方で、PoSメカニズムは、PoWと同じロジックを使っていますが、実装方法が異なることにより異なる結果を得られるとしています。 PoWでは電力などの外部リソースを使用しますが、PoSではバリデーターがトランザクションを検証する代わりに、同じ暗号資産をステーキングして報酬を受け取ります。そして、時にはスラッシングによってそれを失う可能性もあります。これにより、同じ資産によってプロトコルが保護される循環型のセキュリティ依存が生まれることになります。
CKBは、PoWを使ったコンセンサスアルゴリズムとしてNC-Maxを採用しました。NCはBitcoinが採用している Nakamoto Consensus に由来しており、NC-Maxはその改良型にあたります。Bitcoinのセキュリティはすでに高いと言われているものの、セルフィッシュマイニング攻撃による脆弱性があります。プロジェクトは、NCにセルフィッシュマイニング攻撃への耐性をつけました。そして、新規性とシンプルさ、安全性の設計基準を満たした独自のハッシュ関数であるEaglesongを採用しました。一般的にPoWを採用するプロジェクトは専用ハードウェア (ASIC) を使ったマイニングを嫌う傾向にありますが、対照的にCKBはチェーンのセキュリティを高める要因になるという考えからASICを推奨しています。
Cellモデル: UXTOとアカウントモデルの長所をとった会計モデル
ブロックチェーンが最初から選択しなければいけないものの1つに、どのようにステートを記録し保存するかを決定する会計モデルがあります。
代表的な会計モデルには、Bitcoinに採用されているUTXOとEthereumに採用されているアカウントモデルがあります。前者は現金、後者は銀行口座という例えが当てはまります。UTXOは、現金と同様の動きをし、ユーザーが一度だけ使うユニークな紙幣に似ています。ユーザーは、自分が持っているユニークな紙幣を合計することで残高を把握します。一方で、アカウントモデルは銀行口座のように機能し、送金は銀行の台帳上の異なるユーザーのアカウントに借方・貸方として記録されます。
これらには長所と短所があります。UTXOモデルはステートレスであるため、ステート情報を必要とするコントラクトの開発が難しいものの、並列トランザクション処理をサポートするため、高いスケーラビリティを実現できます。また、UTXOは検証ベースであるため、アカウントモデルよりリソース消費が少なくて済みます。対照的に、アカウントモデルはフルステートであるため、ステート情報を必要とするスマートコントラクトの開発が容易にできる一方でスケーラビリティに欠けます。また、アカウントモデルは計算ベースであるため、リソースの消費はUTXOより多くなります。このように、両者の長所と短所はトレードオフの関係にあります。
Nervosは、これらの2つの長所を併せ持つセルモデルと呼ばれる会計モデルを採用しています。セルモデルは、より一般的で抽象的な会計モデルで、アプリケーションのコントラクト開発者に制限を与えません。これにより、セキュリティや柔軟性、および相互運用性が向上すると見込まれています。
CKB-VM: RISC-V命令セットを利用する仮想マシン
CKBでは、仮想マシンとしてCKB-VMを実装しています。
現在主流のWebAssemblyやEVMといった仮想マシンは、高レベルな命令セットを利用しています。Nervosプロジェクトは、これらの仮想マシンについて、1つ上のレベルに位置するソフトウェア上に構築するため、本質的に処理能力が制限されると述べています。
対照的に、CKM-VMはオープンソース規格であるRISC-Vとよばれる低レベルな命令セットに基づいており、可能な限り低レベルのソフトウェアスタックを作り、生の命令をCPUに直接提供するようになっています。つまり、仮想マシンのCKB-VMはハードウェア上に直接構築されていると解釈することができます。
RISC-Vを使うメリットとして、アプリケーション開発者がブロックチェーンで構築できるものの選択肢が大幅に広がることがあります。開発者があらゆるプログラミング言語を使ってCKBでスマートコントラクトを構築できる他、シュノア署名、BLS署名、zkSNARK、zkSTARKなどの任意の暗号プリミティブを使用してアプリケーションを構築できるというメリットがあります。
レイヤー2
Nervosにおけるレイヤー2は、CKBのセキュリティや分散化を犠牲にすることなく、毎秒数百万件のトランザクションに拡張できるようにします。レイヤー2は、他のブロックチェーンのレイヤー2と同様に、トランザクションの実行やステートの生成を行います。
2023年4月時点で、公になっているNervosとして、GodwokenとAxonがあります。Godwokenはブロックチェーンゲームに最適化されたEVM対応のレイヤー2で、Unity Game Engine SDKとの直接接続をサポートしています。また、Axonは汎用性や相互運用性を重視したEVM互換のレイヤー2です。独自のBFTにより高いパフォーマンスを確保し、Cosmos IBCへの対応を予定しています。いずれのレイヤー2もOptimistic Rollupを採用しています。
CKBトークン
CKBトークンの概要
$CKB(正式名称:CKByte)は、Nervosのレイヤー1ブロックチェーンのネイティブトークンです。
$CKBは、ステートのためのストレージの購入、ブロック報酬によるスマートコントラクトの実行、マイナーの取引手数料として使用されます。また、$CKBは、マイナーがステートを借りるために発行され、プロトコル内のNervos DAOの長期保有者にもなります。ストレージ購入の場合、レートは「1CKB=1バイト」になり、1KBのデータをオンチェーンに保存したい場合は、1,000CKBを保有する必要があります。
CKBトークンの発行
初期供給
レイヤー1の立ち上げ時に、$CKBは以下の割当に応じて336億枚が発行されました。
- 25.0%:立ち上げ時と同時にバーン(=現在は流通しない)
- 21.5%:パブリックセールの投資家
- 15.0%:チーム(4年間のべスティング)
- 17.0%:エコシステムへの資金提供
- 14.0%:プライベートセールの投資家(2年間のべスティング)
- 5.0%:プラットフォームの戦略的資金提供パートナー
- 2.0%:Nervos財団
- 0.5%:テストネットのインセンティブ
追加供給
追加分の供給は、1次発行と2次発行の2段階により行われます。
- 1次発行:336億枚を排出し、4年毎に半減期を経ながら排出量が減少
- 最初の4年間は42億CKBを毎年排出
- 最初の半減期は2023年11月を予定
- 2次発行:毎年13億4400枚を排出し、無制限発行
- マイナー報酬
- NervosDAOにCKBをロックしたユーザーへの報酬
- トレジャリー資金(2023年4月現在はバーン)
上記を踏まえ、$CKBの供給量推移は以下のようになります。