定義されています。
ニュートン・プロトコルのドキュメントを読み返していると、ある設計上の意思決定が何度も気になって仕方ありません。
ほとんどのインフラに関する議論は実行を中心に展開されます。
ニュートンは繰り返し認可へ戻ってきます。
最初は、その違いは主にアーキテクチャ上のものだと考えていました。
読み進めるほど、私は納得できなくなっていきました。
ニュートンのドキュメントは、認可ポリシーをアプリケーションの実行から一貫して切り分けています。VaultKitを通じて開発者はプログラマブルなポリシーを定義し、Authorization Layerが取引が前進する前にそれらのポリシーを評価します。
それは筋が通っていて分かりやすいですね。
その影響は、私はないと思います。
長年、アプリケーションは認可を内部の責任として扱ってきました。すべてのプロトコルがそれぞれ独自の権限モデル、独自の運用ルール、そして誰が何をできるかを判断する独自の方法を持っています。
ニュートンは、その前提に疑問を投げかけているようです。
それらの判断をあらゆるアプリに埋め込むのではなく、複数のアプリが最終的に依存しうるインフラとして認可を位置づけます。
その転換は、開発者のワークフロー以上のものを変えます。
信頼が宿る場所が変わります。
アプリケーションは引き続き自分たちのビジネスロジックを所有します。
認可の層は、実行が始まる前に、あらかじめ定められたポリシーが実際に満たされているかどうかを評価する責任を負います。
ドキュメントを読んでみて、ニュートンはこれをスマートコントラクトの置き換えとして、あまり語っていないように見えました。
それは、彼らの周りにプログラム可能な意思決定の層を追加する、と説明しています。
その言い回しは意図的に感じます。
実行はこれまでずっと「何が起きたか?」に答えてきました。
認可は「それが起きてよいのか?」に答えようとするものです。
それらの問いは入れ替え可能なものではありません。
結果を記録します。
もう一方は、意思をポリシーに照らして評価します。
私がずっと気になっているのは、開発者がいずれ認可を、いま彼らがウォレットやRPCプロバイダ、あるいはインデックスサービスと見なしているのと同じように捉えるようになるのではないか、という点です。つまり、アプリが個別に作り直すのではなく、アプリが利用する共有インフラとして。
それが起きるなら、ニュートンのアーキテクチャは、単に別のプロトコル機能を追加するのではなく、アプリケーション設計について別の考え方を導入している可能性があります。
そこが、私がいちばん面白いと感じるところです。
認可がアプリケーションのロジックではなく独立したインフラになるとしたら、Web3はより統治しやすくなるのでしょうか?それとも、統治は結局のところ、すべてのアプリが最終的に依存せざるを得ない層へと移るだけなのでしょうか?
@NewtonProtocol #NEWT $NEWT
#Newt


