@NewtonProtocol architectureに関する1つの詳細が、認可について考える方法を完全に変えてくれました。
最初は、ニュートンがポリシーの割り当てとポリシー登録を分けている理由が理解できませんでした。同じステップの別名のように思えたのです。
読み進めるほど、それは2つの別の問題を解いているのだと気づきました。
ポリシーを割り当てることは、アプリケーションに認可がどこに存在するかを伝えるだけです。ポリシーを登録することは、将来のアテステーションを照合するために、ネットワークが参照すべき「正確なルール」を指定することです。
この違いは見落としやすいのですが、だからこそシステムが非常に決定論的に感じられるのです。
どの本を参照しているのかを伝えずに図書館を指さすことを想像してみてください。建物は同じでも、答えはあなたが開く本によって完全に変わります。
ニュートンはポリシーも同じように扱います。
コントラクトアドレスだけでは不十分です。すべての認可には、特定のポリシー・アイデンティティが必要なので、後になってトランザクションが承認された際に、関係しているコントラクトが何かだけでなく、その承認を生み出したポリシーがどれかを誰でも検証できます。
考えれば考えるほど、これは開発者の利便性というより、長期的な信頼と説明責任のために設計されたアーキテクチャ上の判断に思えてきます。
私はほとんど見落としてしまいそうだったのですが、今ではそれがニュートン・メインネット・ベータの最も賢い部分の1つだと思います。
では、ポリシーのアイデンティティをポリシーのロケーションから切り離していることは、過小評価されている設計選択だと思いますか?
@NewtonProtocol #spell $NEWT #EVAA $EVAA #Newt #GAINERSPACK #power $POWER 信頼を決めるのは何でしょう? 🤔