Ada sesuatu yang menggangguku sejak lama tentang kontrol risiko onchain.
Manusia nyaman dengan aturan yang samar. Mesin tidak.
Sebuah tim risiko bisa berkata, “Jaga eksposur tetap dalam batas aman,” dan hampir semua orang di ruangan itu kemungkinan memahami maksudnya. Mesin tidak peduli dengan niat di balik itu. Beri mesin kondisi yang tepat, atau tidak ada yang benar-benar bisa ditegakkan.
Satu baris dalam model kebijakan @NewtonProtocol terngiang di kepalaku:
"default allow := false"
Terlihat sederhana. Padahal tidak.
Kebijakannya dimulai dari penolakan. Persetujuan harus datang dari kondisi yang secara eksplisit dikodekan dalam logikanya.
Itu mengubah model kepercayaan.
Dalam model yang mengutamakan agen, agen memutuskan tindakan apa yang masuk akal dan sistem sangat bergantung pada agen yang berperilaku sesuai ekspektasi. Dalam model otorisasi yang mengutamakan kebijakan, agen tetap bisa memutuskan apa yang ingin dilakukannya, tetapi keputusan itu tidak cukup. Tindakan yang diusulkan harus memenuhi serangkaian aturan terpisah sebelum bisa berjalan.
Perbedaan itu terdengar kecil sampai uang mulai bergerak.
Ambil aturan dasar:
“Jangan biarkan agen membelanjakan lebih dari batas yang disetujui.”
Mudah dikatakan. Versi mesin butuh nilai yang tepat. Data transaksi bisa masuk melalui "input". Ambang yang dikonfigurasi bisa berada di "data.params". Keputusan lalu bisa direduksi menjadi sesuatu seperti:
"input.value <= data.params.max_value"
Menulis perbandingan itu bagian yang mudah.
Menentukan apa yang termasuk di dalamnya lebih sulit.
Apa sebenarnya yang dihitung sebagai nilai? Siapa yang menetapkan "max_value", dan atas dasar apa? Apakah batas yang sama harus berlaku untuk setiap transaksi? Apa yang terjadi ketika ada satu pengecualian yang sah?
Manusia melewati pertanyaan seperti ini terus-menerus karena kita mengandalkan konteks yang dibagi bersama.
“Kita tahu apa yang kita maksud.”
Mesin tidak punya kemewahan itu. Pengecualian yang hanya ada di kepala seseorang, atau disebut sekali dalam sebuah rapat, tidak ada bagi evaluator.
Itulah tradeoff yang terus saya kembali padanya.
Titik awal yang fail-closed mengurangi ambiguitas. Jika kondisi persetujuan tidak terpenuhi, tindakannya tetap terblokir. Tetapi penegakan yang lebih ketat juga memberi lebih banyak tekanan pada manusia untuk mendefinisikan batas sebelum batas-batas itu diuji oleh situasi yang tidak mereka perkirakan.
Mesin akan menegakkan aturan tersebut.
Ia tidak akan menanyakan apakah aturan itu masih masuk akal.
Hal ini menjadi lebih tajam dengan agen AI.
Memberi agen sebuah tujuan dan memberinya otoritas adalah dua hal yang berbeda, namun diskusi tentang keuangan otonom sering mencampuradukkannya.
Sebuah agen mungkin melihat kondisi pasar dan memutuskan bahwa memindahkan dana atau memasuki posisi berguna bagi tujuannya. Baik. Menalar tindakan yang berguna adalah tugasnya.
Namun otorisasi adalah pertanyaan yang terpisah:
Apakah tindakan spesifik ini sesuai dengan batas yang manusia sudah tetapkan?
Di situlah perbandingan menjadi penting.
Sebuah sistem yang memperlakukan keputusan agen sebagai cukup secara efektif menggabungkan proposisi dan izin. Lapisan kebijakan yang terpisah memisahkan peran-peran itu. Agen mengajukan. Kebijakan mengevaluasi.
Agen tidak boleh menjadi hakim bagi dirinya sendiri.
Sekarang ambil instruksi manusia lain yang umum:
“Hindari protokol yang berisiko.”
Tapi itu tetap berarti hampir tidak ada apa-apanya bagi sebuah mesin.
Evaluator membutuhkan nilai yang dapat diamati dan batas yang ditetapkan. Jika data risiko eksternal menjadi bagian dari keputusan, informasi itu tetap harus berubah menjadi kondisi yang tepat yang dapat dicek oleh kebijakan.
“Terlalu berisiko” hilang.
Sebuah ambang menempati posisinya.
Di sinilah penegakan mesin bisa terlihat lebih kuat daripada kenyataannya.
Ambang yang buruk ditegakkan sama konsistennya seperti ambang yang baik. Parameter yang basi bisa terus menyetujui tindakan yang tim risiko akan tolak hari ini. Pengecualian yang ditulis terlalu luas bisa melemahkan kebijakan yang tampak ketat dari luar.
Jadi "default allow := false" memberi sistem asumsi awal yang lebih aman, tetapi tidak menyelesaikan penilaian kebijakan.
Ini tidak memutuskan siapa yang seharusnya menetapkan ambang. Ini tidak memutuskan seberapa sering parameter harus berubah. Dan ini tidak tahu kapan asumsi di balik sebuah aturan sudah menjadi usang.
Itulah bagian yang terus berputar di kepala saya saat Newton Mainnet Beta mendekatkan pertanyaan kebijakan ini ke kondisi aplikasi dunia nyata.
Mengubah niat menjadi logika yang dapat ditegakkan bukan hanya masalah pengkodean. Itu memaksa tim untuk membuat asumsi-asumsi tersembunyi menjadi eksplisit sebelum sebuah sistem otonom bertindak berdasarkan asumsi-asumsi tersebut.
Dan saya pikir ada perbandingan yang berguna yang harus bisa dijelaskan dengan jelas oleh setiap kerangka agen:
Apa yang terjadi ketika tidak ada aturan yang memberi jawaban yang jelas?
Apakah sistem kembali ke izin, atau kembali ke penolakan?
Falisitas ini bukan sekadar detail implementasi kecil. Begitu agen bisa bertindak dengan cepat dan berulang, keadaan default menjadi bagian dari model keamanan itu sendiri.
Untuk $NEWT dan #Newt , pertanyaan yang lebih dalam bukan apakah mesin bisa menegakkan aturan manusia. Mesin bisa menegakkan apa yang kita enkode.
Pertanyaan yang lebih sulit adalah apakah manusia bisa mendefinisikan risiko dengan cukup presisi, dan memperbaruinya dengan cukup cepat, untuk agen yang beroperasi pada kecepatan mesin.
Karena jika asumsi di balik kebijakan sudah basi, penegakan yang sempurna hanya berarti aturan yang salah diikuti dengan sempurna.
Jadi jika agen otonom mencapai situasi yang tidak direncanakan siapa pun, apa yang harus melindungi sistem: penilaian agen, atau penolakan kebijakan untuk menebak?



