🌐

Mastercoin(Omni Layer)と Dust トランザクションの仕組みを理解する

に公開

はじめに

この記事は、書籍 『イーサリアム 若き天才が示す暗号資産の真実と未来』を読んでいる中で出てきたMastercoin(現 Omni Layer) の仕組みが理解できなかったため、AIに解説してもらった内容を整理したものです。

この記事では、

  • Dust とは何か
  • ビットコインのトランザクション構造
  • Mastercoin がどのようにデータを埋め込んだか
    を整理してみます。

Dust(ダスト)とは?

Dust とは 手数料よりも価値が小さいUTXO(未使用トランザクション出力) のことです。

例:

  • 0.00000050 BTC の UTXO が残っている
  • でも次に使うには 0.00000100 BTC の手数料が必要
  • → 使うだけで赤字になるため「実質的にゴミ」

このように、ビットコインでは小額のおつりが新しいUTXOとして残ってしまい、それが「Dust」と呼ばれます。


ビットコイントランザクションの基本構造

ビットコインの取引は「入力(Input)」と「出力(Output)」から成り立っています。

  • Input

    • どのUTXOを使うかを指定
    • 署名で所有権を証明
  • Output

    • 宛先アドレスと金額
    • scriptPubKey に「このアドレスの秘密鍵を持つ人だけが使える」という条件を記述

普通のシングルシグ出力例(P2PKH)

scriptPubKey: OP_DUP OP_HASH160 <公開鍵ハッシュ> OP_EQUALVERIFY OP_CHECKSIG
  • <公開鍵ハッシュ> が実質的に「宛先アドレス」
  • 取引内容は「いくらをどのアドレスへ送るか」で決まる

Mastercoin 初期の仕組み

Mastercoin は「Dust送金」に独自データを埋め込みました。

偽装マルチシグ

  • マルチシグは本来「複数人分の公開鍵」を並べる仕組み(例:2-of-3)。

  • 例:

    2 <公開鍵A> <公開鍵B> <公開鍵C> 3 OP_CHECKMULTISIG
    
  • Mastercoin はこの「公開鍵を置く場所」に 独自のデータ を入れました。

結果:

  • 普通のウォレット → 「Dustを変なアドレスに送った」ようにしか見えない
  • Mastercoin対応ウォレット → 「これはトークン転送命令だ」と解釈できる

問題点

  • 公開鍵ではなくデータを置くので、誰もそのUTXOを使えない
  • → BTCが焼かれる(バーン)状態になる

現在の Mastercoin(Omni Layer)

その後、ビットコインに OP_RETURN が正式に導入されました。

  • OP_RETURN: 出力に 80 バイトまでの任意データを書き込める領域
  • Omni Layer は現在この OP_RETURN を利用してトランザクションデータを格納しています
  • これにより BTC を焼却する必要はなくなりました

まとめ

  • Dust = 手数料割れする小額UTXO
  • ビットコイン取引 = Input(参照+署名)と Output(アドレス+金額+条件)で構成
  • Mastercoin初期 = Dust送金の出力に独自データを埋め込み(偽装マルチシグ)
  • 現在のOmni Layer = OP_RETURNを利用した安全なデータ格納方式

感想

Dust という「ゴミ」が、別のプロトコルにとっては「データキャリア」になったのは面白い発想でした。
ただし、BTCをバーンする方式は持続可能ではなく、今では OP_RETURN が正しい手段として使われています。

Discussion