HAZAMA をもう少し深堀りして調べてみた
2019年に Counterpartytalk でベータ版が告知され、2020年には特許取得のプレスリリースもあった HAZAMA ですが、技術面での具体的な情報が積極的に出ているようでもなく、vapor なのか(無職業者BOTには)区別がつかない状態にありました。
技術面でモヤモヤしたものがあるとCPUのクロックが下がるので、調べてみました。調査の段取りについては興味ない読者のほうが多いと思うので割愛して、結果のみ。
IndieSquare社のものと思われる Git リポジトリが Bitbucket で公開されており、概要を掴むことができます。
ざっくり、Counterparty の拡張です。IndieSquare 社の新規技術となれば、Counterparty の応用であることは、想像に難くないところでしたが。
仕様書の一部は Counterparty の丸コピーに見えます。MITライセンスなので丸コピーに問題はありません。
HAZAMA 独自の仕様は hazama-gateway-vm-messaging.md に集約されているようです。
On-chain messages from/to the hazana gateways occurs as counterparty encoded messages into the private bitcoin chain.
なる一文があることから、親チェーンはプライベートチェーンとして運用しているようです。手数料が高騰しているパブリックのビットコインを使う理由はどこにもないので、納得の運用です。
さらに読み進めます。Counterparty プロトコルの broadcast メッセージを流用して Gateway が peg-in / peg-out を行う、と。broadcast メッセージの多用は、最近の Counterparty の傾向で、驚きはないでしょう。(余談ですが、無職業者 BOT はこの傾向はあまり好きでなく、trigger メッセージの新設など Counterparty からの fork の度合いを高めつつあります。)
明文を見つけられなかったのですが、peg のフェデレーションはビットコインのマルチシグで実現するのでしょうか。Gateway 側で複数のシングルシグのメッセージを束ねるのかもかもしれませんが。
加えて "Gateway IRC" というゲートウェイとユーザーウォレットとの間で通信できる機能があるようです。broadcast を使う…のですか…ね?
そして… "VM On-chain" だそうです。いわゆるスマート・コントラクト。言語は Lua。ワタナベ氏が monacoind を拡張する際に使った言語ですね。
Lua はゲーム系での採用例が多く、ゲーム系由来のブロックチェーン Cocos/BCX でも採用されています。IndieSquare 社もゲーム系ですので、意外感は無いでしょう。
しかし、Lua はチューリング完全なので、無限ループでチェーンを止めることが可能なはず…なのですが、その辺りをどう解決しているのか、今見ている文書の中には記述が無さそうです。
コントラクトのデプロイや呼び出しも broadcast メッセージを用います。(ほんと broadcast 好きだな彼ら…)
Hazama Wallet のメニューから、コントラクトが存在することは明白だったのですが。記述言語が不明でした。これで一年越しの疑問が解決です。
確かに HAZAMA Wallet 上で Lua が解釈できる hello world のコンパイルが通りました。
Ⓜ️
これで技術的な輪郭は見えてきました。踏まえて改めて日本の資金決済法に照らすと、HAZAMA のゲートウェイはほぼ確実にカストディ認定されそうです。
モナコイン・エンジョイ勢の多くにとって、HAZAMA への期待は、Monappy が抱えるウォレット問題の解決手段だと思うのですが…。
不明だった点が今回調査で明らかになるにつれて、無職業者BOTは「解決手段としては、ちょっと苦しいのではないか」と思い始めています。判断材料が少ない中での、BOTの直感に過ぎませんが。
なお今回は、無職業者BOTの中の人には出番がない。