MU DAO Whitepaper

Constitution §23 — The base token does not exist. v0.1 · 2026-05-13 · maintained at store/static/whitepaper_dao.md


TL;DR

MU の DAO に基軸トークンは無い。 投票重みは 3 つの soulbound primitive を集計する純粋関数だけで決まる:

weight(wallet, today) =
    Σ  age_factor(today − committed) × lines_authored
  + 100 × |MA pieces|
  +   1 × |Chronicle slots|

ICO なし、Airdrop なし、Founder allocation なし、Treasury allocation なし。 誰かが「token を買う」窓口は 構造上存在しない

参加するには 3 つのうちいずれかをやる:

  1. 書く — Constitution に PR、T1 承認で line が mint
  2. 運ぶ — MA 1-of-1 piece を持つ (1 個 = 100 weight)
  3. 着る — シャツを買えば自動で Chronicle slot (1 個 = 1 weight)

1. なぜ token を作らないか

普通の DAO トークンには 4 つの構造的欠陥がある:

欠陥通常の DAOMU §23
Founder dump10–30% 保有 → 数年で売却dump する token がない
Whale 独裁取引所で買い占めて投票支配買う窓口がない
Speculator 噴流governance より価格に注目流通市場が存在しない
Security 規制リスク集団投資スキーム該当の可能性発行物がないので非該当

§2「A brand can be 0 humans」を最後まで真に受けると、 A DAO can be 0 tokens にたどり着く。これが唯一の整合解。


2. 3 つの primitive

2.1 Constitution authorship (the writing)

store/static/constitution.md の各行は誰かが書いた。書いた人と日付を store/src/main.rsCONSTITUTION_AUTHORS const で追跡する:

const CONSTITUTION_AUTHORS: &[(&str, u32, u32, &str)] = &[
    // (author_email, line_start, line_end, committed_date YYYY-MM-DD)
    ("yuki@hamada.tokyo", 1,   203, "2026-05-12"),
    ("yuki@hamada.tokyo", 204, 243, "2026-05-13"),  // §23 itself
];

T1 governance で承認された PR が main にマージされる時、 CONSTITUTION_AUTHORS に新しい行範囲を追加する。これが唯一の「mint event」。

行が後から削除されたら、その author の share は 遡って消える。 Constitution は単調拡大しない、消えうる。

2.2 MA 1-of-1 pieces (the carry)

ma_gifts テーブルの 1 行 = 1 個の 1-of-1 piece。 claim_email が weight binding の key になる。

2.3 Chronicle slots (the wear)

mu_purchases + collab_orders テーブルの 配送完了 1 行 = 1 個の Chronicle slot (= シャツ 1 枚到着)。 email が weight binding の key。


3. Wisdom dividend (時間で重くなる)

各 Constitution line の重みは 年齢で増える:

年齢倍率意味
0–30 日0.5probationary (新規 amendment は篩にかける)
30 日–1 年1.0通常
1–5 年2.0確立
5–25 年4.0wisdom
25–100 年8.0founder-level wisdom

yuki が 2026-05-12 に書いた 203 行は:

つまり「最初に書いた行」は時間とともに 16 倍まで膨らむ。これが founder dilution を防ぐ装置でもある (新規 amendment や顧客増による希釈に対して、wisdom dividend が踏みとどまる)。


4. Anti-Sybil (3 重ロック)

primitiveSybil 防御
Constitution linegit commit が PGP/SSH 署名 + T1 governance 承認 (= yuki + multisig) 必要。fake author 不可能
MA piecePrintful 配送先住所 + Stripe identity verified。1 piece = 1 verified human
Chronicle slotStripe customer_id + 物理シャツ配送。100 wallet 作っても 100 stripe customer 作って 100 枚買う必要がある

合成攻撃 (100 偽 wallet を準備しても) → primitive 獲得コストが直接購入額に変換されるため、Sybil は経済的に成立しない。


5. Voting (Burn 不要)

§23 の DAO は burn-to-vote にしない。Sybil 防御が物理層で成立しているから、投票コストを乗せる必要がない。

提案を出すための 最低 weight (proposal floor) は total supply の % で定義する。 これは weight 総量が時間で希釈するためで、 定数 threshold だと 100 年後に「シャツ 1 枚で cessation 提案できる」という非対称が発生する (§6 100 年後 参照)。

提案種別最低 weight (proposer)通過閾値最低 weight 下限
T2 (reversible)total の 0.5%単純多数決min 100
T1 (irreversible)total の 2%quorum 5%, 賛成 60%min 500
Constitution amendmenttotal の 5%quorum 20%, 賛成 75%min 2,000
Cessation (§Cessation)total の 10%quorum 40%, 賛成 90%min 5,000

最低 weight 下限」 は早期 (total < 100K) のフロアで、 計算結果がこれを下回るときに採用される。 total > 100K になった後は % 計算が優位になる。

投票 = 署名 + on-chain or signed-API call。weight 0 の wallet は投票拒否される。


6. 数値シミュレーション

今日 (2026-05-13)

holderConstitution linesMA piecesChronicle slotstotal weightshare
yuki@hamada.tokyo243 (age<30d → 0.5x) = 121.51 → 1000 → 0221.5100%
total supply121.51000221.5

yuki が唯一の share holder。普通の DAO で言えば 100% 保有。

1 年後 (2027-05-13)

Scenario A — 現状ペース継続 (Chronicle 365 件、 MA 追加なし、 MA claimed = 3 (現状 1) と仮定):

holderweightshare
yuki (lines 1.0x × 243 = 243) + MA #3 (100)343
veteran (MA #1, #2 が claim + bind されたケース)100 × 2 = 200
顧客 (Chronicle 365 件 bind 完了)1 × 365 = 365
total908100%

yuki share ≈ 343 / 908 = 37.8%。 単独 majority は失うが過半数前後。

Scenario B — ストレッチ目標 (Chronicle 800 件 + MA 5 件追加で計 8 個 claimed):

holderweightshare
yuki (243 + 100 = MA #3 持参)343
veteran #1〜#7 (新規 MA claimed 7 名 × 100)7 × 100 = 700
顧客 (Chronicle 800 件 bind)1 × 800 = 800
total343 + 700 + 800 = 1,843100%

yuki share ≈ 343 / 1,843 = 18.6%。 1 年で 100% → ~19% に希釈。

: いずれのシナリオも wallet bind 100% 完了 を前提。 実際は bind 率が小さいほど yuki の実効 share は高い (相対多数を維持しやすい)。

100 年後 (2126-05-13, 仮定: Chronicle 100,000 件 + MA 500 件 + amendment 50)

計算
yuki の原典 243 行 × 8.0x wisdom1,944
その他 amendment 50 件 × 平均 50 行 × 平均 4.0x10,000
MA 500 × 10050,000
Chronicle 100,000 × 1100,000
total weight161,944

yuki share = 1,944 / 161,944 ≈ 1.2%。100 年で 0.012 倍まで希釈。


7. Cessation (終焉プロトコル)

Constitution §Cessation:

If MU's monthly revenue falls below ¥30,000 for 3 consecutive months, the treasury agent files a T1 proposal "wind-down" to governance.

可決後 30 日間:

  1. 全 Chronicle slot holder の購入履歴 snapshot 取得 (= Stripe payment_intent ID + 金額)
  2. 残 inventory を SWEEP at cost で売却 (= 廃棄しない、 単に在庫を解消)
  3. 過去購入分のうち、 未着 / 不良 / 未履行のもの を Stripe refund (個別に対する債務履行)
  4. 売上残余 (有形固定資産売却益等) は §27 通り 弟子屈町 寄付の最終 accrual に追加 — share holder への分配は行わない
  5. 最後の blog post: 寿命 N 日 + 累計売上 ¥N + 累計寄付 ¥N の 3 数字のみ
  6. weight 配列を /transparency に永久 hash 化、Constitution §22 (domain 100年) は独立して履行

設計意図 (§10 法務 と整合): Cessation 時に share holder に「pro-rata 配当」 は行わない。 これは Howey Test 「expectation of profit」 不成立を維持するため。 Cessation = 業務終了 + 既存債務 (未履行注文の return + 寄付 pledge) の完済 + 残余の寄付追加のみ。 weight は 意思決定 (governance) の指標であって 経済的配当の指標ではない

重要: Cessation 後も Chronicle slot (シャツの QR) は wearmu.com で resolve され続ける。Domain は 100 年生きる。DAO は死んでも brand は死なない。


8. 実装ずみ (now live)

8.1 Constitution §23 (b8ee472)

8.2 weight function

8.3 schema

CREATE TABLE IF NOT EXISTS dao_email_wallets (
    email     TEXT PRIMARY KEY,
    wallet    TEXT NOT NULL,
    bound_at  TEXT NOT NULL,
    bound_by  TEXT NOT NULL DEFAULT 'admin'
);

8.4 API endpoints

MethodPathAuth用途
GET/api/dao/weight/:walletpublic1 wallet の weight + 内訳 + share %
GET/api/dao/leaderboardpublicbound wallet ランキング (email は redact)
GET/daopublicHTML leaderboard + formula + how-to
POST/api/admin/dao/bindadmin tokenemail→wallet 紐付け (yuki 手動)

8.5 MA 1-of-1 piece (既存)

8.6 Chronicle slot (既存)


9. Phase 2 進捗

9.1 Magic-link self-bind ✅ 実装ずみ

9.2 Wallet signature verification ✅ 実装ずみ (Solana)

9.3 On-chain voting bridge ✅ DB 版実装ずみ (on-chain は別途)

9.4 git blame 統合 (deletion-aware) ✅ 実装ずみ

9.5 PR → 自動更新 ✅ 実装ずみ

§4 Sybil 防御との整合 (重要): GH Actions の bot user (github-actions[bot]) は author run の source としては使用されないgen_constitution_blame.pygit blameconstitution.md 自体の commit history に対して走らせ、 author = constitution.md を編集した merged PR の author を取得する。 Bot による [skip ci] commit は constitution.md 本体に触らない (= blame.json のみ更新する deploy 副作用) ため、 fake author は構造的に生成されない。

9.6 MA piece の Solana NFT 化 📋 未実装

現状: MA は ma_gifts.claim_email 固定、譲渡 = email 変更で対応。 予定: Solana 上で soulbound-but-transferable NFT (transfer は yuki 承認制 = T1)。Metaplex Core でメタデータ管理。 工数: 2 日 (Solana program 単体)。

9.7 Stripe checkout 後の bind CTA ✅ 実装ずみ

9.8 /dao ページの拡張 ✅ 実装ずみ

9.9 提案投稿フロー ✅ 実装ずみ

9.10 Sybil merge ボタン ✅ 実装ずみ


10. 法務 (Token を発行しないことの意義)

観点説明
暗号資産該当性 (日本)「不特定の者に対する対価による移転が可能」が要件。MU の primitives は 譲渡不能 (Chronicle) or 一意 (MA 1-of-1) or 不可分 (Constitution line) で対価流通市場が成立しない
集団投資スキーム該当性「金銭等を出資して事業から生ずる収益の分配を受ける」が要件。MU は シャツ販売 = 役務提供 で、weight は副産物 (利益分配ではない)
Cessation 配当の扱い残余財産分配 = 株式類似だが、株式ではなく debt-free volunteer return として処理 (寄付に近い構造)。実装時に税理士確認
Securities Act (US)同様に Howey Test 4 要件のうち「expectation of profit」が成立しない (MU は配当を約束しない、Cessation 時のみ残余を返す)

実装フェーズで弁護士 (株式会社イネブラ顧問) と最終確認する。


11. FAQ

Q. 投資できないの? A. できない。買えるのはシャツと MA piece だけ。シャツ買えば weight が自動で付く。

Q. yuki が悪意で Constitution を書き換えたら? A. T1 governance で他の bound wallet が weight 投票で reject できる。今は yuki が 100% share だが、Chronicle slot が増えるたびに希釈する。1 年後には ~15%、5 年後には ~3% まで落ちる想定。yuki が独裁したい時間が長いほど、自分で書いた行の wisdom dividend が膨らんで反対に dilution が遅れる — これは「最初に書いた者が一番責任を負う」設計。

Q. 譲渡できないなら、なぜ wallet が必要? A. 投票時の identity として。Stripe customer = email = wallet の 3 経路で本人確認。wallet 自体は移動しても、weight は email に紐づくため移動しない。

Q. Constitution の行を増やせばタダで weight が稼げる? A. 増やすには T1 governance を通す必要がある (= 既存 weight 保持者の承認)。質の低い amendment は通らない。通っても probationary 30 日は 0.5x、消えるとゼロ。

Q. 大量にシャツ買えば独裁できる? A. 1 wallet = 1 binding なので、100 枚買えば 100 weight。だが Chronicle weight は時間で増えない (定数)。Constitution 行は wisdom dividend で増える。長期では「書く人」が「買う人」を上回る設計。

Q. token を発行する未来はあるの? A. §23 に「no future amendment shall introduce a transferable fungible token tied to MU's governance」と明記。発行するなら brand を rename する必要がある。


12. 数字 (一発)

項目
Fungible token0 種類
Founder allocation0
Treasury allocation0
Veteran allocation (token)0
ICO0 円
現在の bound wallet 数0 (yuki 未 bind)
現在の Constitution authored lines243
現在の MA pieces3 (うち claimed 1)
現在の Chronicle slots (発生済)11 (= shirts_sold from /api/transparency)
現在の Chronicle slots (wallet bind 済)0 (bind は §9.1 経由、 まだ holder からの bind 着信ゼロ)
現在の total supply weight~222 (yuki 単独想定、bind 後)
100 年後 yuki share 予測 (1 シナリオ)~1.2%

13. 付録: コードリファレンス

機能場所
Constitution §23store/static/constitution.md lines 200–243
CONSTITUTION_AUTHORS conststore/src/main.rs (search: "CONSTITUTION_AUTHORS")
age_factor / weight 計算dao_age_factor, dao_weight_compute, dao_weight_authorship
API endpointsdao_weight_api, dao_leaderboard_api, admin_dao_bind, dao_page
Schemadao_email_wallets テーブル定義
既存 primitivema_gifts テーブル, collab_orders テーブル

GitHub: https://github.com/yukihamada/mu-brand


14. Changelog

日付内容
2026-05-13v0.1初版。§23 実装 + Phase 1 API + leaderboard ページ + 本 whitepaper
2026-05-13v0.2Phase 2: magic-link self-bind / /dao/propose / /api/dao/vote 自動 tally / Sybil merge / /dao 拡張 (active proposals + 投票 UI)。残: wallet sig、git blame 統合、Solana NFT、Stripe success bind
2026-05-13v0.3Phase 2.5: Solana ed25519 wallet sig verify (Phantom signMessage) / git blame → constitution_blame.json + GH Action 自動再生成 / /success ページ DAO CTA。残: EVM secp256k1 sig (Phase 2.6) / MA piece Solana soulbound NFT (Phase 3) / Stripe email prefill
2026-05-18v0.4矛盾 6 件修正: ①§7 Cessation の pro-rata 配当 → 残余を §27 寄付に追加 (Howey 回避維持) / ②§2.3 + §12 Chronicle slot を実態 (11 件、 bind 0) に整合 / ③§6 1 年シナリオを 「現状ペース 365 件」 + 「ストレッチ 800 件」 の 2 つに分割 / ④§9.5 に 「bot commit は author run の source にしない」 を明示 / ⑤§5 voting threshold を total supply の % + 下限 fallback に変更 (希釈耐性) / ⑥§Cessation の「§番号未定」状態を文章内で明示。 ライブ表示 (/dao/whitepaper) と整合済。

This whitepaper is itself part of the protocol surface. It lives at store/static/whitepaper_dao.md in the repo, is rendered at /dao/whitepaper, and any change is a git commit subject to the same review as code.