Newton Protocolにおける、1つの微妙な設計上の選択について考えていました。AIエージェントがより多くのオンチェーンアクションを実行するようになるにつれ、その重要性が増していくかもしれません。

承認と実行は同じものとして扱われません。

承認されたインテントは、ポリシーチェックが通過し、定義されたルールのもとで要求されたアクションが許可されていることを確認します。これにより、システムは処理を進めてよいことが分かります。

ブロックチェーン上のトランザクション自体が成功することを保証するものではありません。

ポリシーレイヤーの外部の理由により、実行はそれでも失敗する可能性があります。宛先コントラクトがリバートすること、必要な条件がもはや満たされないこと、または単に実行レベルの問題に遭遇することがあります。

私は、この分離は分散型システムが実際にどのように機能しているかを反映していると思います。

ポリシーは次の問いに答えます:

"この操作は許可されていますか?"

実行は別の問いに答えます:

"この操作は実際に今すぐ完了できますか?"

これらの責務を分けておくことで、よりクリーンなアーキテクチャになります。ポリシーエンジンは、オンチェーン上で起こり得るすべての結果を予測しようとせず、実行の失敗は、同時にポリシー施行が間違っていたことを自動的に意味するわけではありません。

開発者にとって、この区別により、認可と実行が1つの不可解なプロセスではなく、別々の独立した段階になるため、デバッグがより正確になります。

しかしユーザーにとっては、その体験はウォレットやアプリケーションがこれらの段階をどれだけ分かりやすく説明しているかに左右されます。

「承認済み」というステータスが表示されれば、それが単に操作を試みる許可が与えられたことを意味するだけであっても、自然に成功だと感じられます。

技術自体はシンプルに見えます。

ユーザー体験こそが、より難しい課題になるかもしれません。

AIエージェントがより一般的になるにつれて、ユーザーが認可と実行の違いを理解できるようにすることは、基盤となるセキュリティそのものと同じくらい重要になる可能性があります。

ポリシーの承認をトランザクションの実行から切り離すことで、Newton Protocolのようなシステムがより透明になると思いますか?それとも、日常のユーザーにとって混乱を招く可能性があるでしょうか?

#Newt @NewtonProtocol $NEWT $LAB $HMSTR

ポリシー承認

✔ 認可

✔ 申請内容の確認(アテステーション)

✔ 権限

↓

実行

⚙ 対象コール

✔ 成功

または

✖ リバート