Midnight Academy の Phase 2「Account vs UTXO — Why Midnight Uses Both」 にあたる話です。 ブロックチェーンには「お金の数えかた」が大きく2種類あります。Midnight はその両方を使います。なぜでしょう?
たとえ話:おさいふ vs 銀行口座
UTXO型(コインを使い切る)
- お金は「コイン(札)」の集まり。500円玉で300円払うと、200円がおつり(新しいコイン)として返る。
- 「だれのコインか」を1枚ずつ扱うので、並行処理に強く、プライバシーとも相性がよい(コインを隠しやすい)。
- 使われていないコインを UTXO(Unspent TX Output=未使用の取引出力) と呼びます。
アカウント型(残高を書きかえる)
- 口座の残高という1つの数字を増減させる。
- 状態(state)を持つスマート契約と相性がよい(「いまの残高・いまの状態」を素直に表せる)。
Midnight は「両方」使う(combined model)
Midnight は、この2つを組み合わせた combined model(ハイブリッド) です(Midnightのしくみ の軸2)。
- 価値(トークン)の移動は UTXO 型のほうが、隠したり(shielded)並行処理したりしやすい。
- 契約の状態はアカウント型のほうが素直に書ける。
- だから「いいとこ取り」で両方を使う、というのが Midnight の選択です。
その結果、トークンも2種類の管理が出てきます(→ NIGHTとDUST・2つの台帳とZswap)。
開発者として理解すべきこと
- UTXO=コインを使い切る/アカウント=残高を書きかえる、の2モデルがある
- Midnight は UTXO台帳 + アカウント型契約層のハイブリッド。価値移動はUTXO、契約状態はアカウントが得意
- 「価値の移動」と「契約の状態」を別レイヤーとして考えると、Midnight の設計が読みやすい
- 具体的な台帳・トークンの内部仕様は公式(What is Midnight? / whitepaper)(外部リンク・別タブで開きます)で確認
公式Docsではどこ?
- Academy Phase 2 Unit 2.2(外部リンク・別タブで開きます)(Account vs UTXO)
- Hybrid / combined model(外部リンク・別タブで開きます)
今日のまとめ
- UTXO=コイン式、アカウント=残高式
- Midnight は両方を組み合わせる(価値はUTXO、契約はアカウント)
- だからトークン管理も2系統になる
今はここだけでOK
「おさいふ(UTXO)と銀行口座(アカウント)の、いいとこ取り」——これでOK。
✍️ 白紙練習
答えを見る前に、いったん自分の頭と手から出してみよう。手で書くと「わかったつもり」がはがれます。
UTXO型とアカウント型のちがいを、たとえ話を使って自分のことばで説明してみよう。
UTXO型は「おさいふの中の小銭・お札」。使うときは1枚まるごと出して、おつり(新しいコイン)をもらう(代表:Bitcoin / Cardano)。アカウント型は「銀行口座の残高」で、使うと残高という1つの数字が書きかわる(代表:Ethereum)。
Midnight がなぜUTXO型とアカウント型の両方を使うのか、その理由を説明してみよう。
価値(トークン)の移動はUTXO型のほうが、隠したり(shielded)並行処理したりしやすい。一方、契約の状態はアカウント型のほうが素直に書ける。だから「いいとこ取り」で両方を組み合わせた combined model(ハイブリッド)にしている。
UTXO とは何の略? また日本語ではどういう意味?
Unspent TX Output の略で、「未使用の取引出力」という意味。まだ使われていないコインのこと。
UTXO型が並行処理に強く、プライバシーとも相性がよいのはなぜ?
「だれのコインか」を1枚ずつ扱うから。コインを隠しやすいので、プライバシーとも相性がよい。
アカウント型はどんな仕組みと相性がよい?
状態(state)を持つスマート契約と相性がよい。「いまの残高・いまの状態」を素直に表せるため。
Midnight の combined model は、どの層がUTXO型で、どの層がアカウント型?
土台がUTXO型の台帳(価値の移動・シールドと相性◎)で、その上がアカウント型の契約層(Compact のスマート契約・状態と相性◎)。
📘 もっと正確に(原文準拠コース)
Academy 原文に忠実な詳しい版はこちら:
つぎに読むページ
➡️ 公開・秘密・証明の置きかたへ。公開・秘密・証明の置きどころ