Rego verstehen: Warum deklarative Richtlinien für Onchain-Autorisierung wichtig sind
...
Ein weit verbreitetes Missverständnis ist, dass Autorisierungsregeln immer im Anwendungs- oder Smart-Contract-Code leben sollten. Dieser Ansatz funktioniert zunächst, wird aber schwer zu pflegen, sobald sich Compliance-Anforderungen, Zugriffsregeln oder Geschäftslogik weiterentwickeln.

Rego verfolgt einen anderen Ansatz. Als Richtliniensprache von Open Policy Agent (OPA) ermöglicht Rego Entwicklern, Autorisierungsregeln getrennt von der Anwendungslogik zu definieren. Statt jede Berechtigung hart zu kodieren, bewertet eine Policy-Engine strukturierte Eingaben und trifft eine Entscheidung auf Basis der deklarierten Regeln.

Die gleiche architektonische Idee findet sich im Autorisierungsmodell von Newton. Anstatt jede Compliance- oder Autorisierungsprüfung direkt in einen Contract einzubetten, werden Richtlinien vor der Ausführung der Transaktion ausgewertet. Newton beschreibt dies als eine Autorisierungsebene für Onchain-Transaktionen: Programmierbare Richtlinien können Bedingungen wie Identität, Jurisdiktion oder Ausgabenlimits durchsetzen – noch bevor ausgeführt wird.

Für Backend-Entwickler ist das Muster vertraut. Denken Sie an eine Express-Anwendung, in der ein Autorisierungs-Middleware eine Anfrage auswertet, bevor der Controller ausgeführt wird. Die Geschäftslogik bleibt auf das Verhalten der Anwendung fokussiert, während die Policy-Logik zentralisiert ist und sich leichter aktualisieren lässt.
Diese Trennung verbessert die Wartbarkeit, unterstützt Audits und reduziert den Bedarf, die zentrale Ausführungslogik jedes Mal zu ändern, wenn sich die Autorisierungsanforderungen ändern. Außerdem schafft sie eine klarere Abgrenzung zwischen Ausführung und Policy-Auswertung.
@NewtonProtocol demonstrates how programmable authorization can be introduced as a dedicated infrastructure layer within the $NEWT ecosystem. #Newt
...

Technische Diskussion: Da Blockchain-Anwendungen immer komplexer werden, sollte die Policy-Auswertung zunehmend als unabhängige Infrastruktur behandelt werden – statt als in Contract-Logik eingebettete Funktion?