目次
Stellarにスマートコントラクトはあるのか。答えはイエスです。SorobanはStellarのスマートコントラクト基盤で、2024年2月20日にProtocol 20が投票で承認されて以来メインネットで稼働しています。一般ユーザーへの全面開放は2024年3月19日でした(SDFのソフトウェアバージョン一覧)。開発者はRustでコントラクトを書き、WebAssembly(Wasm)にコンパイルして、2014年から決済を処理してきたのと同じStellarネットワークにデプロイします。Sorobanは別チェーンでもサイドチェーンでもありません。
Sorobanが面白いのは、存在そのもの(今やほとんどのレイヤー1にコントラクトがあります)ではなく、その設計判断です。手数料は単一の「ガス」ではなくリソースごとに計算されます。保存データにはレントがかかり、アーカイブされることもあります。コントラクトの再入(リエントランシー)は禁止。ネイティブ資産はラップせずにそのまま使えます。このガイドでは、Stellarのスマートコントラクトの仕組み、コスト、EthereumのEVMとの違い、そしてアジアの開発者が活用できる支援までを順に見ていきます。
Stellarにスマートコントラクトはある?Sorobanまでの歩み
Stellarは長いあいだ、あえて汎用コントラクトを持たない道を選んできました。プロトコルには最初からオーダーブック、マルチシグ、パスペイメント、Claimable Balance、そして2021年からはネイティブのAMMプールが組み込まれていました。決済やシンプルな売買はこれで足りましたが、レンディング市場のような独自ロジックを誰もデプロイできなかったのです。
それを変えたのがSorobanです。SDFは2022年にエコシステム育成のため1億ドルのSoroban Adoption Fundを発表し、2023年いっぱいはテストネットとFuturenetで検証が続きました。Protocol 20はバグ修正のため3週間遅れたのち、2024年2月20日にメインネットに到達。その後SDFは段階的に開放し、2月20日にPhase 0、2月27日にPhase 1、そして一般利用に開放するPhase 2を2024年3月19日に実施しました(段階的ロールアウトに関するSDFの解説)。「Sorobanは2023年にローンチした」という記述を見かけたら、それはテストネットの話で、メインネットではありません。
呼び名についてひとこと。SDFの最近の資料は単に「Stellarスマートコントラクト」と書くことが増えており、Soroban-RPCも2024年にStellar RPCへ改称されました。それでもSorobanの名前はRustクレートsoroban-sdkや開発者の日常会話に残っているので、どちらも同じものを指すと考えて問題ありません。
Sorobanの仕組み:Rust、WebAssembly、そしてホスト
Sorobanのコントラクトは、Wasmにコンパイルされた小さなRustプログラムです。SDFの概要ページは、現時点で対応しているのはRustのみで、コントラクトではRustの標準ライブラリ全体は使えないとはっきり書いています。代わりにsoroban-sdkクレートの上に構築します(スマートコントラクト概要)。上のウィジェットが示しているのは最小構成のコントラクトの形で、構造体、#[contractimpl]を付けたimplブロック、そして環境ハンドルと引数を受け取る関数から成ります。
WasmはStellar Coreに組み込まれた「ホスト」の中で動きます。ホストがストレージ、暗号処理、イベント、コントラクト間呼び出し、認可を提供するため、コントラクト本体は小さく保たれ、重い処理はネイティブコードで実行されます。コントラクトを呼ぶにはInvokeHostFunctionOpを含むトランザクションを送信します。スマートコントラクトのトランザクションはオペレーションを必ず1つだけ持ち、従来型(クラシック)のトランザクションは最大100個までまとめられます。
テストのしやすさも強みです。SDKにはオンチェーン環境と同じ動きをするホストのローカル実装が付属しているので、普段使いのIDEでデバッグし、ユニットテスト、ファズテスト、プロパティテストをテストネットに触れる前に回せます。認可も組み込み済みです。関数がアドレスに対してrequire_auth()を呼ぶと、ホストが対応する署名をチェックします。通常のアカウントはもちろん、Protocol 21でsecp256r1に対応して以降はパスキーを使うスマートウォレットでも機能します。
Sorobanの手数料とリソースモデル
Sorobanのトランザクションは、インクルージョン手数料とリソース手数料の2つを支払います(手数料・リソース制限・計測)。インクルージョン手数料は通常のStellarの手数料と同じ仕組みで、最低100 stroop(0.00001 XLM)。台帳が混雑すると、サージプライシングによって入札額の高い順にトランザクションが並べられます。リソース手数料はSoroban特有の部分で、CPU命令数、読み書きする台帳エントリー、I/Oのバイト数、トランザクションサイズ、イベントと戻り値、ストレージのレントと項目ごとに計算されます。
その一部は返金されます。CPU、読み書きのバイト数、帯域は申告どおりに課金され、レント、イベント、戻り値は未使用分が返金されます。実際にはこれらの数字を当て推量で決めることはありません。まずStellar RPCでトランザクションをシミュレートすれば、添付すべきリソースのフットプリントと手数料が返ってきます。
実際の金額で見ても小さなものです。直近の確認時点で、メインネットでもっとも多かった手数料は最低額の100 stroopで、中央値はコントラクト呼び出しに押し上げられて約0.00035 XLMでした。2026年7月時点では、1台帳にクラシックのオペレーション1,000件とスマートコントラクトのトランザクション2,000件を収められました。Stellarの手数料はすべてそうですが、XLMはバリデーターではなくロックされた手数料プールに入ります。他のネットワークとの比較はStellarの送金手数料と速度のガイドをご覧ください。
ステートアーカイブ:オンチェーンデータにかかる「家賃」
Ethereumでは、誰かが書き込み代を払ったコントラクトデータは永久に保存され、すべてのノードがその重みを抱え続けます。Sorobanはステートアーカイブという別のアプローチをとります(SDFのドキュメント)。コントラクトデータの1つひとつに台帳数で数える有効期間(TTL)があり、有効な状態を保つにはレントがかかります。
ストレージは3種類あります。Temporary(一時)はもっとも安く、TTLがゼロになると完全に削除されるため、価格の見積もりやnonceのようなデータ向きです。Persistent(永続)は残高などに向いており、期限が切れても削除ではなくアーカイブされます。Instance(インスタンス)はコントラクト全体の設定を保持し、コントラクト自体のTTLを共有します。アーカイブされたエントリーは再作成できず復元しかできないため、古い残高があった場所に新しい残高をこっそり作ることはできません。
2025年9月のProtocol 23「Whisk」ではアーカイブの仕組みが見直され、トランザクションの復元リストに載ったアーカイブ済みの永続エントリーは、コントラクトの実行前に自動で復元されるようになりました。リストはシミュレーションが埋めてくれます。この設計でバリデーターのストレージは軽く保たれますが、開発者には仕事が1つ増えます。重要なデータのTTLを延長しておくか、復元コストを予算に組み込んでおくことです。
Stellar Asset Contract:ネイティブ資産とコントラクトをつなぐ
Sorobanが避けている悩みの1つがラッピングです。Ethereumでは、ほとんどのコントラクトで使う前にETHをWETHに変える必要があります。StellarではXLMを含むすべての資産に、標準トークンインターフェース(SEP-41)を実装した専用のStellar Asset Contract(SAC)が1つずつ予約されています。SDFのドキュメントは、資産とそのSACが「同じ資産を表す」と説明しています(SACのドキュメント)。SACは誰でもデプロイでき、従来のウォレットが使うのと同じトラストラインの残高を読み書きします。
これは単なる利便性以上の意味を持ちます。SACは発行体の承認フラグとクローバックフラグを尊重するため、規制下の発行体はコントロールを失わずに自社トークンをDeFiに流せます。たとえばPayPalのPYUSDはSACを使ってStellarにローンチし、初日からSorobanで使えるようになりました。詳しくはステーブルコインのガイドで解説しています。このコンプライアンス層がなぜファンド運用会社を惹きつけるのかは、実物資産(RWA)のトークン化のページで説明しています。2026年5月のProtocol 26ではさらに一歩進み、SAC経由のXLM送金で受取人のアカウントを自動作成できるようになりました。
SorobanとEVMの違い
Ethereum、BNB Chain、その他のEVM系ネットワークから来た開発者は、見覚えのある考え方に、異なるデフォルト設定が組み合わさっていると感じるはずです。SDFの設計解説はその多くをEthereumからの教訓と位置づけ、「コントラクトの再入を許可しない」というシンプルなルールも挙げています(SDFブログ)。
| 項目 | Soroban(Stellar) | EVM(Ethereumなど) |
|---|---|---|
| 言語・実行環境 | RustをWasmにコンパイル | 主にSolidityとEVMバイトコード |
| 手数料 | 項目別のリソース手数料+インクルージョン手数料 | 単一のガス指標 |
| ストレージ | TTL、レント、アーカイブ | 一度書けば無期限に保存 |
| リエントランシー | ホストが再入をブロック | 可能。アプリ側のコードで防御 |
| コントラクト内のネイティブ通貨 | SAC経由でXLMをそのまま利用 | ETHは通常WETHにラップ |
| トークンの承認 | 認可が組み込み済み、1トランザクション | approve+transferFromの2段階 |
注意点が2つあります。再入をブロックすれば古典的なバグの1種類は消えますが、それでコントラクトが最初から安全になるわけではありません。ロジックの誤り、不適切なアクセス制御、オラクルの問題は残ります。また、EVM互換レイヤーはないので、Solidityのコードは書き直しが必要です。決済に強いライバルとStellarをもっと広く比べたい方は、ステラルーメンとリップル(XRP)の違いをどうぞ。
ローンチ後のプロトコルアップグレード:P29からBellの投票まで
アップグレードはバリデーターの投票で決まり、承認されると即座に有効になります。Sorobanの稼働以来、コントラクト基盤は大きく変わってきました。
- Protocol 21(2024年6月): パスキー対応ウォレット向けのsecp256r1署名検証と、コストモデルの改良。
- Protocol 22(2024年12月): コントラクトのコンストラクタとBLS12-381暗号。
- Protocol 23「Whisk」(2025年9月): イベントの統一、ステートアーカイブの変更、コントラクトの並列実行。
- Protocol 25「X-Ray」(2026年1月): ゼロ知識証明の構成要素となるBN254とPoseidonハッシュ。
- Protocol 26「Yardstick」(2026年5月): 侵害された台帳エントリーをバリデーターの合意で凍結する仕組み、オーバーフロー検査付き256ビット演算、SACの改善。
- Protocol 27「Zipper」と28「Adapter」(2026年7月・9月): スマートアカウント向けの認証委任、続いて外部管理型のコントラクト実行ファイルとスパースマップ関数。
- Protocol 29(2026年10月1日): セキュリティ修正のみで、新しいCAPはなし。
次はProtocol 30「Bell」ですが、まだ稼働していません。メインネット投票は2026年11月23日に予定されており、日程は変わる可能性があります。Bellではmuxed形式のコントラクトアドレス、ホスト関数としてのML-DSA耐量子署名検証、ミリ秒単位の台帳タイムスタンプが追加される見込みです(Bellアップグレードガイド)。SDFは、通常のアカウント署名は引き続きEd25519であること、そしてBellだけで台帳の確定が約5秒より速くなるわけではないことを補足しています。
開発ツールと資金支援
ツールチェーンはコンパクトです。Stellar CLIはコントラクトのビルド、テスト、デプロイ、呼び出しに加え、鍵とネットワークの管理もこなします。SDFのWebツールStellar Labを使えば、ローカル環境を用意しなくてもMainnet、Testnet、Futurenet上でコントラクトのアップロード、デプロイ、呼び出し、シミュレーションができます。新しく始める開発者に推奨されるデータAPIはStellar RPCです。クライアントSDKはJavaScript、Pythonなどに対応し、Stellar Wallets KitでVarial(旧Freighter)、LOBSTR、xBullといったStellar対応ウォレットとアプリを接続できます。
セキュリティ面では、SDFがOpenZeppelinと2025年1月から2026年12月までの2年間のパートナーシップを結んでいます。監査済みのStellarコントラクトライブラリ、延べ40週分の監査、バグバウンティが含まれます(SDFの発表)。SDFのSoroban Security Audit Bankは、条件を満たすプロジェクトを自己負担5%で監査会社とマッチングします。この自己負担分は、重大・高・中程度の指摘を20営業日以内に修正すれば返金されます。
資金支援の中心はStellar Community Fund(SCF)です。Buildトラックでは1プロジェクトあたり最大15万ドル相当のXLMが提供され、より小規模なInstawardは各地のアンバサダー支部を通じて配られます。採択はコミュニティメンバーの投票で決まります。最近のラウンドではそれぞれ約120万〜220万ドルが支給されており、たとえばSCF #29では39プロジェクトに約220万ドルが配分されました。
セキュリティの教訓:YieldBloxのオラクル事件
これまでのSorobanでもっとも高くついた教訓は、中核コントラクトのバグから生まれたものではありません。2026年2月22日、攻撃者がBlend上でYieldBlox DAOが運営するレンディングプールを狙いました。このプールは担保価格をReflectorオラクルから取得しており、そのオラクルはStellar DEX上の流動性の薄いUSTRY/USDC市場を参照していました。たった1つのトランザクションで、USTRYの報告価格は約1.05ドルから約106.73ドルへと吊り上げられました。攻撃者は水増しされた担保を元手に、XLMとUSDCで約1,020万ドルを借り入れたのです(Blockaidの事後分析)。
Blockaidが攻撃者のウォレットを特定すると、Tier-1のバリデーターが連携してそのアドレスからのトランザクションを拒否し、約4,807万XLM(約730万ドル)を「隔離」しました。なお、Blockaid自身も対応に関わった当事者なので、その数字はそれを踏まえて読んでください。開発者にとっての教訓はDeFiの定石どおりです。担保価格を薄い市場から取らない、時間加重平均や複数ソースのフィードを使う、流動性の低い資産へのエクスポージャーに上限を設ける。ユーザー側から見たこの事件は、StellarのDeFiガイドで取り上げています。
アジアのSoroban開発者たち
アジアで確認できるSorobanの動きは、まだ控えめながら広がりつつあります。2026年にはSDFと教育プラットフォームRise Inが、賞金総額最大6万ドルのAPAC Stellar Hackathonを開催しました。東南アジア各地のチームにSoroban上でDeFi、決済、ウォレット、オン/オフランプのアプリを作ってもらう企画で、現地サポートがあり、フィリピン、ベトナム、インドネシアで対面の決勝が行われました(BitPinas)。機関投資家の側では、2026年10月にSDFの戦略的出資を受けたシンガポールのMarketnodeが、アジア太平洋の投資家向けにStellar上のトークン化ファンドを提供しています。規制面はアジアハブで市場ごとに追っています。
ホーチミンやバンドン、あるいは東京の開発者にとっても、現実的なルートはどこでも同じです。Rustを学び、テストネットでリリースし、SCFに応募し、実際の資金が入る前に監査を受ける。まずネットワークそのものを理解したい方はステラルーメンとは何かから読み始め、TTLやSAC、トラストラインといった用語はStellar用語集を開いて確認しながら進めるのがおすすめです。
よくある質問
Stellarにスマートコントラクトはありますか?
あります。Stellarのスマートコントラクト基盤Sorobanは、2024年2月20日にProtocol 20とともにメインネットで稼働し、2024年3月19日に一般ユーザーへ全面開放されました。コントラクトはRustで書き、WebAssemblyにコンパイルします。それ以前のStellarにはDEX、マルチシグ、Claimable Balanceといった組み込み機能はあっても、汎用的なコントラクトはありませんでした。
Sorobanのコントラクトはどのプログラミング言語で書きますか?
Rustです。SDFのドキュメントによると、現時点でコントラクトに対応している言語はRustのみで、Rustの標準ライブラリ全体ではなくsoroban-sdkクレートを使います。コントラクトを呼び出すアプリ側は、JavaScriptやPythonなどのクライアントSDKを利用できます。
Sorobanのトランザクション手数料はいくらですか?
コントラクト呼び出しでは、インクルージョン手数料(最低100 stroop=0.00001 XLM)に加え、CPU、台帳の読み書き、トランザクションサイズ、イベント、ストレージのレントに対するリソース手数料がかかります。直近の確認時点では、全トランザクションの手数料の中央値はコントラクト呼び出しに押し上げられて約0.00035 XLMでした。正確なコストは事前のシミュレーションでわかります。詳しくは手数料ガイドをどうぞ。
Stellarのステートアーカイブとは何ですか?
Stellarのコントラクトデータには有効期間(TTL)があり、有効な状態を保つにはレント(賃料)を払う必要があります。一時(Temporary)データはTTLが切れると削除されます。永続(Persistent)データとインスタンスデータは削除ではなくアーカイブされ、後から復元できます。Protocol 23以降は、トランザクションの復元リストに含めれば自動で復元されます。
StellarのProtocol 30はもう稼働していますか?
まだです。直近の確認時点でメインネットはProtocol 29で動いていました。Bellと名付けられたProtocol 30は2026年11月23日にバリデーター投票が予定されており、muxed形式のコントラクトアドレス、コントラクト向けの耐量子署名ML-DSAの検証、ミリ秒単位の台帳タイムスタンプが追加される見込みです。投票で承認されるまでは未確定として扱ってください。



