🌐
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