---
title: "動的プライシングミントでSolanaのミントボットを防ぐ方法"
description: "Strata ProtocolのDynamic Pricing Mintツールについて知っておくべきこと"
---

# 動的プライシングミントでSolanaのミントボットを防ぐ方法

[Strata](https://www.alchemy.com/dapps/strata) Protocolは、NFTプロジェクトやクリエイターがボット対策を施した安全なNFTローンチを実現し、流動性管理の複雑さを気にせずソーシャルトークンをローンチできるようにする、NFTおよびSPLトークン作成用ツール群である。

本記事では、NFTボットがもたらす課題、これまでのボット対策の仕組み、そしてStrata ProtocolのDynamic Pricing MintツールとCandy Machine v2（[Metaplexが開発した多数のNFTツール](https://www.alchemy.com/overviews/metaplex)の一つ）を組み合わせることが、SolanaのNFTボット問題に対する有望な解決策となる理由について説明する。

## **Solanaのミントボットとは何か**

**Solanaのミントボットは、新しいNFTプロジェクトがローンチされるとすぐに、できるだけ多くのNFTをミントしようとする自動化プログラムである。** 一度に1つずつNFTをミントする人間のユーザーとは異なり、ボットはSolanaプログラム（すなわちスマートコントラクト）を直接呼び出し、連続して多数のNFTをミントする。

**SolanaにおけるNFTボットの問題は複数ある。**

1. ボットが正当な参加者を締め出す
1. ボットがネットワークを劣化させる
1. ボットがミントしたNFTは、多くの場合すぐに高値で転売される

すべてのブロックチェーンがボットの問題を抱えているが、Solanaは特にガス代が低く、TPS（1秒あたりのトランザクション数）が高いため、NFTボットの被害を受けやすい。失敗したトランザクションに対するガスのペナルティが軽微であるため、ボットはSolanaプログラムを何度も呼び出し、ミント価格でNFTを高速にミントできる。

これに対し、Ethereum上のNFTボットはガス価格を急騰させるため、ミントプロセスを自動化しようとする際の経済的なペナルティが大きくなる。

## **Solanaのミントボットへの対策とは何か**

Solanaの開発者は、[Metaplex](https://www.alchemy.com/dapps/metaplex)のFair Launch Protocol（FLP）やcaptcha設定など、ボット対策のための数多くの修正や新しいプロトコルを導入してきた。

### Fair Launch Protocol（廃止済み）

2021年後半に社会的信頼の実験として開発された**Fair Launch Protocol（FLP）**は、クリエイターがNFTの価格帯を設定し、ミント参加者がその範囲内で入札する仕組みにより、NFTコミュニティをボットから保護しようとした。

FLPはミント参加者を決定するために3段階の抽選プロセスを採用していた。

1. 購入者が支払ってもよいと考えるミント価格を設定する
1. 中央値の価格によって「フェア」な価格が決定される
1. 「フェア」な価格を支払う意思のある購入者が抽選に参加する

第1段階では、FLPのローンチ日から1日以内に抽選チケットを購入する。ユーザーはそのコレクションのNFTに自分が妥当だと考える価格を支払うことができる。ただし、そのチケットの価格はコレクションのクリエイターが設定した範囲内でなければならない。

第2段階では、FLPが購入されたチケットの中央値価格を算出する。そして、その中央値価格をコレクション内の各NFTの最終価格として提示する。チケットを購入したユーザーは、この価格を受け入れるか拒否するかを選択でき、差額を支払うか、返金を受けるかのいずれかとなる。

最終段階では、価格提示を受け入れたユーザーにNFTが配布される。需要がコレクションの総供給量を上回る場合、FLPは抽選でランダムに受け取り手を選ぶ。この「抽選」はオフチェーンで行われ、NFTはあらかじめ設定された配布日に届けられる。

しかし、Fair Launch Protocolは**2021年11月のDegenerate Trash Pandasのミント**において、攻略可能な仕組みであることが判明した。ミント価格帯は0.1 SOLから10 SOLに設定されていたが、購入者全員が示し合わせてチケットに0.1 SOLしか支払わなかった。結果としてコレクションは0.1 SOLでミントされることになり、購入者が価格帯を把握している場合、範囲の下限に入札を集中させるよう自己組織化できてしまうことが示された。

### **Candy Machine v2**

大きな期待とともにリリースされた[Candy Machine v2](https://www.alchemy.com/overviews/candy-machine-v2)では、NFTボット対策として一つの機能が際立っていた。それがCaptcha設定である。Captcha（**Completely Automated Public Turing test to tell Computers and Humans Apart**）を追加することで、MetaplexのCandy Machine v2で作成されたNFTコレクションは、captchaを通過したアドレスのみにミントを許可できるようになった。これにより、画像とオブジェクト名を一致させるような高度なcaptchaを解けないボットを効果的に排除できる。

具体的には、CM v2の設定には、「ミント前にユーザーに対するcaptcha検証を可能にする」_gatekeeper_設定が含まれていた。クリエイターは**Civic**のような既存のcaptchaサービスを利用することで、人間のユーザー向けにシームレスにcaptchaを提供できた。

このソリューションは現在広く採用されており、ある程度の効果が実証されているが、依然として攻略可能な要素が存在する。例えば、悪意あるSolana開発者はcaptchaを回避してボットでミントするためのNFTミントツールを構築できる。実際、Cyber KeysやSolana Research Labsをはじめ、そうしたツールを構築した複数のNFTプロジェクトが存在する。

CM v2には、captchaを突破または回避できる高度なボットに対する対策がない。captchaが回避されると、NFTには一定のミント価格（CM v2の制約）があるため、NFTボットがミントを悪用しやすくなる。

## **Strataのdynamic pricing mintツールとは何か**

**Strataの「Dynamic Pricing Mint」は、NFTのミント価格を需要と供給に基づいて設定する仕組みであり、Liquidity Bootstrap Curveを用いて、NFTのミント開始価格を高めに設定し、その価格で誰も購入しない場合は時間の経過とともに徐々に価格を下げていく。NFTが購入されるたびに価格は上昇する。**

Strataのdynamic pricing mintメカニズムは、自然な価格発見プロセスを可能にする。ミント価格が下がるにつれて需要が増加し、供給と需要が一致する点が、市場が示すそのNFTの適正価格となる。

NFTのミント価格が購入行動に応じて変動するため、NFTボットは一度にすべてのNFTをミントすることができず、追加でミントを試みるたびにプレミアムを支払うことになる。

<ImageBlock
  src="https://media.alchemy.com/1703671694-nft-mint-using-dynamic-pricing.png"
  alt="Dynamic Pricingを用いたNFTミントの例（出典：Strata）"
  width={660}
  height={286}
  caption="Dynamic Pricingを用いたNFTミントの例（出典：Strata）"
/>

### **ボンディングカーブとLiquidity Bootstrapping Curve（LBC）とは何か**

ボンディングカーブは「トークンの価格をそのトークンの供給量に対して相対的に設定する」ものであり、流動性プロバイダーなしでユーザーがトークンを売買できるようにする。一方、Liquidity Bootstrapping Curve（LBC）は、NFTクリエイターが「動的な価格発見メカニズムを用いてトークンを販売することで流動性をブートストラップする」ことを可能にする。

ボンディングカーブとLiquidity Bootstrapping Curveは、Strataのdynamic pricing mintツールを支える2つの中核的なイノベーションであり、NFT開発者がボット対策を施した上で安全にNFTプロジェクトをローンチできるようにする。

**ボンディングカーブ**は、[Uniswap](https://www.alchemy.com/dapps/uniswap)のようなAutomated Market Makerで特によく知られている。これは、買い手と売り手をマッチングするマッチングエンジンなしに、流動性プールから新しいトークンを売買できる仕組みである。トークンの価格は、そのトークンの供給量に応じて決まる。流動性プールから購入される資産が増えるほど、追加で購入する各トークンの価格は上昇する。

**Liquidity Bootstrapping Curve（LBC）**は、Balancerの Liquidity Bootstrapping Pools（LBP）に類似した既存の考え方であり、価格は高い水準から始まり、時間の経過とともに下落し、新たな購入があるたびに上昇する。

<ImageBlock
  src="https://media.alchemy.com/1703680443-liquidity-bootstrapping-curve.png"
  alt="Liquidity Bootstrapping Curveの例（出典：Strata）"
  width={1400}
  height={881}
  caption="Liquidity Bootstrapping Curveの例（出典：Strata）"
/>

これら2つのイノベーションが、StrataによるNFTボット対策の最終的な解決策であるDynamic Pricing Mintのフレームワークを構築している。

## **StrataのLaunchpadでdynamic pricingのNFTをローンチする方法**

Strataは、NFTクリエイターがトークンにDynamic Pricing Mintを直感的に利用できる手段を提供している。dynamic pricingのNFTミントの構築を始める前に、まずNFTプロジェクト用に[Candy Machineを作成](https://docs.metaplex.com/guides/archived/candy-machine-v2/creating-candy-machine)する必要がある。

<ImageBlock
  src="https://media.alchemy.com/1703680516-strata-launchpad.png"
  alt="Dynamic Pricing NFT Mintオプションを備えたStrata Launchpadのインターフェース"
  width={1600}
  height={892}
  caption="Strata Launchpad"
/>

Candy Machineを作成し、Candy Machine ID（CMID）を取得したら、[Strata Launchpad](https://app.strataprotocol.com/launchpad)にアクセスし、「Dynamic Pricing NFT Mint」を選択する。

次に、フォームに入力してNFTドロップ用のLiquidity Bootstrapping Curveを作成する。

作成が完了すると、LBCは既存のCandy Machineに自動的に接続され、NFTミントの価格を動的に設定するトークンミントが提供される。

<ImageBlock
  src="https://media.alchemy.com/1703680600-strata-dynamic-pricing-mint-interface.png"
  alt="Strata Dynamic Pricing Mintのインターフェース"
  width={1600}
  height={892}
  caption="Strata Dynamic Pricing Mintのインターフェース"
/>

Strata と Candy Machine を用いたallowlist付き[dynamic pricingのNFTミントのローンチ方法](https://www.youtube.com/watch?v=i28CwS1QYAo)の完全なチュートリアルについては、StrataのYouTubeチュートリアルを参照してほしい。

## **コミュニティをNFTボットから守る**

NFTボットはNFTプロジェクトに永続的なダメージを与えかねない。本物のコミュニティを構築し、NFTをデザインし、ユーティリティを作り出すなど、[NFTプロジェクトを成功させる](https://www.alchemy.com/overviews/how-to-create-a-successful-nft-project)には多大な労力が必要となるため、Strata ProtocolのDynamic Pricing Mintツールを利用することは、チームとコレクターの双方を守る助けとなる。
