Ich habe immer gedacht, dass bei einem Autorisierungssystem die Regeln das Wichtigste sind.

Sobald die Policy ausreichend streng geschrieben ist, kann das System beurteilen, welche Transaktionen ausgeführt und welche abgelehnt werden sollten. Deshalb habe ich mir ganz am Anfang, als ich das Whitepaper @NewtonProtocol gelesen habe, vor allem Rego-Policy und den Authorization-Flow angesehen.

Erst als ich später wieder zu dem Abschnitt über den Data Provider zurückgeblättert habe, wurde mir klar, dass ich ein tiefer liegendes Problem übersehen habe: Selbst wenn die Regeln noch so präzise sind, sind die letzten Entscheidungen dennoch bedeutungslos, wenn die Eingabedaten nicht vertrauenswürdig sind.

Die Policy Evaluation von $NEWT führt die Regeln nicht direkt aus. Der Operator muss externe Daten wie Oracle Price, Sanctions Feed und Risk Score aufrufen und diese Eingaben dann in die Rego-Policy einfließen lassen. Diese Daten selbst existieren jedoch nicht nativ on-chain – und genau das ist mir auf einmal aufgefallen. Das scheint ein Problem zu sein, dem alle On-Chain-Automatisierungssysteme begegnen. Alle diskutieren ständig, ob Smart Contracts vertrauenswürdig sind, aber man fragt selten nach den Daten, die das System sieht, um eine Entscheidung zu treffen: Sind die wirklich zuverlässig?

Wenn der Status einer Adresse falsch beurteilt wird, die Risikobewertung verzerrt ist oder verschiedene Knoten unterschiedliche Daten erhalten, dann können die nachfolgenden Berechnungen von Policy, Attestation und Consensus zwar korrekt sein, aber beruhen möglicherweise trotzdem nur auf falschen Eingaben.

#newt ist in dieser Hinsicht besonders interessant: Es hat nicht die Rolle des alleinigen Datenanbieters gewählt, sondern den Data Provider als austauschbares Modul umgesetzt. Der Operator kann den WASM Data Provider unabhängig ausführen, die externen Daten in einer isolierten Umgebung abrufen und eine ECDSA-Attestation auf Basis der von ihm beobachteten Daten erzeugen, sodass auch die Eingaben selbst in den Verifikationsbereich fallen.

Erst hier ist mir klar geworden, dass ich meine frühere Vorstellung korrigieren musste: Ich dachte immer, der Kern von Newton sei, Regeln verifizierbar zu machen. Tatsächlich geht es zunächst darum, dass die Regeln zur Laufzeit mit derselben vertrauenswürdigen Realität konfrontiert werden. Die Policy bestimmt, wie das System entscheidet; der Data Provider bestimmt, welche Realität das System sieht.

Das wirklich Schwierige besteht nie darin, Maschinen dazu zu bringen, nach Regeln zu laufen, sondern darin, sicherzustellen, dass die Welt, die die Maschine sieht, vor ihrer Entscheidungsfindung nicht durch falsche Eingaben verändert wurde. Genau das könnte die Bedeutung des $NEWT Data-Provider-Ecosystems sein.

In Zukunft wird der Wettbewerb von On-Chain-Systemen nicht nur um Regeln und Ausführung gehen, sondern darum, wer es schafft, dass das gesamte Netzwerk vor der Entscheidungsfindung auf derselben Realität basiert.