Pertukaran Binance - pertukaran Bitcoin terbesar di dunia, daftar untuk menerima rabat komisi 20%.

Pendaftaran binance:https://www.binance.com/zh-CN/join?ref=ECZFCWPV(Rabat komisi 20%)

Selama Karnaval Web3 Hong Kong 2024, salah satu pendiri Ethereum, Vitalik Buterin, menyampaikan pidato utama "Mencapai Batasan Desain Protokol" di "Web3 Scholar Summit 2024" yang diselenggarakan oleh DRK Lab.

Berikut rekaman live Tiongkok yang dibawakan oleh DeThings, dengan beberapa potongan:

Jenis teknologi yang kami gunakan untuk membangun protokol telah banyak berubah selama 10 tahun terakhir. Ketika Bitcoin lahir pada tahun 2009, sebenarnya ia menggunakan kriptografi yang sangat sederhana, dan satu-satunya jenis kriptografi yang Anda lihat dalam protokol Bitcoin adalah tanda tangan ECDSA hash dan kurva elips, serta Proof of Work (Pow). Bukti kerja hanyalah cara lain menggunakan hashing. Jika Anda melihat jenis teknologi yang digunakan untuk membangun protokol pada tahun 2020an, Anda mulai melihat kumpulan teknologi yang lebih kompleks yang baru muncul dalam 10 tahun terakhir.

Hal-hal ini sebenarnya sudah ada sejak lama, jadi secara teknis kita sudah memiliki teorema PCP selama beberapa dekade. Kami telah memiliki enkripsi yang sepenuhnya homomorfik sejak penemuan Craig Gentry pada tahun 2009. Selama beberapa dekade kita mengalami sirkuit yang kacau, suatu bentuk komputasi dua sisi. Namun terdapat perbedaan antara keberadaan teknologi tersebut secara teori dan keberadaan teknologi tersebut dalam praktik.

Faktanya, menurut saya bidang blockchain sendiri layak mendapat banyak pujian karena benar-benar mendatangkan banyak sumber daya untuk membawa teknologi ini ke tahap di mana Anda dapat menggunakannya dalam aplikasi biasa.

Saat membangun blockchain pada tahun 2020-an, diasumsikan hanya Anda yang memiliki hash dan tanda tangan. Dan protokol observasi yang dibangun pada tahun 2020-an memperlakukan semua hal ini sebagai komponen penting sejak awal.

ZK-SNARK adalah hal besar pertama di sini. ZK-SNARKs adalah teknik yang dapat membuktikan bahwa Anda melakukan suatu perhitungan dan mendapatkan beberapa keluaran dari perhitungan tersebut. Anda dapat membuktikannya dengan cara verifikasi yang jauh lebih cepat dibandingkan menjalankan perhitungan sendiri. Anda juga dapat memverifikasi bukti tanpa mengungkapkan informasi masukan asli.

Perbedaan antara zK-SNARKs pada tahun 2010 (tahap teoritis) dan ZK-SNARKs pada tahun 2016 (pertama kali digunakan dalam protokol Zcash yang diluncurkan pada bulan Desember tahun itu) sangat besar bukan?

Jadi banyak dari bentuk-bentuk enkripsi baru ini berubah dari hampir tidak diketahui, menjadi minat khusus, menjadi arus utama, hingga kini hampir menjadi standar. Hal-hal ini telah berubah dan meningkat secara dramatis selama dekade terakhir.

"Jadi Z-SNARK sangat berguna dalam hal privasi, mereka juga sangat berguna dalam hal skalabilitas. Apa yang dilakukan blockchain? Blockchain memberi Anda banyak manfaat, memberi Anda keterbukaan, memberi Anda akses tanpa izin, mereka memberi Anda kemampuan verifikasi global, namun semua itu mengorbankan dua hal besar.

Yang pertama adalah privasi dan yang lainnya adalah skalabilitas. ZK-SNARK memberi Anda privasi dan skalabilitas. Pada tahun 2016, kami melihat protokol Zcash. Setelah itu, kami mulai melihat lebih banyak hal di ekosistem Ethereum. Saat ini, hampir semuanya mulai menggunakan zkSNARK, komputasi multi-pihak, dan enkripsi homomorfik sepenuhnya. Saat ini, orang-orang mengetahui lebih sedikit tentang hal-hal ini dibandingkan zkSNARK, namun ada beberapa hal yang tidak dapat dilakukan dengan ZK-SNARK. Misalnya, komputasi privasi beroperasi pada data pribadi masyarakat.

Voting sebenarnya merupakan kasus penggunaan yang besar, dan Anda bisa mendapatkan tingkat privasi tertentu dengan zk-SNARKs. Namun jika ingin mendapatkan properti yang benar-benar terbaik maka harus menggunakan MPC (Multi-Party Computation) dan FHE (Fully Homomorphic Encryption). Banyak aplikasi AI kriptografi juga menggunakan MPC dan FHE, keduanya merupakan aplikasi primitif yang telah mengalami peningkatan efisiensi yang dramatis selama dekade terakhir. BLS (Boneh-Lynn-Shacham, tanda tangan agregat) adalah teknik menarik yang pada dasarnya memungkinkan Anda mengambil sejumlah besar tanda tangan dari sejumlah besar peserta yang berbeda, berpotensi puluhan ribu peserta, dan kemudian memverifikasi satu tanda tangan. Verifikasi itu tanda tangan gabungan dengan cepat.

Fungsi ini sangat kuat. Agregasi BLS sebenarnya adalah teknologi inti dari konsensus bukti kepemilikan modern Ethereum. Jika Anda melihat konsensus bukti kepemilikan yang dibuat sebelum konvergensi BLS, sering kali algoritme cenderung hanya mendukung beberapa ratus validator. Di Ethereum, saat ini ada sekitar 30,000 validator, yang mengirimkan tanda tangan setiap 12 detik. Alasan mengapa hal ini mungkin terjadi adalah karena bentuk teknologi enkripsi baru ini baru benar-benar dioptimalkan dalam lima hingga 10 tahun terakhir untuk dapat digunakan.

Mereka dengan cepat menjadi lebih kuat. Protokol saat ini banyak memanfaatkan semua teknologi ini. Kita memang mengalami perubahan besar dari kriptografi khusus, di mana untuk membuat protokol baru Anda harus memahami cara kerja kriptografi, ke kriptografi tujuan umum, di mana Anda harus membuat algoritme khusus untuk aplikasi khusus. Jika sebelumnya Anda harus membuat algoritma tujuan khusus untuk aplikasi tujuan khusus, sekarang Anda bahkan tidak perlu menjadi seorang kriptografer untuk membuat aplikasi yang menggunakan apa yang telah saya bicarakan selama 5 menit terakhir.

Anda cukup menulis sepotong kode, menulis sepotong kode di Circom, dan Circom mengkompilasinya menjadi verifikator dan validator, dan Anda memiliki aplikasi zk-SNARK. Apa tantangannya di sini? Intinya, masalahnya adalah kemajuan kita sudah sangat jauh dalam 10 tahun terakhir. Apa yang tersisa? Apa kesenjangan antara teknologi ini dan cita-cita teoretis yang kita miliki saat ini? Saya pikir ini adalah bidang utama dimana para peneliti dan akademisi dapat membuat perbedaan besar.

Saya pikir pada dasarnya ada dua masalah utama saat ini: yang pertama adalah efisiensi dan yang lainnya adalah keamanan. Sekarang ada masalah ketiga, yaitu fungsionalitas yang diperluas.

Misalnya, salah satu teknologi yang belum benar-benar kita kuasai adalah pengaburan tanpa pandang bulu. Akan lebih menakjubkan lagi jika kita bisa memiliki algoritma yang berfungsi. Namun sebenarnya, menurut saya, lebih penting untuk menjadi lebih efisien dan aman dengan apa yang kita miliki saat ini.”

Mari kita bicara tentang efisiensi. Mari kita ambil contoh nyata, dan itulah blockchain Ethereum. Di Ethereum, waktu slot adalah 12 detik. Waktu rata-rata antara satu blok dan blok berikutnya adalah 12 detik. Waktu verifikasi blok normal, yaitu waktu yang diperlukan setiap node Ethereum untuk memverifikasi sebuah blok, adalah sekitar 400 milidetik.

Saat ini, waktu yang diperlukan zk-SNARK untuk memverifikasi blok Ethereum normal adalah sekitar 20 menit. Kali ini membaik dengan cepat, satu atau dua tahun yang lalu adalah 5 jam. Sekarang 20 menit adalah waktu rata-rata, bukan? Masih ada skenario terburuk. Misalnya, jika Anda memiliki blok Ethereum dan seluruh blok Ethereum melakukan penghitungan zk-SNARK, maka waktu pembuktiannya akan lebih dari 20 menit.

Namun, kemajuan kita lebih jauh dibandingkan dua tahun lalu. Apa tujuannya sekarang? Tujuannya adalah bukti real-time, tujuannya adalah ketika sebuah blok dibuat, Anda memiliki bukti blok tersebut sebelum blok berikutnya dibuat. Ketika kita memiliki bukti real-time, apa yang kita miliki? Pada dasarnya, setiap pengguna Ethereum di dunia dapat dengan mudah menjadi pengguna protokol Ethereum yang sepenuhnya terverifikasi, namun sangat sedikit orang yang memiliki node Ethereum. Secara realistis, node arsip memerlukan 2 TB, yang dapat Anda lakukan, namun tidak efisien. Bagaimana jika kita dapat membuat setiap dompet Ethereum, termasuk dompet browser, dompet seluler, dan dompet ringan dengan kontrak pintar di rantai lain, benar-benar dan sepenuhnya memverifikasi aturan konsensus Ethereum?

Beberapa orang sebenarnya tidak mempercayai Infura. Mereka bahkan tidak mempercayai validator bukti kepemilikan Ethereum, tetapi langsung memverifikasi aturan dan langsung memastikan kebenaran blok Ethereum. Bagaimana kita melakukan ini dengan ZK-SNARK? Untuk benar-benar melakukan hal ini, bukti zK-SNARK harus real-time, tetapi harus ada cara agar blok Ethereum mana pun dapat dibuktikan, mungkin dalam waktu 5 detik.

Pertanyaannya, bisakah kita mencapainya? Sekarang, MPC dan FHE punya pertanyaan serupa. Seperti yang saya sebutkan sebelumnya, kasus penggunaan umum untuk MPC dan FHE adalah voting, dan sebenarnya sudah digunakan. Sekitar tiga minggu lalu, acara Ethereum diadakan di Vietnam. Pada acara tersebut, mereka benar-benar menggunakan MPC, yang merupakan salah satu sistem pemungutan suara yang aman secara kriptografis, untuk memberikan suara pada proyek dan hackathon.

Masalah saat ini dengan MPC adalah ia bergantung pada server pusat untuk beberapa properti keamanannya. Bisakah kita mendesentralisasikan asumsi kepercayaan ini? Ya, tapi ini membutuhkan MPC dan FHE. Masalahnya sekarang adalah memastikan efisiensi protokol ini sangat mahal, dan terdapat FHE di ZK-SNARK. Agar protokol ini menjadi protokol default yang digunakan oleh orang-orang biasa, Anda tidak dapat memperoleh semua suara untuk membuktikan biaya komputasi sebesar $5, bukan? Hal ini harus dilakukan dengan cepat, bahkan dengan jumlah suara yang diberikan secara real time dalam jumlah besar.

Jadi, bagaimana kita mencapai tujuan ZK-SNARK? Menurut saya, ada tiga kategori besar peningkatan efisiensi. Salah satunya adalah paralelisasi dan agregasi. Bayangkan dibutuhkan hingga 10 juta langkah komputasi untuk memverifikasi blok Ethereum. Anda mengambil setiap langkah perhitungan ini dan membuat bukti untuk masing-masing langkah. Kemudian lakukan agregasi bukti. Ambil dua bukti pertama dan buktikan. Ambil dua bukti lagi dan buktikan. Ambil dua bukti berikutnya dan buktikan bukti-bukti ini. Mengambil bukti dari dua bukti pertama dan membuktikan bukti-bukti ini, kita mendapatkan sebuah pohon. Setelah berjalan sekitar 20 langkah ke atas pohon, Anda mendapatkan bukti besar yang mewakili kebenaran seluruh blok program.

Hal ini dimungkinkan dengan kondisi teknis saat ini. Hal ini dapat membuktikan kebenaran blok teoritis dalam 5 detik. dimana masalahnya? Pada dasarnya ini membutuhkan banyak komputasi paralel, bukan? Perlu dibuktikan 10 juta kali. Jadi bisakah kita mengoptimalkannya? Bisakah kita mengoptimalkan paralelisasi? Bisakah kita mengoptimalkan bukti agregat? Jawabannya iya. Ada banyak gagasan teoritis tentang bagaimana melakukan hal ini. Tapi itu perlu diubah menjadi sesuatu yang nyata. Ini adalah masalah yang menggabungkan peningkatan algoritme, peningkatan tingkat rendah, peningkatan desain perangkat keras, dan peningkatan efisiensi, sehingga ASIC juga sangat penting. Kita semua melihat betapa pentingnya ASIC untuk penambangan, bukan? Ingat kembali pada tahun 2013 ketika ASIC pertama kali online, kita melihat bagaimana kekuatan komputasi Bitcoin berkembang pesat.

ASIC cukup kuat, bukan? ASIC pada dasarnya memiliki hashrate 100 kali lipat dari GPU untuk biaya perangkat keras dan tagihan listrik yang sama. Pertanyaannya adalah, bisakah kita memberikan manfaat yang sama pada bukti SNARK? Saya pikir jawabannya seharusnya ya. Akibatnya, semakin banyak perusahaan yang mulai membuat ASIC yang dirancang khusus untuk membuktikan zK-SNARK. Ini bisa berupa zkEVM, tetapi sebenarnya harus sangat umum. Anda harus bisa membuat SNARK ASIC untuk membuktikan segala jenis perhitungan. Dengan melakukan ini, bisakah kita beralih dari 20 menit menjadi 5 detik?

Terakhir, meningkatkan efisiensi bukan? Oleh karena itu, diperlukan algoritma zK-SNARK yang lebih baik. Kami memiliki Groth16, kami memiliki tabel pencarian, kami memiliki SNARK 64-bit, kami memiliki STARK, kami memiliki STARK 32-bit, segala macam ide yang berbeda. Bisakah kita lebih meningkatkan efisiensi algoritma SNARK? Bisakah kita membuat lebih banyak fungsi hash yang lebih ramah SNARK, lebih banyak algoritma tanda tangan yang lebih ramah SNARK? Ada banyak ide di sini, dan saya sangat mendorong semua orang untuk mengerjakannya.

Masalah keamanan utama adalah bug, bukan? Menurut saya bug adalah salah satu masalah terbesar yang jarang dibicarakan orang, tapi bug itu sangat penting, bukan? Pada dasarnya, kita memiliki semua teknologi enkripsi yang luar biasa ini, tetapi orang-orang tidak akan mempercayainya jika mereka khawatir ada kerusakan pada sirkuitnya, bukan? Baik zK-SNARK dan zkEVM adalah 7000 baris kode. Ini masih sangat efisien. Rata-rata, terdapat 15 hingga 50 kerentanan per seribu baris kode. Di Ethereum, kami bekerja keras untuk memiliki kurang dari 15 bug per seribu baris kode, tetapi lebih dari nol, bukan? Jika Anda memiliki sistem yang memiliki aset miliaran dolar, jika ada pelanggaran di salah satu sistem tersebut, uang tersebut akan hilang tidak peduli seberapa canggih kriptografinya.

Pertanyaannya adalah, apa yang bisa kita lakukan untuk benar-benar memanfaatkan kriptografi yang ada dan mengurangi kesalahan di dalamnya? Saat ini, teknologi dasar yang digunakan di sini adalah komite keamanan, pada dasarnya, Anda hanya memasukkan beberapa orang ke dalam Ethereum dan jika Kebanyakan orang, menyukai lebih dari 75% , percaya bahwa ada celah, dan kemudian celah tersebut dapat membatalkan apa pun yang dikatakan sistem pembuktian. Jadi ini adalah sistem yang cukup tersentralisasi, namun merupakan sistem terbaik yang kita miliki saat ini. Kami akan memiliki banyak bukti dalam waktu dekat. Berikut adalah gambar Starknet, salah satu Rollup berbasis Ethereum. Idenya adalah jika Anda memiliki beberapa sistem pembuktian, secara teori, Anda dapat menggunakan redundansi untuk mengurangi risiko kerentanan pada salah satu sistem tersebut, dan jika Anda memiliki tiga sistem pembuktian, jika salah satunya memiliki bug, semoga saja dua lainnya Tidak ada dua sistem yang akan mengalami kesalahan di tempat yang sama.

Terakhir, menurut saya salah satu hal menarik untuk dicermati di masa depan adalah penggunaan alat kecerdasan buatan, yang berpotensi menggunakan alat baru untuk melakukan verifikasi formal, bukan? Jadi, seperti membuktikan secara matematis bahwa sesuatu seperti ZKEVM bebas bug, bukan? Pada dasarnya, bisakah Anda benar-benar membuktikan bahwa, misalnya, implementasi zkEVM memverifikasi fungsionalitas yang sama persis dalam kode EVM dengan implementasi Ethereum? Misalnya, dapatkah Anda membuktikan bahwa mereka hanya mempunyai satu keluaran untuk setiap masukan yang mungkin? Jika Anda dapat mencoba membuktikan hal-hal ini, mungkin kita benar-benar dapat mencapai dunia zkEVM yang bebas bug di masa depan.

Ini gila, bukan? Karena belum pernah ada orang yang membuat program rumit dan bebas celah seperti itu sebelumnya. Namun pada tahun 2019, tidak ada yang mengira AI bisa menghasilkan gambar yang benar-benar indah, bukan? Jadi, hari ini kita baru melihat seberapa jauh kemajuan kita. Kami melihat kemampuan kecerdasan buatan. Pertanyaannya sekarang adalah, bisakah kita mencoba menerapkan alat serupa pada tugas-tugas dunia nyata, seperti secara otomatis menghasilkan bukti matematis dari pernyataan kompleks yang programnya mencakup ribuan baris kode? Saya pikir ini adalah tantangan terbuka yang menarik dan patut mendapat perhatian.

Mengenai efisiensi pengumpulan tanda tangan, saat ini, Ethereum memiliki 30.000 validator, dan menjalankan sebuah node sangatlah menuntut, bukan? Saya memiliki node Ethereum di laptop saya dan berfungsi, tetapi ini bukan laptop murah dan saya harus mengupgrade hard drive sendiri. Tujuan ideal Ethereum adalah untuk mendukung validator sebanyak mungkin.

Kami ingin Proof of Stake didemokratisasikan semaksimal mungkin, memungkinkan orang untuk berpartisipasi langsung dalam verifikasi pada skala apa pun. Kami ingin persyaratan untuk menjalankan node Ethereum sangat rendah dan sangat mudah digunakan. Kami ingin teori dan protokolnya sesederhana mungkin. Apa batasan teoretisnya di sini? Semua data per peserta per sesi harus 1 bit, karena harus menyiarkan siapa yang ikut penandatanganan dan siapa yang tidak ikut penandatanganan.

Ini adalah batas paling dasar. Di luar batas ini, tidak ada batas lain. Tidak ada batas bawah untuk perhitungan. Anda dapat melakukan pembuktian agregat dan melakukan pembuktian pohon secara rekursif. Anda dapat melakukan tanda tangan, Anda dapat melakukan berbagai tanda tangan agregat. Anda bisa menggunakan STARK, Anda bisa menggunakan kriptografi berbasis grid, Anda bisa menggunakan STARK 32-bit, Anda bisa menggunakan segala jenis teknik yang berbeda.

Pertanyaannya adalah, sejauh mana kita dapat mengoptimalkan agregasi tanda tangan? Itu adalah keamanan peer-to-peer, dan orang-orang tidak terlalu memikirkan jaringan peer-to-peer. Ini adalah sesuatu yang sangat ingin saya tekankan, menurut saya di dunia kripto ada kecenderungan untuk membuat struktur mewah di atas jaringan peer-to-peer dan kemudian berasumsi bahwa jaringan peer-to-peer berfungsi dengan baik.

Ada banyak risiko yang tersembunyi di sini, bukan? Saya pikir risiko ini akan menjadi lebih canggih, sehingga pada tahun 2010an setiap node dapat melihat semuanya. Anda pasti bisa melakukan beberapa serangan: ada serangan gerhana, ada serangan penolakan layanan, ada berbagai jenis serangan.

Namun ketika Anda memiliki jaringan yang sangat sederhana yang tugasnya hanya memastikan semua orang mendapatkan segalanya, masalahnya cukup sederhana. Masalahnya adalah seiring dengan skala Ethereum, jaringan peer-to-peer menjadi semakin kompleks. Jaringan peer-to-peer Ethereum saat ini sudah memiliki 64 shard, bukan?

Untuk agregasi tanda tangan, untuk memproses 30.000 tanda tangan per epoch seperti sekarang. Kami memiliki jaringan peer-to-peer yang dibagi menjadi 64 subjaringan berbeda, dan setiap node hanya dimiliki oleh satu atau beberapa subjaringan tersebut. Dalam pengambilan sampel ketersediaan data, ini adalah teknik yang digunakan oleh Ethereum untuk menyediakan ruang data pada blok untuk skalabilitas.

Hal ini juga bergantung pada arsitektur peer-to-peer yang lebih kompleks. Apa yang Anda lihat di sini adalah grafik peer-to-peer, dan dalam pengaturan ini setiap node hanya dapat mengunduh 1/8 dari seluruh data. Jadi pertanyaannya adalah, apakah jaringan seperti itu benar-benar aman? Bisakah Anda menjamin keamanannya? Bisakah Anda meningkatkan tingkat jaminan Anda sebanyak mungkin? Bagaimana kita bisa melindungi dan meningkatkan keamanan jaringan peer-to-peer yang diandalkan oleh Ethereum?

Pada dasarnya, saya pikir apa yang perlu kita fokuskan pada saat ini adalah kita membutuhkan protokol yang mendorong batas-batas kriptografi, yang sudah jauh lebih kuat dibandingkan sepuluh tahun yang lalu, namun masih bisa lebih kuat, dan pada titik ini, saya pikir kita benar-benar perlu mulai melihat apa yang dimaksud dengan batas atas dan bagaimana kita dapat mencapainya.

Ada dua bidang yang sama pentingnya di sini. Salah satunya adalah terus meningkatkan efisiensi, dan kami ingin membuktikan semuanya secara real time. Kami ingin melihat dunia di mana, dalam protokol terdesentralisasi, setiap pesan yang dikirimkan di blog memiliki zk-SNARK yang terpasang secara default, membuktikan bahwa pesan dan segala sesuatu yang bergantung padanya mengikuti aturan protokol.

Perbatasan kedua adalah meningkatkan keamanan. Pada dasarnya, ini tentang mengurangi kemungkinan kesalahan. Mari kita ciptakan dunia di mana teknologi yang diandalkan oleh protokol-protokol ini bisa menjadi sangat kuat, sangat dapat dipercaya, dan orang-orang dapat mengandalkannya semaksimal mungkin.

Namun, seperti yang telah kita lihat berkali-kali, Multisignature juga dapat diretas, dan ada banyak contoh dari apa yang disebut proyek Layer2, di mana koin dalam satu atau dua proyek sebenarnya dikendalikan oleh multi-tanda tangan, tetapi entah bagaimana lima dari sembilan tanda tangan diretas pada saat yang sama, mengakibatkan hilangnya dana secara besar-besaran, dan jika kita ingin melampaui dunia ini, maka kita perlu percaya pada teknologi apa yang benar-benar dapat digunakan dan benar-benar bekerja dengan aturan kriptografi, daripada mempercayai a sekelompok kecil orang untuk memastikan peraturan dipatuhi.

Namun untuk melakukan ini, kode tersebut harus dapat dipercaya. Pertanyaannya adalah, bisakah kita membuat kode tersebut dapat dipercaya? Bisakah kita membuat web dapat dipercaya? Bisakah kita menjadikan keekonomian produk-produk ini, protokol-protokol ini, dapat dipercaya? Saya rasa ini adalah tantangan inti, dan saya berharap kita dapat terus bekerja sama dan meningkatkan diri, terima kasih.