Teknik Hashing — Inti dari Blockchain

At Tafani Fillah
7 min readSep 27, 2023

--

Blockchain merupakan salah satu inovasi teknologi yang sedang naik daun di zaman ini. Namun, untuk mengetahui cara kerja blockchain, kita perlu memahami ide dasar Hashing. Jika Anda baru mengenal blockchain dan ingin memahami cara kerja blockchain, maka memahami konsep ini akan sangat berguna. Saya akan mencoba menyederhanakan cara kerja hashing dalam artikel ini.

Dalam artikel ini, kita akan masuk ke dalam dunia teknik hashing dalam konteks blockchain. Awalnya, saya akan memberikan penjelasan mengenai konsep dasar teknik hashing dan karakteristik keamanan dari fungsi hash kriptografi. Kemudian, kita akan mengeksplorasi bagaimana fungsi hash digunakan dalam blockchain untuk memeriksa integritas data dan transaksi. Terakhir, saya akan menampilkan sebuah contoh program sederhana yang ditulis dalam bahasa pemrograman Python untuk memberikan pemahaman praktis tentang cara hash beroperasi.

1. Apa itu Hashing?

Hashing adalah teknik untuk menghasilkan fixed-size output, dari variable-sized input yang dilakukan melalui penggunaan rumus matematika yang dikenal sebagai hash function. Hash function adalah fungsi satu arah yang dapat mengubah data menjadi data lain yang memiliki ukuran tertentu. Hashing pada dasarnya mempunyai dua karakteristik, yaitu:

  • Hashing adalah proses menghasilkan fixed-size output, dari variable-sized input yang dilakukan melalui penggunaan rumus matematika yang dikenal sebagai hash function.
  • Dengan menjalankan algoritma hashing maka data yang di input akan selalu menghasilkan output yang sama, namun tidak mungkin untuk mengembalikan data asli dari output hash.

Hashing digunakan dalam berbagai aplikasi, seperti kriptografi, database, dan struktur data. Salah satu contoh penggunaan hashing adalah hash table, yang merupakan struktur data yang secara asosiatif menyimpan data. Dalam hash table, data disimpan dalam format array, di mana setiap nilai data memiliki nilai indeks uniknya sendiri. Akses data akan menjadi sangat cepat jika Anda mengetahui indeks dari data yang diinginkan. Dengan demikian, hash table menjadi struktur data di mana operasi penyisipan dan pencarian data terjadi sangat cepat terlepas dari ukuran data tersebut.

2. Sifat Hash Function Kriptografi

Untuk memahami peran penting teknik hashing dalam blockchain, kita perlu merinci beberapa sifat kunci yang harus dimiliki oleh hash function kriptografi. Inilah beberapa sifat utama yang harus dimiliki oleh fungsi hash kriptografi:

  • Tidak Dapat Diprediksi (Pre-image Resistance)

Sifat ini menunjukkan bahwa sulit untuk menemukan pesan asli yang menghasilkan nilai hash tertentu. Dalam arti lain, fungsi hash kriptografi harus sulit untuk diprediksi. Jika sifat ini tidak terpenuhi, maka seseorang dapat dengan mudah memprediksi nilai hash dari pesan tertentu dan menghasilkan pesan yang sama dengan nilai hash yang sama.

  • Irreversibel (Second Pre-image Resistance)

Sifat ini menunjukkan bahwa sulit untuk menemukan pesan kedua yang menghasilkan nilai hash yang sama dengan pesan pertama. Dalam arti lain, fungsi hash kriptografi harus sulit untuk dibalik. Jika sifat ini tidak terpenuhi, maka seseorang dapat dengan mudah menemukan pesan kedua yang menghasilkan nilai hash yang sama dengan pesan pertama.

  • Ketahanan Terhadap Kolisi (Collision Resistance)

Sifat ini menunjukkan bahwa sulit untuk menemukan dua pesan yang berbeda yang menghasilkan nilai hash yang sama. Dalam arti lain, fungsi hash kriptografi harus sulit untuk menemukan tabrakan atau collision. Jika sifat ini tidak terpenuhi, maka seseorang dapat dengan mudah menemukan dua pesan yang berbeda yang menghasilkan nilai hash yang sama.

  • Deterministik

Sifat ini menunjukkan bahwa pesan yang sama selalu menghasilkan nilai hash yang sama. Dalam arti lain, fungsi hash kriptografi harus deterministik. Jika sifat ini tidak terpenuhi, maka seseorang tidak dapat membandingkan nilai hash dari dua pesan yang sama.

  • Efisien di Hitung

Sifat ini menunjukkan bahwa nilai hash harus dapat dihitung dengan cepat. Dalam arti lain, fungsi hash kriptografi harus efisien dihitung. Jika sifat ini tidak terpenuhi, maka penggunaan fungsi hash kriptografi akan menjadi sangat lambat dan tidak efisien.

  • Avalanche Effect

Sifat ini menunjukkan bahwa perubahan kecil pada pesan akan menghasilkan nilai hash yang berbeda secara signifikan. Dalam arti lain, fungsi hash kriptografi harus tahan terhadap perubahan. Jika sifat ini tidak terpenuhi, maka seseorang dapat dengan mudah memodifikasi pesan tanpa mengubah nilai hashnya.

Karakteristik ini bersama-sama membuat fungsi hash kriptografi menjadi komponen penting dalam menjaga keamanan dan integritas data dalam teknologi blockchain. Selanjutnya, kita akan melihat bagaimana fungsi hash digunakan dalam praktik di dunia blockchain.

3. Hash Function Blockchain

Dalam blockchain, fungsi hash digunakan untuk berbagai tujuan.

Fungsi hash adalah salah satu komponen paling kunci dalam teknologi blockchain. Dalam dunia blockchain, di mana data dipecah menjadi blok-blok yang terhubung satu sama lain, fungsi hash berperan penting dalam memastikan keamanan, integritas, dan urutan yang tak terputus dari seluruh rantai.

a. Keamanan Data

Fungsi hash dimanfaatkan untuk mengamankan informasi dalam ekosistem blockchain. Hashing mengubah input yang dapat berukuran beragam menjadi output dengan panjang yang konsisten, menggunakan rumus matematika atau algoritma hash tertentu. Selain itu, dalam blockchain, hashing juga berperan dalam menciptakan nilai hash yang unik untuk tiap blok, yang bertujuan untuk menjamin keamanan data dalam jaringan blockchain tersebut.

b. Membuat Blok yang Unik

Fungsi hash dimanfaatkan untuk menciptakan blok-blok yang memiliki karakteristik unik di dalam jaringan blockchain. Setiap blok yang ada dalam blockchain memiliki nilai hash yang khas, yang terbentuk melalui proses penghashing. Hash ini berfungsi sebagai penghubung yang mengaitkan semua blok bersama. Jika terjadi perubahan pada konten blok, baik disengaja maupun tidak, maka nilai hash akan berubah, sehingga menjaga keutuhan data dalam jaringan blockchain.

c. Keamanan Transaksi

Penggunaan fungsi hash dalam jaringan blockchain adalah untuk mengamankan proses transaksi. Setiap transaksi di dalam blockchain memiliki nilai hash yang disimpan dalam struktur seperti pohon. Hash tersebut juga diolah kembali untuk membentuk Merkle root, yang memuat informasi mengenai seluruh transaksi yang tercatat dalam blockchain. Dengan menerapkan kriptografi, sejarah transaksi menjadi tidak dapat diubah karena telah dienkripsi, hal ini bertujuan untuk mengurangi risiko tindakan penipuan.

d. Imutabilitas Data

Fungsi hash digunakan untuk memastikan imutabilitas data dalam jaringan blockchain. Setiap blok dalam blockchain memiliki nilai hash yang unik, yang dihasilkan melalui proses hashing. Jika isi blok diubah secara sengaja atau tidak sengaja, nilai hash akan berubah, sehingga memastikan integritas data dalam jaringan blockchain.

e. Keamanan Kriptografi

Fungsi hash kriptografi digunakan dalam teknologi blockchain untuk memastikan keamanan data dan transaksi dalam jaringan blockchain. Fungsi hash kriptografi harus memenuhi beberapa sifat, seperti tidak dapat diprediksi, irreversibel, tahan terhadap kolisi, deterministik, efisien dihitung, dan memiliki avalanche effect. Sifat-sifat ini sangat penting untuk memastikan keamanan data dalam aplikasi kriptografi seperti tanda tangan digital, kode otentikasi pesan, dan bentuk otentikasi lainnya.

Dalam keseluruhan, fungsi hash sangat penting dalam teknologi blockchain karena digunakan untuk mengamankan data dan transaksi dalam jaringan blockchain. Fungsi hash kriptografi harus memenuhi beberapa sifat untuk memastikan keamanan data dalam aplikasi kriptografi seperti tanda tangan digital, kode otentikasi pesan, dan bentuk otentikasi lainnya.

4. Contoh Program Hashing Menggunakan Bahasa Python

Ketika kita membahas teknik hashing dalam konteks blockchain, memahami cara konsep ini dapat diaplikasikan dalam bahasa pemrograman menjadi hal yang krusial. Salah satu bahasa yang sering digunakan untuk mengolah dan menghasilkan hash adalah Python. Dalam konteks ini, kita akan mengeksplorasi contoh sederhana tentang bagaimana proses hashing dapat diwujudkan dalam bahasa pemrograman Python.

import hashlib

# Fungsi untuk menghasilkan hash SHA-256
def create_sha256_hash(text):
return hashlib.sha256(text.encode()).hexdigest()

# Inisialisasi variabel input_text
input_text = ""

# Input teks untuk dienkripsi
if input_text := input("Masukkan teks yang akan di-hash: "):
# Menghasilkan hash SHA-256
hashed_text = create_sha256_hash(input_text)

# Menampilkan hasil hash
print("\nHasil Hash SHA-256:")
print(f"Teks Asli: {input_text}")
print(f"Hash SHA-256: {hashed_text}")

Berikut output dari prorgam diatas

Hash SHA-256: 3bbef632807046efdc0abffb90b49d04c022a497687e9a35cb4a830534ce8bfe

Dalam program Python yang tertera di atas, saya memanfaatkan library hashlib yang sudah tersedia di Python untuk menghasilkan hash SHA-256 dari teks yang diberikan oleh pengguna. Program ini menerima masukan dari pengguna, melakukan perhitungan hash, dan selanjutnya menampilkan teks asli beserta nilai hash SHA-256 yang dihasilkan.

Ide ini mencerminkan cara umum penggunaan teknik hashing dalam dunia blockchain. Ketika data transaksi atau blok ditambahkan ke dalam blockchain, hash dari data tersebut dihitung menggunakan algoritma seperti SHA-256. Hasil hash ini selanjutnya digunakan untuk mengenali dan menghubungkan blok dengan blok sebelumnya dalam rangkaian blockchain, sehingga memastikan keutuhan dan kelanjutan urutan data. Dengan begitu, teknik hashing menjadi fondasi yang sangat penting dalam menjaga keamanan dan kehandalan dalam sistem blockchain.

Sebagai penutup, kita telah menjelajahi bagaimana peran hashing dalam menjaga keamanan data dalam blockchain dan mengimplementasikannya dalam bahasa pemrograman Python. Fungsi hash kriptografi berperan dalam menjaga keamanan data, memastikan rantai blok tetap utuh, dan menjamin integritas informasi.

Dengan memahami kekuatan hashing, kita dapat menyadari betapa signifikannya teknologi hashing dalam dunia digital saat ini. Meskipun teknologi blockchain terus mengalami perkembangan, hashing tetap menjadi fondasi yang kokoh dalam menjaga keamanan dan keandalan data.

Referensi:
Design of an Enhanced Cryptographic Hash Function-Digest Length 512 Bits

Avalanche effect

--

--

At Tafani Fillah
0 Followers

Cybersecurity Enthusiast | Penetration Tester