Aleo adalah proyek blockchain yang berfokus pada perlindungan privasi, mencapai privasi dan skalabilitas yang lebih tinggi melalui teknologi zero-knowledge proof (ZKP). Ide inti Aleo adalah memungkinkan pengguna mengautentikasi dan memproses data tanpa mengungkapkan data pribadi mereka.
Artikel ini terutama memperkenalkan garis besar proyek Aleo dan kemajuan terkini, dan memberikan penjelasan rinci tentang pembaruan algoritma teka-teki yang sangat diperhatikan pasar.
Sekilas tentang algoritma terbaru
Jaringan Aleo secara acak menghasilkan sirkuit ZK setiap jam; penambang perlu mencoba nonce yang berbeda sebagai input sirkuit selama jam ini, menghitung saksi (yaitu, semua variabel dalam sirkuit, proses perhitungan ini juga disebut sintesis), dan temukan akar Merkle untuk saksi Terakhir, tentukan apakah memenuhi persyaratan kesulitan penambangan. Karena keacakan sirkuitnya, algoritma penambangan ini tidak bersahabat dengan GPU dan memiliki kesulitan besar dalam akselerasi komputasi.
Latar belakang pembiayaan
Aleo menyelesaikan putaran pembiayaan Seri A senilai $28 juta yang dipimpin oleh a16z pada tahun 2021 dan putaran pembiayaan Seri B senilai $200 juta pada tahun 2024. Investornya antara lain Kora Management, SoftBank Vision Fund 2, Tiger Global, Sea Capital, Slow Ventures, dan Samsung Next. yang lain. Putaran pendanaan menilai Aleo sebesar $1,45 miliar.
Ikhtisar Proyek
Pribadi
Inti dari Aleo adalah teknologi zero-knowledge proofs (ZKPs), yang memungkinkan transaksi dan eksekusi kontrak pintar dilakukan dengan tetap menjaga privasi. Detail transaksi pengguna, seperti pengirim dan jumlah transaksi, disembunyikan secara default. Desain ini tidak hanya melindungi privasi pengguna, tetapi juga memungkinkan pengungkapan selektif bila diperlukan, yang sangat cocok untuk pengembangan aplikasi DeFi. Komponen utamanya meliputi:
Bahasa kompilasi Leo: diadaptasi dari bahasa Rust, khusus digunakan untuk mengembangkan aplikasi tanpa pengetahuan (ZKApps), mengurangi persyaratan pengembang untuk pengetahuan kriptografi.
snarkVM dan snarkOS: snarkVM memungkinkan perhitungan dilakukan secara off-chain dan hanya hasil perhitungan yang diverifikasi secara on-chain, sehingga meningkatkan efisiensi. snarkOS memastikan keamanan data dan komputasi serta memungkinkan eksekusi fungsi tanpa izin.
zkCloud: Menyediakan lingkungan komputasi off-chain yang aman dan pribadi, mendukung interaksi pemrograman antara pengguna, organisasi, dan DAO.
Aleo juga menyediakan lingkungan pengembangan terintegrasi (IDE) dan kit pengembangan perangkat lunak (SDK) untuk mendukung pengembang menulis dan menerbitkan aplikasi dengan cepat; selain itu, pengembang dapat menyebarkan aplikasi di registri program Aleo tanpa bergantung pada pihak ketiga, sehingga mengurangi risiko platform .
Skalabilitas
Aleo mengadopsi metode pemrosesan off-chain. Transaksi pertama-tama dihitung pada perangkat pengguna untuk membuktikannya, dan kemudian hanya hasil verifikasi yang diunggah ke blockchain. Metode ini sangat meningkatkan kecepatan pemrosesan transaksi dan skalabilitas sistem, serta menghindari kemacetan jaringan dan biaya tinggi yang serupa dengan Ethereum.
mekanisme konsensus
Aleo memperkenalkan AleoBFT, mekanisme konsensus arsitektur hibrid yang menggabungkan finalitas instan validator dengan kekuatan komputasi pembukti. AleoBFT tidak hanya meningkatkan desentralisasi jaringan, namun juga meningkatkan kinerja dan keamanan.
Finalitas blok yang cepat: AleoBFT memastikan bahwa setiap blok dikonfirmasi segera setelah pembuatan, meningkatkan stabilitas node dan pengalaman pengguna.
Jaminan desentralisasi: Dengan memisahkan produksi blok dari pembuatan coinbase, verifikator bertanggung jawab untuk menghasilkan blok dan pembukti melakukan penghitungan bukti untuk mencegah beberapa entitas memonopoli jaringan.
Mekanisme insentif: Verifikator dan pemberi sertifikasi berbagi hadiah blok; pemberi sertifikasi didorong untuk menjadi verifikator dengan menjaminkan token, sehingga meningkatkan desentralisasi dan kekuatan komputasi jaringan.
Aleo memungkinkan pengembang untuk membuat aplikasi yang tidak terikat pada gas, sehingga sangat cocok untuk aplikasi yang berjalan lama seperti pembelajaran mesin.
Kemajuan saat ini
Aleo akan meluncurkan testnet berinsentifnya pada tanggal 1 Juli, dan berikut beberapa informasi penting terbaru:
Pemungutan suara ARC-100 lulus: Pemungutan suara untuk ARC-100 (proposal "Praktik Terbaik Kepatuhan untuk Pengembang dan Operator Aleo", yang melibatkan aspek kepatuhan, langkah-langkah keamanan seperti mengunci dan menunda pembayaran dana di jaringan Aleo) telah berakhir, dan lolos. Tim sedang melakukan penyesuaian akhir.
Program Insentif Validator: Program ini akan diluncurkan pada tanggal 1 Juli untuk memvalidasi mekanisme puzzle baru. Program ini akan berlangsung hingga 15 Juli, dan selama itu 1 juta poin Aleo akan dibagikan sebagai hadiah. Persentase poin yang dihasilkan oleh sebuah node akan menentukan pembagian hadiahnya, dan setiap validator harus mendapatkan setidaknya 100 token untuk menerima hadiah. Rincian spesifiknya belum diselesaikan.
Pasokan awal dan pasokan yang beredar: Pasokan awal adalah 1,5 miliar token dan pasokan awal yang beredar sekitar 10% (belum selesai). Token tersebut, terutama berasal dari misi Coinbase (75 juta), akan didistribusikan selama enam bulan pertama dan mencakup hadiah untuk staking, menjalankan validator, dan memvalidasi node.
Reset Testnet Beta: Ini adalah reset jaringan terakhir, tidak ada fitur baru yang akan ditambahkan setelah selesai dan jaringan akan mirip dengan mainnet. Reset untuk menambahkan ARC-41 dan fungsionalitas puzzle baru.
Pembekuan Kode: Pembekuan kode selesai seminggu yang lalu.
Rencana perluasan node validasi: Jumlah awal node yang memvalidasi adalah 15, dengan target meningkat menjadi 50 dalam tahun ini dan pada akhirnya mencapai 500. Dibutuhkan 10.000 token untuk menjadi delegator dan 10 juta token untuk menjadi validator, dan jumlah ini akan berkurang secara bertahap seiring berjalannya waktu.
Interpretasi pembaruan algoritma
Meskipun Aleo baru-baru ini mengumumkan berita testnet terbaru, Aleo juga memperbarui versi terbaru dari algoritme teka-teki. Algoritme baru tidak lagi berfokus pada pembuatan hasil bukti zk, dan telah menghapus MSM dan NTT (keduanya merupakan penghitungan yang banyak digunakan di zk). modul generasi bukti), peserta testnet sebelumnya mengoptimalkan efisiensi algoritme untuk meningkatkan pendapatan penambangan), dengan fokus pada pembuatan saksi data perantara sebelum menghasilkan bukti. Kami akan memberikan pengenalan singkat tentang algoritma terbaru setelah mengacu pada spesifikasi dan kode puzzle resmi.
proses konsensus
Pada tingkat protokol konsensus, pembuktian dan validator dalam proses masing-masing bertanggung jawab untuk menghasilkan solusi hasil perhitungan dan menghasilkan blok serta menggabungkan dan mengemas solusi. Prosesnya adalah sebagai berikut:
Prover menghitung teka-teki untuk membangun solusi dan menyiarkannya ke jaringan
Validator mengumpulkan transaksi dan solusi ke dalam blok baru berikutnya, memastikan bahwa jumlah solusi tidak melebihi batas konsensus (MAX_SOLUTIONS)
Legalitas Solusi perlu diverifikasi bahwa epoch_hash-nya sesuai dengan last_epoch_hash yang dikelola oleh validator, dan proof_target yang dihitung sesuai dengan last_proof_target yang dikelola oleh validator di jaringan kurang dari batas konsensus.
Solusi yang efektif dapat memperoleh imbalan konsensus
Teka-teki Sintesis
Inti dari algoritma versi terbaru disebut Synthesis Puzzle. Intinya adalah menghasilkan EpochProgram umum untuk setiap epoch dengan membuat rangkaian bukti R 1 CS untuk input dan EpochProgram, penugasan R 1 CS yang sesuai (yaitu, saksi yang disebutkan semua orang) dihasilkan. Dan sebagai simpul daun dari pohon Merkle, setelah menghitung semua simpul daun, akar Merkle dihasilkan dan diubah menjadi proof_target dari solusi. Detail proses dan spesifikasi pembuatan Synthesis Puzzle adalah sebagai berikut:
1. Setiap penghitungan teka-teki disebut nonce, yang dibuat dari alamat yang menerima hadiah penambangan, epoch_hash, dan penghitung angka acak. Setiap kali solusi baru perlu dihitung, nonce baru dapat diperoleh dengan memperbarui penghitung.
2. Di setiap epoch, EpochProgram yang perlu dihitung oleh semua provers di jaringan adalah sama. Ini diambil sampelnya dari set instruksi dengan nomor acak yang dihasilkan oleh epoch_hash saat ini.
Set instruksi bersifat tetap. Setiap instruksi berisi satu atau lebih operasi perhitungan. Setiap instruksi memiliki bobot dan jumlah operasi yang telah ditentukan sebelumnya.
Saat pengambilan sampel, nomor acak dihasilkan berdasarkan epoch_hash saat ini. Menurut nomor acak, instruksi diperoleh dari set instruksi yang dikombinasikan dengan bobot dan disusun secara berurutan. Pengambilan sampel berhenti setelah jumlah operasi kumulatif mencapai 97.
Gabungkan semua instruksi ke dalam EpochProgram
3. Gunakan nonce sebagai benih nomor acak untuk menghasilkan input EpochProgram
4. Agregat R 1 CS dan input yang sesuai dengan EpochProgram, dan lakukan perhitungan saksi (penugasan R 1 CS)
5. Setelah semua saksi dihitung, saksi tersebut akan diubah menjadi rangkaian simpul daun dari pohon merkle yang sesuai. Pohon merkle adalah pohon K-ary Merkle 8 elemen dengan kedalaman 8.
6. Hitung root merkle dan ubah menjadi proof_target solusi, dan tentukan apakah memenuhi epoch_proof_target terbaru dari epoch saat ini. Jika memenuhi perhitungan, perhitungan berhasil. Kirimkan alamat reward, epoch_hash dan counter yang diperlukan untuk membangun masukan di atas sebagai solusi dan siarkan.
7. Dalam epoch yang sama, input EpochProgram dapat diperbarui dengan melakukan iterasi counter untuk melakukan perhitungan beberapa solusi.
Perubahan dan dampak pertambangan
Setelah pembaruan ini, teka-teki telah berubah dari menghasilkan bukti menjadi menghasilkan saksi. Logika perhitungan semua solusi di setiap zaman adalah sama, tetapi logika perhitungan dari zaman yang berbeda sangat berbeda.
Dari jaringan pengujian sebelumnya, kita dapat menemukan bahwa banyak metode pengoptimalan berfokus pada penggunaan GPU untuk mengoptimalkan penghitungan MSM dan NTT pada tahap pembuatan bukti untuk meningkatkan efisiensi penambangan. Pembaruan ini sepenuhnya mengabaikan bagian penghitungan ini pada saat yang sama, karena proses menghasilkan saksi Karena eksekusi suatu program berubah seiring waktu, instruksi di dalamnya akan memiliki beberapa ketergantungan pada eksekusi serial, sehingga mencapai paralelisasi merupakan tantangan besar.