Skip to main content

フェーズ3:Midnight のしくみ

Account と UTXO(なぜ両方?)

お金やデータの数えかたには「UTXO型(コインを使う)」と「アカウント型(残高を書きかえる)」の2種類があります。Midnight がなぜ両方を組み合わせるのかを、やさしく&開発者目線で。


Midnight Academy の Phase 2「Account vs UTXO — Why Midnight Uses Both」 にあたる話です。 ブロックチェーンには「お金の数えかた」が大きく2種類あります。Midnight はその両方を使います。なぜでしょう?

たとえ話:おさいふ vs 銀行口座

数えかた たとえ 代表
UTXO型 おさいふの中の小銭・お札。使うときは1枚まるごと出して、おつりをもらう Bitcoin / Cardano
アカウント型 銀行口座の残高。使うと数字が書きかわる Ethereum

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とDUST2つの台帳とZswap)。

開発者として理解すべきこと

  • UTXO=コインを使い切る/アカウント=残高を書きかえる、の2モデルがある
  • Midnight は UTXO台帳 + アカウント型契約層のハイブリッド。価値移動はUTXO、契約状態はアカウントが得意
  • 「価値の移動」と「契約の状態」を別レイヤーとして考えると、Midnight の設計が読みやすい
  • 具体的な台帳・トークンの内部仕様は公式(What is Midnight? / whitepaper)(外部リンク・別タブで開きます)で確認

公式Docsではどこ?

今日のまとめ

  • UTXO=コイン式、アカウント=残高式
  • Midnight は両方を組み合わせる(価値はUTXO、契約はアカウント)
  • だからトークン管理も2系統になる

今はここだけでOK

「おさいふ(UTXO)と銀行口座(アカウント)の、いいとこ取り」——これでOK。

📘 もっと正確に(原文準拠コース)

Academy 原文に忠実な詳しい版はこちら:

つぎに読むページ

➡️ 公開・秘密・証明の置きかたへ。公開・秘密・証明の置きどころ