Beli Kripto
Market
Spot
Futures
Finansial
Promosi
Selengkapnya
reward-centerPengguna Baru
Analisis LaporanDetail
Riset Industri

Riset CoinEx: Dilema Keamanan Aset Blockchain: Alasan Mengapa Waktu Dunia Nyata Diperlukan Sebagai Lapisan Keamanan Tambahan

  • ETH0%
  • DOT0%
  • ATOM0%
  • LUNA0%
  • BTC0%
CoinEx logo
Diposting pada 2022-04-07

Sejak DeFi Summer 2020, didorong oleh kemajuan berkelanjutan infrastruktur blockchain, protokol DeFi telah berkembang dari Swap ke Lend ke Yield Farming hingga protokol yang semakin canggih, mencakup strategi Yield Farming AMM (automated market making) berbasis derivatif blockchain, platform pinjaman terstruktur yang dibangun di atas infrastruktur peminjaman, dan protokol pinjaman on-chain yang menghubungkan jaminan dunia nyata, dll.

Salah satu faktor kunci di balik pesatnya inovasi DeFi adalah konsep yang disebut composability. Sebagian besar waktu, ketika protokol DeFi baru dirilis, sebagian besar kode sumbernya juga tersedia untuk publik. Ini berarti bahwa kode sumber dari smart contract dari satu atau lebih protokol DeFi dapat dengan mudah digabungkan untuk membuat yang baru. Mereka bekerja seperti balok Lego — balok dengan bentuk berbeda dapat digunakan untuk membangun proyek unik, secara signifikan menurunkan biaya inovasi.

Mengejutkan, di tengah inovasi besar tersebut, jumlah pengguna DeFi tidak mengalami pertumbuhan signifikan sejak 2020. Sementara itu, institusi tradisional belum menempatkan likuiditas ke dalam ruang blockchain. Salah satu penyebab utamanya adalah masalah keamanan DeFi.

Keuangan dunia nyata dilengkapi dengan sistem yang mapan dan aman. Misalnya, ketika memindahkan dana dari Bank A ke Bank B, truk pengangkut uang dan petugas kepolisian bersenjata akan hadir untuk menjaga keamanan dana, yang merupakan proses yang meyakinkan. Selain itu, bank juga akan bertanggung jawab atas properti klien dan akan menawarkan kompensasi untuk setiap kerugian selama proses tersebut. Namun, DeFi berbeda dari sistem keuangan tradisional. Smart contract bersifat tidak dapat diubah secara desain. Mereka pada dasarnya adalah kotak hitam yang tidak akan mengirimkan log yang dapat dibaca, sehingga orang tidak dapat melihat dengan jelas proses internal. Sebagian besar audit smart contract tidak membantu karena hanya berfokus pada bentuk serangan yang sudah dikenal, bukan jenis kerentanan baru yang sangat mungkin terjadi. Sementara itu, banyak protokol DeFi melabeli diri mereka sebagai produk "gunakan dengan risiko sendiri". Ini bisa menakutkan bagi pengguna biasa dan membuat mereka tidak memiliki kepercayaan untuk menempatkan sebagian besar simpanan bank mereka ke dalam ekosistem DeFi. DeFi tidak mengecewakan mereka yang tidak mempercayainya. Sejauh ini, DeFi telah mengalami 82 pelanggaran keamanan, dengan jumlah awal yang diretas lebih dari $1,8 miliar. Secara khusus, flash loan adalah serangan yang paling umum, mencakup 33 kasus. Salah satu alasan keamanan di balik serangan flash loan adalah kurangnya konsep waktu yang akurat dan mekanisme konfirmasi dalam blockchain . Kita akan membahas alasan spesifik di bab-bab berikut.

Riset CoinEx: Dilema Keamanan Aset Blockchain: Alasan Mengapa Waktu Dunia Nyata Diperlukan Sebagai Lapisan Keamanan Tambahan

I. Waktu & Jaringan Waktu Komputer

Mari kita lihat terlebih dahulu bagaimana waktu bekerja dalam program komputer konvensional.

Waktu adalah konsep penting dalam program komputer. Tanpa konsep waktu, tidak mungkin mengakses situs web yang menggunakan TLS, membuat entropi untuk algoritma tertentu, bertukar rahasia, atau mengautentikasi lisensi Windows. Kita menganggap pencatatan waktu pada komputer sebagai hal yang biasa, tetapi bertukar dan melacak waktu adalah masalah yang sangat sulit untuk dipecahkan ketika berkaitan dengan operasi aktual.

Waktu pada dasarnya adalah representasi dari keadaan global alam semesta saat ini. Ini berarti bahwa untuk setiap momen tertentu, setiap entitas harus berbagi nilai yang sama persis. Ini jelas merupakan masalah besar untuk komputer: Mari kita asumsikan ada jam atom yang sangat akurat di pusat alam semesta, mentransmisikan data waktu melalui Internet. Masalah selama proses ini adalah bahwa transmisi data membutuhkan waktu dengan sendirinya. Ketika perangkat menerima data waktu melalui Internet dan menerapkannya ke sistemnya sendiri, keadaan global alam semesta (waktu) sudah berubah. Dengan kata lain, tidak mungkin bagi perangkat jaringan untuk sepenuhnya up to date dengan nilai waktu global yang sebenarnya.

Masalah lain dengan pencatatan waktu jaringan adalah bahwa kita tidak dapat memprediksi dengan sempurna waktu yang dibutuhkan untuk transmisi data — kondisi jaringan terus berubah, dan tidak ada yang dapat menjamin keandalan sempurna di dunia nyata. Dikombinasikan dengan masalah pertama, ini berarti bahwa penerima tidak dapat mereplikasi nilai waktu dengan sempurna, yang menyebabkan inkonsistensi.

Network Time Protocol (NTP) memecahkan masalah ini melalui struktur verifikasi bersama dari server pencatatan waktu yang didistribusikan di seluruh dunia (hingga 15 stratum) dan dengan membangun pohon rentang jalur terpendek Bellman-Ford (yang mengurangi latensi dan inkonsistensi waktu transfer). Ini bekerja dengan sangat baik untuk komputer pribadi dan layanan terpusat, terutama dengan aplikasi yang bergantung pada waktu yang akurat (misalnya program enkripsi). Meskipun timestamp yang diperoleh melalui NTP hanyalah perkiraan, mereka cukup akurat dan matang untuk dapat diandalkan oleh aplikasi yang sensitif terhadap waktu.

Riset CoinEx: Dilema Keamanan Aset Blockchain: Alasan Mengapa Waktu Dunia Nyata Diperlukan Sebagai Lapisan Keamanan Tambahan - image 2

Sumber: https://medium.com/@gokhansengun/bilgisayarlar-zaman%C4%B1-nas%C4%B1l-do%C4%9Fru-tutar-78c1203397f0

II. Mekanisme Waktu dalam Jaringan Blockchain

Konsep waktu juga ada di blockchain. Meskipun beberapa mengatakan bahwa blockchain itu sendiri adalah turunan dari konsep waktu, pemrosesan waktu jaringan blockchain sangat tidak presisi dibandingkan dengan akurasi 64-bit sistem NTP. Bagaimanapun, ini juga karena target layanan waktu blockchain bukanlah aplikasi smart contract yang sensitif terhadap waktu seperti aplikasi DeFi. Selain itu, ini bertujuan untuk memungkinkan eksekusi mekanisme konsensus yang aman dan efisien. Tujuan yang berbeda ini juga membuat jaringan blockchain lebih toleran terhadap ketidakakuratan waktu. Dalam paragraf berikut, kita akan membahas beberapa mekanisme konsensus populer dan bagaimana mereka menentukan waktu. Meski demikian, perlu dicatat bahwa konfirmasi waktu pada blockchain sangat tidak presisi sehingga mereka tidak dapat menjalankan operasi keuangan dan pemeriksaan keamanan untuk aset on-chain yang bernilai puluhan miliar dolar.

1. Bitcoin

Bitcoin memiliki konsep waktu karena diperlukan untuk mekanisme konsensus Proof-of-Work-nya. Tanpa timestamp yang valid, jaringan tidak dapat memverifikasi apakah transaksi tertentu yang sedang ditambang mencoba memanipulasi transaksi sebelumnya. Meskipun setiap blok Bitcoin berisi timestamp UNIX, waktu blok bukanlah representasi akurat dari timestamp UNIX. Ini karena konsensus Bitcoin hanya menganggap timestamp sebagai bagian dari sistem keamanan PoW, bukan sebagai alat aktual untuk mengukur waktu di blockchain.

Mengutip Bitcoin Wiki, setiap blok berisi timestamp Unix yang disediakan oleh penambang dan akan diterima sebagai valid jika 1) lebih besar dari timestamp median dari 11 blok sebelumnya dan 2) kurang dari waktu yang disesuaikan jaringan ditambah 2 jam. Oleh karena itu, perbedaan antara waktu blok dan waktu dunia nyata berkisar dari satu jam hingga dua jam.

Riset CoinEx: Dilema Keamanan Aset Blockchain: Alasan Mengapa Waktu Dunia Nyata Diperlukan Sebagai Lapisan Keamanan Tambahan - image 3

Sumber: https://en.bitcoin.it/wiki/Block_timestamp

2. Ethereum

Dalam jaringan Ethereum, timestamp juga langsung diajukan oleh penambang dengan fleksibilitas yang besar. Sederhananya, timestamp Ethereum mungkin benar atau salah, dan tidak ada cara bagi mekanisme konsensus untuk mengkonfirmasi keakuratannya. Menurut posting di forum Ethereum (sumber: https://ethereum.stackexchange.com/questions/413/can-a-contract-safely-rely-on-block-timestamp/428#428), beberapa mekanisme dapat digunakan untuk mencegah penyimpangan berlebihan dari timestamp Ethereum: 1) Jika timestamp suatu blok menyimpang secara signifikan dari waktu dunia nyata, tidak ada yang akan bersedia menghasilkan lebih banyak blok dengan blok ini sebagai blok induk; 2) Timestamp blok terbaru tidak dapat lebih awal dari blok induk; 3) Tingkat kesulitan blok akan paling rendah ketika blok tidak ditandai lebih awal dari yang diperlukan. Mekanisme ini dapat memungkinkan penambang secara sukarela mengirimkan timestamp yang mereka yakini benar. Namun, ketika insentif eksternal lain ada, jaringan Ethereum tidak memiliki mekanisme yang ketat untuk memastikan bahwa penambang masih mengirimkan timestamp yang benar. Oleh karena itu, jaringan tidak dapat memastikan berjalannya protokol yang sensitif terhadap waktu (misalnya yield farming, peminjaman) dengan baik. Dengan demikian, institusi besar tidak akan mempercayakan uang mereka kepada Ethereum.

3. Polkadot

Menurut dokumen Substrate, Polkadot juga menandai blok dengan timestamp yang langsung disediakan oleh penambang. Sementara itu, tidak ada mekanisme ketat yang mengkonfirmasi atau menyinkronkan timestamp tersebut. Dokumen tersebut juga menyatakan bahwa meskipun waktu suatu blok tidak dapat dibuktikan, validator dapat setuju bahwa itu berada dalam rentang delta tertentu dari jam sistem mereka.

Riset CoinEx: Dilema Keamanan Aset Blockchain: Alasan Mengapa Waktu Dunia Nyata Diperlukan Sebagai Lapisan Keamanan Tambahan - image 4

Sumber: https://wiki.polkadot.network/docs/build-protocol-info

4. Cosmos

Tendermint milik Cosmos adalah satu-satunya algoritma konsensus yang menuliskan waktu ke dalam mekanisme konsensus, yang membuatnya memiliki konsep waktu yang paling kuat. Lebih spesifik lagi, node-node dari suatu blok akan memberikan suara mengenai waktu yang telah diajukan untuk mencapai konsensus, dan hanya timestamp yang disetujui oleh node-node yang akan dimasukkan ke dalam blok.

Riset CoinEx: Dilema Keamanan Aset Blockchain: Alasan Mengapa Waktu Dunia Nyata Diperlukan Sebagai Lapisan Keamanan Tambahan - image 5

Sumber: https://docs.tendermint.com/master/spec/consensus/bft-time.html

III. Kurangnya Sistem Penandaan Waktu dalam Blok

Blockchain tidak hanya tidak presisi dalam hal pembuatan timestamp tetapi juga kekurangan sistem atau mekanisme penandaan waktu dalam blok. Transaksi di dunia nyata dikirim dan kemudian dikonfirmasi satu per satu, masing-masing disertai waktu dan urutan yang jelas. Dengan cara ini, banyak transaksi palsu tidak dapat terjadi atau mendapatkan konfirmasi. Sebaliknya, dalam jaringan blockchain, transaksi dalam setiap blok dikemas bersama dan tidak ditandai dengan timestamp yang akurat satu per satu.

Meskipun semua transaksi dapat diverifikasi setelah pembuatan blok, tidak mungkin menentukan waktu pengajuan dan urutan spesifik setiap transaksi. Ini sebagian menjelaskan mengapa banyak serangan (misalnya flash loan atau flash swap) dapat berhasil dilakukan. Jika tanda waktu yang akurat disediakan dalam blok sebagai bukti untuk verifikasi, protokol aplikasi dapat mengembangkan algoritma yang lebih aman dan stabil. Sementara itu, karena karakteristik intrinsiknya, waktu adalah jaringan konsensus yang sangat aman yang tidak dapat dibalik dan tidak dapat diubah.

IV. Solusi Potensial

Kurangnya waktu pada blockchain dapat diselesaikan secara internal atau eksternal.

Solusi internal: Mekanisme konfirmasi tingkat konsensus yang memeriksa waktu blok terhadap waktu dunia nyata harus diperkenalkan, atau sistem waktu independen dengan akurasi lebih besar harus dibentuk.

Solusi eksternal: Blockchain membutuhkan jaringan terdesentralisasi yang menggunakan jaringan oracle waktu seperti NTP untuk menambahkan timestamp yang presisi ke blok jaringan dan transaksi dalam blok.

Dalam konteks kolaborasi multi-rantai, solusi eksternal mungkin lebih cocok. Misalnya, jika Ethereum dan Terra memiliki jam mereka sendiri, jika timestamp yang disediakan oleh jam-jam ini berbeda, akan sulit bagi kita untuk menentukan mana yang benar selama interaksi antara keduanya. Sebagai contoh, dalam jaringan komputer konvensional, pada akhirnya, hanya ada satu jam utama yang memberi tahu semua orang waktu saat ini. Blockchain juga membutuhkan jam utama.

Dalam multiverse masa depan yang dimungkinkan oleh berbagai rantai, kita akan menghadapi tantangan lain — jumlah jam di semua komputer yang berbeda jauh lebih tinggi dari yang diharapkan. Misalnya, ada jam gaming, jam akrual bunga DeFi, jam blockchain, dll. Karena jam-jam ini akan mengganggu waktu di node meta, sumber waktu yang andal dan tunggal akan diperlukan untuk menyatukan dan menyinkronkan semua transaksi. Ketika jaringan oracle waktu seperti itu akhirnya diadopsi secara luas, ini akan memberikan lapisan keamanan tambahan, menawarkan konfirmasi waktu tambahan untuk setiap transaksi, seperti yang terjadi di dunia nyata. Waktu juga akan menjadi lapisan keamanan tambahan untuk jaringan blockchain.

Referensi:

  1. https://medium.com/@gokhansengun/bilgisayarlar-zaman%C4%B1-nas%C4%B1l-do%C4%9Fru-tutar-78c1203397f0
  2. https://en.bitcoin.it/wiki/Block_timestamp
  3. https://ethereum.stackexchange.com/questions/413/can-a-contract-safely-rely-on-block-timestamp/428#42
  4. https://wiki.polkadot.network/docs/build-protocol-info