Counerparty 自動販売機の秘密機能
この文書はクリプトに分類しても良いかもしれない。だが、つぶやき、ぽえむ。
Ⓜ
Counterparty は、たいてい CIP という改善提案を行って、寄付を募って、そこから開発、というスタイルを取ります。
ですが、自動販売機 (Dispenser) だけはちょっと特殊で、CIP-21 という文書はあるものの、その後の拡張を自前でやろうとしていたフシがあります。
未完の機能もありますが、OPEN_EMPTY_ADDRESS はコードが完成しているようです。
文書が無いうえに作者は次のステージへ逝ってしまったあとなので、コードから読み解きました。
おそらくモチベーションは、こんな感じでしょう。
無思慮に複数の Dispenser を同一アドレスに置いてしまうケースがあるので、他のアセットが入っていない別アドレスに Dispenser を設置できるようにする。
アセットを別アドレスへ send し send 先で Dispenser を open するのと同じです。
しかし、2 工程かかるのは時間の無駄ですし、完全に新規のアドレスの場合、open する際に、採掘手数料としての BTC (モナパーティの場合は MONA)が必要になります。つまり実質 3 工程。なるほどあっても無駄では無さそう。
ウォレットのサポートが要りますが、オプションの便利機能なので、ウォレット開発者判断でサポートがなかったとしても困るというわけでもない。
しかし、これをそのままモナパーティに持っていくかというと…うーん。
『「他のアセットがない」ではなく「既に Dispenser を open していない」という条件のほうが使いやすいのではないか』など、ちょっと考えることもあり…うーん。
Ⓜ
仮にモナパーティに OPEN_EMPTY_ADDRESS 的なものを導入した場合に、積極的に使う場合のユースケースとして、モナカードの発行代行があるかなという気がしています。
依頼者は絵とモナコインアドレスを用意するだけ。Dispenser を建てるところまで代行し、アセットの所有権も譲渡してしまえば後腐れないはず。発行するモナカードの一部は代行業者が受け取り、時期を見て代行業者も Dispenser で売る。いわばトラストレスで依頼者にも仮想通貨が手に入る版のモナパちゃん。(ガチャはないけど)
Ⓜ
ところで本稿執筆時点で、ですが。
Counterparty の方々は、OPEN_EMPTY_ADDRESS は直ちには使わないほうが良いと思います。バグがありますので。