Exploring Blockchain: Understanding Its Fundamentals and Security Measures

Mario Rufisanto
MII Cyber Security Consulting Services
3 min readJan 17, 2024

WHAT IS BLOCKCHAIN?

Blockchain adalah suatu teknologi yang memungkinkan penyimpanan data secara terdesentralisasi dan transparan. Ini adalah sistem rantai blok (blockchain) yang terdiri dari blok-blok data yang saling terkait dan diamanahkan melalui kriptografi. Setiap blok dalam rantai mengandung serangkaian transaksi, dan setiap blok terhubung satu sama lain, membentuk rantai blok yang tak terputus. Dalam suatu transaksi, bisa saja mengandung data ataupun cryptocurrency (token), bisa keduanya maupun tidak sama sekali.

Beberapa karakteristik utama dari blockchain termasuk:

  1. Desentralisasi: Data disimpan di seluruh jaringan daripada di satu pusat kontrol tunggal. Hal ini mengurangi risiko kegagalan sistem dan membuat sistem lebih tahan terhadap serangan.
  2. Transparansi: Rantai blok bersifat transparan karena seluruh riwayat transaksi dapat diakses oleh semua peserta jaringan. Setiap perubahan atau transaksi baru terjadi, akan menciptakan blok baru yang terlihat oleh semua pihak yang terlibat.
  3. Keamanan: Kriptografi digunakan untuk mengamankan setiap blok dan transaksi di dalamnya. Selain itu, karena data disimpan di seluruh jaringan, sulit bagi pihak yang jahat untuk mengubah data tanpa mendeteksi.
  4. Irreversibilitas: Setelah data dimasukkan ke dalam blok dan blok tersebut ditambahkan ke dalam rantai, sulit untuk mengubah atau menghapusnya. Ini membuat data di blockchain lebih andal dan dapat dipercaya.

Blockchain pertama kali dikenal sebagai teknologi di balik cryptocurrency Bitcoin. Namun, sejak itu, konsep ini telah diterapkan dalam berbagai industri dan kasus penggunaan, termasuk supply chain, keuangan, perizinan, dan banyak lagi. Dengan menggunakan blockchain, berbagai pihak dapat berpartisipasi dalam suatu sistem tanpa harus bergantung pada otoritas sentral atau perantara.

WHAT IS THE SECURITY IN BLOCKCHAIN?

Karena sistem yang ada sudah membawa basis keamanan yang baik, maka keamanan pada blockchain akan lebih ditekankan di Virtual Machine masing-masing chain, seperti BTC yang hanya berfokus pada Digital P2P Medium of Exchange, Ethereum Virtual Machine (EVM) yang berfokus pada smart contracts, Solana Virtual Machine (SVM) yang berfokus pada parallel processing, dsb.

Keamanan di virtual machine cenderung sudah lebih aman dan bahkan bisa dibilang sangat aman untuk saat ini, namun yang rentan untuk di-hack adalah apa yang berjalan di virtual machine tersebut, dalam hal ini kita akan membahas lebih dalam ke smart contracts Ethereum. Selayaknya dengan web2, keamanan di web3 tidak jauh-jauh dari code atau algoritma yang diimplementasikan di dalamnya, pada smart contract di Ethereum network menggunakan basis programming language Solidity.

Smart Contract Auditing, what is it?

Smart Contract Auditing, seperti namanya berarti orang-orang yang bekerja dibidang ini akan melakukan auditing proses untuk mengecheck keamanan pada smart contract yang ada, tidak hanya keamanan, tapi juga efisiensi gas yang digunakan oleh smart contract untuk menjalankan fungsinya. Setiap transaksi yang terjadi atau dilakukan di Blockchain membutuhkan biaya, ini yang disebut gas, jika sebuah contract bisa diminimalisir namun tetap menjalankan fungsi yang sama ini akan sangat membantu baik developer dalam mengembangkan lebih lanjut smart contract yang ada dan pengguna sehingga meminimalisir biaya service yang dikeluarkan.

Sekarang dari sisi security, biasanya akan mengecheck apakah logic yang digunakan dalam smart contract sudah benar atau belum, adakah function yang memiliki kerentanan-kerentanan seperti contohnya pada pemberian akses untuk melakukan suatu fungsi, mengambil uang, mendeposit uang, dan lain-lain.

Methodology yang digunakan dalam melakukan Smart Contract Auditing bisa bermacam-macam tergantung kebiasaan seorang auditor dan alat yang digunakan, namun pada umumnya akan seperti ini.

  1. Memetakan fungsi-fungsi dan kegunaan dari code
  2. Melakukan scanning menggunakan tools (Slither, Mythril, dst)
  3. Memvalidasi hasil scanning
  4. Membuat exploit (jika benar ada kerentanan) dan mengujinya
  5. Membuat rekomendasi fixing terhadap kode
  6. Reporting

Untuk menemukan optimisasi seperti yang disebutkan diawal tadi (gas optimization), biasanya auditor akan menyelam lebih dalam hingga ke opcodes yang digunakan suatu smart contract, karena gas dihitung dari berapa opcode yang dijalankan sebuah contract, dan setiap opcodes memiliki harga yang berbeda.

--

--