Evolusi Blockchain
Sekarang setelah Anda memahami bagaimana mekanisme konsensus dan primitif kriptografi bekerja, mari kita jelajahi bagaimana konsep-konsep ini berkembang dari transfer nilai sederhana Bitcoin menjadi platform blockchain yang dapat diprogram saat ini.
Setiap blockchain utama mewakili keputusan rekayasa dan pertukaran yang berbeda, dibentuk oleh batasan-batasan mendasar yang telah kita pelajari.
Bitcoin
Bitcoin tidak dirancang untuk menjadi komputer serbaguna; ia dibangun untuk menyelesaikan satu masalah spesifik: menciptakan uang digital yang berfungsi tanpa bank atau pemerintah. Setiap keputusan desain dalam Bitcoin mencerminkan fokus tunggal ini.
Konsensus
Bitcoin menggunakan implementasi Proof of Work asli yang dirancang Satoshi. Para penambang bersaing untuk menemukan nonce (angka acak) yang, ketika di-hash dengan data blok, menghasilkan hash yang dimulai dengan jumlah nol tertentu.
Jaringan secara otomatis menyesuaikan tingkat kesulitan setiap 2.016 blok (sekitar dua minggu) untuk mempertahankan waktu blok rata-rata 10 menit.
Pengaturan waktu ini tidak sembarangan. Blok yang lebih cepat akan menyebabkan pemisahan jaringan di mana penambang bekerja pada versi blockchain yang berbeda. Blok yang lebih lambat akan membuat transaksi sangat lambat.
Model UTXO
Bitcoin tidak melacak saldo akun seperti yang dilakukan bank. Sebagai gantinya, ia melacak "koin" individual menggunakan UTXO (Unspent Transaction Outputs), yang berfungsi mirip dengan uang tunai fisik.
Bayangkan Anda memiliki tiga lembar uang $20 di dompet Anda dan ingin membeli sesuatu seharga $35. Anda tidak dapat memecah lembar $20, jadi Anda memberikan dua lembar ($40) kepada kasir dan menerima kembalian $5. Bitcoin bekerja persis sama:
Misalkan Alice telah menerima bitcoin dalam tiga transaksi terpisah:
- UTXO #1: 0,5 BTC (dari Bob)
- UTXO #2: 0,3 BTC (dari Carol)
- UTXO #3: 0,8 BTC (dari Dave)
"Saldo" Alice adalah 1,6 BTC, tetapi tidak ada akun tunggal yang menyimpan angka ini. Sebaliknya, blockchain mencatat tiga UTXO terpisah yang dapat digunakan Alice.
Ketika Alice ingin mengirim 1,0 BTC ke Eve, dia harus:
- Memilih UTXO yang totalnya minimal 1,0 BTC (dia memilih UTXO #1 dan #3, dengan total 1,3 BTC)
- Membuat transaksi di mana dia mengirim 1,0 BTC ke Eve dan 0,3 BTC kembali ke dirinya sendiri sebagai kembalian
- Menandatangani transaksi dengan kunci privatnya untuk membuktikan bahwa dia memiliki UTXO input
Transaksi tersebut menggunakan UTXO #1 dan #3 (keduanya sekarang "terpakai") dan menciptakan dua UTXO baru: satu untuk Eve dan satu UTXO kembalian untuk Alice.
Model ini memungkinkan fitur-fitur yang kuat:
- Pemrosesan Paralel: Karena setiap UTXO hanya dapat digunakan sekali, transaksi yang menggunakan UTXO berbeda tidak bertentangan. Penambang dapat memvalidasi ribuan transaksi secara bersamaan tanpa khawatir tentang pengeluaran ganda, selama setiap transaksi mereferensikan UTXO yang berbeda.
- Privasi: Tidak ada akun global yang mengungkapkan total saldo Anda. Bitcoin Anda tersebar di beberapa UTXO, sehingga lebih sulit bagi pengamat untuk menentukan total kekayaan Anda. Setiap UTXO mungkin terhubung ke alamat yang berbeda, semakin mengaburkan pola kepemilikan.
- Verifikasi Sederhana: Setiap transaksi dapat diverifikasi secara independen dengan memeriksa bahwa UTXO input ada dan belum digunakan, serta tanda tangan digitalnya valid. Anda tidak perlu memelihara status akun yang kompleks atau khawatir tentang urutan transaksi yang memengaruhi saldo.
- Operasi Atomik: Transaksi berhasil sepenuhnya (menggunakan semua input dan menciptakan semua output) atau gagal sepenuhnya. Tidak ada risiko status parsial di mana beberapa uang dikurangi tetapi tidak ditransfer.
Ethereum
Sementara Bitcoin menyelesaikan masalah pembayaran digital, Vitalik Buterin mengenali peluang yang lebih besar: bagaimana jika blockchain bisa menjalankan program apa pun, bukan hanya mentransfer uang? Visi ini mengarah pada Ethereum: komputer blockchain serbaguna pertama.
Model UTXO Bitcoin bekerja sempurna untuk pembayaran tetapi menjadi rumit untuk aplikasi kompleks yang membutuhkan status persisten, logika kompleks, dan kemampuan komposisi antar program yang berbeda.
Konsensus
Ethereum awalnya menggunakan Proof of Work tetapi beralih ke Proof of Stake pada 2022 selama "The Merge." Transisi ini mempertahankan keamanan sambil mendapatkan manfaat penting:
- Finalitas Matematis: Setelah sekitar 13 menit, transaksi menjadi tidak dapat dibalik secara matematis
- Efisiensi Energi: Tidak ada lagi konsumsi listrik yang masif
- Peningkatan Masa Depan: Proof of Stake memungkinkan sharding: membagi jaringan menjadi rantai paralel untuk throughput yang lebih tinggi
Model Akun
Ethereum menggantikan sistem UTXO Bitcoin dengan saldo berbasis akun yang familiar, memungkinkan:
- Smart Contract: Program yang hidup di blockchain dan mempertahankan statusnya sendiri
- Akun Eksternal: Akun yang dikendalikan pengguna seperti alamat Bitcoin
- Panggilan Antar-Kontrak: Smart contract dapat berinteraksi satu sama lain dengan mulus
Di Ethereum, ada dua jenis akun:
- Externally Owned Accounts (EOA): Dikendalikan oleh pengguna dengan kunci privat, mirip dengan alamat Bitcoin. Mereka memiliki saldo dan dapat mengirim transaksi.
- Contract Accounts: Dikendalikan oleh kode, bukan kunci privat. Mereka memiliki saldo DAN menyimpan kode yang dapat dieksekusi plus data persisten.
Karena alasan ini, di Ethereum, smart contract adalah program otonom yang hidup di blockchain, mempertahankan statusnya sendiri, dan dapat dipanggil oleh akun lain.
Model akun ini memungkinkan status persisten—data yang bertahan antar transaksi. Smart contract dapat mengingat informasi dari interaksi sebelumnya, mempertahankan struktur data kompleks, dan berkembang seiring waktu.
Ini memungkinkan aplikasi seperti protokol peminjaman, sistem tata kelola, dan instrumen keuangan kompleks menjadi mungkin.
Semua ini dimungkinkan berkat Ethereum Virtual Machine (EVM), yang berjalan di setiap node dan membuat blockchain dapat diprogram. EVM mendefinisikan program apa yang dapat dijalankan, bagaimana program tersebut dieksekusi, dan sumber daya apa yang dikonsumsi.
Solana
Ethereum menunjukkan bahwa blockchain dapat mendukung komputasi untuk tujuan umum, tetapi kesuksesan ini mengungkapkan keterbatasan skalabilitas. Seiring dengan meningkatnya adopsi aplikasi terdesentralisasi, kemacetan jaringan menyebabkan biaya transaksi yang tinggi dan waktu konfirmasi yang lebih lambat.
Keterbatasan ini berasal dari keputusan arsitektur fundamental dalam desain Ethereum, yang coba diatasi Solana melalui inovasi arsitektur dengan mendesain ulang komponen inti blockchain dari prinsip-prinsip dasar.
Konsensus
Solana menggunakan Proof of Stake tetapi menambahkan inovasi penting: Proof of History. Alih-alih menunggu konsensus tentang kapan peristiwa terjadi, Solana menciptakan jam kriptografis yang memberi stempel waktu pada semua transaksi sebelum konsensus, memungkinkan validator memproses transaksi secara paralel karena mereka sudah mengetahui urutan yang benar.
Pengurutan temporal ini memungkinkan konsensus yang jauh lebih cepat: Solana menghasilkan blok setiap 400 milidetik dibandingkan dengan 12 detik pada Ethereum.
Solana Virtual Machine
EVM memproses transaksi secara berurutan karena kontrak pintar berbagi status global: ketika satu kontrak memodifikasi data bersama, semua transaksi lain harus menunggu. Ini menciptakan kemacetan saat penggunaan jaringan bertambah.
Solana secara fundamental memikirkan ulang arsitektur ini:
- Program Tanpa Status: Tidak seperti Ethereum di mana kontrak pintar menyimpan data secara internal, program Solana tidak memiliki status. Semua data berada di akun terpisah yang dibaca dan ditulis oleh program. Pemisahan ini memungkinkan pemrosesan paralel karena program tidak bersaing untuk status bersama.
- Paralelisasi Transaksi: Transaksi Solana harus menyatakan di awal akun mana yang akan dibaca dan dimodifikasi. Runtime kemudian dapat mengeksekusi transaksi yang tidak bertentangan secara bersamaan di beberapa inti CPU. Jika Transaksi A memodifikasi Akun X dan Transaksi B memodifikasi Akun Y, keduanya dapat berjalan secara paralel.
- Eksekusi Teroptimasi: SVM menggunakan arsitektur berbasis register alih-alih pendekatan berbasis tumpukan EVM, mengurangi overhead pemindahan data selama komputasi. Program dikompilasi ke kode mesin asli daripada bytecode, menghilangkan overhead interpretasi.
- Biaya yang Dapat Diprediksi: Alih-alih harga gas tetap Ethereum yang ditentukan bertahun-tahun lalu, Solana menggunakan pasar biaya dinamis di mana biaya transaksi mencerminkan permintaan jaringan aktual dan sumber daya komputasi yang dikonsumsi.
Hasilnya adalah Solana dapat memproses lebih dari 5.000 transaksi per detik (TPS) dibandingkan dengan 15 TPS Ethereum, sambil mempertahankan finalitas kurang dari satu detik dan desentralisasi. Performa ini berasal dari keputusan arsitektur yang memprioritaskan eksekusi paralel dibandingkan model pemrosesan sekuensial yang diwarisi dari komputasi single-thread.