Keunggulan inti Web3 adalah verifikasi - pengguna dapat memverifikasi bagaimana sistem benar-benar beroperasi. Fitur ini menjelaskan mengapa banyak orang dalam dan luar industri kripto menggambarkan web3 sebagai langkah menuju internet yang lebih transparan dan dapat diverifikasi.
Tidak seperti platform Web2 seperti Facebook atau Instagram, di mana algoritma dan aturan tetap tidak transparan bahkan ketika didokumentasikan, protokol kripto dirancang untuk auditabilitas yang lengkap. Bahkan jika mereka dibagikan, Anda tidak memiliki kemampuan untuk memverifikasi apakah platform beroperasi sesuai yang ditentukan. Ini bertolak belakang dengan kripto, di mana setiap protokol dirancang untuk bisa diaudit sebanyak mungkin, atau setidaknya diharapkan demikian.
Hari ini, kita akan menjelajahi “The Verge”, sebuah bagian dari yang baru-baru ini diterbitkan oleh Vitalik.seri enam bagian tentang masa depan Ethereum, untuk menganalisis langkah-langkah yang diambil Ethereum menuju pencapaian verifikasi, keberlanjutan, dan skalabilitas di masa depan. Di bawah judul ‘The Verge,’ kita akan membahas bagaimana arsitektur blockchain dapat dibuat lebih diverifikasi, inovasi-inovasi yang dibawa perubahan tersebut pada tingkat protokol, dan bagaimana hal ini memberikan kepada pengguna ekosistem yang lebih aman. Mari kita mulai!
Aplikasi Web2 berfungsi sebagai “kotak hitam” - pengguna hanya dapat melihat masukan mereka dan keluaran yang dihasilkan, tanpa visibilitas terhadap cara kerja aplikasi tersebut. Sebaliknya, protokol cryptocurrency umumnya membuat kode sumber mereka tersedia untuk umum, atau setidaknya memiliki rencana untuk melakukannya. Transparansi ini memiliki dua tujuan: ini memungkinkan pengguna berinteraksi langsung dengan kode protokol jika mereka memilih, dan membantu mereka memahami dengan tepat bagaimana sistem beroperasi dan aturan apa yang mengaturnya.
“Desentralisasikan apa yang Anda bisa, verifikasi sisanya.”
Verifiability memastikan bahwa sistem-sistem bertanggung jawab dan, dalam banyak kasus, menjamin bahwa protokol berfungsi sebagaimana yang dimaksudkan. Prinsip ini menekankan pentingnya meminimalkan sentralisasi, karena sering kali menghasilkan struktur yang tidak transparan dan tidak dapat dipertanggungjawabkan di mana pengguna tidak dapat memverifikasi operasi. Sebaliknya, kita harus berusaha untuk mendekentralisasikan sebanyak mungkin dan membuat elemen-elemen yang tersisa dapat diverifikasi dan dipertanggungjawabkan di mana desentralisasi tidak memungkinkan.
Komunitas Ethereum tampaknya sejalan dengan pandangan ini, seperti rencana jalantermasuk tonggak (disebut “The Verge”) bertujuan membuat Ethereum lebih dapat diverifikasi. Namun, sebelum terjun ke The Verge, kita perlu memahami aspek-aspek apa dari blockchain yang harus diverifikasi dan bagian mana yang penting dari sudut pandang pengguna.
Blockchain pada dasarnya berfungsi sebagai jam global. Dalam jaringan terdistribusi dengan sekitar 10.000 komputer, dapat memakan waktu yang signifikan bagi sebuah transaksi untuk menyebar dari node asal ke semua node lainnya. Oleh karena itu, node-node di seluruh jaringan tidak dapat menentukan urutan transaksi secara tepat—baik transaksi mana yang tiba lebih dulu atau kemudian—karena mereka hanya memiliki perspektif subjektif mereka sendiri.
Karena urutan transaksi itu penting, jaringan blockchain menggunakan metode khusus yang disebut “algoritma konsensus” untuk memastikan bahwa node-node tetap disinkronkan dan memproses urutan transaksi dengan cara yang sama. Meskipun node-node tidak dapat menentukan urutan transaksi secara global, mekanisme konsensus memungkinkan semua node untuk sepakat pada urutan yang sama, sehingga jaringan dapat berfungsi sebagai satu unit komputer yang terpadu.
Di luar lapisan konsensus, ada juga lapisan eksekusi yang ada dalam setiap blockchain. Lapisan eksekusi dibentuk oleh transaksi yang ingin dilakukan oleh pengguna.
Setelah transaksi berhasil diurutkan berdasarkan konsensus, setiap transaksi harus diterapkan ke keadaan saat ini pada lapisan eksekusi. Jika Anda bertanya-tanya, “Apa itu keadaan?”, Anda mungkin pernah melihat perbandingan antara blockchain dengan database—atau lebih spesifik lagi, dengan database bank karena blockchain, seperti bank, menjaga catatan saldo setiap orang.
Jika Anda memiliki $100 dalam keadaan yang kita sebut “S” dan ingin mengirim $10 kepada orang lain, saldo Anda di keadaan berikutnya, “S+1”, akan menjadi $90. Proses menerapkan transaksi untuk pindah dari satu keadaan ke keadaan lain inilah yang kita sebut sebagai STF (Fungsi Transisi Keadaan).
Di Bitcoin, STF terutama terbatas pada perubahan saldo, sehingga relatif sederhana. Namun, berbeda dengan Bitcoin, STF Ethereum jauh lebih kompleks karena Ethereum adalah blockchain yang sepenuhnya dapat diprogram dengan lapisan eksekusi yang mampu menjalankan kode.
Dalam sebuah blockchain, ada tiga komponen dasar yang perlu atau dapat Anda verifikasi:
Jika ini terlihat membingungkan atau tidak jelas, jangan khawatir. Kami akan menjelaskan setiap aspek ini secara detail. Mari kita mulai dengan cara memverifikasi keadaan blockchain!
Kata “state” pada Ethereum merujuk pada kumpulan data yang tersimpan dalam blockchain pada setiap waktu. Ini mencakup saldo akun (akun kontrak dan akun yang dimiliki secara eksternal atau EOAs), kode kontrak pintar, penyimpanan kontrak, dan lainnya. Ethereum adalah mesin berbasis keadaan karena transaksi yang diproses dalam Mesin Virtual Ethereum (EVM) mengubah keadaan sebelumnya dan menghasilkan keadaan baru.
Setiap blok Ethereum mengandung nilai yang merangkum keadaan terkini jaringan setelah blok tersebut: stateRoot. Nilai ini merupakan representasi ringkas dari seluruh keadaan Ethereum, terdiri dari hash 64 karakter.
Karena setiap transaksi baru memodifikasi status, stateRoot yang dicatat dalam blok selanjutnya diperbarui sesuai. Untuk menghitung nilai ini, validator Ethereum menggunakan kombinasi fungsi hash Keccak dan struktur data yang disebutPohon Merkleuntuk mengatur dan merangkum bagian-bagian berbeda dari negara.
Fungsi hash adalah fungsi satu arah yang mengubah masukan menjadi keluaran berpanjang tetap. Dalam Ethereum, fungsi hash seperti Keccakdigunakan untuk menghasilkan ringkasan data, berfungsi sebagai semacam sidik jari untuk masukan. Fungsi hash memiliki empat properti mendasar:
Berkat sifat-sifat ini, validator Ethereum dapat melakukan STF (Fungsi Transisi State) untuk setiap blok—mengeksekusi semua transaksi dalam blok dan menerapkannya ke dalam status—dan kemudian memverifikasi apakah status yang tertera dalam blok sesuai dengan status yang diperoleh setelah STF. Proses ini memastikan bahwa penyarankan blok telah bertindak secara jujur, menjadikannya salah satu tanggung jawab kunci validator.
Namun, validator Ethereum tidak menghash seluruh state secara langsung untuk mencari ringkasannya. Karena sifat satu arah dari fungsi hash, menghash langsung state akan menghilangkan verifikabilitas, karena satu-satunya cara untuk menghasilkan ulang hash adalah dengan memiliki seluruh state.
Karena ukuran status Ethereum adalah beberapa terabyte, menyimpan seluruh status pada perangkat sehari-hari seperti ponsel atau komputer pribadi tidak praktis. Oleh karena itu, Ethereum menggunakan struktur pohon Merkle untuk menghitung stateRoot, menjaga verifikasi status sebanyak mungkin.
A pohon Merkleadalah struktur data kriptografis yang digunakan untuk memverifikasi integritas dan kebenaran data dengan aman dan efisien. Pohon Merkle dibangun di atas fungsi hash dan mengorganisir hash dari dataset secara hierarkis, memungkinkan verifikasi integritas dan kebenaran data ini. Struktur pohon ini terdiri dari tiga jenis node:
Jika Anda bertanya-tanya bagaimana cara membuat pohon seperti itu, itu melibatkan hanya dua langkah sederhana:
Hash terakhir yang diperoleh di bagian atas pohon disebut dengan akar Merkle. Akar Merkle mewakili ringkasan kriptografi dari seluruh pohon dan memungkinkan verifikasi keamanan integritas data.
Bukti Merkle memungkinkan Verifier untuk secara efisien memvalidasi bagian-bagian data tertentu dengan menyediakan serangkaian nilai hash yang membuat jalur dari data yang dituju (node daun) ke Merkle Root yang disimpan di header blok. Rantai hash intermediate ini memungkinkan Verifier untuk mengonfirmasi keaslian data tanpa perlu menghash seluruh status.
Dimulai dari titik data tertentu, Verifier menggabungkannya dengan setiap hash “saudara” yang disediakan dalam Merkle Proof dan menghash mereka langkah demi langkah ke atas pohon. Proses ini terus berlanjut sampai satu hash tunggal dihasilkan. Jika hash yang dihitung ini cocok dengan Merkle Root yang disimpan, data dianggap valid; jika tidak, Verifier dapat menentukan bahwa data tersebut tidak sesuai dengan keadaan yang diklaim.
Misalkan kita telah menerima Data #4 dari RPC dan ingin memverifikasi keasliannya menggunakan Bukti Merkle. Untuk melakukannya, RPC akan menyediakan serangkaian nilai hash di sepanjang jalur yang diperlukan untuk mencapai Akar Merkle. Untuk Data 4, hash saudara akan mencakup Hash #3, Hash #12, dan Hash #5678.
Jika Merkle Root yang dihitung cocok dengan state root dalam blok, kami mengonfirmasi bahwa Data #4 memang valid dalam state ini. Jika tidak, kami tahu bahwa data tersebut tidak termasuk ke dalam state yang diklaim, menunjukkan adanya potensi pemalsuan. Seperti yang dapat Anda lihat, tanpa menyediakan hash dari semua data atau mengharuskan Verifier untuk merekonstruksi seluruh Merkle Tree dari awal, Prover dapat membuktikan bahwa Data #4 ada dalam state dan tidak mengalami perubahan selama perjalanan—hanya dengan menggunakan tiga hash. Ini adalah alasan utama mengapa Merkle Proofs dianggap efisien.
Meskipun Merkle Trees tanpa diragukan lagi efektif dalam menyediakan verifikasi data yang aman dan efisien dalam sistem blockchain besar seperti Ethereum, apakah mereka benar-benar cukup efisien? Untuk menjawab ini, kita harus menganalisis bagaimana kinerja dan ukuran Merkle Tree mempengaruhi hubungan Prover-Verifier.
Mari kita gunakan contoh untuk lebih memahami dampaknya. Faktor percabangan menentukan berapa banyak cabang yang muncul dari setiap simpul dalam pohon.
Seiring dengan pertumbuhan blockchain Ethereum, dengan setiap transaksi baru, kontrak, atau interaksi pengguna yang ditambahkan ke dataset, Pohon Merkle juga harus berkembang. Pertumbuhan ini tidak hanya meningkatkan ukuran pohon tetapi juga mempengaruhi ukuran bukti dan waktu verifikasi.
Secara ringkas, meskipun Pohon Merkle menawarkan tingkat efisiensi, mereka tidak cukup menjadi solusi optimal untuk kumpulan data Ethereum yang terus berkembang. Untuk alasan ini, selama fase The Verge, Ethereum bertujuan untuk menggantikan Pohon Merkle dengan struktur yang lebih efisien yang dikenal sebagaiPohon VerkleVerkle Trees memiliki potensi untuk memberikan ukuran bukti yang lebih kecil sambil mempertahankan tingkat keamanan yang sama, membuat proses verifikasi lebih berkelanjutan dan dapat diskalakan baik untuk Prover maupun Verifier.
Verge dikembangkan sebagai tonggak dalam peta jalan Ethereum yang bertujuan untuk meningkatkan verifikasi, memperkuat struktur terdesentralisasi blockchain, dan meningkatkan keamanan jaringan. Salah satu tujuan utama jaringan Ethereum adalah memungkinkan siapa pun untuk dengan mudah menjalankan validator untuk memverifikasi rantai, menciptakan struktur di mana partisipasi terbuka untuk semua orang tanpa sentralisasi. Aksesibilitas proses verifikasi ini adalah salah satu fitur utama yang membedakan blockchain dari sistem terpusat. Sementara sistem terpusat tidak menawarkan kemampuan verifikasi, kebenaran blockchain sepenuhnya berada di tangan penggunanya. Namun, untuk mempertahankan jaminan ini, menjalankan validator harus dapat diakses oleh semua orang—tantangan yang, dalam sistem saat ini, terbatas karena persyaratan penyimpanan dan komputasi.
Sejak beralih ke model konsensus Proof-of-Stake dengan The Merge, validator Ethereum memiliki dua tanggung jawab utama:
Untuk memenuhi tanggung jawab kedua, validator harus memiliki akses ke status sebelum blok. Ini memungkinkan mereka untuk menjalankan transaksi blok dan mendapatkan status berikutnya. Namun, persyaratan ini memberikan beban berat pada validator, karena mereka perlu menangani persyaratan penyimpanan yang signifikan. Meskipun Ethereum dirancang untuk memungkinkan hal tersebut dan biaya penyimpanan telah menurun secara global, masalahnya lebih sedikit tentang biaya dan lebih tentang ketergantungan pada perangkat keras khusus untuk validator. Verge bertujuan untuk mengatasi tantangan ini dengan menciptakan infrastruktur di mana verifikasi penuh dapat dilakukan bahkan pada perangkat dengan penyimpanan terbatas, seperti ponsel, dompet browser, dan bahkan smartwatch, memungkinkan validator untuk berjalan pada perangkat-perangkat tersebut.
Beralih ke Pohon Verkle adalah bagian kunci dari proses ini. Awalnya, Verge fokus pada penggantian struktur Pohon Merkle Ethereum dengan Pohon Verkle. Alasan utama mengadopsi Pohon Verkle adalah bahwa Pohon Merkle menjadi hambatan signifikan bagi verifiabilitas Ethereum. Meskipun Pohon Merkle dan bukti mereka dapat bekerja dengan efisien dalam skenario normal, kinerjanya menurun drastis dalam skenario terburuk.
Menurut perhitungan Vitalik, ukuran bukti rata-rata sekitar 4 KB, yang terdengar dapat dikelola. Namun, dalam skenario terburuk, ukuran bukti dapat melonjak hingga 330 MB. Ya, Anda membacanya dengan benar—330 MB.
Ketidakmampuan ekstrem Merkle Trees Ethereum dalam skenario terburuk berasal dari dua alasan utama:
Ukuran bukti secara langsung berbanding lurus dengan faktor percabangan. Mengurangi faktor percabangan akan mengurangi ukuran bukti. Untuk mengatasi masalah-masalah ini dan meningkatkan skenario terburuk, Ethereum dapat beralih dari Hexary Trees ke Binary Merkle Trees dan mulai merklizing kode kontrak. Jika faktor percabangan di Ethereum dikurangi dari 16 menjadi 2 dan kode kontrak juga dimerklikan, ukuran bukti maksimum bisa menyusut menjadi 10 MB. Meskipun ini merupakan peningkatan yang signifikan, penting untuk dicatat bahwa biaya ini berlaku untuk memverifikasi hanya satu data. Bahkan transaksi sederhana yang mengakses beberapa data akan memerlukan bukti yang lebih besar. Mengingat jumlah transaksi per blok dan keadaan Ethereum yang terus bertumbuh, solusi ini, meskipun lebih baik, masih belum sepenuhnya memungkinkan.
Untuk alasan-alasan ini, komunitas Ethereum telah mengusulkan dua solusi yang berbeda untuk mengatasi masalah ini:
Pohon Verkle, seperti namanya, adalah struktur pohon yang mirip dengan Pohon Merkle. Namun, perbedaan yang paling signifikan terletak pada efisiensi yang mereka tawarkan selama proses verifikasi. Pada Pohon Merkle, jika suatu cabang mengandung 16 potongan data dan kita ingin memverifikasi hanya salah satunya, rantai hash yang mencakup 15 potongan lain juga harus disediakan. Hal ini secara signifikan meningkatkan beban komputasi verifikasi dan menghasilkan ukuran bukti yang besar.
Sebaliknya, Pohon Verkle menggunakan struktur khusus yang dikenal sebagai “Elliptic Curve-based Vector Commitments”, lebih spesifik lagi, Vector Commitment berbasis Argumen Inner Product (IPA). Vektor pada dasarnya adalah daftar elemen data yang diorganisir dalam urutan tertentu. Status Ethereum dapat dianggap sebagai vektor: sebuah struktur di mana banyak bagian data disimpan dalam urutan tertentu, dengan setiap elemen menjadi penting. Status ini terdiri dari berbagai komponen data seperti alamat, kode kontrak, dan informasi penyimpanan, di mana urutan elemen-elemen ini memainkan peran penting dalam akses dan verifikasi.
Komitmen Vektor adalah metode kriptografi yang digunakan untuk membuktikan dan memverifikasi elemen data dalam sebuah dataset. Metode ini memungkinkan verifikasi baik keberadaan maupun urutan setiap elemen dalam sebuah dataset secara simultan. Sebagai contoh, Merkle Proofs, yang digunakan dalam Merkle Trees, juga dapat dianggap sebagai bentuk Komitmen Vektor. Sementara Merkle Trees membutuhkan semua rantai hash terkait untuk memverifikasi sebuah elemen, struktur tersebut secara inheren membuktikan bahwa semua elemen dari sebuah vektor terhubung dalam urutan tertentu.
Tidak seperti Pohon Merkle, Pohon Verkle menggunakan komitmen vektor berbasis kurva eliptik yang menawarkan dua keunggulan kunci:
Fitur-fitur dari komitmen vektor berbasis kurva eliptik secara signifikan mengurangi jumlah data yang dibutuhkan untuk verifikasi, memungkinkan Verkle Trees untuk menghasilkan bukti dengan ukuran kecil dan tetap bahkan dalam skenario terburuk. Hal ini mengurangi beban data dan waktu verifikasi, meningkatkan efisiensi jaringan berskala besar seperti Ethereum. Sebagai hasilnya, penggunaan komitmen vektor berbasis kurva eliptik dalam Verkle Trees memungkinkan penanganan Ethereum yang lebih mudah dan efisien dengan keadaan yang semakin berkembang.
Seperti semua inovasi, Pohon Verkle memiliki keterbatasan mereka. Salah satu kelemahan utama mereka adalah bahwa mereka bergantung pada kriptografi kurva eliptik, yang rentan terhadap komputer kuantum. Komputer kuantum memiliki daya komputasi yang jauh lebih besar daripada metode klasik, yang merupakan ancaman signifikan bagi protokol kriptografi berbasis kurva eliptik. Algoritma kuantum berpotensi merusak atau melemahkan sistem kriptografi ini, yang meningkatkan kekhawatiran tentang keamanan jangka panjang Pohon Verkle.
Oleh karena itu, meskipun Pohon Verkle menawarkan solusi yang menjanjikan terhadap keadaan tanpa negara, mereka bukan solusi yang mutlak. Namun, tokoh seperti Dankrad Feist telah menekankan bahwa, meskipun perlu pertimbangan yang hati-hati saat mengintegrasikan kriptografi tahan kuanta ke Ethereum, perlu dicatat bahwa komitmen KZG yang saat ini digunakan untuk blob di Ethereum juga tidak tahan kuanta. Dengan demikian, Pohon Verkle dapat menjadi solusi sementara, memberikan jaringan waktu tambahan untuk mengembangkan alternatif yang lebih tangguh.
Pohon Verkle menawarkan ukuran bukti yang lebih kecil dan proses verifikasi yang efisien dibandingkan dengan Pohon Merkle, sehingga lebih mudah untuk mengelola keadaan Ethereum yang terus berkembang. Berkat Komitmen Vektor Berbasis Kurva Eliptik, bukti skala besar dapat dihasilkan dengan data yang jauh lebih sedikit. Namun, meskipun memiliki keunggulan yang mengesankan, kerentanan Pohon Verkle terhadap komputer kuantum membuatnya hanya sebagai solusi sementara. Sementara komunitas Ethereum melihat Pohon Verkle sebagai alat jangka pendek untuk membeli waktu, fokus jangka panjang adalah beralih ke solusi tahan terhadap komputer kuantum. Inilah tempat di mana Bukti STARK dan Pohon Merkle Biner menawarkan alternatif yang kuat untuk membangun infrastruktur verifikasi yang lebih kokoh untuk masa depan.
Dalam proses verifikasi status Ethereum, faktor percabangan Pohon Merkle dapat dikurangi (dari 16 menjadi 2) dengan menggunakan Pohon Merkle Biner. Perubahan ini adalah langkah kritis untuk mengurangi ukuran bukti dan membuat proses verifikasi lebih efisien. Namun, bahkan dalam skenario terburuk, ukuran bukti masih bisa mencapai 10 MB, yang signifikan. Di sinilah Bukti STARK berperan, yang mengompres Bukti Merkle Biner besar ini menjadi hanya 100-300 kB saja.
Optimasi ini sangat penting terutama saat mempertimbangkan batasan-batasan pengoperasian validator pada klien ringan atau perangkat dengan perangkat keras terbatas, terutama jika Anda mempertimbangkan bahwa kecepatan unduh dan unggahan mobile global rata-rata adalah sekitar 7,625 MB/s dan 1,5 MB/s. Pengguna dapat memverifikasi transaksi dengan bukti kecil yang mudah dibawa tanpa perlu mengakses seluruh status, dan validator dapat melakukan tugas verifikasi blok tanpa menyimpan seluruh status.
Pendekatan dual-manfaat ini mengurangi kebutuhan bandwidth dan penyimpanan untuk validator, sambil mempercepat verifikasi, tiga peningkatan kunci yang secara langsung mendukung visi Ethereum untuk skalabilitas.
Sementara bukti STARK unggul dalam menangani kumpulan data besar, mereka kurang efisien saat membuktikan jumlah data kecil, yang dapat menghambat aplikasi mereka dalam beberapa skenario tertentu. Ketika berurusan dengan program yang melibatkan langkah-langkah atau kumpulan data yang lebih kecil, ukuran bukti yang relatif besar dari STARK dapat membuatnya kurang praktis atau efisien biaya.
Merkle Proof sebuah blok dapat mencakup sekitar 330.000 hash, dan dalam skenario terburuk, jumlah ini dapat meningkat menjadi 660.000. Dalam kasus seperti itu, bukti STARK perlu memproses sekitar 200.000 hash per detik.
Di sinilah fungsi hash yang ramah zk seperti Poseidon berperan, yang dioptimalkan khusus untuk bukti STARK untuk mengurangi beban ini. Poseidon dirancang untuk bekerja lebih lancar dengan ZK-proofs dibandingkan dengan algoritma hash tradisional seperti SHA256 dan Keccak. Alasan utama kompatibilitas ini terletak pada bagaimana algoritma hash tradisional beroperasi: mereka memproses masukan sebagai data biner (0 dan 1). Di sisi lain, ZK-proofs bekerja dengan bidang prima, struktur matematika yang secara mendasar berbeda. Situasi ini analog dengan komputer yang beroperasi secara biner sementara manusia menggunakan sistem desimal dalam kehidupan sehari-hari. Menerjemahkan data berbasis bit menjadi format yang kompatibel dengan ZK melibatkan beban komputasi yang signifikan. Poseidon memecahkan masalah ini dengan mengoperasikan dalam bidang prima, secara dramatis mempercepat integrasinya dengan ZK-proofs.
Namun, karena Poseidon adalah fungsi hash yang relatif baru, diperlukan analisis keamanan yang lebih mendalam untuk memastikan tingkat kepercayaan yang sama dengan fungsi hash tradisional seperti SHA256 dan Keccak. Untuk mencapai tujuan ini, inisiatif seperti Inisiatif Kriptografi Poseidon, diluncurkan oleh Ethereum Foundation, mengundang para ahli untuk secara ketat menguji dan menganalisis keamanan Poseidon, memastikan bahwa Poseidon dapat bertahan dari pemeriksaan musuh dan menjadi standar yang kuat untuk aplikasi kriptografi. Di sisi lain, fungsi-fungsi yang lebih tua seperti SHA256 dan Keccak telah diuji secara ekstensif dan memiliki catatan keamanan yang terbukti namun tidak bersahabat dengan ZK, sehingga mengakibatkan penurunan performa ketika digunakan dengan bukti STARK.
Misalnya, bukti STARK menggunakan fungsi hash tradisional ini saat ini hanya dapat memproses 10.000 hingga 30.000 hash. Untungnya, kemajuan dalam teknologi STARK menunjukkan bahwa throughput ini dapat segera meningkat menjadi 100.000 hingga 200.000 hash, yang secara signifikan meningkatkan efisiensinya.
Sementara bukti STARK sangat baik dalam skalabilitas dan transparansi untuk kumpulan data besar, mereka menunjukkan keterbatasan saat bekerja dengan elemen data yang kecil dan banyak. Dalam skenario seperti ini, data yang dibuktikan seringkali kecil, tetapi kebutuhan akan banyak bukti tetap tidak berubah. Contohnya meliputi:
Dalam kasus penggunaan seperti itu, bukti STARK memberikan sedikit keuntungan. STARK, menekankan skalabilitas (seperti yang disorot oleh “S” dalam namanya), berkinerja baik untuk kumpulan data besar tetapi berjuang dengan skenario data kecil. Sebaliknya, SNARKs, dirancang untuk ringkas (seperti yang ditekankan oleh “S” dalam nama mereka), fokus pada meminimalkan ukuran bukti, menawarkan keuntungan yang jelas dalam lingkungan dengan bandwidth atau kendala penyimpanan.
Bukti STARK biasanya berukuran 40-50 KB, sekitar 175 kali lebih besar dari bukti SNARK yang hanya berukuran 288 byte. Perbedaan ukuran ini meningkatkan waktu verifikasi dan biaya jaringan. Alasan utama bukti STARK yang lebih besar adalah ketergantungan mereka pada transparansi dan komitmen polinomial untuk memastikan skalabilitas, yang memperkenalkan biaya kinerja dalam skenario data kecil. Dalam kasus seperti itu, metode yang lebih cepat dan lebih efisien seperti Merkle Proof mungkin lebih praktis. Merkle Proof menawarkan biaya komputasi rendah dan pembaruan cepat, sehingga cocok untuk situasi-situasi tersebut.
Namun, bukti STARK tetap penting untuk masa depan Ethereum yang tidak memiliki negara karena keamanan kuantumnya.
Algoritma | Ukuran Bukti | Keamanan Asumsi | Kasus terburuk Latensi Prover |
Pohon Verkle | ~100 - 2,000 kB | kurva eliptik (tidak tahan terhadap quantum) | |
Fungsi hash STARK + Konservatif | ~100 - 300 kB | Fungsi hash konservatif | > 10s |
STARK + Fungsi hash yang relatif baru | ~100 - 300 Kb | Fungsi hash yang relatif baru dan kurang diuji | 1-2 detik |
Pohon Merkle Berbasis Kubus | Pohon Verkle > x > STARKs | Masalah Solusi Integer Pendek (RSIS) cincin | - |
Seperti yang dirangkum dalam tabel, Ethereum memiliki empat jalur potensial yang dapat dipilih:
Namun, penting untuk dicatat bahwa Pohon Verkle, karena tidak bergantung pada hashing, jauh lebih dapat dibuktikan daripada Pohon Merkle.
Semua yang telah kita bahas sejauh ini berkaitan dengan menghilangkan kebutuhan validator untuk menyimpan keadaan sebelumnya, yang mereka gunakan untuk beralih dari satu keadaan ke keadaan berikutnya. Tujuannya adalah untuk menciptakan lingkungan yang lebih terdesentralisasi di mana validator dapat melakukan tugas mereka tanpa mempertahankan terabyte data keadaan. Meskipun dengan solusi yang telah kita sebutkan, validator tidak perlu menyimpan seluruh keadaan, karena mereka akan menerima semua data yang diperlukan untuk eksekusi melalui saksi yang disertakan dengan blok. Namun, untuk beralih ke keadaan berikutnya - dan dengan demikian memverifikasi stateRoot di atas blok - validator masih harus mengeksekusi STF sendiri. Persyaratan ini, pada gilirannya, menimbulkan tantangan lain bagi sifat tanpa izin dan terdesentralisasi Ethereum.
Awalnya, The Verge dibayangkan sebagai tonggak sejarah yang hanya berfokus pada transisi pohon negara Ethereum dari Merkle Trees ke Verkle Trees untuk meningkatkan verifikasi negara. Namun, seiring waktu, ini telah berkembang menjadi inisiatif yang lebih luas yang bertujuan untuk meningkatkan verifikasi transisi dan konsensus negara. Di dunia di mana trio Negara, Eksekusi, dan Konsensus sepenuhnya dapat diverifikasi, validator Ethereum dapat beroperasi di hampir semua perangkat dengan koneksi internet yang dapat dikategorikan sebagai Klien Ringan. Ini akan membawa Ethereum lebih dekat untuk mencapai visinya tentang “desentralisasi sejati.”
Seperti yang telah kami sebutkan sebelumnya, validator menjalankan fungsi yang disebut STF (State Transition Function) setiap 12 detik. Fungsi ini mengambil input berupa state sebelumnya dan blok, dan menghasilkan state berikutnya sebagai output. Validator harus menjalankan fungsi ini setiap kali blok baru diajukan dan memverifikasi bahwa hash yang mewakili state di atas blok - biasanya disebut dengan state root - benar.
Persyaratan sistem yang tinggi untuk menjadi validator utamanya berasal dari kebutuhan untuk melakukan proses ini dengan efisien.
Jika Anda ingin mengubah lemari es pintar—ya, bahkan lemari es—menjadi validator Ethereum dengan bantuan beberapa perangkat lunak yang diinstal, Anda akan menghadapi dua hambatan utama:
Untuk mengatasi masalah yang disebabkan oleh Klien Ringan yang tidak memiliki akses ke keadaan sebelumnya atau seluruh blok terakhir, The Verge mengusulkan bahwa penentu harus melakukan eksekusi dan kemudian melampirkan bukti ke blok. Bukti ini akan mencakup transisi dari root keadaan sebelumnya ke root keadaan selanjutnya serta hash blok. Dengan ini, Klien Ringan dapat memvalidasi transisi keadaan menggunakan hanya tiga hash 32-byte, tanpa perlu zk-proof.
Namun, karena bukti ini bekerja melalui hash, tidak benar untuk mengatakan bahwa ini hanya memvalidasi transisi keadaan. Sebaliknya, bukti yang terlampir pada blok harus memvalidasi beberapa hal secara simultan:
Akar state di blok sebelumnya = S, Akar state di blok berikutnya = S + 1, Hash blok = H
Dalam analogi Prover-Verifier yang telah kami sebutkan sebelumnya, dapat dikatakan bahwa ada keseimbangan komputasi antara kedua aktor tersebut. Meskipun kemampuan bukti yang diperlukan untuk membuat STF yang dapat diverifikasi untuk memvalidasi beberapa hal secara simultan menawarkan keuntungan signifikan bagi Verifier, hal ini juga menunjukkan bahwa menghasilkan bukti-bukti tersebut untuk memastikan kebenaran eksekusi akan relatif sulit bagi Prover. Dengan kecepatan Ethereum saat ini, sebuah blok Ethereum harus terbukti dalam waktu kurang dari 4 detik. Namun, bahkan Prover EVM tercepat yang ada saat ini hanya dapat membuktikan sebuah blok rata-rata dalam waktu sekitar 15 detik.[1]
Dengan dikatakan demikian, ada tiga jalur yang berbeda yang dapat kita ambil untuk mengatasi tantangan utama ini:
Selama pembuatan bukti, setiap bagian kecil dari proses eksekusi (misalnya, langkah-langkah komputasi atau akses data) dapat dibuktikan secara individual, dan bukti-bukti ini dapat dikumpulkan menjadi satu struktur. Dengan mekanisme yang tepat, pendekatan ini memungkinkan bukti blok yang dihasilkan dengan cepat dan secara terdesentralisasi oleh berbagai sumber yang berbeda (misalnya, ratusan GPU). Ini meningkatkan kinerja sambil juga berkontribusi pada tujuan terdesentralisasi dengan melibatkan lebih banyak peserta.
Pendekatan ini dapat meminimalkan kesenjangan antara skenario kasus terburuk dan rata-rata, memungkinkan kinerja yang lebih konsisten. Misalnya, operasi yang lebih sulit untuk dibuktikan dapat memiliki biaya gas yang lebih tinggi, sementara yang lebih mudah untuk dibuktikan dapat memiliki biaya lebih rendah. Selain itu, penggantian struktur data Ethereum (seperti pohon status atau daftar transaksi) dengan alternatif yang ramah STARK dapat lebih mempercepat proses bukti. Perubahan seperti itu akan membantu Ethereum mencapai tujuan skalabilitas dan keamanannya sambil membuat visi verifikasinya lebih realistis.
Upaya Ethereum untuk memungkinkan bukti eksekusi mewakili peluang signifikan untuk mencapai tujuannya yang terverifikasi. Namun, mencapai tujuan ini tidak hanya memerlukan inovasi teknis tetapi juga peningkatan upaya teknik dan keputusan kritis dalam komunitas. Membuat proses eksekusi dapat diverifikasi di Layer 1 harus menemukan keseimbangan antara dapat diakses oleh pengguna yang luas sambil mempertahankan desentralisasi dan selaras dengan infrastruktur yang ada. Membangun keseimbangan ini meningkatkan kompleksitas metode yang digunakan untuk membuktikan operasi selama eksekusi, menyoroti kebutuhan akan kemajuan seperti generasi bukti paralel. Selain itu, persyaratan infrastruktur dari teknologi-teknologi ini (misalnya, )tabel pencarian) harus diimplementasikan dan dioperasikan, yang masih membutuhkan penelitian dan pengembangan yang besar.
Di sisi lain, sirkuit khusus (misalnya, ASIC, FPGA, GPU) yang dirancang khusus untuk tugas-tugas tertentu memiliki potensi signifikan untuk mempercepat proses pembangkitan bukti. Solusi ini memberikan efisiensi yang jauh lebih tinggi dibandingkan dengan perangkat keras tradisional dan dapat mempercepat proses eksekusi. Namun, tujuan desentralisasi Ethereum di tingkat Layer 1 mencegah perangkat keras tersebut hanya dapat diakses oleh sekelompok aktor tertentu. Akibatnya, solusi ini diharapkan untuk melihat penggunaan yang lebih luas dalam sistem Layer 2. Namun demikian, masyarakat juga harus mencapai konsensus tentang persyaratan perangkat keras untuk pembuatan bukti. Pertanyaan desain utama muncul: haruskah pembangkitan bukti bekerja pada perangkat keras kelas konsumen seperti laptop kelas atas, atau memerlukan infrastruktur industri? Jawabannya membentuk seluruh arsitektur Ethereum – memungkinkan pengoptimalan agresif untuk solusi Layer 2 sambil menuntut pendekatan yang lebih konservatif untuk Layer 1.
Akhirnya, implementasi bukti eksekusi terkait langsung dengan tujuan roadmap Ethereum lainnya. Pengenalan bukti keabsahan tidak hanya akan mendukung konsep seperti tanpa keadaan tetapi juga meningkatkan desentralisasi Ethereum dengan membuat area seperti staking solo lebih mudah diakses. Tujuannya adalah memungkinkan staking bahkan pada perangkat yang paling rendah spesifikasinya. Selain itu, restrukturisasi biaya gas pada EVM berdasarkan kesulitan komputasi dan kebuktian dapat meminimalkan kesenjangan antara kasus rata-rata dan kasus terburuk. Namun, perubahan seperti itu dapat memutuskan kompatibilitas mundur dengan sistem saat ini dan memaksa pengembang untuk menulis ulang kode mereka. Oleh karena itu, implementasi bukti eksekusi bukan hanya tantangan teknis - ini adalah perjalanan yang harus dirancang untuk menjunjung nilai-nilai jangka panjang Ethereum.
Mekanisme konsensus Ethereum berusaha untuk menetapkan keseimbangan unik yang mempertahankan desentralisasi dan aksesibilitas sambil mencapai tujuan verifikasi. Dalam kerangka ini, metode konsensus probabilistik dan deterministik menawarkan keunggulan dan tantangan yang berbeda.
Konsensus probabilistik dibangun berdasarkan model komunikasi gossiping. Dalam model ini, alih-alih berkomunikasi langsung dengan semua node yang mewakili jaringan, sebuah node membagikan informasi dengan sekumpulan node yang dipilih secara acak sebanyak 64 atau 128 node. Pemilihan rantai sebuah node didasarkan pada informasi terbatas ini, yang memperkenalkan kemungkinan terjadinya kesalahan. Namun, seiring waktu berjalan, seiring kemajuan blockchain, pemilihan-pemilihan ini diharapkan akan konvergen menuju rantai yang benar dengan tingkat kesalahan 0%.
Salah satu keuntungan dari struktur probabilitas adalah bahwa setiap node tidak menyiarkan pandangannya atas rantai sebagai pesan terpisah, mengurangi overhead komunikasi. Konsekuensinya, struktur seperti ini dapat beroperasi dengan banyak node terdesentralisasi tanpa izin dengan persyaratan sistem yang lebih rendah. Sebaliknya, konsensus deterministik beroperasi melalui model komunikasi satu-ke-semua. Di sini, sebuah node mengirimkan pandangannya atas rantai sebagai suara kepada semua node lainnya. Pendekatan ini menghasilkan intensitas pesan yang lebih tinggi, dan seiring dengan bertambahnya jumlah node, sistem pada akhirnya mungkin mencapai batasnya. Namun, keuntungan terbesar dari konsensus deterministik adalah ketersediaan suara konkret, memungkinkan Anda untuk mengetahui dengan pasti node mana yang memilih fork mana. Hal ini menjamin finalitas rantai yang cepat dan definitif, menjamin bahwa blok tidak dapat mengubah urutannya dan membuatnya dapat diverifikasi.
Untuk menyediakan mekanisme konsensus yang dapat diverifikasi sambil mempertahankan desentralisasi dan struktur tanpa izin, Ethereum telah mencapai keseimbangan antara slot dan epoch. Slot, yang mewakili interval 12 detik, adalah unit dasar di mana validator bertanggung jawab untuk menghasilkan blok. Meskipun konsensus probabilistik yang digunakan pada level slot memungkinkan rantai beroperasi dengan lebih fleksibel dan secara desentralisasi, namun memiliki batasan dalam hal pengurutan definitif dan keverifikasian.
Epoch, yang mencakup 32 slot, memperkenalkan konsensus yang deterministik. Pada tingkat ini, validator memilih untuk memfinalisasi urutan rantai, memastikan kepastian dan membuat rantai dapat diverifikasi. Namun, meskipun struktur deterministik ini memberikan verifikasi melalui suara konkret pada tingkat epoch, ia tidak dapat menawarkan verifikasi penuh dalam epoch itu sendiri karena struktur probabilistik. Untuk mengatasi kesenjangan ini dan memperkuat struktur probabilistik dalam epoch, Ethereum telah mengembangkan solusi yang dikenal sebagai Komite Sinkronisasi.
Komite Sinkronisasi adalah mekanisme yang diperkenalkan dengan upgrade Altair untuk mengatasi keterbatasan konsensus probabilistik Ethereum dan meningkatkan keverifikasian rantai untuk klien ringan. Komite ini terdiri dari 512 validator yang dipilih secara acak yang melayani selama 256 epoch (~27 jam). Validator ini menghasilkan tanda tangan yang mewakili kepala rantai, memungkinkan klien ringan untuk memverifikasi keabsahan rantai tanpa perlu mengunduh data rantai historis. Operasi Komite Sinkronisasi dapat diringkas sebagai berikut:
Namun, Komite Sinkronisasi telah menjadi sasaran kritik di beberapa area. Terutama, protokol kekurangan mekanisme untuk memotong validator atas perilaku berbahaya, bahkan jika validator yang dipilih bertindak dengan sengaja melawan protokol. Sebagai hasilnya, banyak yang menganggap Komite Sinkronisasi sebagai risiko keamanan dan menahan diri untuk sepenuhnya mengklasifikasikannya sebagai Protokol Klien Ringan. Namun demikian, keamanan Komite Sinkronisasi telah terbukti secara matematis, dan rincian lebih lanjut dapat ditemukan di artikel ini tentang Sync Committee Slashings.
Ketidakhadiran mekanisme pemotongan dalam protokol bukanlah pilihan desain tetapi kebutuhan yang timbul dari sifat konsensus probabilistik. Konsensus probabilistik tidak memberikan jaminan mutlak tentang apa yang diamati validator. Bahkan jika mayoritas validator melaporkan cabang tertentu sebagai yang lebih berat, masih ada validator yang luar biasa yang mengamati cabang yang berbeda sebagai yang lebih berat. Ketidakpastian ini membuat sulit untuk membuktikan niat jahat dan, dengan demikian, tidak mungkin menghukum perilaku yang salah.
Dalam konteks ini, daripada menyebut Sync Committee sebagai yang tidak aman, akan lebih akurat untuk menggambarkannya sebagai solusi yang tidak efisien. Masalahnya bukan berasal dari desain atau operasi mekanis Sync Committee tetapi dari sifat inheren dari konsensus probabilistik. Karena konsensus probabilistik tidak dapat menawarkan jaminan definitif tentang apa yang diamati oleh node, Sync Committee adalah salah satu solusi terbaik yang dapat dirancang dalam model seperti itu. Namun, ini tidak menghilangkan kelemahan konsensus probabilistik dalam menjamin finalitas rantai. Masalahnya bukan terletak pada mekanisme tetapi dalam struktur konsensus Ethereum saat ini.
Karena keterbatasan ini, ada upaya terus-menerus dalam ekosistem Ethereum untuk merancang kembali mekanisme konsensus dan menerapkan solusi yang memberikan finalitas yang ditentukan secara deterministik dalam periode yang lebih singkat. Proposal seperti Orbit-SSFdan3SFbertujuan untuk mengubah struktur konsensus Ethereum dari dasar, menciptakan sistem yang lebih efektif untuk menggantikan konsensus probabilistik. Pendekatan-pendekatan seperti ini tidak hanya bertujuan untuk memperpendek waktu finalitas rantai, tetapi juga untuk memberikan struktur jaringan yang lebih efisien dan dapat diverifikasi. Komunitas Ethereum terus aktif mengembangkan dan mempersiapkan proposal-proposal ini untuk implementasi di masa depan.
Verge bertujuan untuk meningkatkan mekanisme konsensus saat ini dan masa depan Ethereum dengan membuatnya lebih dapat diverifikasi melalui teknologi zk-proof, daripada menggantikannya sepenuhnya. Pendekatan ini bertujuan untuk memodernisasi proses konsensus Ethereum sambil mempertahankan prinsip inti desentralisasi dan keamanannya. Mengoptimalkan semua proses konsensus historis dan saat ini dari rantai dengan teknologi zk memainkan peran penting dalam mencapai tujuan skalabilitas dan efisiensi jangka panjang Ethereum. Operasi mendasar yang digunakan dalam lapisan konsensus Ethereum sangat penting dalam transformasi teknologi ini. Mari kita lihat lebih dekat operasi-operasi ini dan tantangan yang mereka hadapi.
Operasi ECADD, Pairing, dan SHA256 yang digunakan dalam lapisan konsensus saat ini memainkan peran penting dalam tujuan verifikasi Ethereum. Namun, kurangnya kesesuaian dengan zk menimbulkan tantangan signifikan dalam mencapai tujuan ini. Operasi ECADD menciptakan beban yang mahal karena volume tinggi suara validator, sementara operasi Pairing, meskipun jumlahnya lebih sedikit, ribuan kali lebih mahal untuk dibuktikan dengan zk-proofs. Selain itu, ketidakramahan zk dari fungsi hash SHA256 membuat membuktikan transisi keadaan rantai beacon sangat menantang. Masalah-masalah ini menyoroti kebutuhan akan transformasi komprehensif untuk menyelaraskan infrastruktur eksisting Ethereum dengan teknologi zero-knowledge.
Pada 12 November 2024, dalam presentasinya di Devcon, Justin Drake memperkenalkan proposal yang disebut “Beam Chain” yang bertujuan untuk secara mendasar dan komprehensif mengubah Lapisan Konsensus Ethereum. Beacon Chain telah menjadi inti jaringan Ethereum selama hampir lima tahun. Namun, selama periode ini, tidak ada perubahan struktural utama pada Beacon Chain. Sebaliknya, kemajuan teknologi telah berkembang pesat, jauh melampaui sifat statis Beacon Chain.
Dalam presentasinya, Justin Drake menekankan bahwa Ethereum telah belajar pelajaran penting selama lima tahun ini di area-area kritis seperti pemahaman MEV, terobosan dalam teknologi SNARK, dan kesadaran retrospektif tentang kesalahan teknologi. Desain-desain yang dipengaruhi oleh pembelajaran baru ini dikategorikan ke dalam tiga pilar utama: Produksi Blok, Staking, dan Kriptografi. Visual berikut merangkum desain-desain ini dan roadmap yang diusulkan:
Dalam bagian ini, kami telah meneliti Langkah Konsensus, Status, dan Eksekusi The Verge secara rinci, dan salah satu masalah paling menonjol yang disorot selama proses ini adalah penggunaan fungsi hash SHA256 dalam Rantai Beacon Ethereum. Sementara SHA256 memainkan peran sentral dalam memastikan keamanan jaringan dan memproses transaksi, kurangnya kesesuaian dengan zk menjadi hambatan signifikan dalam mencapai tujuan verifikasi Ethereum. Biaya komputasi yang tinggi dan ketidakcocokan dengan teknologi zk membuatnya menjadi masalah kritis yang harus diatasi dalam pengembangan masa depan Ethereum.
Jalan raya Justin Drake, yang disajikan dalam pidatonya di Devcon, membayangkan mengganti SHA256 di Beacon Chain dengan fungsi hash yang bersahabat dengan zk seperti Poseidon. Usulan ini bertujuan untuk memodernisasi lapisan konsensus Ethereum, membuatnya lebih dapat diverifikasi, efisien, dan selaras dengan teknologi zk-proof.
Dalam konteks ini, kita melihat bahwa Ethereum tidak hanya menghadapi tantangan dengan fungsi hash yang tidak bersahabat terhadap zk tetapi juga perlu mengevaluasi kembali tanda tangan digital yang digunakan dalam lapisan konsensusnya untuk keamanan jangka panjang. Dengan kemajuan komputasi kuantum, algoritma tanda tangan digital seperti ECDSA yang saat ini digunakan dapat menghadapi ancaman yang signifikan. Seperti yang dicatat dalam panduan yang diterbitkan oleh NIST, variasi dari ECDSA dengan tingkat keamanan 112-bit akan ditinggalkan mulai tahun 2030 dan dilarang sepenuhnya pada tahun 2035. Hal ini menuntut transisi bagi Ethereum dan jaringan serupa menuju alternatif yang lebih tangguh seperti tanda tangan yang aman terhadap kuantum di masa depan.
Pada titik ini, tanda tangan berbasis hash muncul sebagai solusi tahan kuanta yang dapat memainkan peran kritis dalam mendukung tujuan keamanan dan verifikasi jaringan. Mengatasi kebutuhan ini juga menghilangkan hambatan utama kedua dalam membuat Beacon Chain dapat diverifikasi: Tanda tangan BLS. Salah satu langkah paling signifikan yang dapat diambil Ethereum untuk memastikan keamanan kuanta adalah mengadopsi solusi pasca-kuanta seperti tanda tangan berbasis hash dan SNARK berbasis hash.
Seperti yang disoroti oleh Justin Drake dalampresentasi Devcon ini, fungsi hash secara inheren tahan terhadap komputer kuantum karena bergantung pada resistensi praima-gambar, menjadikannya salah satu blok bangunan fundamental kriptografi modern. Properti ini memastikan bahwa bahkan komputer kuantum tidak dapat dengan efisien membalikkan rekayasa ulang input asli dari hash yang diberikan, menjaga keamanan mereka. Sistem tanda tangan berbasis hash memungkinkan validator dan pemberi kesaksian untuk menghasilkan tanda tangan sepenuhnya berdasarkan fungsi hash, memastikan keamanan pasca-kuantum sambil juga memberikan tingkat verifikasi yang lebih tinggi di seluruh jaringan—terutama jika fungsi hash yang ramah SNARK digunakan. Pendekatan ini tidak hanya meningkatkan keamanan jaringan tetapi juga membuat infrastruktur keamanan jangka panjang Ethereum lebih kokoh dan tahan masa depan.
Sistem ini bergantung pada kombinasi tanda tangan berbasis hash dan SNARK berbasis hash (bukti seperti STARK) untuk membuat skema tanda tangan yang dapat diagregatkan. Tanda tangan yang dapat diagregatkan mengompres ribuan tanda tangan menjadi satu struktur, menguranginya menjadi hanya beberapa ratus kilobita bukti. Kompresi ini secara signifikan mengurangi beban data pada jaringan sambil mempercepat proses verifikasi secara besar-besaran. Misalnya, ribuan tanda tangan validator yang dihasilkan untuk satu slot di Ethereum dapat diwakili oleh satu tanda tangan agregat, menghemat ruang penyimpanan dan daya komputasi.
Namun, fitur paling mencolok dari skema ini adalah agregasi secara rekursif yang tak terbatas. Artinya, satu kelompok tanda tangan dapat digabungkan lebih lanjut di bawah kelompok lain, dan proses ini dapat terus berlanjut melintasi rantai. Dengan mekanisme ini dan mempertimbangkan kemajuan teknologi di masa depan, dapat dikatakan bahwa ini membuka pintu untuk kemungkinan yang saat ini tidak dapat dicapai dengan BLS.
Jalur Ethereum menuju verifikasi mewakili pergeseran mendasar dalam teknologi blockchain. Inisiatif Verge menangani ketidakefisienan inti melalui Pohon Verkle untuk verifikasi status dan bukti STARK untuk transisi yang dapat diskalakan.
Salah satu proposal paling ambisius adalah Beam Chain, suatu desain ulang komprehensif dari lapisan konsensus Ethereum. Dengan mengatasi keterbatasan Beacon Chain dan menggabungkan alternatif yang ramah zk, pendekatan ini bertujuan untuk meningkatkan skalabilitas Ethereum sambil mempertahankan prinsip inti desentralisasi dan aksesibilitasnya. Namun, transisi ini juga menyoroti tantangan yang dihadapi Ethereum dalam menyeimbangkan tuntutan komputasi dengan tujuannya untuk menjaga jaringan tanpa izin dan inklusif.
Dengan NIST berencana untuk menghentikan kriptografi kurva elips saat ini pada tahun 2035, Ethereum harus mengadopsi solusi tahan kuanta seperti tanda tangan berbasis hash dan Poseidon. Solusi-solusi ini memiliki kompromi efisiensi mereka sendiri.
Penggunaan STARKs dalam rencana jangka panjang Ethereum lebih menekankan skalabilitas dan verifikasi. Meskipun mereka sangat baik dalam menyediakan bukti transparan dan tahan terhadap kuantum, integrasi mereka memperkenalkan tantangan terkait biaya komputasi sisi prover dan ketidakefisienan data kecil. Hambatan-hambatan ini harus diatasi untuk sepenuhnya mewujudkan visi Ethereum tentang tanpa keadaan dan verifikasi blok yang efisien, memastikan jaringan tetap tangguh di tengah meningkatnya permintaan.
Meskipun kemajuan ini, tantangan kunci tetap ada. Ethereum harus menavigasi masalah kesahabatan zk, skalabilitas konsensus, dan kompleksitas integrasi kriptografi tahan kuanta. Selain itu, kompatibilitas mundur infrastruktur yang ada menimbulkan hambatan praktis yang memerlukan solusi rekayasa yang hati-hati untuk mencegah gangguan bagi pengembang dan pengguna.
Yang membedakan Ethereum bukan hanya inovasi teknisnya tetapi pendekatan iteratifnya dalam memecahkan beberapa masalah terberat dalam blockchain. Langkah ke depan - baik melalui teknologi seperti Beam Chain, Verkle Trees, atau bukti STARK - bergantung pada upaya kolaboratif oleh pengembang, peneliti, dan komunitas yang lebih luas. Kemajuan ini bukan tentang mencapai kesempurnaan dalam semalam tetapi tentang menciptakan dasar untuk internet yang transparan, terdesentralisasi, dan dapat diverifikasi.
Evolusi Ethereum menggarisbawahi perannya sebagai pemain kunci dalam membentuk era Web3. Dengan mengatasi tantangan saat ini dengan solusi praktis, Ethereum semakin mendekati masa depan di mana verifikabilitas, ketahanan kuantum, dan skalabilitas menjadi standar, bukan pengecualian.
Bagikan
Konten
Keunggulan inti Web3 adalah verifikasi - pengguna dapat memverifikasi bagaimana sistem benar-benar beroperasi. Fitur ini menjelaskan mengapa banyak orang dalam dan luar industri kripto menggambarkan web3 sebagai langkah menuju internet yang lebih transparan dan dapat diverifikasi.
Tidak seperti platform Web2 seperti Facebook atau Instagram, di mana algoritma dan aturan tetap tidak transparan bahkan ketika didokumentasikan, protokol kripto dirancang untuk auditabilitas yang lengkap. Bahkan jika mereka dibagikan, Anda tidak memiliki kemampuan untuk memverifikasi apakah platform beroperasi sesuai yang ditentukan. Ini bertolak belakang dengan kripto, di mana setiap protokol dirancang untuk bisa diaudit sebanyak mungkin, atau setidaknya diharapkan demikian.
Hari ini, kita akan menjelajahi “The Verge”, sebuah bagian dari yang baru-baru ini diterbitkan oleh Vitalik.seri enam bagian tentang masa depan Ethereum, untuk menganalisis langkah-langkah yang diambil Ethereum menuju pencapaian verifikasi, keberlanjutan, dan skalabilitas di masa depan. Di bawah judul ‘The Verge,’ kita akan membahas bagaimana arsitektur blockchain dapat dibuat lebih diverifikasi, inovasi-inovasi yang dibawa perubahan tersebut pada tingkat protokol, dan bagaimana hal ini memberikan kepada pengguna ekosistem yang lebih aman. Mari kita mulai!
Aplikasi Web2 berfungsi sebagai “kotak hitam” - pengguna hanya dapat melihat masukan mereka dan keluaran yang dihasilkan, tanpa visibilitas terhadap cara kerja aplikasi tersebut. Sebaliknya, protokol cryptocurrency umumnya membuat kode sumber mereka tersedia untuk umum, atau setidaknya memiliki rencana untuk melakukannya. Transparansi ini memiliki dua tujuan: ini memungkinkan pengguna berinteraksi langsung dengan kode protokol jika mereka memilih, dan membantu mereka memahami dengan tepat bagaimana sistem beroperasi dan aturan apa yang mengaturnya.
“Desentralisasikan apa yang Anda bisa, verifikasi sisanya.”
Verifiability memastikan bahwa sistem-sistem bertanggung jawab dan, dalam banyak kasus, menjamin bahwa protokol berfungsi sebagaimana yang dimaksudkan. Prinsip ini menekankan pentingnya meminimalkan sentralisasi, karena sering kali menghasilkan struktur yang tidak transparan dan tidak dapat dipertanggungjawabkan di mana pengguna tidak dapat memverifikasi operasi. Sebaliknya, kita harus berusaha untuk mendekentralisasikan sebanyak mungkin dan membuat elemen-elemen yang tersisa dapat diverifikasi dan dipertanggungjawabkan di mana desentralisasi tidak memungkinkan.
Komunitas Ethereum tampaknya sejalan dengan pandangan ini, seperti rencana jalantermasuk tonggak (disebut “The Verge”) bertujuan membuat Ethereum lebih dapat diverifikasi. Namun, sebelum terjun ke The Verge, kita perlu memahami aspek-aspek apa dari blockchain yang harus diverifikasi dan bagian mana yang penting dari sudut pandang pengguna.
Blockchain pada dasarnya berfungsi sebagai jam global. Dalam jaringan terdistribusi dengan sekitar 10.000 komputer, dapat memakan waktu yang signifikan bagi sebuah transaksi untuk menyebar dari node asal ke semua node lainnya. Oleh karena itu, node-node di seluruh jaringan tidak dapat menentukan urutan transaksi secara tepat—baik transaksi mana yang tiba lebih dulu atau kemudian—karena mereka hanya memiliki perspektif subjektif mereka sendiri.
Karena urutan transaksi itu penting, jaringan blockchain menggunakan metode khusus yang disebut “algoritma konsensus” untuk memastikan bahwa node-node tetap disinkronkan dan memproses urutan transaksi dengan cara yang sama. Meskipun node-node tidak dapat menentukan urutan transaksi secara global, mekanisme konsensus memungkinkan semua node untuk sepakat pada urutan yang sama, sehingga jaringan dapat berfungsi sebagai satu unit komputer yang terpadu.
Di luar lapisan konsensus, ada juga lapisan eksekusi yang ada dalam setiap blockchain. Lapisan eksekusi dibentuk oleh transaksi yang ingin dilakukan oleh pengguna.
Setelah transaksi berhasil diurutkan berdasarkan konsensus, setiap transaksi harus diterapkan ke keadaan saat ini pada lapisan eksekusi. Jika Anda bertanya-tanya, “Apa itu keadaan?”, Anda mungkin pernah melihat perbandingan antara blockchain dengan database—atau lebih spesifik lagi, dengan database bank karena blockchain, seperti bank, menjaga catatan saldo setiap orang.
Jika Anda memiliki $100 dalam keadaan yang kita sebut “S” dan ingin mengirim $10 kepada orang lain, saldo Anda di keadaan berikutnya, “S+1”, akan menjadi $90. Proses menerapkan transaksi untuk pindah dari satu keadaan ke keadaan lain inilah yang kita sebut sebagai STF (Fungsi Transisi Keadaan).
Di Bitcoin, STF terutama terbatas pada perubahan saldo, sehingga relatif sederhana. Namun, berbeda dengan Bitcoin, STF Ethereum jauh lebih kompleks karena Ethereum adalah blockchain yang sepenuhnya dapat diprogram dengan lapisan eksekusi yang mampu menjalankan kode.
Dalam sebuah blockchain, ada tiga komponen dasar yang perlu atau dapat Anda verifikasi:
Jika ini terlihat membingungkan atau tidak jelas, jangan khawatir. Kami akan menjelaskan setiap aspek ini secara detail. Mari kita mulai dengan cara memverifikasi keadaan blockchain!
Kata “state” pada Ethereum merujuk pada kumpulan data yang tersimpan dalam blockchain pada setiap waktu. Ini mencakup saldo akun (akun kontrak dan akun yang dimiliki secara eksternal atau EOAs), kode kontrak pintar, penyimpanan kontrak, dan lainnya. Ethereum adalah mesin berbasis keadaan karena transaksi yang diproses dalam Mesin Virtual Ethereum (EVM) mengubah keadaan sebelumnya dan menghasilkan keadaan baru.
Setiap blok Ethereum mengandung nilai yang merangkum keadaan terkini jaringan setelah blok tersebut: stateRoot. Nilai ini merupakan representasi ringkas dari seluruh keadaan Ethereum, terdiri dari hash 64 karakter.
Karena setiap transaksi baru memodifikasi status, stateRoot yang dicatat dalam blok selanjutnya diperbarui sesuai. Untuk menghitung nilai ini, validator Ethereum menggunakan kombinasi fungsi hash Keccak dan struktur data yang disebutPohon Merkleuntuk mengatur dan merangkum bagian-bagian berbeda dari negara.
Fungsi hash adalah fungsi satu arah yang mengubah masukan menjadi keluaran berpanjang tetap. Dalam Ethereum, fungsi hash seperti Keccakdigunakan untuk menghasilkan ringkasan data, berfungsi sebagai semacam sidik jari untuk masukan. Fungsi hash memiliki empat properti mendasar:
Berkat sifat-sifat ini, validator Ethereum dapat melakukan STF (Fungsi Transisi State) untuk setiap blok—mengeksekusi semua transaksi dalam blok dan menerapkannya ke dalam status—dan kemudian memverifikasi apakah status yang tertera dalam blok sesuai dengan status yang diperoleh setelah STF. Proses ini memastikan bahwa penyarankan blok telah bertindak secara jujur, menjadikannya salah satu tanggung jawab kunci validator.
Namun, validator Ethereum tidak menghash seluruh state secara langsung untuk mencari ringkasannya. Karena sifat satu arah dari fungsi hash, menghash langsung state akan menghilangkan verifikabilitas, karena satu-satunya cara untuk menghasilkan ulang hash adalah dengan memiliki seluruh state.
Karena ukuran status Ethereum adalah beberapa terabyte, menyimpan seluruh status pada perangkat sehari-hari seperti ponsel atau komputer pribadi tidak praktis. Oleh karena itu, Ethereum menggunakan struktur pohon Merkle untuk menghitung stateRoot, menjaga verifikasi status sebanyak mungkin.
A pohon Merkleadalah struktur data kriptografis yang digunakan untuk memverifikasi integritas dan kebenaran data dengan aman dan efisien. Pohon Merkle dibangun di atas fungsi hash dan mengorganisir hash dari dataset secara hierarkis, memungkinkan verifikasi integritas dan kebenaran data ini. Struktur pohon ini terdiri dari tiga jenis node:
Jika Anda bertanya-tanya bagaimana cara membuat pohon seperti itu, itu melibatkan hanya dua langkah sederhana:
Hash terakhir yang diperoleh di bagian atas pohon disebut dengan akar Merkle. Akar Merkle mewakili ringkasan kriptografi dari seluruh pohon dan memungkinkan verifikasi keamanan integritas data.
Bukti Merkle memungkinkan Verifier untuk secara efisien memvalidasi bagian-bagian data tertentu dengan menyediakan serangkaian nilai hash yang membuat jalur dari data yang dituju (node daun) ke Merkle Root yang disimpan di header blok. Rantai hash intermediate ini memungkinkan Verifier untuk mengonfirmasi keaslian data tanpa perlu menghash seluruh status.
Dimulai dari titik data tertentu, Verifier menggabungkannya dengan setiap hash “saudara” yang disediakan dalam Merkle Proof dan menghash mereka langkah demi langkah ke atas pohon. Proses ini terus berlanjut sampai satu hash tunggal dihasilkan. Jika hash yang dihitung ini cocok dengan Merkle Root yang disimpan, data dianggap valid; jika tidak, Verifier dapat menentukan bahwa data tersebut tidak sesuai dengan keadaan yang diklaim.
Misalkan kita telah menerima Data #4 dari RPC dan ingin memverifikasi keasliannya menggunakan Bukti Merkle. Untuk melakukannya, RPC akan menyediakan serangkaian nilai hash di sepanjang jalur yang diperlukan untuk mencapai Akar Merkle. Untuk Data 4, hash saudara akan mencakup Hash #3, Hash #12, dan Hash #5678.
Jika Merkle Root yang dihitung cocok dengan state root dalam blok, kami mengonfirmasi bahwa Data #4 memang valid dalam state ini. Jika tidak, kami tahu bahwa data tersebut tidak termasuk ke dalam state yang diklaim, menunjukkan adanya potensi pemalsuan. Seperti yang dapat Anda lihat, tanpa menyediakan hash dari semua data atau mengharuskan Verifier untuk merekonstruksi seluruh Merkle Tree dari awal, Prover dapat membuktikan bahwa Data #4 ada dalam state dan tidak mengalami perubahan selama perjalanan—hanya dengan menggunakan tiga hash. Ini adalah alasan utama mengapa Merkle Proofs dianggap efisien.
Meskipun Merkle Trees tanpa diragukan lagi efektif dalam menyediakan verifikasi data yang aman dan efisien dalam sistem blockchain besar seperti Ethereum, apakah mereka benar-benar cukup efisien? Untuk menjawab ini, kita harus menganalisis bagaimana kinerja dan ukuran Merkle Tree mempengaruhi hubungan Prover-Verifier.
Mari kita gunakan contoh untuk lebih memahami dampaknya. Faktor percabangan menentukan berapa banyak cabang yang muncul dari setiap simpul dalam pohon.
Seiring dengan pertumbuhan blockchain Ethereum, dengan setiap transaksi baru, kontrak, atau interaksi pengguna yang ditambahkan ke dataset, Pohon Merkle juga harus berkembang. Pertumbuhan ini tidak hanya meningkatkan ukuran pohon tetapi juga mempengaruhi ukuran bukti dan waktu verifikasi.
Secara ringkas, meskipun Pohon Merkle menawarkan tingkat efisiensi, mereka tidak cukup menjadi solusi optimal untuk kumpulan data Ethereum yang terus berkembang. Untuk alasan ini, selama fase The Verge, Ethereum bertujuan untuk menggantikan Pohon Merkle dengan struktur yang lebih efisien yang dikenal sebagaiPohon VerkleVerkle Trees memiliki potensi untuk memberikan ukuran bukti yang lebih kecil sambil mempertahankan tingkat keamanan yang sama, membuat proses verifikasi lebih berkelanjutan dan dapat diskalakan baik untuk Prover maupun Verifier.
Verge dikembangkan sebagai tonggak dalam peta jalan Ethereum yang bertujuan untuk meningkatkan verifikasi, memperkuat struktur terdesentralisasi blockchain, dan meningkatkan keamanan jaringan. Salah satu tujuan utama jaringan Ethereum adalah memungkinkan siapa pun untuk dengan mudah menjalankan validator untuk memverifikasi rantai, menciptakan struktur di mana partisipasi terbuka untuk semua orang tanpa sentralisasi. Aksesibilitas proses verifikasi ini adalah salah satu fitur utama yang membedakan blockchain dari sistem terpusat. Sementara sistem terpusat tidak menawarkan kemampuan verifikasi, kebenaran blockchain sepenuhnya berada di tangan penggunanya. Namun, untuk mempertahankan jaminan ini, menjalankan validator harus dapat diakses oleh semua orang—tantangan yang, dalam sistem saat ini, terbatas karena persyaratan penyimpanan dan komputasi.
Sejak beralih ke model konsensus Proof-of-Stake dengan The Merge, validator Ethereum memiliki dua tanggung jawab utama:
Untuk memenuhi tanggung jawab kedua, validator harus memiliki akses ke status sebelum blok. Ini memungkinkan mereka untuk menjalankan transaksi blok dan mendapatkan status berikutnya. Namun, persyaratan ini memberikan beban berat pada validator, karena mereka perlu menangani persyaratan penyimpanan yang signifikan. Meskipun Ethereum dirancang untuk memungkinkan hal tersebut dan biaya penyimpanan telah menurun secara global, masalahnya lebih sedikit tentang biaya dan lebih tentang ketergantungan pada perangkat keras khusus untuk validator. Verge bertujuan untuk mengatasi tantangan ini dengan menciptakan infrastruktur di mana verifikasi penuh dapat dilakukan bahkan pada perangkat dengan penyimpanan terbatas, seperti ponsel, dompet browser, dan bahkan smartwatch, memungkinkan validator untuk berjalan pada perangkat-perangkat tersebut.
Beralih ke Pohon Verkle adalah bagian kunci dari proses ini. Awalnya, Verge fokus pada penggantian struktur Pohon Merkle Ethereum dengan Pohon Verkle. Alasan utama mengadopsi Pohon Verkle adalah bahwa Pohon Merkle menjadi hambatan signifikan bagi verifiabilitas Ethereum. Meskipun Pohon Merkle dan bukti mereka dapat bekerja dengan efisien dalam skenario normal, kinerjanya menurun drastis dalam skenario terburuk.
Menurut perhitungan Vitalik, ukuran bukti rata-rata sekitar 4 KB, yang terdengar dapat dikelola. Namun, dalam skenario terburuk, ukuran bukti dapat melonjak hingga 330 MB. Ya, Anda membacanya dengan benar—330 MB.
Ketidakmampuan ekstrem Merkle Trees Ethereum dalam skenario terburuk berasal dari dua alasan utama:
Ukuran bukti secara langsung berbanding lurus dengan faktor percabangan. Mengurangi faktor percabangan akan mengurangi ukuran bukti. Untuk mengatasi masalah-masalah ini dan meningkatkan skenario terburuk, Ethereum dapat beralih dari Hexary Trees ke Binary Merkle Trees dan mulai merklizing kode kontrak. Jika faktor percabangan di Ethereum dikurangi dari 16 menjadi 2 dan kode kontrak juga dimerklikan, ukuran bukti maksimum bisa menyusut menjadi 10 MB. Meskipun ini merupakan peningkatan yang signifikan, penting untuk dicatat bahwa biaya ini berlaku untuk memverifikasi hanya satu data. Bahkan transaksi sederhana yang mengakses beberapa data akan memerlukan bukti yang lebih besar. Mengingat jumlah transaksi per blok dan keadaan Ethereum yang terus bertumbuh, solusi ini, meskipun lebih baik, masih belum sepenuhnya memungkinkan.
Untuk alasan-alasan ini, komunitas Ethereum telah mengusulkan dua solusi yang berbeda untuk mengatasi masalah ini:
Pohon Verkle, seperti namanya, adalah struktur pohon yang mirip dengan Pohon Merkle. Namun, perbedaan yang paling signifikan terletak pada efisiensi yang mereka tawarkan selama proses verifikasi. Pada Pohon Merkle, jika suatu cabang mengandung 16 potongan data dan kita ingin memverifikasi hanya salah satunya, rantai hash yang mencakup 15 potongan lain juga harus disediakan. Hal ini secara signifikan meningkatkan beban komputasi verifikasi dan menghasilkan ukuran bukti yang besar.
Sebaliknya, Pohon Verkle menggunakan struktur khusus yang dikenal sebagai “Elliptic Curve-based Vector Commitments”, lebih spesifik lagi, Vector Commitment berbasis Argumen Inner Product (IPA). Vektor pada dasarnya adalah daftar elemen data yang diorganisir dalam urutan tertentu. Status Ethereum dapat dianggap sebagai vektor: sebuah struktur di mana banyak bagian data disimpan dalam urutan tertentu, dengan setiap elemen menjadi penting. Status ini terdiri dari berbagai komponen data seperti alamat, kode kontrak, dan informasi penyimpanan, di mana urutan elemen-elemen ini memainkan peran penting dalam akses dan verifikasi.
Komitmen Vektor adalah metode kriptografi yang digunakan untuk membuktikan dan memverifikasi elemen data dalam sebuah dataset. Metode ini memungkinkan verifikasi baik keberadaan maupun urutan setiap elemen dalam sebuah dataset secara simultan. Sebagai contoh, Merkle Proofs, yang digunakan dalam Merkle Trees, juga dapat dianggap sebagai bentuk Komitmen Vektor. Sementara Merkle Trees membutuhkan semua rantai hash terkait untuk memverifikasi sebuah elemen, struktur tersebut secara inheren membuktikan bahwa semua elemen dari sebuah vektor terhubung dalam urutan tertentu.
Tidak seperti Pohon Merkle, Pohon Verkle menggunakan komitmen vektor berbasis kurva eliptik yang menawarkan dua keunggulan kunci:
Fitur-fitur dari komitmen vektor berbasis kurva eliptik secara signifikan mengurangi jumlah data yang dibutuhkan untuk verifikasi, memungkinkan Verkle Trees untuk menghasilkan bukti dengan ukuran kecil dan tetap bahkan dalam skenario terburuk. Hal ini mengurangi beban data dan waktu verifikasi, meningkatkan efisiensi jaringan berskala besar seperti Ethereum. Sebagai hasilnya, penggunaan komitmen vektor berbasis kurva eliptik dalam Verkle Trees memungkinkan penanganan Ethereum yang lebih mudah dan efisien dengan keadaan yang semakin berkembang.
Seperti semua inovasi, Pohon Verkle memiliki keterbatasan mereka. Salah satu kelemahan utama mereka adalah bahwa mereka bergantung pada kriptografi kurva eliptik, yang rentan terhadap komputer kuantum. Komputer kuantum memiliki daya komputasi yang jauh lebih besar daripada metode klasik, yang merupakan ancaman signifikan bagi protokol kriptografi berbasis kurva eliptik. Algoritma kuantum berpotensi merusak atau melemahkan sistem kriptografi ini, yang meningkatkan kekhawatiran tentang keamanan jangka panjang Pohon Verkle.
Oleh karena itu, meskipun Pohon Verkle menawarkan solusi yang menjanjikan terhadap keadaan tanpa negara, mereka bukan solusi yang mutlak. Namun, tokoh seperti Dankrad Feist telah menekankan bahwa, meskipun perlu pertimbangan yang hati-hati saat mengintegrasikan kriptografi tahan kuanta ke Ethereum, perlu dicatat bahwa komitmen KZG yang saat ini digunakan untuk blob di Ethereum juga tidak tahan kuanta. Dengan demikian, Pohon Verkle dapat menjadi solusi sementara, memberikan jaringan waktu tambahan untuk mengembangkan alternatif yang lebih tangguh.
Pohon Verkle menawarkan ukuran bukti yang lebih kecil dan proses verifikasi yang efisien dibandingkan dengan Pohon Merkle, sehingga lebih mudah untuk mengelola keadaan Ethereum yang terus berkembang. Berkat Komitmen Vektor Berbasis Kurva Eliptik, bukti skala besar dapat dihasilkan dengan data yang jauh lebih sedikit. Namun, meskipun memiliki keunggulan yang mengesankan, kerentanan Pohon Verkle terhadap komputer kuantum membuatnya hanya sebagai solusi sementara. Sementara komunitas Ethereum melihat Pohon Verkle sebagai alat jangka pendek untuk membeli waktu, fokus jangka panjang adalah beralih ke solusi tahan terhadap komputer kuantum. Inilah tempat di mana Bukti STARK dan Pohon Merkle Biner menawarkan alternatif yang kuat untuk membangun infrastruktur verifikasi yang lebih kokoh untuk masa depan.
Dalam proses verifikasi status Ethereum, faktor percabangan Pohon Merkle dapat dikurangi (dari 16 menjadi 2) dengan menggunakan Pohon Merkle Biner. Perubahan ini adalah langkah kritis untuk mengurangi ukuran bukti dan membuat proses verifikasi lebih efisien. Namun, bahkan dalam skenario terburuk, ukuran bukti masih bisa mencapai 10 MB, yang signifikan. Di sinilah Bukti STARK berperan, yang mengompres Bukti Merkle Biner besar ini menjadi hanya 100-300 kB saja.
Optimasi ini sangat penting terutama saat mempertimbangkan batasan-batasan pengoperasian validator pada klien ringan atau perangkat dengan perangkat keras terbatas, terutama jika Anda mempertimbangkan bahwa kecepatan unduh dan unggahan mobile global rata-rata adalah sekitar 7,625 MB/s dan 1,5 MB/s. Pengguna dapat memverifikasi transaksi dengan bukti kecil yang mudah dibawa tanpa perlu mengakses seluruh status, dan validator dapat melakukan tugas verifikasi blok tanpa menyimpan seluruh status.
Pendekatan dual-manfaat ini mengurangi kebutuhan bandwidth dan penyimpanan untuk validator, sambil mempercepat verifikasi, tiga peningkatan kunci yang secara langsung mendukung visi Ethereum untuk skalabilitas.
Sementara bukti STARK unggul dalam menangani kumpulan data besar, mereka kurang efisien saat membuktikan jumlah data kecil, yang dapat menghambat aplikasi mereka dalam beberapa skenario tertentu. Ketika berurusan dengan program yang melibatkan langkah-langkah atau kumpulan data yang lebih kecil, ukuran bukti yang relatif besar dari STARK dapat membuatnya kurang praktis atau efisien biaya.
Merkle Proof sebuah blok dapat mencakup sekitar 330.000 hash, dan dalam skenario terburuk, jumlah ini dapat meningkat menjadi 660.000. Dalam kasus seperti itu, bukti STARK perlu memproses sekitar 200.000 hash per detik.
Di sinilah fungsi hash yang ramah zk seperti Poseidon berperan, yang dioptimalkan khusus untuk bukti STARK untuk mengurangi beban ini. Poseidon dirancang untuk bekerja lebih lancar dengan ZK-proofs dibandingkan dengan algoritma hash tradisional seperti SHA256 dan Keccak. Alasan utama kompatibilitas ini terletak pada bagaimana algoritma hash tradisional beroperasi: mereka memproses masukan sebagai data biner (0 dan 1). Di sisi lain, ZK-proofs bekerja dengan bidang prima, struktur matematika yang secara mendasar berbeda. Situasi ini analog dengan komputer yang beroperasi secara biner sementara manusia menggunakan sistem desimal dalam kehidupan sehari-hari. Menerjemahkan data berbasis bit menjadi format yang kompatibel dengan ZK melibatkan beban komputasi yang signifikan. Poseidon memecahkan masalah ini dengan mengoperasikan dalam bidang prima, secara dramatis mempercepat integrasinya dengan ZK-proofs.
Namun, karena Poseidon adalah fungsi hash yang relatif baru, diperlukan analisis keamanan yang lebih mendalam untuk memastikan tingkat kepercayaan yang sama dengan fungsi hash tradisional seperti SHA256 dan Keccak. Untuk mencapai tujuan ini, inisiatif seperti Inisiatif Kriptografi Poseidon, diluncurkan oleh Ethereum Foundation, mengundang para ahli untuk secara ketat menguji dan menganalisis keamanan Poseidon, memastikan bahwa Poseidon dapat bertahan dari pemeriksaan musuh dan menjadi standar yang kuat untuk aplikasi kriptografi. Di sisi lain, fungsi-fungsi yang lebih tua seperti SHA256 dan Keccak telah diuji secara ekstensif dan memiliki catatan keamanan yang terbukti namun tidak bersahabat dengan ZK, sehingga mengakibatkan penurunan performa ketika digunakan dengan bukti STARK.
Misalnya, bukti STARK menggunakan fungsi hash tradisional ini saat ini hanya dapat memproses 10.000 hingga 30.000 hash. Untungnya, kemajuan dalam teknologi STARK menunjukkan bahwa throughput ini dapat segera meningkat menjadi 100.000 hingga 200.000 hash, yang secara signifikan meningkatkan efisiensinya.
Sementara bukti STARK sangat baik dalam skalabilitas dan transparansi untuk kumpulan data besar, mereka menunjukkan keterbatasan saat bekerja dengan elemen data yang kecil dan banyak. Dalam skenario seperti ini, data yang dibuktikan seringkali kecil, tetapi kebutuhan akan banyak bukti tetap tidak berubah. Contohnya meliputi:
Dalam kasus penggunaan seperti itu, bukti STARK memberikan sedikit keuntungan. STARK, menekankan skalabilitas (seperti yang disorot oleh “S” dalam namanya), berkinerja baik untuk kumpulan data besar tetapi berjuang dengan skenario data kecil. Sebaliknya, SNARKs, dirancang untuk ringkas (seperti yang ditekankan oleh “S” dalam nama mereka), fokus pada meminimalkan ukuran bukti, menawarkan keuntungan yang jelas dalam lingkungan dengan bandwidth atau kendala penyimpanan.
Bukti STARK biasanya berukuran 40-50 KB, sekitar 175 kali lebih besar dari bukti SNARK yang hanya berukuran 288 byte. Perbedaan ukuran ini meningkatkan waktu verifikasi dan biaya jaringan. Alasan utama bukti STARK yang lebih besar adalah ketergantungan mereka pada transparansi dan komitmen polinomial untuk memastikan skalabilitas, yang memperkenalkan biaya kinerja dalam skenario data kecil. Dalam kasus seperti itu, metode yang lebih cepat dan lebih efisien seperti Merkle Proof mungkin lebih praktis. Merkle Proof menawarkan biaya komputasi rendah dan pembaruan cepat, sehingga cocok untuk situasi-situasi tersebut.
Namun, bukti STARK tetap penting untuk masa depan Ethereum yang tidak memiliki negara karena keamanan kuantumnya.
Algoritma | Ukuran Bukti | Keamanan Asumsi | Kasus terburuk Latensi Prover |
Pohon Verkle | ~100 - 2,000 kB | kurva eliptik (tidak tahan terhadap quantum) | |
Fungsi hash STARK + Konservatif | ~100 - 300 kB | Fungsi hash konservatif | > 10s |
STARK + Fungsi hash yang relatif baru | ~100 - 300 Kb | Fungsi hash yang relatif baru dan kurang diuji | 1-2 detik |
Pohon Merkle Berbasis Kubus | Pohon Verkle > x > STARKs | Masalah Solusi Integer Pendek (RSIS) cincin | - |
Seperti yang dirangkum dalam tabel, Ethereum memiliki empat jalur potensial yang dapat dipilih:
Namun, penting untuk dicatat bahwa Pohon Verkle, karena tidak bergantung pada hashing, jauh lebih dapat dibuktikan daripada Pohon Merkle.
Semua yang telah kita bahas sejauh ini berkaitan dengan menghilangkan kebutuhan validator untuk menyimpan keadaan sebelumnya, yang mereka gunakan untuk beralih dari satu keadaan ke keadaan berikutnya. Tujuannya adalah untuk menciptakan lingkungan yang lebih terdesentralisasi di mana validator dapat melakukan tugas mereka tanpa mempertahankan terabyte data keadaan. Meskipun dengan solusi yang telah kita sebutkan, validator tidak perlu menyimpan seluruh keadaan, karena mereka akan menerima semua data yang diperlukan untuk eksekusi melalui saksi yang disertakan dengan blok. Namun, untuk beralih ke keadaan berikutnya - dan dengan demikian memverifikasi stateRoot di atas blok - validator masih harus mengeksekusi STF sendiri. Persyaratan ini, pada gilirannya, menimbulkan tantangan lain bagi sifat tanpa izin dan terdesentralisasi Ethereum.
Awalnya, The Verge dibayangkan sebagai tonggak sejarah yang hanya berfokus pada transisi pohon negara Ethereum dari Merkle Trees ke Verkle Trees untuk meningkatkan verifikasi negara. Namun, seiring waktu, ini telah berkembang menjadi inisiatif yang lebih luas yang bertujuan untuk meningkatkan verifikasi transisi dan konsensus negara. Di dunia di mana trio Negara, Eksekusi, dan Konsensus sepenuhnya dapat diverifikasi, validator Ethereum dapat beroperasi di hampir semua perangkat dengan koneksi internet yang dapat dikategorikan sebagai Klien Ringan. Ini akan membawa Ethereum lebih dekat untuk mencapai visinya tentang “desentralisasi sejati.”
Seperti yang telah kami sebutkan sebelumnya, validator menjalankan fungsi yang disebut STF (State Transition Function) setiap 12 detik. Fungsi ini mengambil input berupa state sebelumnya dan blok, dan menghasilkan state berikutnya sebagai output. Validator harus menjalankan fungsi ini setiap kali blok baru diajukan dan memverifikasi bahwa hash yang mewakili state di atas blok - biasanya disebut dengan state root - benar.
Persyaratan sistem yang tinggi untuk menjadi validator utamanya berasal dari kebutuhan untuk melakukan proses ini dengan efisien.
Jika Anda ingin mengubah lemari es pintar—ya, bahkan lemari es—menjadi validator Ethereum dengan bantuan beberapa perangkat lunak yang diinstal, Anda akan menghadapi dua hambatan utama:
Untuk mengatasi masalah yang disebabkan oleh Klien Ringan yang tidak memiliki akses ke keadaan sebelumnya atau seluruh blok terakhir, The Verge mengusulkan bahwa penentu harus melakukan eksekusi dan kemudian melampirkan bukti ke blok. Bukti ini akan mencakup transisi dari root keadaan sebelumnya ke root keadaan selanjutnya serta hash blok. Dengan ini, Klien Ringan dapat memvalidasi transisi keadaan menggunakan hanya tiga hash 32-byte, tanpa perlu zk-proof.
Namun, karena bukti ini bekerja melalui hash, tidak benar untuk mengatakan bahwa ini hanya memvalidasi transisi keadaan. Sebaliknya, bukti yang terlampir pada blok harus memvalidasi beberapa hal secara simultan:
Akar state di blok sebelumnya = S, Akar state di blok berikutnya = S + 1, Hash blok = H
Dalam analogi Prover-Verifier yang telah kami sebutkan sebelumnya, dapat dikatakan bahwa ada keseimbangan komputasi antara kedua aktor tersebut. Meskipun kemampuan bukti yang diperlukan untuk membuat STF yang dapat diverifikasi untuk memvalidasi beberapa hal secara simultan menawarkan keuntungan signifikan bagi Verifier, hal ini juga menunjukkan bahwa menghasilkan bukti-bukti tersebut untuk memastikan kebenaran eksekusi akan relatif sulit bagi Prover. Dengan kecepatan Ethereum saat ini, sebuah blok Ethereum harus terbukti dalam waktu kurang dari 4 detik. Namun, bahkan Prover EVM tercepat yang ada saat ini hanya dapat membuktikan sebuah blok rata-rata dalam waktu sekitar 15 detik.[1]
Dengan dikatakan demikian, ada tiga jalur yang berbeda yang dapat kita ambil untuk mengatasi tantangan utama ini:
Selama pembuatan bukti, setiap bagian kecil dari proses eksekusi (misalnya, langkah-langkah komputasi atau akses data) dapat dibuktikan secara individual, dan bukti-bukti ini dapat dikumpulkan menjadi satu struktur. Dengan mekanisme yang tepat, pendekatan ini memungkinkan bukti blok yang dihasilkan dengan cepat dan secara terdesentralisasi oleh berbagai sumber yang berbeda (misalnya, ratusan GPU). Ini meningkatkan kinerja sambil juga berkontribusi pada tujuan terdesentralisasi dengan melibatkan lebih banyak peserta.
Pendekatan ini dapat meminimalkan kesenjangan antara skenario kasus terburuk dan rata-rata, memungkinkan kinerja yang lebih konsisten. Misalnya, operasi yang lebih sulit untuk dibuktikan dapat memiliki biaya gas yang lebih tinggi, sementara yang lebih mudah untuk dibuktikan dapat memiliki biaya lebih rendah. Selain itu, penggantian struktur data Ethereum (seperti pohon status atau daftar transaksi) dengan alternatif yang ramah STARK dapat lebih mempercepat proses bukti. Perubahan seperti itu akan membantu Ethereum mencapai tujuan skalabilitas dan keamanannya sambil membuat visi verifikasinya lebih realistis.
Upaya Ethereum untuk memungkinkan bukti eksekusi mewakili peluang signifikan untuk mencapai tujuannya yang terverifikasi. Namun, mencapai tujuan ini tidak hanya memerlukan inovasi teknis tetapi juga peningkatan upaya teknik dan keputusan kritis dalam komunitas. Membuat proses eksekusi dapat diverifikasi di Layer 1 harus menemukan keseimbangan antara dapat diakses oleh pengguna yang luas sambil mempertahankan desentralisasi dan selaras dengan infrastruktur yang ada. Membangun keseimbangan ini meningkatkan kompleksitas metode yang digunakan untuk membuktikan operasi selama eksekusi, menyoroti kebutuhan akan kemajuan seperti generasi bukti paralel. Selain itu, persyaratan infrastruktur dari teknologi-teknologi ini (misalnya, )tabel pencarian) harus diimplementasikan dan dioperasikan, yang masih membutuhkan penelitian dan pengembangan yang besar.
Di sisi lain, sirkuit khusus (misalnya, ASIC, FPGA, GPU) yang dirancang khusus untuk tugas-tugas tertentu memiliki potensi signifikan untuk mempercepat proses pembangkitan bukti. Solusi ini memberikan efisiensi yang jauh lebih tinggi dibandingkan dengan perangkat keras tradisional dan dapat mempercepat proses eksekusi. Namun, tujuan desentralisasi Ethereum di tingkat Layer 1 mencegah perangkat keras tersebut hanya dapat diakses oleh sekelompok aktor tertentu. Akibatnya, solusi ini diharapkan untuk melihat penggunaan yang lebih luas dalam sistem Layer 2. Namun demikian, masyarakat juga harus mencapai konsensus tentang persyaratan perangkat keras untuk pembuatan bukti. Pertanyaan desain utama muncul: haruskah pembangkitan bukti bekerja pada perangkat keras kelas konsumen seperti laptop kelas atas, atau memerlukan infrastruktur industri? Jawabannya membentuk seluruh arsitektur Ethereum – memungkinkan pengoptimalan agresif untuk solusi Layer 2 sambil menuntut pendekatan yang lebih konservatif untuk Layer 1.
Akhirnya, implementasi bukti eksekusi terkait langsung dengan tujuan roadmap Ethereum lainnya. Pengenalan bukti keabsahan tidak hanya akan mendukung konsep seperti tanpa keadaan tetapi juga meningkatkan desentralisasi Ethereum dengan membuat area seperti staking solo lebih mudah diakses. Tujuannya adalah memungkinkan staking bahkan pada perangkat yang paling rendah spesifikasinya. Selain itu, restrukturisasi biaya gas pada EVM berdasarkan kesulitan komputasi dan kebuktian dapat meminimalkan kesenjangan antara kasus rata-rata dan kasus terburuk. Namun, perubahan seperti itu dapat memutuskan kompatibilitas mundur dengan sistem saat ini dan memaksa pengembang untuk menulis ulang kode mereka. Oleh karena itu, implementasi bukti eksekusi bukan hanya tantangan teknis - ini adalah perjalanan yang harus dirancang untuk menjunjung nilai-nilai jangka panjang Ethereum.
Mekanisme konsensus Ethereum berusaha untuk menetapkan keseimbangan unik yang mempertahankan desentralisasi dan aksesibilitas sambil mencapai tujuan verifikasi. Dalam kerangka ini, metode konsensus probabilistik dan deterministik menawarkan keunggulan dan tantangan yang berbeda.
Konsensus probabilistik dibangun berdasarkan model komunikasi gossiping. Dalam model ini, alih-alih berkomunikasi langsung dengan semua node yang mewakili jaringan, sebuah node membagikan informasi dengan sekumpulan node yang dipilih secara acak sebanyak 64 atau 128 node. Pemilihan rantai sebuah node didasarkan pada informasi terbatas ini, yang memperkenalkan kemungkinan terjadinya kesalahan. Namun, seiring waktu berjalan, seiring kemajuan blockchain, pemilihan-pemilihan ini diharapkan akan konvergen menuju rantai yang benar dengan tingkat kesalahan 0%.
Salah satu keuntungan dari struktur probabilitas adalah bahwa setiap node tidak menyiarkan pandangannya atas rantai sebagai pesan terpisah, mengurangi overhead komunikasi. Konsekuensinya, struktur seperti ini dapat beroperasi dengan banyak node terdesentralisasi tanpa izin dengan persyaratan sistem yang lebih rendah. Sebaliknya, konsensus deterministik beroperasi melalui model komunikasi satu-ke-semua. Di sini, sebuah node mengirimkan pandangannya atas rantai sebagai suara kepada semua node lainnya. Pendekatan ini menghasilkan intensitas pesan yang lebih tinggi, dan seiring dengan bertambahnya jumlah node, sistem pada akhirnya mungkin mencapai batasnya. Namun, keuntungan terbesar dari konsensus deterministik adalah ketersediaan suara konkret, memungkinkan Anda untuk mengetahui dengan pasti node mana yang memilih fork mana. Hal ini menjamin finalitas rantai yang cepat dan definitif, menjamin bahwa blok tidak dapat mengubah urutannya dan membuatnya dapat diverifikasi.
Untuk menyediakan mekanisme konsensus yang dapat diverifikasi sambil mempertahankan desentralisasi dan struktur tanpa izin, Ethereum telah mencapai keseimbangan antara slot dan epoch. Slot, yang mewakili interval 12 detik, adalah unit dasar di mana validator bertanggung jawab untuk menghasilkan blok. Meskipun konsensus probabilistik yang digunakan pada level slot memungkinkan rantai beroperasi dengan lebih fleksibel dan secara desentralisasi, namun memiliki batasan dalam hal pengurutan definitif dan keverifikasian.
Epoch, yang mencakup 32 slot, memperkenalkan konsensus yang deterministik. Pada tingkat ini, validator memilih untuk memfinalisasi urutan rantai, memastikan kepastian dan membuat rantai dapat diverifikasi. Namun, meskipun struktur deterministik ini memberikan verifikasi melalui suara konkret pada tingkat epoch, ia tidak dapat menawarkan verifikasi penuh dalam epoch itu sendiri karena struktur probabilistik. Untuk mengatasi kesenjangan ini dan memperkuat struktur probabilistik dalam epoch, Ethereum telah mengembangkan solusi yang dikenal sebagai Komite Sinkronisasi.
Komite Sinkronisasi adalah mekanisme yang diperkenalkan dengan upgrade Altair untuk mengatasi keterbatasan konsensus probabilistik Ethereum dan meningkatkan keverifikasian rantai untuk klien ringan. Komite ini terdiri dari 512 validator yang dipilih secara acak yang melayani selama 256 epoch (~27 jam). Validator ini menghasilkan tanda tangan yang mewakili kepala rantai, memungkinkan klien ringan untuk memverifikasi keabsahan rantai tanpa perlu mengunduh data rantai historis. Operasi Komite Sinkronisasi dapat diringkas sebagai berikut:
Namun, Komite Sinkronisasi telah menjadi sasaran kritik di beberapa area. Terutama, protokol kekurangan mekanisme untuk memotong validator atas perilaku berbahaya, bahkan jika validator yang dipilih bertindak dengan sengaja melawan protokol. Sebagai hasilnya, banyak yang menganggap Komite Sinkronisasi sebagai risiko keamanan dan menahan diri untuk sepenuhnya mengklasifikasikannya sebagai Protokol Klien Ringan. Namun demikian, keamanan Komite Sinkronisasi telah terbukti secara matematis, dan rincian lebih lanjut dapat ditemukan di artikel ini tentang Sync Committee Slashings.
Ketidakhadiran mekanisme pemotongan dalam protokol bukanlah pilihan desain tetapi kebutuhan yang timbul dari sifat konsensus probabilistik. Konsensus probabilistik tidak memberikan jaminan mutlak tentang apa yang diamati validator. Bahkan jika mayoritas validator melaporkan cabang tertentu sebagai yang lebih berat, masih ada validator yang luar biasa yang mengamati cabang yang berbeda sebagai yang lebih berat. Ketidakpastian ini membuat sulit untuk membuktikan niat jahat dan, dengan demikian, tidak mungkin menghukum perilaku yang salah.
Dalam konteks ini, daripada menyebut Sync Committee sebagai yang tidak aman, akan lebih akurat untuk menggambarkannya sebagai solusi yang tidak efisien. Masalahnya bukan berasal dari desain atau operasi mekanis Sync Committee tetapi dari sifat inheren dari konsensus probabilistik. Karena konsensus probabilistik tidak dapat menawarkan jaminan definitif tentang apa yang diamati oleh node, Sync Committee adalah salah satu solusi terbaik yang dapat dirancang dalam model seperti itu. Namun, ini tidak menghilangkan kelemahan konsensus probabilistik dalam menjamin finalitas rantai. Masalahnya bukan terletak pada mekanisme tetapi dalam struktur konsensus Ethereum saat ini.
Karena keterbatasan ini, ada upaya terus-menerus dalam ekosistem Ethereum untuk merancang kembali mekanisme konsensus dan menerapkan solusi yang memberikan finalitas yang ditentukan secara deterministik dalam periode yang lebih singkat. Proposal seperti Orbit-SSFdan3SFbertujuan untuk mengubah struktur konsensus Ethereum dari dasar, menciptakan sistem yang lebih efektif untuk menggantikan konsensus probabilistik. Pendekatan-pendekatan seperti ini tidak hanya bertujuan untuk memperpendek waktu finalitas rantai, tetapi juga untuk memberikan struktur jaringan yang lebih efisien dan dapat diverifikasi. Komunitas Ethereum terus aktif mengembangkan dan mempersiapkan proposal-proposal ini untuk implementasi di masa depan.
Verge bertujuan untuk meningkatkan mekanisme konsensus saat ini dan masa depan Ethereum dengan membuatnya lebih dapat diverifikasi melalui teknologi zk-proof, daripada menggantikannya sepenuhnya. Pendekatan ini bertujuan untuk memodernisasi proses konsensus Ethereum sambil mempertahankan prinsip inti desentralisasi dan keamanannya. Mengoptimalkan semua proses konsensus historis dan saat ini dari rantai dengan teknologi zk memainkan peran penting dalam mencapai tujuan skalabilitas dan efisiensi jangka panjang Ethereum. Operasi mendasar yang digunakan dalam lapisan konsensus Ethereum sangat penting dalam transformasi teknologi ini. Mari kita lihat lebih dekat operasi-operasi ini dan tantangan yang mereka hadapi.
Operasi ECADD, Pairing, dan SHA256 yang digunakan dalam lapisan konsensus saat ini memainkan peran penting dalam tujuan verifikasi Ethereum. Namun, kurangnya kesesuaian dengan zk menimbulkan tantangan signifikan dalam mencapai tujuan ini. Operasi ECADD menciptakan beban yang mahal karena volume tinggi suara validator, sementara operasi Pairing, meskipun jumlahnya lebih sedikit, ribuan kali lebih mahal untuk dibuktikan dengan zk-proofs. Selain itu, ketidakramahan zk dari fungsi hash SHA256 membuat membuktikan transisi keadaan rantai beacon sangat menantang. Masalah-masalah ini menyoroti kebutuhan akan transformasi komprehensif untuk menyelaraskan infrastruktur eksisting Ethereum dengan teknologi zero-knowledge.
Pada 12 November 2024, dalam presentasinya di Devcon, Justin Drake memperkenalkan proposal yang disebut “Beam Chain” yang bertujuan untuk secara mendasar dan komprehensif mengubah Lapisan Konsensus Ethereum. Beacon Chain telah menjadi inti jaringan Ethereum selama hampir lima tahun. Namun, selama periode ini, tidak ada perubahan struktural utama pada Beacon Chain. Sebaliknya, kemajuan teknologi telah berkembang pesat, jauh melampaui sifat statis Beacon Chain.
Dalam presentasinya, Justin Drake menekankan bahwa Ethereum telah belajar pelajaran penting selama lima tahun ini di area-area kritis seperti pemahaman MEV, terobosan dalam teknologi SNARK, dan kesadaran retrospektif tentang kesalahan teknologi. Desain-desain yang dipengaruhi oleh pembelajaran baru ini dikategorikan ke dalam tiga pilar utama: Produksi Blok, Staking, dan Kriptografi. Visual berikut merangkum desain-desain ini dan roadmap yang diusulkan:
Dalam bagian ini, kami telah meneliti Langkah Konsensus, Status, dan Eksekusi The Verge secara rinci, dan salah satu masalah paling menonjol yang disorot selama proses ini adalah penggunaan fungsi hash SHA256 dalam Rantai Beacon Ethereum. Sementara SHA256 memainkan peran sentral dalam memastikan keamanan jaringan dan memproses transaksi, kurangnya kesesuaian dengan zk menjadi hambatan signifikan dalam mencapai tujuan verifikasi Ethereum. Biaya komputasi yang tinggi dan ketidakcocokan dengan teknologi zk membuatnya menjadi masalah kritis yang harus diatasi dalam pengembangan masa depan Ethereum.
Jalan raya Justin Drake, yang disajikan dalam pidatonya di Devcon, membayangkan mengganti SHA256 di Beacon Chain dengan fungsi hash yang bersahabat dengan zk seperti Poseidon. Usulan ini bertujuan untuk memodernisasi lapisan konsensus Ethereum, membuatnya lebih dapat diverifikasi, efisien, dan selaras dengan teknologi zk-proof.
Dalam konteks ini, kita melihat bahwa Ethereum tidak hanya menghadapi tantangan dengan fungsi hash yang tidak bersahabat terhadap zk tetapi juga perlu mengevaluasi kembali tanda tangan digital yang digunakan dalam lapisan konsensusnya untuk keamanan jangka panjang. Dengan kemajuan komputasi kuantum, algoritma tanda tangan digital seperti ECDSA yang saat ini digunakan dapat menghadapi ancaman yang signifikan. Seperti yang dicatat dalam panduan yang diterbitkan oleh NIST, variasi dari ECDSA dengan tingkat keamanan 112-bit akan ditinggalkan mulai tahun 2030 dan dilarang sepenuhnya pada tahun 2035. Hal ini menuntut transisi bagi Ethereum dan jaringan serupa menuju alternatif yang lebih tangguh seperti tanda tangan yang aman terhadap kuantum di masa depan.
Pada titik ini, tanda tangan berbasis hash muncul sebagai solusi tahan kuanta yang dapat memainkan peran kritis dalam mendukung tujuan keamanan dan verifikasi jaringan. Mengatasi kebutuhan ini juga menghilangkan hambatan utama kedua dalam membuat Beacon Chain dapat diverifikasi: Tanda tangan BLS. Salah satu langkah paling signifikan yang dapat diambil Ethereum untuk memastikan keamanan kuanta adalah mengadopsi solusi pasca-kuanta seperti tanda tangan berbasis hash dan SNARK berbasis hash.
Seperti yang disoroti oleh Justin Drake dalampresentasi Devcon ini, fungsi hash secara inheren tahan terhadap komputer kuantum karena bergantung pada resistensi praima-gambar, menjadikannya salah satu blok bangunan fundamental kriptografi modern. Properti ini memastikan bahwa bahkan komputer kuantum tidak dapat dengan efisien membalikkan rekayasa ulang input asli dari hash yang diberikan, menjaga keamanan mereka. Sistem tanda tangan berbasis hash memungkinkan validator dan pemberi kesaksian untuk menghasilkan tanda tangan sepenuhnya berdasarkan fungsi hash, memastikan keamanan pasca-kuantum sambil juga memberikan tingkat verifikasi yang lebih tinggi di seluruh jaringan—terutama jika fungsi hash yang ramah SNARK digunakan. Pendekatan ini tidak hanya meningkatkan keamanan jaringan tetapi juga membuat infrastruktur keamanan jangka panjang Ethereum lebih kokoh dan tahan masa depan.
Sistem ini bergantung pada kombinasi tanda tangan berbasis hash dan SNARK berbasis hash (bukti seperti STARK) untuk membuat skema tanda tangan yang dapat diagregatkan. Tanda tangan yang dapat diagregatkan mengompres ribuan tanda tangan menjadi satu struktur, menguranginya menjadi hanya beberapa ratus kilobita bukti. Kompresi ini secara signifikan mengurangi beban data pada jaringan sambil mempercepat proses verifikasi secara besar-besaran. Misalnya, ribuan tanda tangan validator yang dihasilkan untuk satu slot di Ethereum dapat diwakili oleh satu tanda tangan agregat, menghemat ruang penyimpanan dan daya komputasi.
Namun, fitur paling mencolok dari skema ini adalah agregasi secara rekursif yang tak terbatas. Artinya, satu kelompok tanda tangan dapat digabungkan lebih lanjut di bawah kelompok lain, dan proses ini dapat terus berlanjut melintasi rantai. Dengan mekanisme ini dan mempertimbangkan kemajuan teknologi di masa depan, dapat dikatakan bahwa ini membuka pintu untuk kemungkinan yang saat ini tidak dapat dicapai dengan BLS.
Jalur Ethereum menuju verifikasi mewakili pergeseran mendasar dalam teknologi blockchain. Inisiatif Verge menangani ketidakefisienan inti melalui Pohon Verkle untuk verifikasi status dan bukti STARK untuk transisi yang dapat diskalakan.
Salah satu proposal paling ambisius adalah Beam Chain, suatu desain ulang komprehensif dari lapisan konsensus Ethereum. Dengan mengatasi keterbatasan Beacon Chain dan menggabungkan alternatif yang ramah zk, pendekatan ini bertujuan untuk meningkatkan skalabilitas Ethereum sambil mempertahankan prinsip inti desentralisasi dan aksesibilitasnya. Namun, transisi ini juga menyoroti tantangan yang dihadapi Ethereum dalam menyeimbangkan tuntutan komputasi dengan tujuannya untuk menjaga jaringan tanpa izin dan inklusif.
Dengan NIST berencana untuk menghentikan kriptografi kurva elips saat ini pada tahun 2035, Ethereum harus mengadopsi solusi tahan kuanta seperti tanda tangan berbasis hash dan Poseidon. Solusi-solusi ini memiliki kompromi efisiensi mereka sendiri.
Penggunaan STARKs dalam rencana jangka panjang Ethereum lebih menekankan skalabilitas dan verifikasi. Meskipun mereka sangat baik dalam menyediakan bukti transparan dan tahan terhadap kuantum, integrasi mereka memperkenalkan tantangan terkait biaya komputasi sisi prover dan ketidakefisienan data kecil. Hambatan-hambatan ini harus diatasi untuk sepenuhnya mewujudkan visi Ethereum tentang tanpa keadaan dan verifikasi blok yang efisien, memastikan jaringan tetap tangguh di tengah meningkatnya permintaan.
Meskipun kemajuan ini, tantangan kunci tetap ada. Ethereum harus menavigasi masalah kesahabatan zk, skalabilitas konsensus, dan kompleksitas integrasi kriptografi tahan kuanta. Selain itu, kompatibilitas mundur infrastruktur yang ada menimbulkan hambatan praktis yang memerlukan solusi rekayasa yang hati-hati untuk mencegah gangguan bagi pengembang dan pengguna.
Yang membedakan Ethereum bukan hanya inovasi teknisnya tetapi pendekatan iteratifnya dalam memecahkan beberapa masalah terberat dalam blockchain. Langkah ke depan - baik melalui teknologi seperti Beam Chain, Verkle Trees, atau bukti STARK - bergantung pada upaya kolaboratif oleh pengembang, peneliti, dan komunitas yang lebih luas. Kemajuan ini bukan tentang mencapai kesempurnaan dalam semalam tetapi tentang menciptakan dasar untuk internet yang transparan, terdesentralisasi, dan dapat diverifikasi.
Evolusi Ethereum menggarisbawahi perannya sebagai pemain kunci dalam membentuk era Web3. Dengan mengatasi tantangan saat ini dengan solusi praktis, Ethereum semakin mendekati masa depan di mana verifikabilitas, ketahanan kuantum, dan skalabilitas menjadi standar, bukan pengecualian.