メインコンテンツまでスキップ
第IV部 — 技術と経済第19章 / 全21章·····

🔧 プロダクトと技術

動いているものが、すべてを証明する。

トークンのホワイトペーパーの多くは、まだ存在しないソフトウェアを記述します。この章が記述するのは、今日ダウンロードできるソフトウェアです。3つのネイティブiOSアプリはリリース済みでApp Storeに公開中、Webプラットフォームは本番稼働中、Solanaトークンサービスはすでにメインネット上で本物のNFTをミントし、本物の決済を検証しています。トークンの長期的な経済を司る2つのスマートコントラクトはコード完成済みで、段階的監査が進行中です — そして私たちは、正確にそのとおりのことだけを述べます。それ以上は言いません。

ひとつのプラットフォーム、3つのアプリ:ゲストのMatsuri、運営者のGCF Admin、読者のJ-Times。

スイートの全体像

3ネイティブiOSアプリすべてリリース済み・App Storeで公開中
827+自動化されたアプリテスト3アプリ合計
43スマートコントラクトテスト買い戻し17 + ベスティング26、警告ゼロ

すべてのクライアント — iOSもWebも — はひとつのDjangoバックエンドと通信し、Solanaと通信するのはバックエンドだけです。アプリがチェーンに直接触れることはありません。ルールは常に アプリ → Django → Solana です。

⛩️ Matsuri — コンシューマーアプリ

ステータス:リリース済み — App Storeで公開中

ゲストと居住者のためのメインアプリ:予約、決済、ショッピング、クラウドファンディング、ライブ配信、マイニング、そしてフル装備のオフライン災害ライフライン — すべてがひとつの場所に、ゲストモードでも使いやすく。

Matsuri — 文化体験アプリ。App Storeで公開中。

App StoreでMatsuriを開く →

ホーム — イベントと体験
ウォレット — MTC残高と履歴
Phantomで支払う — ワンタップ承認

アプリは5つのタブ — イベント、ショップ、レストラン、クラウドファンディング、マイページ — を軸に構成され、ライブ配信、検索、ウォレット、NFT、災害ハブにはどこからでも到達できます。各サーフェスには専用の章があり、この表はあくまで地図です。

サーフェスひとことで
イベントと体験ツアー・イベント・交流会・教室の予約。QRチケットとスタッフチェックイン — 体験
レストラン食事制限フィルター付きの発見機能と本物のテーブル予約エンジン — レストラン
ショップKYC承認済みセラーのマーケットプレイス。エスクロー注文とNFT商品 — ショップ
クラウドファンディングティア別MTCキャッシュバック付きのAll-or-Nothingキャンペーン — クラウドファンディング
ライブチャット・ドロップ・5レールのチップを備えた配信 — ライブ配信
マイニング・ウォレット・NFT参拝マイニング、ARおみくじ、MTCウォレット、NFTギャラリー — マイニング
災害ライフラインオフライン避難所マップ、メッシュメッセージング、SOSビーコン — 災害ライフライン
決済Stripe(カード、Apple Pay)、Solana Pay / Phantom、MTC残高 — 価格は常にサーバーサイドで再計算

機能だけではありません。アプリはiOSプラットフォームに深く寄り添っています:ホーム画面ウィジェット、Siri App Intents、Spotlightインデックス、注文・支援・ライブ配信のLive Activities、そしてユーザーごとにサーバーサイドでローカライズされるプッシュ通知。

災害ライフラインの内側

災害ライフラインの章は「何ができるか」を扱いました。ここでは「なぜ他のすべてが止まっても動くのか」を扱います。設計上の制約は苛烈なほどシンプルです。すべてのライフラインツールは、完全オフラインかつログインなしで動かなければならない。

構造からしてオフラインファースト

全国の避難所データセットはアプリバイナリに同梱 — 避難所マップ、距離リスト、大圏方位の避難所コンパスはネットワークを一切必要としません。5言語の安全ガイドも同じ方法で同梱されています。

署名付きメッセージのP2Pメッシュ

携帯網が死んだとき、スマートフォンがネットワークになります:オフラインのP2Pメッシュ掲示板が投稿を端末から端末へマルチホップ中継し、すべてのメッセージは発信端末によって暗号学的に署名されます — 5ホップを旅した投稿も、途中で偽造することはできません。

自動起動

DisasterWatchdogサービスが起動時とフォアグラウンド復帰時にJMA(気象庁)の公開フィードをポーリングし、重大な事象があれば全画面の災害ハブを自動表示します — ゲストもログインユーザーも同じです。

どのチャネルからでもチェックイン

「無事です」は、生き残ったどのチャネルからでも発信できます:メッシュ、SMS、システムの共有シート、そしてweb171 — 日本の公式災害用伝言板。

🛡️ GCF Admin — 運営者のアプリ

ステータス:リリース済み — App Storeで公開中

GCF(Global Community Friends)メンバーとスタッフのための運営アプリ:Web管理ポータル(gcf.works)でできることすべてを、スマートフォンで。

GCF Admin — ホスト・ガイドのためのアプリ。App Storeで公開中。

App StoreでGCFを開く →

ダッシュボード — KPIと収益
メンバー管理
収益とコミッション
サーフェスひとことで
ダッシュボードKPIカード、収益チャート、クイックアクション
メンバーメンバー一覧・詳細・ティア管理 — GCF
収益コミッションのトラッキングと支払い管理
コンテンツイベント・記事・ポッドキャスト・動画の作成と公開
ガイドスロットガイドマーケットプレイスの公開と監視 — 体験
聖地とビーコン聖地の管理とスポンサードビーコンの設定 — マイニング
マイニング設定ベーシスポイント単位のおみくじ確率、リアルタイム調整の動的倍率 — マイニング
リファラルブランド入りQRコードの生成とリファラルのトラッキング

マイニング経済の舵はこのアプリで取られます。訪問者を過疎地域へと導く動的倍率(0.01×–50×)、おみくじの確率テーブル、自治体や事業者が出資するスポンサードビーコン — すべてはハードコードではなく、ここから運用されています。

📰 J-Times — メディアアプリ

ステータス:リリース済み — App Storeで公開中

「日本を、世界へ / Japan, to the World.」文化メディアアプリ:記事・ポッドキャスト・動画 — 読むことそれ自体がMTCになる場所。

J-Times — 文化メディアアプリ。App Storeで公開中。

App StoreでJ-Timesを開く →

記事リーダー — 読了進捗をトラッキング
ポッドキャストプレイヤー
サーフェスひとことで
記事読了進捗付きのリッチリーダー。編集部のスタックにはAI記事生成とTTSも — メディア
ポッドキャストJapan DecodedやTech Japan Forwardを含む6シリーズ
動画シリーズものとショート動画
メディアマイニング読む・聴く・観る・クイズに答えるとMTC — 1日上限50 MTC — メディア
プランFree / Premium / Proの読者ティア。プレミアムアイテムはStripeで単品販売

エンゲージメントはユーザーごと・コンテンツごとに進捗トラッキングされ、報酬レートは管理側で調整可能、報酬間には5分のクールダウン、そして1日50 MTCの上限 — 注意を報いつつ、蛇口にはならないマイニングです。

📦 共有されるひとつのコア:JCCore

3つのアプリはすべて、共有SwiftパッケージJCCoreの上に構築されています — リスクの高い配管を3つの漂流するコピーではなく、ひとつの実装として持つためです。

モジュール役割
JCAuthKeychainベースのトークン保管、セッション管理、生体認証(Face ID / Touch ID)
JCNetworking型安全なAPIクライアント、WebSocket対応、snake_caseワイヤ形式の自動変換
JCModels共有データモデル — ユーザー、トークン、ページネーション、メンバーシッププラン
JCDesignテーマプロトコルとデザイントークン(スペーシング、角丸)
JCUtilities日付・文字列ユーティリティ

ユーザーが体感する帰結のひとつ:正典の4ティアメンバーシップラダー(レベルとティア)は、どのアプリでも同じ意味を持ちます。同じコードがデコードしているからです。

🖥️ バックエンドプラットフォーム

バックエンドは、経済全体を運転する単一のDjangoモノリスです — 予約、エスクロー、クラウドファンディングの台帳、ライブ配信、マイニング、そして動くすべての1円と1 MTC。

フレームワーク
Django 4.2 + Django REST Framework
非同期処理
バックグラウンドジョブのためのCeleryタスクキュー
リアルタイム
Django ChannelsのWebSocket — チャット、ライブインタラクション、プレゼンス
データベース
PostgreSQL
ライブ映像
LiveKit、Hetznerでセルフホスト — サードパーティ配信への依存なし
法定通貨レール
カードとApple PayはStripe。セラーのオンボーディングと支払いはStripe Connect
決済の安全性
状態を変更するすべての決済呼び出しにIdempotencyキーを必須化
価格
価格は常にサーバーサイドで再計算 — クライアントが自分の価格を名乗ることはできない
チェーンアクセス
アプリ → Django → Solana、例外なし

暗号資産決済フローは、このアーキテクチャルールの実践例です。アプリがSolanaトランザクションを自ら構築・検証することはありません — ユーザーをPhantomへ、証明をDjangoへ手渡すだけです。

デフォルトでレジリエント

決済の途中で中断されても — 着信、バッテリー切れ、ネットワーク断 — アプリは次回起動時に保留中のPhantom決済を再開し、Idempotencyキーが予約の確定をちょうど1回だけ保証します。

🔏 トークンサービス — オンデマンドのミント

Solanaに実際に触れるすべてを、専用の3層スタック(メインネットで稼働中)が担います。

  • Minting API(Django + DRF + Celery) — Matsuri・GCF・J-Timesの各プラットフォームが呼び出す、APIキー認証のエンドポイント。NFT/SBTの自動発行、トークン操作、オンチェーンメタデータ管理を担います。
  • Solana署名サービス(Node.js + Fastify) — 署名能力を持つ唯一のサービス:SPLトークンの作成と送金、権限の放棄、メタデータ更新、SBTミント、Metaplex Core Collectionの管理。インデクサー遅延に耐えるリトライ/バックオフ付き。
  • 管理ダッシュボード(Next.js) — コインとメタデータの管理:メタデータの恒久ホスティングのためのArweaveアップロード、クリエイター情報、検証フラグ。

これが、プラットフォームの本物のアセットをミントするスタックです:イベント参加NFTドロップ、御朱印おみくじNFT、GCF PlatinumのSBT証明書 — すべてMetaplex Coreアセットとしてコレクションにまとめられ、Phantomのようなウォレットで正しく表示され、すべてSolscanで検証可能です。

🔐 セキュリティとプライバシー

Keychain + 生体認証

認証トークンはiOSのKeychainに暗号化して保管。Face ID / Touch IDが機微な操作をゲートします。

ピン留めされた通信路

全面HTTPSに加え、アプリとバックエンド間には証明書ピンニング。

鍵はウォレットの外に出ない

プラットフォームがユーザーの秘密鍵を持つことはありません。署名はPhantomに委譲 — アプリがリクエストを渡し、ウォレットが署名し、バックエンドがオンチェーンで検証します。

リプレイ不能なウォレット連携

ウォレットとアカウントの連携には、サーバー発行の新しいチャレンジへの署名が必要です。傍受された署名を再利用して他人のウォレットを主張することはできません。

GPSスプーフィング対策ゲート

参拝マイニングのチェックインは200 mジオフェンス、GPS精度・近接チェック、1ユーザー・1聖地・1日1回の制限を強制します — テレポートするボットは何も稼げません。

監査された資金移動

MTC残高は監査された追記専用台帳に記録され、セルフカストディへの出金は限度額・クールダウン・不正スクリーニングを通過します。

✅ エンジニアリング品質

827+アプリテストモデル、ビューモデル、ネットワーク、セキュリティ、E2E
43コントラクトテスト買い戻し17 + ベスティング26、プロパティテスト含む
0ビルド警告Swift strict concurrency。clippy -D warningsクリーン
3,426監査対象LOCプロダクションRustにunwrap/panicゼロ

Rustのコントラクトは、アプリよりもさらに厳しい基準を自らに課しています。clippy警告ゼロ、プロダクションコードにunwrapもpanicもゼロ、ユニットテストと並走するプロパティベーステスト — 一度デプロイされたコントラクトコードは、火曜日にパッチを出すことができないからです。

⚖️ スマートコントラクト — オープンソースの設計

誠実なステータス — まずこれをお読みください

今日オンチェーンにあるもの:MTC SPLトークン(900M固定、mint・freeze権限とも放棄済み)、550M MTCのStreamflowロック(クリフ2027-06-01)、Raydium MTC/SOL初期LP、そして本番アプリのSolana Pay / Phantom決済検証。それ以外は何もありません。

以下のプログラムはコード完成済みで、いかなるクラスターにも未デプロイです。セキュリティはHashlockとの段階的監査(2026年4月、TEAMZ Summit Tokyoで開始)として進行します。Phase 1はmatsuri-buybackが対象 — 提出パッケージ完成済み、キックオフ目標2026年8月、指摘事項9月、最終レポート10月、メインネットデプロイ目標はDEX上場後の2026年10–12月。Phase 1.5はmatsuri-vestingmatsuri-distributionが対象で2027年Q1、2027-06-01のグランドアンロックで稼働します。私たちはこのいずれも「監査済み」とは表現しません — 監査準備が完了し、段階的監査が進行中である、それだけです。

すべてのコントラクトコードはオープンソースです:github.com/Cootakahashi/matsuri-contracts。セキュリティは秘匿ではなく、目に見える設計の上に成り立ちます。目標アーキテクチャは次のとおりです。

matsuri-buyback — 収益の受け口

買い戻しコミットメント — Matsuri本部売上の20%とGCF会費の25% — をオンチェーンのMTC需要に変えるプログラムです。その本質的な性質は、トレジャリーではなくコンベアであることです。

役割
収益をMTCへアトミックにスワップして転送 — ホワイトリスト済みトークンを受け取り、スワップし、転送する
スワップ経路
CPI経由のJupiter v6。Jupiterプログラムidはピン留めされ不変
受け入れトークン
ローンチ時はMTC・USDC・SOL — ホワイトリストは権限者が管理
スリッページ防御
3層構造:実行時bpsは、不変の初期化時上限の内側、さらにコンパイル時のハードシーリング10%の内側
タイムロック
受取先と権限者の変更は提案/実行/取消のフロー。期間は24時間–30日に制限
残高を保持しない
すべてのスワップ後にゼロ残高の事後条件を強制 — トランザクション間に盗めるものが存在しない
規模とテスト
1,797 LOC、17テスト(ユニット13 + プロパティ4)
ステータス
コード完成済み、Hashlock Phase 1監査対象 — 未デプロイ

Phase 1では転送先はSquadsマルチシグです。Phase 2では、収益をLP注入とエコシステムプールへ分配するBuyback Splitterに置き換わります。

matsuri-vesting — ひとつの金庫、ひとつの受取先、ひとつの時計

グランドアンロックのスケジュールを実行するプログラムです。意図的に退屈に作られています。マイナーもスコアリングもクレームもなく — あるのは時計の上の算術だけです。

設計
ひとつの金庫、タイムロックで守られたひとつの受取先、ひとつの時計
プール
550M MTC。2027-06-01にStreamflowのクリフから到着
エポック
730日(2年)のエポック。各エポックで残プールの50%を解放
解放経路
advance_epoch_and_releaseはパーミッションレスのクランク — 期限が来た解放は誰でも起動できる
不変性
半減係数・エポック長・総プールは初期化時にロックされ、二度と変更できない
規模とテスト
1,629 LOC、26テスト(ユニット22 + プロパティ4)
ステータス
コード完成済み、Phase 1.5監査対象(2027年Q1) — 未デプロイ
半減期スケジュールエポック1(2027–2029)≈275M → エポック2(2029–2031)≈137.5M → エポック3(2031–2033)≈68.75M MTC …

Phase 2の設計リファレンス

さらに3つのプログラムが公開された設計リファレンスとして存在します — 透明性のために公開し、デプロイ対象外であることを明示し、後の監査フェーズでの強化を予定しています。

プログラム設計意図
matsuri-worship参拝ルーティングエンジン — マイニングのオーバーツーリズム対策倍率のオンチェーン版
matsuri-referral縁マイニングのためのリファラルツリー — マイニング
matsuri-distributionマイナーごとのスコアリング付き半減期分配 — Phase 1.5の監査スコープに向けて磨き込み中

Phase 2のDistribution Router(ベスティングから参拝・リファラル・汎用プールへのファンアウト)とBuyback Splitterは設計段階のみです。各プログラムが監査フェーズを通過するまで、対応するロジックはオラクルとしてDjango内でオフチェーン実行されます — 同じルールが、段階を踏んでトラストレスな実行へと格上げされていきます。

共通の設計原則

  • すべての箇所でチェック付き算術 — 未チェックの計算はなく、プロダクションコードパスにunwrapもpanicもゼロ。
  • 純粋な数学モジュール — 報酬と解放の計算は、副作用のない、徹底的にテストされたmathモジュールに隔離。
  • 権力の分立 — 権限者は制限付きタイムロックを通じてのみ変更を提案でき、pauseはプログラムを停止させても、資金を動かすことも押収することも決してできない。
  • 不変の経済 — トークンの希少性を定義するパラメータは、意図して初期化時にロックされる。

アプリは出荷されました。バックエンドは稼働しています。コントラクトは書かれ、テストされ、監査の列に並んでいます。残るのは順序立てです — そしてロードマップが、それを日付とともに示します。