Daftar isi 6 bagian
Pernyataan bahwa sebuah protokol berjalan otomatis sering menyembunyikan pertanyaan yang lebih menentukan: siapa yang dapat mengubah apa yang akan dijalankan? Dalam smart contract yang dapat ditingkatkan, kemampuan tersebut bukan sekadar urusan perawatan perangkat lunak. Ia menyangkut kuasa menetapkan kondisi bagi orang yang sudah menempatkan aset, mengambil kewajiban, atau bergantung pada layanan.
Tulisan ini membaca pola kontrak yang dapat ditingkatkan, standar ERC-1967, dan ketergantungan pada oracle sebagai persoalan tata kelola. Otomatisasi memindahkan sebagian kekuasaan ke desain dan pengelolaan kode; karena itu legitimasi perubahan harus diperiksa terpisah dari keberhasilan teknis eksekusinya. Ini merupakan kritik terhadap arsitektur tertentu, bukan tuduhan terhadap semua protokol blockchain.
Alamat tetap, aturan dapat berganti
Dokumentasi Ethereum menjelaskan beberapa pola peningkatan smart contract. Pada pola proxy tertentu, keadaan aplikasi dapat dipertahankan sementara logika pelaksanaannya diarahkan ke kontrak implementasi yang berbeda. Mekanisme ini membantu perbaikan kerentanan dan penambahan fungsi, sekaligus menimbulkan kebutuhan mempercayai pihak yang berwenang melakukan perubahan.[1]
Artinya, ketetapan kode pada suatu alamat tidak selalu identik dengan ketetapan perilaku aplikasi sepanjang waktu. Pengguna dapat terus berinteraksi melalui alamat yang dikenalnya, tetapi fungsi yang dieksekusi sudah berbeda. Perbedaan antara kesinambungan alamat dan kesinambungan aturan inilah yang perlu diterangkan dalam bahasa yang dapat dipahami pengguna.
ERC-1967 memberi bentuk konkret pada persoalan tersebut. Standar ini menetapkan lokasi penyimpanan informasi proxy, termasuk alamat implementasi dan, secara opsional, alamat administrator. Bagian administrator menjelaskan alamat yang diberi kewenangan meningkatkan alamat logika; perubahan informasi itu direkomendasikan untuk diumumkan melalui event. Standar juga menjelaskan penggunaan proxy untuk penghematan gas, sehingga keberadaan proxy sendiri tidak membuktikan bahwa setiap kontrak dapat diubah.[2]
Kemampuan melihat alamat administrator merupakan kemajuan keterbukaan teknis. Namun, pengungkapan sebuah alamat belum menjawab identitas pengendalinya, dasar kewenangannya, atau keadaan yang membolehkan perubahan. Transparansi kode menyediakan bahan pemeriksaan; pertanggungjawaban membutuhkan alasan atas penggunaan kewenangan tersebut.
Membaca Lessig tanpa menyucikan kode
Dalam Code and Other Laws of Cyberspace, Lawrence Lessig membahas hukum, norma sosial, pasar, dan arsitektur sebagai cara yang saling memengaruhi dalam mengatur perilaku. Arsitektur digital dapat memungkinkan atau membatasi tindakan melalui desainnya. Gagasan ini membantu melihat perangkat lunak sebagai pengatur, tanpa menyamakan setiap hasil eksekusi program dengan hasil yang sah atau adil.[3]
Dengan membaca Lessig, pertanyaan tentang transaksi tidak berhenti pada berhasil atau tidaknya eksekusi. Kita juga perlu menanyakan siapa yang menentukan syarat transaksi itu. Penetapan batas jaminan, biaya, akses penarikan, atau mekanisme perubahan dapat mendistribusikan keuntungan dan beban. Pilihan yang ditulis dalam kode tetap merupakan pilihan, meskipun sesudahnya dilaksanakan secara konsisten.
Konsekuensinya, audit keamanan dan kritik hukum mengajukan pertanyaan yang berbeda. Suatu fungsi bisa bekerja persis sesuai rancangan, tetapi rancangan itu memberi satu pihak kewenangan terlalu luas. Sebaliknya, pembatasan kewenangan yang tampak ideal dapat menghambat respons terhadap kerentanan. Kualitas tata kelola harus menilai keduanya, termasuk siapa yang menanggung akibat ketika pilihan tersebut gagal.
Persetujuan hari ini terhadap perubahan besok
Persetujuan terhadap transaksi awal perlu dibedakan dari persetujuan terhadap seluruh perubahan pada masa depan. Bayangkan seorang pengguna yang menerima biaya dan syarat penarikan tertentu. Pengelola kemudian mengganti logika aplikasi sehingga beban pengguna bertambah. Fakta bahwa pembaruan sah menurut kontrol akses program belum menjawab apakah perubahan tersebut termasuk dalam kesepakatan yang dipahami pengguna.
Di Indonesia, Pasal 46 PP Nomor 71 Tahun 2019 menempatkan kesepakatan, kecakapan atau kewenangan, hal tertentu, dan objek yang tidak terlarang sebagai syarat kontrak elektronik. Pasal 47 juga mengatur isi minimum serta kesesuaian klausula baku dengan ketentuan terkait. Rumusan ini memberi dasar untuk memeriksa hubungan hukum di balik antarmuka, bukan sekadar keberhasilan pengiriman transaksi.[4]
Ketentuan tersebut tidak otomatis mengklasifikasikan setiap interaksi blockchain sebagai satu jenis kontrak, apalagi memastikan hukum Indonesia selalu berlaku pada seluruh protokol lintas negara. Identitas pihak, hubungan yang dibentuk, dan keadaan transaksinya harus diperiksa. Namun, jika persetujuan dijadikan pembenaran, isi persetujuan itu harus dapat ditunjukkan. Tanda tangan dompet tidak boleh diperlakukan sebagai jawaban lengkap atas pertanyaan yang belum dijelaskan.
Kritik yang relevan ialah sejauh mana pengguna diberi kesempatan memahami ruang perubahan. Klausul yang menyebut pengelola dapat memperbarui sistem masih menyisakan pertanyaan tentang batasnya: memperbaiki kesalahan, mengganti biaya, menutup penarikan, atau mengalihkan fungsi? Menggabungkan semuanya dalam satu kata “pembaruan” dapat menyamarkan perbedaan akibat yang sangat besar.
Oracle dan keputusan tentang kenyataan
Kuasa juga hadir dalam pemilihan informasi yang dipercaya program. Oracle menghubungkan kontrak dengan informasi di luar jaringan. Dokumentasi Ethereum menguraikan persoalan ketepatan, ketersediaan, serta insentif penyedia data. Data yang masuk harus layak dipercaya agar pelaksanaan kontrak menghasilkan perubahan yang sesuai tujuan.[5]
Dalam kontrak yang bergantung pada harga, desain harus menentukan sumber, cara penggabungan data, dan perlakuan terhadap pembaruan yang terlambat. Dalam kontrak yang bergantung pada kejadian, perlu ditentukan apa yang dihitung sebagai kejadian tersebut. Sebelum program menjalankan akibatnya, perancang telah memilih data dan kejadian apa yang akan dijadikan dasar tindakan.
Bayangkan pembayaran otomatis yang dipicu oleh suatu indikator. Sengketa dapat muncul karena indikatornya tidak menggambarkan kerugian yang dialami pengguna, meskipun data diterima dan fungsi dijalankan tanpa kesalahan. Menjawab bahwa “sistem bekerja” hanya menjelaskan keteraturan internal. Pertanyaan tentang kesesuaian indikator, pengungkapan keterbatasan, dan pembagian beban kesalahan masih terbuka.
Pembelaan terkuat: kewenangan darurat dapat melindungi pengguna
Menutup seluruh kemungkinan perubahan juga memiliki biaya. Kerentanan yang sudah ditemukan mungkin membutuhkan penanganan segera, sementara sistem yang tidak dapat diperbaiki mempertahankan risiko tersebut. Karena itu, tuntutan menghapus administrator tanpa mempertimbangkan fungsi perlindungannya dapat berakhir merugikan orang yang hendak dilindungi.
Dokumentasi Ethereum membahas multisig, persetujuan tata kelola, dan timelock sebagai cara mengurangi ketergantungan pada keputusan sepihak. Penundaan memberi waktu untuk merespons perubahan, tetapi dapat memperlambat perbaikan mendesak. Pilihan ini menunjukkan adanya pertukaran kepentingan yang perlu dinyatakan, bukan disembunyikan di balik klaim desentralisasi.
Karena itu, kewenangan mengubah kode perlu dibatasi menurut tujuan penggunaannya. Perubahan biaya rutin, perbaikan darurat, dan perubahan mendasar hubungan pengguna tidak seharusnya memperoleh pembenaran yang sama. Sebagai usulan desain, kewenangan darurat perlu memiliki pemicu yang jelas, ruang tindakan terbatas, catatan keputusan, dan evaluasi setelah digunakan. Usulan ini merupakan ukuran normatif untuk diperdebatkan, bukan fitur yang diasumsikan sudah tersedia pada setiap protokol.
Dari keterbukaan kode menuju alasan yang terbuka
Pemeriksaan hukum yang berguna perlu menanyakan siapa yang dapat mengubah aturan, bagaimana perubahan diberitahukan, dan kesempatan apa yang dimiliki pihak terdampak. Kesempatan keluar juga perlu dibaca secara konkret: apakah aset dapat ditarik, apakah ada masa penguncian, dan apakah biaya keluar membuat pilihan itu praktis tidak terjangkau? Hak memilih hanya bermakna apabila keadaan pelaksanaannya ikut diperiksa.
Tulisan ini tidak mengaudit kontrak tertentu dan tidak menyimpulkan ada pelanggaran hukum oleh suatu pengembang. Klaim tentang sentralisasi suatu proyek memerlukan pemeriksaan kontrak, kewenangan aktual, serta prosedur pengelolaannya. Dokumen teknis yang dibahas di sini menunjukkan tempat-tempat di mana pertanyaan itu patut diajukan.
Janji smart contract dapat dinilai lebih jernih ketika keberhasilan eksekusi tidak mengakhiri perdebatan tentang kewenangan. Kode menjelaskan apa yang dapat dilakukan sistem. Kritik hukum menuntut alasan tentang siapa yang berhak menentukan kemampuan itu, bagaimana perubahan dibatasi, dan kepada siapa akibatnya harus dipertanggungjawabkan.
Sumber & rujukan
Berikut sumber yang digunakan dalam tulisan ini. Nomornya merujuk pada penanda di dalam artikel.
- Ethereum — Upgrading smart contracts
Bagian Proxy patterns, Pros and cons, serta Considerations. Halaman mencantumkan pembaruan 21 Oktober 2025. Digunakan untuk mekanisme peningkatan, kewenangan, timelock, dan pertukaran kepentingan keamanan.
Kembali ke penanda 1 ↑ - ERC-1967 — Proxy Storage Slots
Santiago Palladino, Francisco Giordano, dan Hadrien Croubois; dibuat 24 April 2019, status Final. Abstract serta Specification, khususnya Admin address. Standar teknis, bukan penetapan status hukum suatu kontrak.
Kembali ke penanda 2 ↑ - Lawrence Lessig — Code and Other Laws of Cyberspace (1999)
Basic Books, terutama bab 7, What Things Regulate, hlm. 85–99. Naskah pada situs penulis. Penerapan kerangka pada upgrade dan oracle merupakan analisis Lazarus.
Kembali ke penanda 3 ↑ - PP Nomor 71 Tahun 2019 tentang Penyelenggaraan Sistem dan Transaksi Elektronik
Teks resmi JDIH Komdigi, Pasal 46–47. Syarat keabsahan dan muatan kontrak elektronik; penerapan pada transaksi tertentu memerlukan pemeriksaan hubungan hukum dan yurisdiksi.
Kembali ke penanda 4 ↑ - Ethereum — Oracles
Bagian What is the oracle problem? dan How does a blockchain oracle service work?. Digunakan untuk ketergantungan informasi, ketepatan, ketersediaan, dan rancangan pengolahan data.
Kembali ke penanda 5 ↑