Stacks — ビットコインの新たな地平を拓く

「ナカモト」と呼ばれる寓話、蛹が蝶になるまでの物語
Stacks — ビットコインの新たな地平を拓く
Stacks — ビットコインの新たな地平を拓く
免責事項: 本レポートの内容は、著者の見解を反映しており、情報提供のみを目的としています。トークンの購入や売却、プロトコルの利用を推奨するものではありません。本レポートに含まれる内容は投資助言を意図したものではなく、投資助言として解釈されるべきではありません。

1. ビットコインネットワークの新機軸

2023年初頭、ビットコインネットワークに登場した「オーディナルズ(Ordinals)」は、ブロックスペースの利用法について多方面から議論を呼びました。その後5月になると、BRC-20への需要が急増し、一時的にビットコインネットワークがブロック処理に支障をきたす事態となり、結果としてバイナンスがビットコインの出金を一時停止せざるを得なくなりました。

「順序付け番号」を意味する”ordinal”に由来する名前のオーディナルズは、2023年1月にケーシー・ロダモアが考案したプロトコルで、ビットコインの最小単位satoshiに任意のデータを添付できる機能を実装したものです。オーディナルズを使えば、テキスト、画像、音声、動画、コードなどをビットコインブロックチェーン上に保存できるようになり、イーサリアムでお馴染みのPFP NFTコレクションがビットコイン上に多数登場することとなりました(詳細はこちら)。

4月24日時点のCoinGeckoによる時価総額トップ10 NFTコレクション (出典: CoinGecko)

4月24日時点のCoinGeckoによるトップ10 NFTコレクション時価総額ランキングでは、ビットコイン発のNFTコレクション3つが上位に入っています(NodeMonkes、Runestone、Bitcoin Puppets)。これはビットコインがスマートコントラクトプラットフォームとしての可能性を秘めていることを示しています。

1.1. ビットコインL2としてのStacks

このようなコンテキストの中で、ビットコインネットワークをL1(メインチェーン)とするL2プロジェクトが次々と登場しています。4月15日時点のDeFiLlamaの分類では、「Bitcoin Sidechains」に区分される11のプロジェクトで、TVLは約9億ドル($900M)に上ります。これらのプロジェクトがビットコインをL1として実際にL2として機能しているかについては議論の余地がありますが、TVLの急増とプロジェクト増加自体が、市場のビットコイン関連への高い関心を物語っています。

近年のStacksの成長は特筆に値します。2017年にリリースされたプロジェクトの1つではありますが、2021年以降、ビットコインネットワークにスマートコントラクト機能を実装することを目指して着実に活動を継続してきました。以下では、Stacksの動向と、今後の大規模アップグレード「ナカモトリリース(Nakamoto Release)」について詳しく説明します。


2. Stacksの始まり — Blockstack

2016年、ムニーブ・アリのTED講演ビデオ (出典: TEDx Talks)

2017年、ムニーブ・アリ博士が学位取得後、Stacks(当時はBlockstacks)のホワイトペーパーを発表し、CoinListでのトークン販売を通じて5,200万ドルの資金を成功裏に調達しました。しかし、ムニーブらの初期チームメンバーは、それ以前からビットコインのL1で直接プロトコルやアプリを構築する 「ワンネーム(Onename)」 というプロジェクトに取り組んでいました。このプロジェクトはビットコイン上で分散型ID/プロファイルページの作成を可能にし、その経験が2017年のStacks構想に生かされました。チームはより堅牢なプラットフォーム構築に注力しました。

Blockstacksは、インターネットの集中型データ管理に警鐘を鳴らし、ブロックチェーン技術でデータ主権を実現する分散型ネットワークを目指しました。開発者がイーサリアム並にDAppを簡単に構築できるブロックチェーンレイヤーの創設を企図していました。

一方で、Blockstacksトークンの 「スタックス(STX)」 はSECのRegulation A+ルールに基づき2019年に販売が承認され、2,300万ドルの資金調達に成功しました。規制の網内でトークン販売を実現した初の事例として、業界の注目を集めました。

2018年から2020年にかけて、Stacksチームは堅牢なプロジェクトインフラ構築に専念しました。ビットコインとスムーズな相互運用性を持つクロスチェーン合意によるブロックチェーンで、ビットコインのプログラミングレイヤーとしての役割を担うよう設計されました。また、Stacks専用のClarityという新しいプログラミング言語が開発されました。この期間中、Union Square VenturesやHarvard Endowment、Winklevoss Capital、Naval Ravikantなどの著名投資家から資金を調達しています。


3. Stacks 2.0

「私はビットコインを最も分散化された優れた通貨レイヤーだと考えています。現在流通しているビットコインの1%がラップド・ビットコイン(wBTC)としてイーサリアム上に発行されていることは、スマートコントラクトでビットコインを利用したいというニーズの表れです。ビットコインネットワークにスマートコントラクト機能を実装することはどうでしょうか?」 — Stacks創設者ムニーブ・アリ (出典: Bitcoin DeFi? It’s a Thing, Says Stacks Founder Muneeb Ali, Decrypt

3.1. 送金証明 (Proof of Transfer, PoX)

送金証明のフロー (出典: stacks.co)

Stacksのコンセンサスメカニズムである送金証明(Proof of Transfer: PoX)は、ビットコインネットワークのセキュリティを継承する上で中心的な役割を果たします。これはProof of Burn(燃焼証明)の拡張と見なすことができます。Proof of Burnは、Proof of Work(作業証明)環境下で、対象ネットワークの暗号資産を燃焼(破棄)することでマイニング競争に参加する合意形成メカニズムです。

Proof of Burnではマイナーがビットコインを燃焼するのに対し、PoXではマイナーが保有するビットコインをStacksのネイティブトークンSTXを保有するスタッカー(Stacker)に送金します。マイナーはStacksノードを運用し、マイニングプロセスに参加できます。そしてビットコインネットワークをアンカーチェーンとして利用し、ブロック生成とマイニングを行います。PoXの詳細なフローは以下の通りです。

  • 登録(Registration):マイナーはコンセンサスデータをネットワークに送信し、マイナー候補として登録
  • 約定(Commitment): 登録されたマイナーは、STXトークン保有者に対してビットコインを送金し、マイニング競争に参加
  • 選出(Election):検証可能な乱数関数(VRF)を使い、次のStacksブロックを生成するマイナーを選出
  • 構築(Assembly):選出されたマイナーがブロックを生成し、報酬としてSTXトークンを受け取る

選出プロセスを経てStacksチェーンの新ブロックを生成したマイナーは、そのブロックのハッシュ値をビットコインブロックに記録します。一方で、PoXを通じてビットコインネットワークのマイナーとStacksチェーンのセキュリティに貢献したスタッカー間でインセンティブ設計が成り立ちます。ここでの「スタッキング」は、ステーキングに似ていますが、STXをロックアップする代わりにアンカーチェーンのBTCを報酬として受け取る点が異なります。マイナーとスタッカーの具体的な役割は下の図の通りです。

マイナーとスタッカーの役割 (出典: stacks docs)

マイナーの役割

  1. マイナーは、Stacksブロックに含まれる取引手数料と新規発行のSTXを報酬として受け取るため、スタッカーにビットコインを送金します。
  2. 送金したビットコイン量に応じて、検証可能な乱数関数(VRF)を用いてマイニング競争での勝利確率が決まります。
  3. 選出されたマイナーは、Stacksチェーンに新規ブロックを生成し、マイクロブロックのストリーミング権を獲得します。
  4. 選出されたマイナーは、ブロック報酬としてSTXと取引手数料を受け取ります。

スタッカーの役割

  1. スタッカーは、保有するSTXを一定期間ロックアップします。
  2. ロックアップするSTX量に応じて、単独でスタッキングするか、他のスタッカーとプールを組むかを選択できます。
  3. スタッカーは、ビットコイン報酬を受け取るためビットコインアドレスを提供し、ロックアップしたSTX量に応じて報酬を得る確率が決まります。
  4. ロックアップ期間が終了すると、スタッキングしていたSTXがアンロックされます。

3.2. ビットコインのレイヤー2?

Stacks 2.0はメインネットの立ち上げとProof of Transferの導入により、ビットコインネットワーク上でスマートコントラクトを実行できるプラットフォームとしての役割を果たすことになりました。しかし、ビットコインのレイヤー2と呼ぶには多少の違いがあります。

  • Stacks 2.0には独自のネイティブトークン(STX)が存在し、ビットコインネットワークとは別のセキュリティバジェットを持っています。
セキュリティバジェット : ネットワークの完全性を維持するためのリソースで、マイニング報酬、運営費用、手数料などを指します。
  • イーサリアムなどのレイヤー2とは異なり、レイヤー1のセキュリティやバリデーターによる資産の出し入れが発生しません。

このような理由から、Stacks 2.0を従来のレイヤー2と同列に位置付けるのは適切ではありません。一方で、Stacksチェーンの取引がビットコインネットワークで最終的に決済されるため、サイドチェーンとも呼べません。Stacksの共同創設者ムニーブ・アリは、このユニークな構造を2021年のDecryptのインタビューで「レイヤー1.5」と表現しています。

ビットコインはスマートコントラクトプラットフォームとして設計されていないため、スマートコントラクトの導入や拡張性向上の取り組みは、イーサリアムやEVMチェーンとは異なる進め方になります。スパルタングループの2023年12月レポート「Bitcoin Layers — A Tapestry for the Age of Credible Neutrality」によると、ビットコインレイヤー2の区分けをより明確に理解できます。

ビットコインLayer 2のトリレンマ (出典: BITCOIN LAYERS — Tapestry of a Trustless Financial Era)

上の図はビットコインレイヤー2のトリレンマを示しており、その3つの条件は以下の通りです。

  1. Open Network:連合型ではなく、オープンなネットワークであること
  2. No New Token:新たなトークンを導入しないこと
  3. Full VM/Global State:制限付きのオフチェーンコントラクトではなく、「グローバルステート」を備えていること

Stacksは新たなトークン(STX)を導入しているため条件2を満たしていませんが、条件1と3を満たすビットコインレイヤー2ソリューションと見なすことができます。比較対象として挙げられるLightning Networkは条件1と2は満たすものの、取引プロセスがメインチェーンとは別のP2Pネットワーク上の「ローカルコンセンサス」にのみ記録されるため、条件3を満たしていません。


4. Stacks 3.0に向けて — Nakamoto Release

4.1. 既存のStacksチェーンの課題

上述のStacksチェーンのユニークな構造は、ビットコインネットワーク上でスマートコントラクトを実行できる理由でもありますが、同時にシステムの課題の原因ともなっています。主な課題は以下の通りです。

  • セキュリティモデル
    • Stacksチェーンはビットコインとは別のセキュリティバジェットを持ち、これはStacksマイナーから支払われるビットコインで定義されます。
    • つまり、チェーンのセキュリティがStacksマイナーの予算に大きく依存しており、セキュリティリスクが高まります。
  • パフォーマンスとスケーラビリティ
    • Proof of Transferなど、Stacksチェーンとビットコインネットワークの連携を可能にする構造は、分散性とセキュリティ向上に貢献する一方で、チェーンのパフォーマンスとスケーラビリティを制限する要因ともなりました。
    • 特に、マイナー選出プロセスを経てブロックが生成されるため、Stacksチェーンの速度がビットコインのブロック生成サイクルに連動し、非常に高い取引承認レイテンシーが発生します。
    • ユーザーエクスペリエンスが損なわれ、DAppのオンボーディングが困難になります。
  • MEV問題
    • 相当なビットコインハッシュレートを持つビットコインマイナーは、自身がStacksマイナーに選ばれた際、他のStacksマイナーのコミットメント取引(マイニング競争参加のためのビットコイン送金)を検閲し、Stacksの報酬と手数料を確実に獲得できます。

4.2. 主要目標とデザイン変更

4.2.1. 主要目標

今年予定されている「ナカモトリリース」は、上記の課題を解決し、Stacksチェーンのパフォーマンスとセキュリティを改善することを主な目標としています。主な変更点は以下の通りです。

  • 高速ブロック生成(Fast blocks)
    • ユーザーが送信した取引がブロック内でマイニングされ承認を受けるまでの時間が、数十分から数秒に短縮されます。
    • これは、マイナー選出プロセスをブロック生成から分離することで実現し、マイナーが次の選出プロセスの前に多数のブロックを生成できるようになります。
  • ビットコインのファイナリティによるセキュリティ確保
    • Stacksチェーンの取引は、ビットコインネットワークのハッシュパワーでセキュリティが担保されます。
    • つまり取引がビットコインネットワークで最終決済され、最も安全なネットワークから不変性が保証されます。
  • MEV耐性の向上
    • STX報酬に対するビットコイン入札メカニズムを改善し、マイナー選出プロセスでのMEV問題を軽減します。
    • ビットコインマイナーがStacksマイナーとしての利益を得られないよう、選出アルゴリズムを変更します。

4.2.2. ブロック生成メカニズムとスタッカーの役割変更

従来のStacksチェーンでは、ブロックがビットコインブロックに1対1で対応していたため、ブロック生成の遅さとそれに伴う取引承認の遅延が問題となっていました。

ナカモトリリースでは、**「任期ベースのブロック生成メカニズム(Tenure-based block production)」**が導入され、この問題を解決し、高速なブロック生成を可能にします。Stacksチェーンのブロックは、ビットコインブロックに1対1で対応するのではなく、選出されたマイナーの任期、つまりビットコインのブロック生成サイクル中に複数のStacksブロックが生成されます。このメカニズムにより、ブロック生成および確認時間は約5秒に短縮され、Stacksチェーンの拡張性が飛躍的に向上します。

この際生成されるStacksブロックの妥当性検証は、スタッカーが担います。従来スタッカーはSTXトークンをロックアップ(スタッキング)してStacksネットワークの経済的セキュリティに貢献する役割でしたが、ナカモトリリース以降はマイナーの任期中に生成されたStacksブロックを検証、保存、署名、伝播する「署名者(Signer)」の役割を担います。これにより、マイナーとスタッカーの相互関係は以下の図のようになります。

ナカモトリリース後のマイナーとスタッカー(署名者)の相互作用 (出典: stacks docs
  1. マイナーはStacksネットワークのマイナーに選出されるため、ビットコインをスタッカーに送金し、選出プロセスに参加します。
  2. 新しいマイナーが選出されると、そのマイナーに新たな任期を与える「任期変更」トランザクションが発生します。
  3. マイナーは秒単位でブロックを生成し、検証プロセスでスタッカーの署名を集める必要があります。
  4. ブロックの妥当性検証には、70%を超えるスタッカーがブロックに承認署名をする必要があります。

4.2.3. チェーン構造の変化とビットコインの最終性の達成

スタッカー(署名者)は、新しいブロックに署名する際、直前のブロックに基づいて署名しなければなりません。このため、マイナーがブロックチェーンを勝手に分岐(フォーク)させることを防ぐことができます。つまり、署名者は過去のブロックの妥当性を検証し、マイナーが最新のブロックに基づいて次のブロックを生成するよう監視する役割を果たしています。

また、マイナーはコミットトランザクション(Tenure change transaction)を送信する際、インデックス付きブロックハッシュを含める必要があります。このハッシュには、前のマイナーの期間中に記録された最初のStacksブロックのハッシュと、そのブロック自体のハッシュが含まれます。これにより、Stacksブロックチェーンの状態がビットコインブロックに記録され、次の期間のマイナーも同様の作業を行うことで、ビットコインネットワーク上にStacksブロックチェーンの履歴が継続的に残されていきます。

ビットコインブロック、Stacksブロック、インベントリービットマップの関係図(出典: Stacks Docs

結局のところ、この構造はN番目の任期中に提出されたトランザクションがN+2番目の任期でビットコインのブロックチェーンに記録されることを意味し、ビットコインのブロックをリバースするのと同様にStacksトランザクションをリバースすることを困難にする。このシステムは伝統的なL2の特徴と一致し、ビットコインネットワークのセキュリティを継承しつつ、迅速な取引承認を提供する。

4.2.4. ビットコインMEV問題の緩和

アップデート前のStacksチェーンでは、F2Poolのように大きなビットコインハッシュレート保有者が、自身が生成するビットコインブロック内で他のStacksマイナーからのコミットトランザクション(任期交代)を検閲し、自身のBTCビッド額を調整することで、Stacksブロックの報酬とトランザクション手数料を確実に得られるというMEV問題がありました。この行為は、スタッカーに戻る報酬を減らし、マイニングの信頼性を損なう要因となっていました。

アップデートでは、この問題に対処するため、マイナー選出時に以下の新たな基準が設けられました。

  • 最近のブロックへの参加(Miner Participation in Recent Blocks)
    • 任期交代時にマイナーとして選出されるには、直近10ブロックのマイナー選出に参加している実績が必要
    • この基準により、安定したマイナーコミュニティが育成され、報酬の狙い撃ちが抑えられる
  • 過去のビッド額の中央値(Median of Past Bids Method)
    • 過去10ブロックに記録されたビッド額の中央値に基づいてマイナー選出確率が算出される
    • 異常なビッド額の提出により報酬を独占することを防ぐ
  • ビッド額の絶対合計値(Absolute Bid Total)
    • 即時のマイニング環境に左右されるビッド額ではなく、絶対合計値が考慮される
    • マイナー選出プロセスが安定した経済的基準で進行する

このように、アップデートではこれらの基準を導入することで、Stacksブロックチェーンのマイニングプロセスの透明性と信頼性を高めることを目指しています。


4.3. ナカモトリリースのロードマップ

ナカモトリリースロードマップ画像(出典: Nakamoto.run

2022年末にsBTCおよびナカモトリリースのホワイトペーパーが公開された後、Stacks Foundationおよび関連開発チームは長期にわたりナカモトリリースの準備を進めてきました。上の画像が示すとおり、2024年2月にナカモトリリースの機能がテストネット(ナカモトマイルストーン0.3及びコード名Argon)に統合された後、本格的なナカモトリリースのアップデートが展開されています。

ナカモトリリースは2段階のプロセスで構成されており、それぞれハードフォークを伴います。これらはインスタンス化(Instantiation)と活性化(Activation)に分かれ、活性化の前にバグ修正などの最終調整期間を設けることで、環境変更による混乱を最小限に抑える意図があります。

4.3.1. 当初のリリース計画

  • 第1段階: インスタンス化
    • pox-4(Proof of Transfer の新バージョン)コントラクトおよびナカモトリリースのコードがほとんど適用されるが、機能は活性化されない
    • 署名者およびパートナーがpox-4コントラクトに登録できるよう、少なくとも2サイクル分の余裕を設けます。この期間中にpox-4に登録された署名者がブロックを適切に検証できるかを確認し、有効化の可否を判断する
  • 第2段階: 活性化
    • 署名者ベースのシステム、ファストブロック、ビットコインのファイナリティなどナカモトリリースの新機能が適用され、ナカモトルールが有効になる段階
    • ナカモトルールとは、ナカモトリリース前後で動作が変わるロジック全体を指す

4.3.2. リリース計画の修正後のスケジュール

ナカノトリリースのスケジュール(出典:https://stacks.org/nakamoto-rollout

当初は第1段階のインスタンス化が4月22日に開始され、特にバグがなければ5月中旬以降に第2段階の活性化が始まる予定でした。しかし、第1段階の進行後、署名者の回復(レジリエンス/リカバリー)システムに関する補完事項が確認されたため、Stacks Foundationは5月1日に元の計画の修正を発表しました。主な内容は以下の通りです。

  • 当初のナカモトリリース計画には基本的な署名者回復システムのみが含まれ、活性化フェーズに移行する予定だった。
  • 高度な署名者回復システムへのアップグレードは当初2024年末に予定されていたが、インスタンス化の進捗を受け、活性化前に実装する必要が確認された。
  • このため、新たに8週間の開発期間が必要とされ、署名者回復システムコードは7月15日に完成し、ナカモトリリースの活性化は8月28日に延期される。
  • 主な作業内容は以下の内容を含む。
    • 署名者が時間内に署名しない場合やエラー応答した場合の、マイナーの復旧力強化
    • 署名者の応答性向上や、キー紛失時の対処プロセスの強化
    • マイナーの任期(Tenure)の生成および延長ロジックの改善
    • ネットワークエントロピー(不確実性)の防止およびフラッシュブロック処理の効率化
修正されたナカモトリリースのタイムライン画像(出典: stacks.org

当初の計画が修正され、8週間のコード開発期間を経て、7月15日にコード開発が完了する見込みです。もともと5月中旬以降に予定されていたナカモトリリースの活性化フェーズは、約3か月後の8月28日に開始される予定となりました。幸い、当初第3四半期に予定されていたsBTCのアップグレードは、スケジュール通り進行する見込みで、活性化フェーズ開始から4週間後に予定されています。


5. レイヤー2への飛躍の最後の実現、sBTC

5月中の本格的な活性化が予定されていたナカモトリリースは、Stacksチェーンの大幅なパフォーマンス向上と、Stacksブロックに対するビットコインのファイナリティの達成に焦点が当てられていました。しかし、真のビットコインネットワークのレイヤー2となるためには、ナカモトリリースはその手段の半分に過ぎないと言えるでしょう。

ビットコインL2の区別基準の画像(出典: lightのツイート

ナカモトリリース後、Stacksはソブリン・ロールアップ(Sovereign rollup)に似た環境を構築しますが、チェーン上でビットコインネットワークのネイティブ資産であるBTCを取り込み利用できるようになれば、真のビットコインスマートコントラクトプラットフォーム、つまりレイヤー2として機能することができるようになります。Stacksの創設者ムニーブ・アリも、そのツイートでBTCをレイヤー内外に移動させることが最も難しい部分であり、ビットコインL1を修正せずに分散化された公開型の署名者グループを通じてBTCのペギングメカニズムを適用する、つまりsBTCが最も信頼できないブリッジに近いと説明しています。

sBTCは、以下の二つの特性によりBTC資産をビットコインネットワークとStacksチェーン間でつなぎます。

  • 1:1の交換可能性:Stacksチェーンが停止しない限り、sBTCとBTCは常に1:1で交換可能
  • オープンメンバーシップ:誰でもsBTCプロトコルに参加でき、中央集権的な主体がBTCを管理することはない

従来StacksチェーンにはxBTC、aBTCなどのBTC関連資産がありましたが、ブリッジプロセスで中央管理主体やマルチシグ方式を介する必要がありました。これに対しsBTCは、送金証明のメカニズムの下で署名者グループとしてスタッカーを活用し、よりトラストレス方式でBTCのブリッジを可能にします。

sBTCの動作メカニズム1 (出典: stacks docs
sBTCの動作メカニズム2(出典: stacks docs

sBTCのアップデートおよび適用は2024年第3四半期に予定されています。完全なるビットコインネットワークのスマートコントラクトプラットフォームとして新たな地平を切り開こうとするStacksの野心的な目標を実現するため、ナカモトリリースとsBTCのアップデートは非常に重要な節目となるでしょう。Stacksチェーンが真のビットコインレイヤー2として機能し、スマートコントラクトでBTCを活用できるプラットフォームになれるか、引き続き注目する必要があります。

出典: BITCOIN LAYERS — Tapestry of a Trustless Financial Era

<Reference>

About the author
Do Dive

Do Dive

Head of Research at DeSpread

DeSpread Research

Meet our people's insight, our capabilities, our research, and the ever-changing face of our firm.

DeSpread Research

Great! You’ve successfully signed up.

Welcome back! You've successfully signed in.

You've successfully subscribed to DeSpread Research.

Success! Check your email for magic link to sign-in.

Success! Your billing info has been updated.

Your billing was not updated.