遅延評価と Monaparty Automation
つぶやき。ぽえむ。
順調に遅れている Monaparty Automation ですが、実現を支援するためのメッセージ仕様の検討を始めました。
今回草稿は日本語で書いたので読んでいただければ分かる話なのですが、要約すると、メッセージを後で評価するというだけの機能です。タイマー予約みたいな。
この機能、ワンショットでも使い勝手がよい(Twitter では「DEX と絡めてオークションに使える」という案が出ていました)のですが「遅延評価したメッセージ自身を遅延評価に再登録する」ことで、周期実行ができます。読者が JavaScript でなにか書いたことがある方なら、こんなコードとだいたい同じと思っていただければ。
// 1 秒ごとに実行される。
setTimeout(function loop()
{
setTimeout("loop()",1000);
}, 1000);
Ⓜ
学校の教科書によると、コンピュータは「逐次」「反復」「分岐」で動くとされてます。これに「変数」を加える流派もあるようです。
今回策定中の遅延評価メッセージを使うと、「逐次」と「反復」が実現されます。「変数」はモナパーティのアセットを使えばよいです。変数に関しては broadcast や (リリース準備中の) asset_metadata を使う手もあるでしょう。
すると、「分岐」を支援するメッセージが登場すれば、モナパーティはそれ自身がコンピュータになります。クロックは 1/90 Hz という超低速ですが。
そこが Monaparty Automation のゴールです。
ちょっと技術面に寄り過ぎた気もするのでコメント加筆。
つまり「イーサリアムやその猿真似チェーンとは別の方法で、 ユーザがプログラミングできるスマコン環境を作りますよ」という話です。
モナパーティで DeFi が流行るとは思えませんが、Automation 完成後は、作る気になれば作れます。
今まではトラストレスな DeFi やブロックチェーンゲーム的なものは、Counterparty-server 自身を拡張しない限り作れなかったので、その点では大きな進歩です。