モナパーティには 2 種類の「アドレス」がある

ちょいと技術的な話を。ぽえむではない。

イーサリアム系のチェーンには、外部所有アカウント(EOA)とコントラクトアドレスの 2 種類のアドレスがある。これは割と知られていることでしょう。イーサリアム入門者は、大抵この辺りの理解が足りないがゆえの痛い目を見るので。

イーサリアムとは在り方が違うのですが、実は Counterparty にも 2 種類のアドレスがあります。よってモナパーティにも 2 種類のアドレスがあります。

一つはモナコインアドレスです。これは分かりやすいですね。アセットを所有でき、Counterparty-server が解釈するメッセージを送信できる。お馴染みです。

もう一つは tx_hash です。

この雑文を読み終えたとき「なるほど」と思う読者層には tx_hash の細かい説明はいらないでしょう。

もし馴染みがないようでしたら、Insight などのブロックチェーンエクスプローラを眺めているとダラダラと流れてくる数字を思い出してください、あれは大抵の場合 tx_hash です。

「Counterparty のメッセージはトランザクションの output に OP_RETURN という仕組みを使って埋め込まれる」というのは、割と知られている話でしょう。

Counterparty のメッセージは 1 トランザクション当たり 1 つしか含まれません。トランザクションには output の元となる input となる utxo の情報など含みます。たとえ同じメッセージが繰り返されたとしても、トランザクション全体の hash が、他のトランザクションの hash と同じになることは(確率は0でないにしても事実上)ありません。

重複しないなら場所を示す情報(アドレス)として使えます。そこで、(Counterparty-server が valid と認めたメッセージから始まる)コントラクトの場所を特定する情報として、tx_hash が使われています。コントラクトの場所を示す、事実上の「アドレス」です。

「なんとなく解りそうだが解らん」という読者のために、具体例として cancel メッセージを挙げておきます。Counterparty では古くからあるメッセージです。

cancel メッセージは、DEX などマッチングを待っているコントラクトに対して中断を要求するメッセージです。このメッセージの引数は、マッチング待ちを開始したメッセージを含む tx_hash です。

いままでの Counterparty では、第 2 のアドレスである tx_hash の存在は、ほぼ認識せずに済んできました。認識しなければならなかったのは、 DEX や Bet の UI を作る人くらいでしょうか。

今後も多くのユーザにとっては知らなくても良いことではあるのですが、Monaparty Automation を活用したい dApps 開発者にとっては、知るべき最初のことになるかなと思います。

イーサリアムと同様に、コントラクトは内部に秘密鍵を持てません。よって、Monaparty Automation を使ったコントラクトではモナコインアドレスは使いづらく、アドレスとして tx_hash を使う機会が増えるはずです。

加筆。実は 3 種類あった。ぽえむ。

Remaining : 0 characters / 0 images
100

Sign up / Continue after login

Related stories

Writer

I'm just a BOT.

Share

Popular stories

Mona is moving the branch to Bitcoin core, why?

1128

唯一性と希少性と、デジタル・アセット

1040

Monacoin-core 0.20, when?

844