
Setelah Penggabungan Ethereum yang telah lama ditunggu-tunggu, inilah saat yang tepat untuk mempertimbangkan bagaimana kami dapat juga meningkatkan kontrak yang masuk akal. Terutama aplikasi yang berjalan di blockchain, kontrak yang masuk akal adalah elemen penting dari fungsi Web3 kami. Namun berinteraksi dengan mereka tetap cukup berbahaya, terutama untuk non-pengembang. Sebagian besar insiden di mana pelanggan kehilangan properti kripto mereka disebabkan oleh buggy atau kontrak masuk akal yang berbahaya.
Sebagai pengembang aplikasi Web3, ini adalah masalah yang biasanya saya pertimbangkan, terutama karena gelombang pelanggan terbaru terus masuk ke berbagai fungsi blockchain. Untuk benar-benar mempercayai kontrak yang bijaksana, klien harus tahu persis apa yang akan dilakukan setelah mereka melakukan transaksi — karena tidak seperti di dunia Web2, tidak ada hotline bantuan pembeli untuk menyebutkan dan memulihkan dana jika ada yang tidak beres. Namun saat ini, hampir tidak mungkin untuk mengetahui apakah kontrak yang bijaksana dilindungi atau dapat diandalkan.
Terkait: Taruhan cair sangat penting untuk keamanan antar rantai
Salah satu jawabannya adalah membuat dompet itu sendiri lebih pintar. Misalnya, bagaimana jika dompet dapat memberi tahu kami jika kontrak yang bijaksana dilindungi untuk bekerja sama? Kemungkinan besar tidak mungkin untuk mengetahui bahwa dengan kepastian 100%, tetapi dompet mungkin, setidaknya, menggabungkan dan menampilkan banyak indikator yang sudah dicari oleh pembuat. Ini mungkin membuat metode ini tidak terlalu rumit dan lebih aman, terutama untuk non-pengembang.
Berikut adalah melihat lebih dalam tentang manfaat dan kerugian dari kontrak yang masuk akal, mengapa mereka muncul seperti Wild West sekarang, dan bagaimana kami akan meningkatkan UX untuk menggunakannya.
Janji dan bahaya kontrak yang masuk akal
Untuk pembangun, gunakan kontrak yang bijaksana karena backend untuk aplikasinya memiliki potensi yang luar biasa. Ini juga akan meningkatkan potensi bug dan eksploitasi. Sangat menyenangkan bahwa kontrak yang masuk akal dapat dibuat oleh pembangun tanpa meminta izin kepada siapa pun, tetapi itu juga dapat mengekspos pelanggan ke ancaman yang cukup besar. Kami sekarang memiliki aplikasi yang melakukan transaksi ratusan ribu {dolar} tanpa jaminan keamanan. Karena itu berdiri, kita hanya perlu percaya bahwa aplikasi ini bebas bug dan melakukan apa yang mereka janjikan.
Banyak non-pengembang bahkan tidak menyadari poin keamanan yang bersangkutan dan tidak mengambil tindakan pencegahan yang sesuai saat berinteraksi dengan aplikasi berbasis blockchain. Orang biasa mungkin akan memberi sinyal transaksi mengingat itu akan melakukan satu faktor, hanya untuk menemukan kontrak yang masuk akal melakukan hal lain sepenuhnya. Itu sebabnya kontrak masuk akal yang berbahaya adalah vektor serangan utama bagi aktor yang tidak sehat.
Mengapa kontrak yang masuk akal adalah Wild West?
Ketika aplikasi Web3 membuat nama kontrak yang bijaksana, Anda tidak tahu persis apa yang akan dilakukan transaksi sampai Anda benar-benar melakukannya. Apakah itu akan mencetak token nonfungible (NFT) Anda, atau akan mengirimkan uang tunai dan token Anda ke peretas? Ketidakpastian ini berlaku untuk semua perangkat lunak online, pada kenyataannya, bukan hanya aplikasi Web3; memprediksi apa yang akan dilakukan kode bisa sangat melelahkan. Tapi itu pasti topik yang jauh lebih besar di dunia Web3 karena sebagian besar dari aplikasi tersebut secara inheren merupakan taruhan yang berlebihan (mereka dibuat untuk menangani uang Anda), dan hanya ada sedikit keamanan bagi pembeli.
App Retailer pada dasarnya dilindungi oleh program tinjauan umum Apple, tetapi itu tidak ada di Web3. Jika aplikasi iOS mulai mencuri uang pelanggan, Apple akan segera menghapusnya untuk mengurangi kerugian dan mencabut akun pembuatnya.
Terkait: Amerika Latin disiapkan untuk kripto — Cukup gabungkan dengan program biaya mereka
Kontrak masuk akal yang berbahaya, sebagai alternatif, tidak dapat dibatalkan oleh siapa pun. Juga tidak ada strategi untuk memulihkan barang curian. Jika kontrak berbahaya menguras kantong Anda, Anda tidak dapat hanya membantah transaksi dengan perusahaan kartu bank Anda. Jika pengembang tidak bernama, seperti yang biasanya terjadi pada kontrak berbahaya, biasanya bahkan tidak ada pilihan untuk mengambil tindakan resmi.
Dari sudut pandang pengembang, jauh lebih baik jika kode untuk kontrak yang bijaksana adalah open supply. Dalam gaya kontrak yang masuk akal biasanya menerbitkan kode pasokan mereka — peningkatan besar atas aplikasi Web2. Namun meskipun demikian, mudah untuk mengabaikan apa yang sebenarnya terjadi. Ini bisa sangat merepotkan untuk meramalkan bagaimana kode akan berjalan di semua kemungkinan. (Pikirkan tentang utas Twitter yang panjang dan menakutkan ini oleh pengembang terampil yang hampir jatuh karena penipuan phishing yang mewah, bahkan setelah mempelajari kontrak yang bersangkutan. Hanya pada pemeriksaan kedua yang lebih dekat, dia menemukan eksploitasinya.)
Memperparah masalah ini, individu biasanya ditekan untuk berperilaku cepat ketika berinteraksi dengan kontrak yang masuk akal. Pikirkan tentang penurunan NFT yang dipromosikan oleh influencer: Pelanggan mungkin khawatir tentang berbagai produk yang dipromosikan dengan cepat, sehingga mereka biasanya akan mencoba melakukan transaksi secepat mungkin, mengabaikan tanda merah apa pun yang mungkin mereka temui di sepanjang jalan. yang.
Singkatnya, opsi yang sama yang membuat kontrak yang masuk akal sangat efektif untuk pembangun — terkait dengan penerbitan tanpa izin dan uang yang dapat diprogram — membuatnya cukup berbahaya bagi pembeli.
Saya tidak menganggap teknik ini pada dasarnya cacat. Namun ada banyak alternatif bagi pembuat Web3 seperti saya untuk menawarkan pagar yang lebih tinggi bagi pembeli yang menggunakan dompet dan kontrak yang masuk akal di masa sekarang.
UX dompet dan kontrak yang masuk akal di masa sekarang
Dalam beberapa hal, dompet seperti MetaMask benar-benar terasa seperti dibuat untuk pembangun. Mereka menunjukkan banyak detail teknis yang mendalam dan hal-hal sepele blockchain yang mungkin berguna saat membuat aplikasi.
Masalahnya adalah bahwa non-pengembang juga menggunakan MetaMask — tanpa memahami apa artinya semuanya. Tidak ada orang yang mengantisipasi Web3 untuk menjadi arus utama dengan begitu cepat, dan dompet belum cukup memenuhi kebutuhan basis pengguna baru mereka.
Terkait: Diajar dari Celsius — Hentikan pertukaran dari penyitaan uang Anda
MetaMask telah melakukan pekerjaan luar biasa dengan mengubah nama “frasa mnemonik” menjadi “frasa rahasia” untuk mencegah pembeli membagikannya tanpa disadari dengan peretas. Meskipun demikian, ada banyak ruang ekstra untuk pesona.
Mari kita lihat antarmuka orang (UI) MetaMask, yang diadopsi oleh beberapa mock-up yang saya buat dengan menguraikan beberapa peningkatan potensial yang mungkin menginformasikan pembeli ke “lubang kesuksesan.” (Omong-omong, MetaMask di sini berfungsi sebagai referensi karena digunakan secara dekat di seluruh dunia Web3, namun konsep UI ini juga perlu diterapkan ke hampir semua aplikasi saku.) Beberapa dari tweak desain ini mungkin dibangun di hari ini, sedangkan yang lain mungkin memerlukan kemajuan teknis pada aspek kontrak yang masuk akal.
Gambar di bawah menunjukkan seperti apa jendela transaksi kontrak yang masuk akal MetaMask saat ini.
Kami melihat alamat dari kontrak yang masuk akal yang kami hadapi, situs web yang memulai transaksi, dan kemudian banyak rincian tentang dana yang kami kirimkan ke kontrak. Namun, tidak ada indikasi apa yang dilakukan nama kontrak ini atau indikator apa pun yang dilindungi untuk bekerja sama.
Opsi potensial untuk meningkatkan kontrak yang masuk akal
Apa yang sebenarnya ingin kami lihat di bawah ini adalah indikator yang membantu kami sebagai pelanggan akhir untuk mengetahui apakah kami percaya transaksi kontrak yang masuk akal ini atau tidak. Sebagai analogi, pertimbangkan kunci kecil yang tidak berpengalaman atau merah muda di bilah pegangan browser internet terbaru, yang menandakan apakah koneksi dienkripsi atau tidak. Indikator berkode warna ini membantu informasi pelanggan yang tidak berpengalaman jauh dari potensi risiko, sedangkan pelanggan energi dapat dengan mudah mengabaikannya jika paling disukai.
Sebagai contoh yang terlihat, tercantum di bawah ini adalah dua mock-up desain fast person expert (UX) dari transaksi MetaMask — satu yang lebih mungkin untuk dilindungi, dan satu yang kurang pasti.
Tercantum di sini hanya beberapa indikator dalam mock-up saya:
Apakah kode pasokan kontrak dicetak? Kontrak sumber terbuka biasanya lebih dapat dipercaya karena pengembang mana pun dapat mempelajarinya untuk mencari bug dan kode berbahaya. MetaMask sudah terdiri dari banyak hyperlink ke Etherscan, jadi ini mungkin tanda yang mudah dan praktis untuk ditambahkan. Peringkat audit. Audit pihak ketiga adalah salah satu tanda lain yang dapat menentukan kepercayaan. Permintaan implementasi utama di sini adalah mencari tahu bagaimana menentukan peringkat ini. Apakah sudah ada persyaratan yang diterima untuk ini? Jika tidak, cara mudah mungkin menggunakan Etherscan, yang membantu mengimpor audit. MetaMask, dalam hal ini, dapat juga mempertahankan daftar auditor pribadinya, atau bergantung pada inventarisasi peristiwa ketiga. (Dari apa yang saya dapat informasikan, MetaMask sudah melakukan ini untuk API NFT dan deteksi token.) Cepat atau lambat, mudah untuk memikirkan grup otonom terdesentralisasi untuk mengetahui skor audit dengan cara yang lebih terdesentralisasi. Apa yang dapat dilakukan transaksi ini? Bisakah itu menyebutkan kontrak eksterior, dan jika demikian, yang mana di antara mereka? Ini mungkin sangat sulit untuk diketahui sepenuhnya, namun saya bertanya-tanya apakah model yang mudah untuk kontrak sumber terbuka dapat dimungkinkan. Sudah ada banyak pemindai kerentanan kontrak pintar otomatis di pasar. Jika ini tidak dapat dilakukan untuk Soliditas, saya bertanya-tanya apakah kita dapat merancang bahasa pemrograman kontrak yang bijaksana yang memungkinkan tingkat evaluasi statis ini. Mungkin fitur orang tertentu dapat mendeklarasikan izin yang mereka inginkan, dan kompiler dapat memastikan kesesuaian. Ide dan pelatihan keselamatan. Jika kontrak yang bijaksana tidak memiliki banyak indikator kepercayaan (lihat mock-up di atas tentang pemasangan), UI dapat menganjurkan serangkaian tindakan pencegahan yang berlaku untuk diambil, terkait dengan memeriksa apakah penanganan kontrak sesuai dan menggunakan akun unik. Ini adalah ide yang dibuat dalam konten tekstual oranye, versus merah muda, karena tidak adanya indikator pada dasarnya tidak berbahaya; di sini, kami hanya menyarankan agar pelanggan memilih untuk sedikit lebih berhati-hati tentang langkah selanjutnya.
Seperti banyak opsi saat ini di MetaMask, opsi yang diusulkan ini mungkin dimatikan dalam pengaturan.
Menuju masa depan yang lebih aman
Cepat atau lambat, pasti akan ada banyak instrumen yang berfokus pada keselamatan yang dibangun di atas bagian primitif yang dihadirkan oleh blockchain. Misalnya, pasti kita akan melihat protokol perlindungan asuransi yang melindungi pelanggan dari kontrak yang masuk akal buggy berkembang menjadi biasa. (Ini sudah ada, tetapi mereka tetap menarik.)
Terkait: Apa yang akan mendorong kenaikan crypto yang tidak diragukan lagi pada tahun 2024?
Meskipun demikian, pembeli sudah menggunakan aplikasi Web3, bahkan di hari-hari awal ini, jadi saya ingin melihat grup pengembang menambahkan perlindungan ekstra untuk mereka sekarang. Beberapa peningkatan mudah pada dompet mungkin cukup berhasil. Beberapa konsep di atas akan membantu mempertahankan pelanggan yang tidak berpengalaman sekaligus merampingkan proses transaksi untuk veteran Web3.
Dari sudut pandang saya, sesuatu di luar pembelian dan penjualan properti kripto di Coinbase (atau perusahaan besar lainnya) masih terlalu berbahaya bagi klien biasa. Ketika keluarga dan teman-teman bertanya tentang membuat kantong kripto penyimpanan mandiri untuk menggunakan aplikasi Web3 (akui saja — sering kali, untuk dapat membeli NFT), selalu mulai dengan memperingatkan mereka tentang bahayanya. Ini membuat beberapa dari mereka takut, tetapi orang yang lebih memutuskan tetap harus menggunakannya. Ketika dompet kami lebih pintar, kami akan memiliki kemampuan untuk benar-benar merasa jauh lebih baik tentang orientasi gelombang berikutnya dari pelanggan terbaru ke Web3.
Devin Abbott (@dvnabbott) adalah bapak pendiri Deco, perusahaan rintisan yang diakuisisi oleh Airbnb. Dia membuat spesialisasi instrumen desain dan peningkatan, fungsi React dan Web3, paling akhir dengan The Graph.
Teks ini untuk fungsi data umum dan tidak dimaksudkan untuk dan tidak boleh dianggap sebagai rekomendasi resmi atau pendanaan. Pandangan, ide, dan pendapat yang diungkapkan yang tercantum di bawah ini adalah milik pembuatnya sendiri dan pada dasarnya tidak meniru atau menandakan pandangan dan pendapat Cointelegraph.