Saat saya membaca tentang Arsitektur Newton Protocols, satu hal menarik perhatian saya. Mereka memutuskan untuk memisahkan logika kebijakan, komputasi, dan eksekusi menjadi tiga lapisan.

* Lapisan pertama disebut Policy Layer. Di sini kebijakan didefinisikan, diatur, dan dihubungkan ke oracle yang menyediakan data. Lapisan ini menentukan aturan apa yang harus diterapkan, seperti batas pengeluaran, pemeriksaan sanksi, atau persyaratan kenali pelanggan (know-your-customer).

Lapisan kedua adalah Compute & Consensus. Setelah memeriksa kebijakan di blockchain, Newton mengirimkan tugas ke jaringan operator melalui sebuah Gateway. Operator-operator ini memperoleh data, mengevaluasi kebijakan, dan membuat tanda tangan.

* Sebuah Aggregator kemudian menggabungkan tanda tangan-tanda tangan ini menjadi satu bukti setelah cukup banyak operator yang setuju.

Lapisan Verification & Execution ikut terlibat setelah itu.

* Di sini, PolicyClient memeriksa bukti melalui AttestationValidator sebelum transaksi dapat terjadi.

* Smart contract memeriksa hasil melakukan ulang pekerjaan kebijakan.

Dari sudut pandang engineering, pemisahan ini membantu.

* Ini menjaga agar semuanya jelas dan terpisah.

* Lapisan Policy hanya mendefinisikan aturan.

* Lapisan Compute & Consensus hanya menghasilkan sebuah evaluasi.

* Lapisan Verification hanya memeriksa bukti sebelum eksekusi.

Karena pemisahan ini, aturan kebijakan dapat berubah tanpa memengaruhi kontrak verifikasi.

* Verifikasi tetap terpisah dari cara operator mengevaluasi kebijakan.

* Ini juga membentuk sebuah alur kerja.

* Pengembang mendefinisikan kebijakan sekali.

* Operator mengevaluasinya di luar blockchain.

* Smart contract hanya memeriksa bukti sebelum mengeksekusi transaksi.

Newton membuat evaluasi kebijakan menjadi layanan terpisah yang menghasilkan bukti untuk kontrak.

* Saya menemukan pemisahan ini menarik dalam dokumentasi.

Bagi Builder, otorisasi berbasis on-chain menjadi lebih kompleks; apakah pemisahan definisi kebijakan, evaluasi, dan verifikasi bekerja lebih baik, daripada memasukkan logika otorisasi ke dalam smart contract @NewtonProtocol #Newt $NEWT