Ethereum adalah platform blockchain terbuka yang memungkinkan siapa saja membangun dan menggunakan aplikasi terdesentralisasi. Pada tahun 2013, Vitalik Buterin, pendiri Ethereum, menerbitkan whitepaper Ethereum, yang menguraikan inti dari desain dan aspek teknis Ethereum, meletakkan dasar untuk pengembangan aplikasi dan ekosistem blockchain yang kuat di masa depan.
Tujuan utama Ethereum adalah untuk meningkatkan fungsionalitas Bitcoin, bukan hanya sebagai sistem pembayaran digital. Perbedaan utama antara keduanya adalah Ethereum dapat menyimpan kode yang dapat dieksekusi. Inovasi inti ini juga disebut kontrak pintar, yang berarti bahwa setiap pengembang dapat menulis aplikasi terdesentralisasi (dApps) yang dapat dieksekusi di blockchain Ethereum untuk mengimplementasikan berbagai kebutuhan bisnis dan kontrak sosial.
Dengan munculnya smart contract, pengguna dapat melakukan transaksi dan kolaborasi yang aman, transparan, dan otomatis tanpa memerlukan kepercayaan atau perantara. Ini memperluas utilitas dan fungsionalitas jaringan blockchain.
Namun, pengembangan dan penerapan praktis Ethereum pasti menghadapi beberapa tantangan, dengan yang paling signifikan adalah masalah skalabilitas. Ketika pasar cryptocurrency mengalami pertumbuhan pesat dan lonjakan volume transaksi, kinerja blockchain Ethereum menjadi tidak mencukupi untuk memenuhi permintaan. Oleh karena itu, Ethereum membutuhkan inovasi dan evolusi berkelanjutan untuk memenuhi basis penggunanya yang terus berkembang.
Pelajaran ini memberikan tinjauan komprehensif tentang evolusi teknologi Ethereum, mengeksplorasi bagaimana Ethereum muncul sebagai pelopor dalam ruang blockchain, dan memandu Anda untuk memahami tantangan skalabilitas yang dihadapi Ethereum dan solusi yang sesuai.
Sebelum munculnya Ethereum, fokus pengembangan blockchain terutama terbatas pada mata uang digital dan sistem pembayaran, menggunakan buku besar blockchain terdesentralisasi untuk mencatat transaksi. Mengambil Bitcoin sebagai contoh, jaringan Bitcoin dapat dilihat sebagai sistem transisi keadaan yang menggunakan model Unspent Transactions Output (UTXO). UTXO mengacu pada jumlah token yang tersisa dari suatu transaksi yang dapat digunakan dalam transaksi lain. Bisa diartikan sebagai sisa saldo yang belum terpakai setelah seseorang memberikan sejumlah uang kepada Anda.
Setiap kali seorang penambang membuat blok baru, itu menunjukkan perubahan status jaringan Bitcoin, karena blok baru berisi beberapa transaksi valid yang menggunakan beberapa UTXO yang ada dan membuat UTXO baru. UTXO baru ini menjadi keadaan terbaru dari jaringan Bitcoin, yang mencerminkan jumlah dan distribusi Bitcoin yang dipegang oleh semua pengguna.
Status sebelumnya + transaksi yang valid di blok baru = Status saat ini
Transisi status UTXO
Dalam kehidupan sehari-hari, orang lebih akrab dengan model akun yang digunakan dalam sistem perbankan tradisional, di mana alamat blockchain sesuai dengan akun. Setiap transaksi melibatkan transfer dana atau data dari satu akun ke akun lainnya, dan saldo akun adalah aset yang Anda miliki. Saat melakukan transaksi menggunakan model UTXO, tidak ada batasan alamat, artinya Anda dapat menggunakan alamat yang berbeda untuk setiap transaksi. Aset Anda adalah jumlah dari semua UTXO yang terkait dengan Anda, bukan saldo alamat tertentu. Oleh karena itu, UTXO memiliki paralelisasi yang lebih baik, sedangkan model akun lebih cenderung dieksekusi secara berurutan, sehingga menghasilkan kinerja yang terbatas. Meskipun model UTXO menawarkan privasi dan skalabilitas yang lebih baik, model ini kurang intuitif dan sulit untuk mengimplementasikan operasi logis yang kompleks. Misalnya, bahasa pemrograman Bitcoin memiliki batasan sebagai berikut:
Non-Turing selesai
Meskipun bahasa scripting Bitcoin mendukung berbagai fungsi, itu tidak mendukung semua perhitungan, terutama kurangnya dukungan untuk loop. Secara teori, operasi loop apa pun dapat dicapai dengan berulang kali mengeksekusi kode yang mendasarinya melalui beberapa lapisan pernyataan IF, tetapi ini akan menyebabkan efisiensi operasional yang sangat rendah.
Sulit untuk menentukan nilainya
Skrip UTXO tidak dapat mengontrol jumlah yang dapat ditarik dengan halus. Misalnya, pengguna A perlu melindungi risiko harga dan pengguna B bertindak sebagai rekanan. Kedua pihak menyetor aset senilai $1.000 ke dalam kontrak. Setelah 30 hari, pengguna A mendapatkan kembali Bitcoin senilai $1.000, dan bagian yang tersisa dikirim ke pengguna B. Ini akan membutuhkan oracle untuk menentukan nilai dolar dari 1 Bitcoin, memaksa oracle untuk menyimpan banyak UTXO dari berbagai denominasi.
Kurangnya fleksibilitas negara
UTXO dapat digunakan atau tidak digunakan. Sulit untuk membuat kontrak opsi, sistem kutipan terdesentralisasi, protokol komitmen kriptografi, dan aplikasi lain yang memerlukan status multi-tahap (seperti "sedang digunakan"). Oleh karena itu, UTXO hanya dapat digunakan untuk membuat kontrak satu kali yang sederhana, daripada kontrak “berstatus” yang lebih kompleks dalam protokol terdesentralisasi.
Tidak dapat melihat data blockchain
Model UTXO tidak memiliki visibilitas ke dalam data blockchain, seperti angka acak, stempel waktu, dan hash dari blok sebelumnya. Keterbatasan ini membatasi pengembangan game dan jenis dApps lainnya.
Untuk mengatasi kekurangan Bitcoin dalam aplikasi kontrak pintar, Ethereum meninggalkan model UTXO dan mengadopsi model akun, mirip dengan rekening bank pribadi, di mana database mencatat saldo setiap akun dan memperbaruinya secara otomatis dengan setiap transaksi.
Ada dua jenis akun di Ethereum: akun milik eksternal yang dikendalikan oleh kunci pribadi dan akun kontrak yang dikendalikan oleh kode kontrak pintar. Ether berfungsi sebagai media pertukaran dalam jaringan Ethereum.
Dalam pengembangan blockchain, Ethereum adalah jaringan blockchain pertama yang memfasilitasi adopsi kontrak pintar dan dApps secara luas. Kontrak pintar di Ethereum biasanya diprogram menggunakan bahasa Solidity. Mereka adalah program yang dijalankan di blockchain dengan fitur seperti otomatisasi, desentralisasi, transparansi, dan kekekalan, menjadikannya cocok untuk mengimplementasikan berbagai logika bisnis dan aturan transaksi. Pengguna dapat bertransaksi secara aman dan terpercaya tanpa perlu mempercayai pihak ketiga.
Kontrak pintar dapat digunakan untuk mengembangkan berbagai jenis dApps, menjadikan jaringan Ethereum pada dasarnya sebagai komputer yang digunakan bersama secara global. Siapa pun dapat mengakses data dan mengedit serta mengoperasikan berbagai jenis aplikasi di komputer ini untuk memenuhi kebutuhannya.
Sekilas, ini mungkin tidak terlalu unik, karena hanya menjalankan program perangkat lunak, bukan? Menyimpan data dan menjalankan kode aplikasi web di server terpusat atau menginstal perangkat lunak di komputer pribadi tampaknya dapat mencapai fungsi aplikasi yang sama dengan kontrak pintar.
Namun, pendekatan ini memiliki batasan dan risiko seperti kehilangan data, gangguan, dan gangguan layanan. Munculnya kontrak pintar memberikan keamanan, verifikasi, dan ketahanan sensor yang belum pernah terjadi sebelumnya terhadap aplikasi tradisional. Secara khusus, kontrak pintar Ethereum memiliki beberapa perbedaan utama dibandingkan dengan aplikasi web umum dan perangkat lunak sisi klien:
Ethereum Virtual Machine (EVM) adalah komputer lengkap Turing yang berjalan di blockchain Ethereum. Itu mengeksekusi kode kontrak pintar dan memodifikasi keadaan blockchain. Analogi untuk memahaminya adalah sistem operasi (OS) yang berjalan di komputer pribadi atau smartphone, di mana hanya dalam lingkungan khusus ini kontrak cerdas dan aplikasi Ethereum dapat dijalankan.
EVM beroperasi di lingkungan yang terisolasi, tidak terpengaruh oleh interferensi eksternal dan tanpa memengaruhi perangkat keras yang mendasarinya. Ini bekerja dengan mengkompilasi kode kontrak pintar, biasanya ditulis dalam bahasa Solidity, menjadi set instruksi bytecode yang disebut bytecode EVM. EVM kemudian menjalankan instruksi ini langkah demi langkah.
Eksekusi EVM menghasilkan perubahan pada status blockchain, seperti mentransfer token, menyimpan data, atau memicu peristiwa. Untuk mencegah kode smart contract yang berbahaya menyebabkan infinite loop atau merusak jaringan Ethereum, setiap instruksi menggunakan sejumlah gas. Jika gas tidak mencukupi, operasi tidak dapat dilakukan.
Biaya gas mengacu pada biaya transaksi yang dibayarkan dalam Ether (ETH) di jaringan Ethereum untuk mengeksekusi kontrak pintar atau mentransfer token. Ini digunakan untuk memberi penghargaan kepada penambang yang memelihara jaringan. Biaya biaya gas bergantung pada kerumitan transaksi dan tingkat kepadatan jaringan, biasanya diukur dalam Gwei (1 Gwei = 0,000000001 ETH).
Pedagang dapat menetapkan sendiri harga gas (harga per unit gas) dan batas gas (jumlah maksimum gas yang bersedia mereka bayarkan) untuk menyesuaikan kecepatan dan biaya transaksi mereka.
Rumus untuk menghitung biaya gas di Ethereum adalah sebagai berikut:
Harga Gas * Batas Gas = Biaya Gas
Harga gas mewakili harga satuan biaya. Jika harga gas terlalu rendah, prioritas transaksi mungkin lebih rendah dan penambang mungkin mengabaikannya.
Batas gas mengacu pada jumlah biaya. Jika batas gas terlalu rendah, tidak akan mempengaruhi prioritas transaksi, namun transaksi mungkin gagal karena eksekusi tidak lengkap, dan biaya gas yang telah dibayarkan tidak akan dikembalikan.
Berdasarkan EIP-1559 (Ethereum Improvement Proposal), harga gas mencakup biaya dasar yang disesuaikan secara dinamis berdasarkan permintaan jaringan dan ukuran blok. Transaksi dengan harga gas yang ditetapkan di atas biaya dasar dijamin akan diproses, dan ETH akan dibakar untuk mengurangi pasokan token di jaringan Ethereum.
Tip adalah biaya tambahan opsional yang bersedia dibayarkan pengguna kepada penambang atau validator. Pengguna dapat menetapkan nilai tip mereka sendiri, yang dapat membantu meningkatkan prioritas transaksi mereka atau mempercepat kecepatan transaksi selama kemacetan jaringan.
Karena mekanisme gas Ethereum, sumber daya komputasi dan ruang penyimpanan dari jaringan blockchain dapat diberi harga yang sesuai, yang dapat mencegah kontrak pintar mengeksekusi loop salah yang tak terbatas atau diserang oleh aktor jahat.
Sebelum Penggabungan Ethereum pada September 2022, Ethereum dan Bitcoin mengandalkan mekanisme konsensus Proof of Work (PoW) untuk memfasilitasi operasi normal jaringan blockchain mereka.
Perangkat yang berpartisipasi dalam penambangan diminta untuk memecahkan teka-teki kriptografi yang kompleks dengan menggunakan daya komputasi untuk menghitung nilai hash yang memenuhi persyaratan tertentu. Proses ini menghabiskan sumber daya komputasi dan listrik yang signifikan, dan kesulitan teka-teki terus berubah seiring dengan daya komputasi jaringan. Pengguna yang menyediakan daya komputasi disebut sebagai penambang.
Dengan terus berusaha menghitung nilai hash, penambang memiliki kesempatan untuk menemukan nilai hash yang memenuhi persyaratan. Penambang kemudian dapat mengemas transaksi yang tertunda ke dalam sebuah blok dan menyiarkan blok tersebut ke seluruh jaringan untuk validasi dan konfirmasi. Jika blok dikonfirmasi, penambang akan menerima hadiah blok dan biaya transaksi.
Setelah peningkatan Ethereum 2.0, Ethereum mengadopsi mekanisme konsensus Proof of Stake (PoS) untuk penambangan. Node yang memvalidasi transaksi diharuskan mempertaruhkan sejumlah Ether sebagai jaminan untuk bersaing mendapatkan hak untuk menghasilkan blok baru.
Tujuan dari staking adalah untuk memaksakan risiko ekonomi pada node sehingga node yang menyerang jaringan akan kehilangan aset yang dipertaruhkan, yang menyebabkan kerugian. Ini berfungsi sebagai pencegah terhadap perilaku jahat. Semakin banyak Ether yang dipertaruhkan oleh node, semakin tinggi kemungkinan mendapatkan hak untuk menghasilkan blok baru.
Node yang bertanggung jawab untuk memproduksi blok perlu mengemas transaksi yang tertunda, menghasilkan blok baru, dan menyiarkannya ke jaringan untuk validasi dan konfirmasi. Jika sebuah blok dikonfirmasi, node menerima hadiah blok dan biaya transaksi, serta pengembalian tertentu berdasarkan jumlah aset yang dipertaruhkan.
Mekanisme penambangan memainkan peran penting dalam jaringan Ethereum, terutama tercermin dalam aspek-aspek berikut:
Memastikan keandalan dan keamanan transaksi
Penambangan melibatkan penambahan transaksi baru ke blockchain, menambah jumlah blok, dan mengonfirmasi keabsahan transaksi ini dengan mendapatkan bukti kerja (saat ini bukti kepemilikan). Penambangan mempersulit penyerang untuk mengutak-atik transaksi, memastikan keandalan dan keamanan transaksi.
Mempertahankan desentralisasi blockchain
Mekanisme penambangan dapat mencegah entitas atau organisasi mana pun untuk mengendalikan seluruh jaringan Ethereum, karena penambangan membutuhkan daya komputasi yang signifikan (sebagai gantinya, token yang dipertaruhkan saat ini) dan penyerang akan membutuhkan sumber daya yang besar untuk mendapatkan kendali. Ini memastikan desentralisasi jaringan dan mencegah kontrol monopolistik oleh individu atau entitas mana pun
Memberikan insentif untuk partisipasi
Penambangan memungkinkan peserta untuk mendapatkan hadiah dengan menyumbangkan sumber daya. Ini memberi insentif kepada pengguna untuk terlibat dalam pembangunan dan pengoperasian jaringan, sehingga memastikan kelancaran fungsinya.
Dibandingkan dengan penambangan PoW, penambangan PoS membutuhkan sumber daya komputasi dan konsumsi daya yang jauh lebih sedikit, membuatnya lebih cocok untuk memenuhi kebutuhan pengembangan dan skalabilitas jaringan Ethereum.
Kontrak pintar Ethereum telah mengaktifkan banyak aplikasi penting, termasuk:
DeFi (Keuangan Terdesentralisasi)
DeFi adalah salah satu aplikasi kontrak pintar Ethereum yang paling sukses. Ini memanfaatkan kontrak pintar untuk membangun berbagai protokol keuangan terdesentralisasi seperti MakerDAO, Compound, Uniswap, dan banyak lagi. Protokol ini memungkinkan layanan keuangan seperti pinjaman, perdagangan, asuransi, manajemen aset, dll.
NFT (Token Non-Fungible)
NFT adalah aset digital berdasarkan kontrak pintar Ethereum, memberikan keunikan dan ketidakterpisahan melalui fungsi kontrak pintar. NFT menemukan aplikasi di berbagai bidang seperti seni, musik, game, real estat virtual, dan banyak lagi.
DAO (Organisasi Otonomi Terdesentralisasi)
DAO adalah organisasi otonom terdesentralisasi berdasarkan kontrak pintar Ethereum. Ini memungkinkan anggota untuk membuat keputusan tentang masalah internal melalui pemungutan suara, seperti alokasi anggaran, manajemen personalia, keputusan investasi, dan banyak lagi. DAO beroperasi dengan cara yang benar-benar terdesentralisasi dan demokratis serta dapat diterapkan pada komunitas, perusahaan, yayasan, dan organisasi lainnya.
Penerbitan token
Standar ERC-20 pada Ethereum menentukan penerbitan dan perdagangan token, memungkinkan pembuatan token sendiri yang dapat diperdagangkan di jaringan Ethereum.
Penyimpanan terdesentralisasi
Ada juga beberapa protokol penyimpanan file terdistribusi berdasarkan kontrak pintar di Ethereum. Misalnya, protokol Swarm memungkinkan pengguna menyimpan file secara terdistribusi di jaringan, menjadikannya lebih aman dan andal.
Komputasi awan
Ada juga beberapa platform komputasi terdesentralisasi berdasarkan kontrak pintar di Ethereum, seperti Golem dan iExec. Platform ini memungkinkan pengguna menyewa sumber daya komputasi untuk menjalankan berbagai aplikasi, sehingga mencapai komputasi dan pemrosesan data yang lebih efisien.
Identitas digital
EIP-4361 memperkenalkan kerangka standar untuk Login dengan Ethereum, memungkinkan pengguna untuk masuk ke dApps menggunakan alamat Ethereum mereka, bukan nama pengguna dan kata sandi tradisional. Mekanisme autentikasi ini meningkatkan privasi dan keamanan pengguna sekaligus mengurangi keterlibatan perantara. \
Selain aplikasi yang disebutkan di atas, kontrak pintar Ethereum dapat mengaktifkan berbagai kasus penggunaan lainnya, antara lain seperti game, jejaring sosial, dan manajemen rantai pasokan. Karena kontrak pintar dapat diprogram, skenario aplikasi pada platform Ethereum terus berkembang, menawarkan potensi signifikan untuk pengembangan di masa depan.
Ethereum telah mengorbankan beberapa ukuran kinerja untuk mengejar desentralisasi dan keamanan. Karena keterbatasan teknis, Ethereum memiliki waktu pembuatan blok sekitar 12 hingga 15 detik, dengan setiap blok memiliki batas ukuran 15 MB. Akibatnya, Ethereum hanya dapat memproses sekitar 15 transaksi per detik.
Namun, sebagai jaringan kontrak pintar terbesar dalam hal komunitas ekosistem dan pengembangan, Ethereum telah mengalami peningkatan signifikan dalam jumlah alamat dompet unik dengan saldo bukan nol pada blockchainnya, tumbuh lebih dari sepuluh kali lipat dalam lima tahun terakhir. Lonjakan berbagai protokol dan aktivitas pengguna telah membuat desain yang ada kewalahan, memperburuk tantangan skalabilitas Ethereum.
Untuk meningkatkan skalabilitas Ethereum, komunitas pengembangan telah mengusulkan berbagai solusi, termasuk sidechain, rollup, teknologi sharding, dan mengalihkan lalu lintas ke jaringan blockchain lain yang kompatibel dengan EVM untuk mengurangi kemacetan.
Dalam pelajaran ini, kita telah mempelajari arsitektur teknis dan prinsip Ethereum, serta bagaimana inovasi kontrak pintar memanfaatkan potensi blockchain, memungkinkan beragam aplikasi dan ekosistem terdesentralisasi untuk memfasilitasi berbagai kebutuhan bisnis dan kontrak sosial.
Namun, pertumbuhan Ethereum yang cepat telah mengungkap masalah skalabilitas yang rendah. Mengatasi tantangan skalabilitas karenanya menjadi prioritas utama untuk memenuhi permintaan pengguna yang meningkat.
Dalam pelajaran berikutnya, kita akan menjelajahi berbagai solusi skalabilitas dan aplikasinya dalam ekosistem, termasuk sidechain, rollup, dan berbagai pesaing EVM. Kami juga akan menganalisis kelebihan dan kekurangan masing-masing, memberi Anda pemahaman yang lebih baik tentang status pengembangan saat ini dan tren teknologi blockchain di masa depan.
🎥・Video Utama
| 📄・Artikel Terkait |
Ethereum adalah platform blockchain terbuka yang memungkinkan siapa saja membangun dan menggunakan aplikasi terdesentralisasi. Pada tahun 2013, Vitalik Buterin, pendiri Ethereum, menerbitkan whitepaper Ethereum, yang menguraikan inti dari desain dan aspek teknis Ethereum, meletakkan dasar untuk pengembangan aplikasi dan ekosistem blockchain yang kuat di masa depan.
Tujuan utama Ethereum adalah untuk meningkatkan fungsionalitas Bitcoin, bukan hanya sebagai sistem pembayaran digital. Perbedaan utama antara keduanya adalah Ethereum dapat menyimpan kode yang dapat dieksekusi. Inovasi inti ini juga disebut kontrak pintar, yang berarti bahwa setiap pengembang dapat menulis aplikasi terdesentralisasi (dApps) yang dapat dieksekusi di blockchain Ethereum untuk mengimplementasikan berbagai kebutuhan bisnis dan kontrak sosial.
Dengan munculnya smart contract, pengguna dapat melakukan transaksi dan kolaborasi yang aman, transparan, dan otomatis tanpa memerlukan kepercayaan atau perantara. Ini memperluas utilitas dan fungsionalitas jaringan blockchain.
Namun, pengembangan dan penerapan praktis Ethereum pasti menghadapi beberapa tantangan, dengan yang paling signifikan adalah masalah skalabilitas. Ketika pasar cryptocurrency mengalami pertumbuhan pesat dan lonjakan volume transaksi, kinerja blockchain Ethereum menjadi tidak mencukupi untuk memenuhi permintaan. Oleh karena itu, Ethereum membutuhkan inovasi dan evolusi berkelanjutan untuk memenuhi basis penggunanya yang terus berkembang.
Pelajaran ini memberikan tinjauan komprehensif tentang evolusi teknologi Ethereum, mengeksplorasi bagaimana Ethereum muncul sebagai pelopor dalam ruang blockchain, dan memandu Anda untuk memahami tantangan skalabilitas yang dihadapi Ethereum dan solusi yang sesuai.
Sebelum munculnya Ethereum, fokus pengembangan blockchain terutama terbatas pada mata uang digital dan sistem pembayaran, menggunakan buku besar blockchain terdesentralisasi untuk mencatat transaksi. Mengambil Bitcoin sebagai contoh, jaringan Bitcoin dapat dilihat sebagai sistem transisi keadaan yang menggunakan model Unspent Transactions Output (UTXO). UTXO mengacu pada jumlah token yang tersisa dari suatu transaksi yang dapat digunakan dalam transaksi lain. Bisa diartikan sebagai sisa saldo yang belum terpakai setelah seseorang memberikan sejumlah uang kepada Anda.
Setiap kali seorang penambang membuat blok baru, itu menunjukkan perubahan status jaringan Bitcoin, karena blok baru berisi beberapa transaksi valid yang menggunakan beberapa UTXO yang ada dan membuat UTXO baru. UTXO baru ini menjadi keadaan terbaru dari jaringan Bitcoin, yang mencerminkan jumlah dan distribusi Bitcoin yang dipegang oleh semua pengguna.
Status sebelumnya + transaksi yang valid di blok baru = Status saat ini
Transisi status UTXO
Dalam kehidupan sehari-hari, orang lebih akrab dengan model akun yang digunakan dalam sistem perbankan tradisional, di mana alamat blockchain sesuai dengan akun. Setiap transaksi melibatkan transfer dana atau data dari satu akun ke akun lainnya, dan saldo akun adalah aset yang Anda miliki. Saat melakukan transaksi menggunakan model UTXO, tidak ada batasan alamat, artinya Anda dapat menggunakan alamat yang berbeda untuk setiap transaksi. Aset Anda adalah jumlah dari semua UTXO yang terkait dengan Anda, bukan saldo alamat tertentu. Oleh karena itu, UTXO memiliki paralelisasi yang lebih baik, sedangkan model akun lebih cenderung dieksekusi secara berurutan, sehingga menghasilkan kinerja yang terbatas. Meskipun model UTXO menawarkan privasi dan skalabilitas yang lebih baik, model ini kurang intuitif dan sulit untuk mengimplementasikan operasi logis yang kompleks. Misalnya, bahasa pemrograman Bitcoin memiliki batasan sebagai berikut:
Non-Turing selesai
Meskipun bahasa scripting Bitcoin mendukung berbagai fungsi, itu tidak mendukung semua perhitungan, terutama kurangnya dukungan untuk loop. Secara teori, operasi loop apa pun dapat dicapai dengan berulang kali mengeksekusi kode yang mendasarinya melalui beberapa lapisan pernyataan IF, tetapi ini akan menyebabkan efisiensi operasional yang sangat rendah.
Sulit untuk menentukan nilainya
Skrip UTXO tidak dapat mengontrol jumlah yang dapat ditarik dengan halus. Misalnya, pengguna A perlu melindungi risiko harga dan pengguna B bertindak sebagai rekanan. Kedua pihak menyetor aset senilai $1.000 ke dalam kontrak. Setelah 30 hari, pengguna A mendapatkan kembali Bitcoin senilai $1.000, dan bagian yang tersisa dikirim ke pengguna B. Ini akan membutuhkan oracle untuk menentukan nilai dolar dari 1 Bitcoin, memaksa oracle untuk menyimpan banyak UTXO dari berbagai denominasi.
Kurangnya fleksibilitas negara
UTXO dapat digunakan atau tidak digunakan. Sulit untuk membuat kontrak opsi, sistem kutipan terdesentralisasi, protokol komitmen kriptografi, dan aplikasi lain yang memerlukan status multi-tahap (seperti "sedang digunakan"). Oleh karena itu, UTXO hanya dapat digunakan untuk membuat kontrak satu kali yang sederhana, daripada kontrak “berstatus” yang lebih kompleks dalam protokol terdesentralisasi.
Tidak dapat melihat data blockchain
Model UTXO tidak memiliki visibilitas ke dalam data blockchain, seperti angka acak, stempel waktu, dan hash dari blok sebelumnya. Keterbatasan ini membatasi pengembangan game dan jenis dApps lainnya.
Untuk mengatasi kekurangan Bitcoin dalam aplikasi kontrak pintar, Ethereum meninggalkan model UTXO dan mengadopsi model akun, mirip dengan rekening bank pribadi, di mana database mencatat saldo setiap akun dan memperbaruinya secara otomatis dengan setiap transaksi.
Ada dua jenis akun di Ethereum: akun milik eksternal yang dikendalikan oleh kunci pribadi dan akun kontrak yang dikendalikan oleh kode kontrak pintar. Ether berfungsi sebagai media pertukaran dalam jaringan Ethereum.
Dalam pengembangan blockchain, Ethereum adalah jaringan blockchain pertama yang memfasilitasi adopsi kontrak pintar dan dApps secara luas. Kontrak pintar di Ethereum biasanya diprogram menggunakan bahasa Solidity. Mereka adalah program yang dijalankan di blockchain dengan fitur seperti otomatisasi, desentralisasi, transparansi, dan kekekalan, menjadikannya cocok untuk mengimplementasikan berbagai logika bisnis dan aturan transaksi. Pengguna dapat bertransaksi secara aman dan terpercaya tanpa perlu mempercayai pihak ketiga.
Kontrak pintar dapat digunakan untuk mengembangkan berbagai jenis dApps, menjadikan jaringan Ethereum pada dasarnya sebagai komputer yang digunakan bersama secara global. Siapa pun dapat mengakses data dan mengedit serta mengoperasikan berbagai jenis aplikasi di komputer ini untuk memenuhi kebutuhannya.
Sekilas, ini mungkin tidak terlalu unik, karena hanya menjalankan program perangkat lunak, bukan? Menyimpan data dan menjalankan kode aplikasi web di server terpusat atau menginstal perangkat lunak di komputer pribadi tampaknya dapat mencapai fungsi aplikasi yang sama dengan kontrak pintar.
Namun, pendekatan ini memiliki batasan dan risiko seperti kehilangan data, gangguan, dan gangguan layanan. Munculnya kontrak pintar memberikan keamanan, verifikasi, dan ketahanan sensor yang belum pernah terjadi sebelumnya terhadap aplikasi tradisional. Secara khusus, kontrak pintar Ethereum memiliki beberapa perbedaan utama dibandingkan dengan aplikasi web umum dan perangkat lunak sisi klien:
Ethereum Virtual Machine (EVM) adalah komputer lengkap Turing yang berjalan di blockchain Ethereum. Itu mengeksekusi kode kontrak pintar dan memodifikasi keadaan blockchain. Analogi untuk memahaminya adalah sistem operasi (OS) yang berjalan di komputer pribadi atau smartphone, di mana hanya dalam lingkungan khusus ini kontrak cerdas dan aplikasi Ethereum dapat dijalankan.
EVM beroperasi di lingkungan yang terisolasi, tidak terpengaruh oleh interferensi eksternal dan tanpa memengaruhi perangkat keras yang mendasarinya. Ini bekerja dengan mengkompilasi kode kontrak pintar, biasanya ditulis dalam bahasa Solidity, menjadi set instruksi bytecode yang disebut bytecode EVM. EVM kemudian menjalankan instruksi ini langkah demi langkah.
Eksekusi EVM menghasilkan perubahan pada status blockchain, seperti mentransfer token, menyimpan data, atau memicu peristiwa. Untuk mencegah kode smart contract yang berbahaya menyebabkan infinite loop atau merusak jaringan Ethereum, setiap instruksi menggunakan sejumlah gas. Jika gas tidak mencukupi, operasi tidak dapat dilakukan.
Biaya gas mengacu pada biaya transaksi yang dibayarkan dalam Ether (ETH) di jaringan Ethereum untuk mengeksekusi kontrak pintar atau mentransfer token. Ini digunakan untuk memberi penghargaan kepada penambang yang memelihara jaringan. Biaya biaya gas bergantung pada kerumitan transaksi dan tingkat kepadatan jaringan, biasanya diukur dalam Gwei (1 Gwei = 0,000000001 ETH).
Pedagang dapat menetapkan sendiri harga gas (harga per unit gas) dan batas gas (jumlah maksimum gas yang bersedia mereka bayarkan) untuk menyesuaikan kecepatan dan biaya transaksi mereka.
Rumus untuk menghitung biaya gas di Ethereum adalah sebagai berikut:
Harga Gas * Batas Gas = Biaya Gas
Harga gas mewakili harga satuan biaya. Jika harga gas terlalu rendah, prioritas transaksi mungkin lebih rendah dan penambang mungkin mengabaikannya.
Batas gas mengacu pada jumlah biaya. Jika batas gas terlalu rendah, tidak akan mempengaruhi prioritas transaksi, namun transaksi mungkin gagal karena eksekusi tidak lengkap, dan biaya gas yang telah dibayarkan tidak akan dikembalikan.
Berdasarkan EIP-1559 (Ethereum Improvement Proposal), harga gas mencakup biaya dasar yang disesuaikan secara dinamis berdasarkan permintaan jaringan dan ukuran blok. Transaksi dengan harga gas yang ditetapkan di atas biaya dasar dijamin akan diproses, dan ETH akan dibakar untuk mengurangi pasokan token di jaringan Ethereum.
Tip adalah biaya tambahan opsional yang bersedia dibayarkan pengguna kepada penambang atau validator. Pengguna dapat menetapkan nilai tip mereka sendiri, yang dapat membantu meningkatkan prioritas transaksi mereka atau mempercepat kecepatan transaksi selama kemacetan jaringan.
Karena mekanisme gas Ethereum, sumber daya komputasi dan ruang penyimpanan dari jaringan blockchain dapat diberi harga yang sesuai, yang dapat mencegah kontrak pintar mengeksekusi loop salah yang tak terbatas atau diserang oleh aktor jahat.
Sebelum Penggabungan Ethereum pada September 2022, Ethereum dan Bitcoin mengandalkan mekanisme konsensus Proof of Work (PoW) untuk memfasilitasi operasi normal jaringan blockchain mereka.
Perangkat yang berpartisipasi dalam penambangan diminta untuk memecahkan teka-teki kriptografi yang kompleks dengan menggunakan daya komputasi untuk menghitung nilai hash yang memenuhi persyaratan tertentu. Proses ini menghabiskan sumber daya komputasi dan listrik yang signifikan, dan kesulitan teka-teki terus berubah seiring dengan daya komputasi jaringan. Pengguna yang menyediakan daya komputasi disebut sebagai penambang.
Dengan terus berusaha menghitung nilai hash, penambang memiliki kesempatan untuk menemukan nilai hash yang memenuhi persyaratan. Penambang kemudian dapat mengemas transaksi yang tertunda ke dalam sebuah blok dan menyiarkan blok tersebut ke seluruh jaringan untuk validasi dan konfirmasi. Jika blok dikonfirmasi, penambang akan menerima hadiah blok dan biaya transaksi.
Setelah peningkatan Ethereum 2.0, Ethereum mengadopsi mekanisme konsensus Proof of Stake (PoS) untuk penambangan. Node yang memvalidasi transaksi diharuskan mempertaruhkan sejumlah Ether sebagai jaminan untuk bersaing mendapatkan hak untuk menghasilkan blok baru.
Tujuan dari staking adalah untuk memaksakan risiko ekonomi pada node sehingga node yang menyerang jaringan akan kehilangan aset yang dipertaruhkan, yang menyebabkan kerugian. Ini berfungsi sebagai pencegah terhadap perilaku jahat. Semakin banyak Ether yang dipertaruhkan oleh node, semakin tinggi kemungkinan mendapatkan hak untuk menghasilkan blok baru.
Node yang bertanggung jawab untuk memproduksi blok perlu mengemas transaksi yang tertunda, menghasilkan blok baru, dan menyiarkannya ke jaringan untuk validasi dan konfirmasi. Jika sebuah blok dikonfirmasi, node menerima hadiah blok dan biaya transaksi, serta pengembalian tertentu berdasarkan jumlah aset yang dipertaruhkan.
Mekanisme penambangan memainkan peran penting dalam jaringan Ethereum, terutama tercermin dalam aspek-aspek berikut:
Memastikan keandalan dan keamanan transaksi
Penambangan melibatkan penambahan transaksi baru ke blockchain, menambah jumlah blok, dan mengonfirmasi keabsahan transaksi ini dengan mendapatkan bukti kerja (saat ini bukti kepemilikan). Penambangan mempersulit penyerang untuk mengutak-atik transaksi, memastikan keandalan dan keamanan transaksi.
Mempertahankan desentralisasi blockchain
Mekanisme penambangan dapat mencegah entitas atau organisasi mana pun untuk mengendalikan seluruh jaringan Ethereum, karena penambangan membutuhkan daya komputasi yang signifikan (sebagai gantinya, token yang dipertaruhkan saat ini) dan penyerang akan membutuhkan sumber daya yang besar untuk mendapatkan kendali. Ini memastikan desentralisasi jaringan dan mencegah kontrol monopolistik oleh individu atau entitas mana pun
Memberikan insentif untuk partisipasi
Penambangan memungkinkan peserta untuk mendapatkan hadiah dengan menyumbangkan sumber daya. Ini memberi insentif kepada pengguna untuk terlibat dalam pembangunan dan pengoperasian jaringan, sehingga memastikan kelancaran fungsinya.
Dibandingkan dengan penambangan PoW, penambangan PoS membutuhkan sumber daya komputasi dan konsumsi daya yang jauh lebih sedikit, membuatnya lebih cocok untuk memenuhi kebutuhan pengembangan dan skalabilitas jaringan Ethereum.
Kontrak pintar Ethereum telah mengaktifkan banyak aplikasi penting, termasuk:
DeFi (Keuangan Terdesentralisasi)
DeFi adalah salah satu aplikasi kontrak pintar Ethereum yang paling sukses. Ini memanfaatkan kontrak pintar untuk membangun berbagai protokol keuangan terdesentralisasi seperti MakerDAO, Compound, Uniswap, dan banyak lagi. Protokol ini memungkinkan layanan keuangan seperti pinjaman, perdagangan, asuransi, manajemen aset, dll.
NFT (Token Non-Fungible)
NFT adalah aset digital berdasarkan kontrak pintar Ethereum, memberikan keunikan dan ketidakterpisahan melalui fungsi kontrak pintar. NFT menemukan aplikasi di berbagai bidang seperti seni, musik, game, real estat virtual, dan banyak lagi.
DAO (Organisasi Otonomi Terdesentralisasi)
DAO adalah organisasi otonom terdesentralisasi berdasarkan kontrak pintar Ethereum. Ini memungkinkan anggota untuk membuat keputusan tentang masalah internal melalui pemungutan suara, seperti alokasi anggaran, manajemen personalia, keputusan investasi, dan banyak lagi. DAO beroperasi dengan cara yang benar-benar terdesentralisasi dan demokratis serta dapat diterapkan pada komunitas, perusahaan, yayasan, dan organisasi lainnya.
Penerbitan token
Standar ERC-20 pada Ethereum menentukan penerbitan dan perdagangan token, memungkinkan pembuatan token sendiri yang dapat diperdagangkan di jaringan Ethereum.
Penyimpanan terdesentralisasi
Ada juga beberapa protokol penyimpanan file terdistribusi berdasarkan kontrak pintar di Ethereum. Misalnya, protokol Swarm memungkinkan pengguna menyimpan file secara terdistribusi di jaringan, menjadikannya lebih aman dan andal.
Komputasi awan
Ada juga beberapa platform komputasi terdesentralisasi berdasarkan kontrak pintar di Ethereum, seperti Golem dan iExec. Platform ini memungkinkan pengguna menyewa sumber daya komputasi untuk menjalankan berbagai aplikasi, sehingga mencapai komputasi dan pemrosesan data yang lebih efisien.
Identitas digital
EIP-4361 memperkenalkan kerangka standar untuk Login dengan Ethereum, memungkinkan pengguna untuk masuk ke dApps menggunakan alamat Ethereum mereka, bukan nama pengguna dan kata sandi tradisional. Mekanisme autentikasi ini meningkatkan privasi dan keamanan pengguna sekaligus mengurangi keterlibatan perantara. \
Selain aplikasi yang disebutkan di atas, kontrak pintar Ethereum dapat mengaktifkan berbagai kasus penggunaan lainnya, antara lain seperti game, jejaring sosial, dan manajemen rantai pasokan. Karena kontrak pintar dapat diprogram, skenario aplikasi pada platform Ethereum terus berkembang, menawarkan potensi signifikan untuk pengembangan di masa depan.
Ethereum telah mengorbankan beberapa ukuran kinerja untuk mengejar desentralisasi dan keamanan. Karena keterbatasan teknis, Ethereum memiliki waktu pembuatan blok sekitar 12 hingga 15 detik, dengan setiap blok memiliki batas ukuran 15 MB. Akibatnya, Ethereum hanya dapat memproses sekitar 15 transaksi per detik.
Namun, sebagai jaringan kontrak pintar terbesar dalam hal komunitas ekosistem dan pengembangan, Ethereum telah mengalami peningkatan signifikan dalam jumlah alamat dompet unik dengan saldo bukan nol pada blockchainnya, tumbuh lebih dari sepuluh kali lipat dalam lima tahun terakhir. Lonjakan berbagai protokol dan aktivitas pengguna telah membuat desain yang ada kewalahan, memperburuk tantangan skalabilitas Ethereum.
Untuk meningkatkan skalabilitas Ethereum, komunitas pengembangan telah mengusulkan berbagai solusi, termasuk sidechain, rollup, teknologi sharding, dan mengalihkan lalu lintas ke jaringan blockchain lain yang kompatibel dengan EVM untuk mengurangi kemacetan.
Dalam pelajaran ini, kita telah mempelajari arsitektur teknis dan prinsip Ethereum, serta bagaimana inovasi kontrak pintar memanfaatkan potensi blockchain, memungkinkan beragam aplikasi dan ekosistem terdesentralisasi untuk memfasilitasi berbagai kebutuhan bisnis dan kontrak sosial.
Namun, pertumbuhan Ethereum yang cepat telah mengungkap masalah skalabilitas yang rendah. Mengatasi tantangan skalabilitas karenanya menjadi prioritas utama untuk memenuhi permintaan pengguna yang meningkat.
Dalam pelajaran berikutnya, kita akan menjelajahi berbagai solusi skalabilitas dan aplikasinya dalam ekosistem, termasuk sidechain, rollup, dan berbagai pesaing EVM. Kami juga akan menganalisis kelebihan dan kekurangan masing-masing, memberi Anda pemahaman yang lebih baik tentang status pengembangan saat ini dan tren teknologi blockchain di masa depan.
🎥・Video Utama
| 📄・Artikel Terkait |