Aku sedang menelusuri kembali uji transaksi kecil di Newton, dan satu hal membekas lebih lama daripada yang aku duga. Tidak ada yang gagal. Tidak ada yang terlihat rusak. Prosesnya hanya berhenti sejenak lebih lama dari biasanya, dan entah bagaimana jeda singkat itu justru memunculkan pertanyaan yang jauh lebih besar daripada transaksi itu sendiri.
Pada awalnya, rasanya seperti keterlambatan jaringan yang normal. Setiap sistem punya momen ketika semuanya melambat sesaat. Operator jadi sibuk, antrean menumpuk, dan sedikit penundaan terjadi. Biasanya itu penjelasan paling sederhana, dan pada kebanyakan waktu mungkin memang itu yang paling tepat. Tapi semakin aku memikirkan bagaimana Newton sebenarnya memproses sebuah transaksi, semakin tidak terasa bahwa penjelasan itu benar-benar tepat.
Sebuah transaksi di Newton tidak bergerak melalui satu langkah saja. Ia melewati beberapa tahap sebelum mencapai penyelesaian (settlement). Transaksi itu dirutekan, dievaluasi terhadap aturan kebijakan, diverifikasi, dan barulah kemudian diselesaikan di blockchain. Setiap tahap itu memiliki tujuan yang berbeda, dan masing-masing berpotensi menimbulkan jeda (delay). Namun, dari luar, semuanya terlihat persis sama. Yang Anda lihat hanya satu status: pending.
Itulah bagian yang terus-menerus saya pikirkan kembali. Sebuah transaksi bisa saja sudah bergerak melalui sistem tanpa memberi petunjuk apa pun kepada pengguna tentang posisinya sebenarnya. Bisa jadi transaksi itu sudah ditetapkan ke seorang operator. Cek kebijakan mungkin sudah berjalan. Verifikasi bahkan bisa saja tinggal selangkah lagi untuk selesai. Tetapi kecuali sistem menampilkan informasi yang lebih banyak, semua situasi yang sangat berbeda itu akhirnya tampak identik.
Pertanyaan yang lebih besar bukan semata-mata apakah jaringan sedang online. Melainkan apakah setiap permintaan ditangani dengan cara yang sama. Newton dibangun di sekitar penegakan kebijakan (policy enforcement), dan tidak setiap transaksi meminta tingkat evaluasi yang sama. Beberapa cek kebijakan relatif sederhana. Lainnya secara alami membutuhkan pekerjaan lebih banyak karena aturan yang mendasarinya lebih rinci. Dua transaksi mungkin tampak hampir sama dari luar, padahal di balik layar keduanya mengikuti jalur yang sangat berbeda.
Di sinilah perbedaan antara jeda yang normal dan sesuatu yang lebih bersifat struktural mulai menjadi penting. Jika sebuah transaksi menunggu karena jaringan sedang sibuk sementara, itu satu penjelasan. Jika ia menunggu karena permintaan tertentu mendapat prioritas yang lebih rendah, itu situasi yang sama sekali berbeda. Dari sudut pandang pengguna, namun, kedua pengalaman itu bisa terlihat persis sama kecuali ada visibilitas yang cukup tentang apa yang sebenarnya terjadi.
Bagian yang paling sering saya pikirkan adalah transparansi. Dalam sistem seperti Newton, bukan hanya soal apakah sebuah transaksi akhirnya berhasil. Ini juga soal apakah pengguna bisa memahami apa yang terjadi saat transaksi sedang menunggu. Apakah ia berada dalam antrean (queue)? Apakah ia dirutekan ke operator dengan waktu respons yang lebih lama? Apakah evaluasi kebijakan hanya membutuhkan pekerjaan yang lebih banyak? Atau apakah ada hal lain yang terjadi—sesuatu yang tidak terlihat dari antarmuka?
Di sinilah kepercayaan (trust) benar-benar mulai penting. Sistem yang andal bukan hanya yang bekerja dengan benar. Sistem yang andal juga memberi pengguna konteks yang cukup untuk memahami mengapa sesuatu terjadi seperti itu. Ketika sebuah transaksi berdiam tanpa informasi, orang cenderung mengisi kekosongan itu dengan asumsi mereka sendiri. Kadang asumsi itu akurat. Kadang tidak. Apa pun itu, kurangnya visibilitas menjadi bagian dari keseluruhan pengalaman.
Itulah sebabnya "pending" dan "deprioritized" terasa bukan hal yang sama, meskipun antarmukanya tidak memisahkan keduanya dengan jelas. Yang satu menyarankan menunggu sementara. Yang lainnya menyarankan bahwa sebuah permintaan mungkin tidak mendapat perhatian yang setara. Yang satu terdengar seperti soal waktu. Yang lainnya terdengar seperti soal prioritas. Dalam jaringan yang digerakkan oleh kebijakan, pembedaan itu terasa lebih penting daripada yang pertama kali terlihat.
Itulah salah satu alasan saya menganggap Newton menarik. Newton tidak hanya berfokus untuk memindahkan transaksi dari satu titik ke titik lain. Ia juga bertanggung jawab untuk memutuskan apakah sebuah transaksi harus bergerak, bagaimana transaksi itu harus bergerak, dan di bawah kondisi kebijakan seperti apa transaksi itu boleh diselesaikan (settle). Dalam jenis sistem seperti itu, waktu (timing) menjadi lebih dari sekadar metrik performa. Ia menjadi bagian dari cara kerja protokol tersebut.
Mungkin itulah kesimpulan utama bagi saya. Menunggu tidak selalu sekadar menunggu. Kadang itu hanya normalnya timing jaringan. Kadang itu mencerminkan sesuatu yang lebih dalam di dalam sistem. Sampai perbedaan itu menjadi lebih terlihat, pengguna dibiarkan mencoba menafsirkan seluruh proses hanya dari satu kata di layar.

