a16z: Mengapa blockchain tanpa kewarganegaraan tidak bisa ada

Penulis: Miranda Christ (mahasiswa Ph.D bidang ilmu komputer di Universitas Columbia/magang peneliti enkripsi a16z), Joseph Bonneau (a16zcrypto) Sumber: a16z crypto; Kompiler: Yvonne, MarsBit

Karena blockchain mendukung lebih banyak pengguna dan lebih sering melakukan transaksi, jumlah informasi (“status”) yang disimpan oleh validator untuk memverifikasi transaksi bertambah. Misalnya, dalam Bitcoin, negara terdiri dari serangkaian keluaran transaksi yang belum terpakai (utxo). Di Ethereum, negara terdiri dari saldo akun setiap akun dan kode serta penyimpanan setiap kontrak pintar.

Beban penyimpanan ini akan menjadi tidak dapat dikelola untuk blockchain dengan akun atau UTXO yang cukup untuk mendukung transaksi sehari-hari kebanyakan orang, sehingga sulit untuk menjadi validator dan merupakan ancaman terhadap desentralisasi. Sangat menggoda untuk melihat kriptografi sebagai solusi, dan alat seperti pohon Merkle dan bukti tanpa pengetahuan telah membantu kita mencapai tujuan yang sebelumnya tidak dapat dipercaya.

Inilah tepatnya tujuan dari "blockchain tanpa kewarganegaraan". Namun, walaupun banyak upaya yang dilakukan dalam bidang ini, namun hal tersebut masih jauh dari kata praktis. Namun ternyata kelambanan dalam kemajuan ini merupakan hal yang melekat—kesenjangan antara struktur dan kepraktisan tidak akan pernah bisa dijembatani. Pekerjaan terbaru kami menunjukkan bahwa skema blockchain tanpa negara, tidak peduli seberapa cerdasnya, tidak akan mungkin dilakukan tanpa tindakan tambahan untuk mengelola negara. Seperti yang kami tunjukkan di akhir artikel ini, hasil yang mustahil ini tidak boleh mengecewakan.

keadaan tanpa kewarganegaraan

Saat ini, ukuran negara bagiannya besar namun masih dapat dikelola. Misalnya, node Bitcoin menyimpan sekitar 7 GB data, dan node Ethereum menyimpan sekitar 650 GB data. Namun, beban penyimpanan pada node penuh berskala secara linear dengan throughput rantai (transaksi per detik, atau TPS), yang saat ini sangat rendah. Berdasarkan desain saat ini, negara yang diperlukan untuk benar-benar mendukung transaksi harian (ratusan ribu hingga jutaan TPS) akan menjadi tidak terkendali, sehingga memerlukan penggunaan ruang penyimpanan beberapa terabyte atau bahkan petabyte.

Hal ini mendorong orang untuk mencari cara teknis untuk secara drastis mengurangi jumlah status yang diperlukan oleh validator - blockchain tanpa kewarganegaraan akan mengharuskan validator untuk hanya menyimpan status dengan ukuran konstan terlepas dari throughput transaksi. (Sebenarnya, istilah ini keliru: masih ada status, cukup kecil untuk mengakomodasi throughput di masa mendatang—sering kali berukuran konstan.) Persyaratan penyimpanan yang ringan ini akan mempermudah menjalankan node validator; Secara optimis, setiap orang dapat menjalankan node di perangkat mereka sendiri. telepon. Karena peningkatan jumlah validator akan meningkatkan keamanan rantai, penting untuk menurunkan hambatan masuk bagi validator.

Meskipun banyak penelitian mengenai blockchain tanpa kewarganegaraan (misalnya Todd, Buterin, Boneh dkk., Srinivasan dkk.), hal tersebut masih jauh dari praktis, dan sepengetahuan kami, belum ada satupun yang diterapkan. Masalah mendasar dengan semua blockchain stateless yang diketahui adalah bahwa mereka mengharuskan pengguna untuk menyimpan data tambahan yang disebut saksi untuk membantu validator memverifikasi transaksi yang melibatkan akun mereka. Misalnya, saksi ini dapat menjadi bukti penyertaan Merkle, yang menunjukkan bahwa akun pengguna dan saldonya termasuk dalam komitmen negara global. Ketika pengguna melakukan transaksi, mereka menyerahkan saksi ini ke validator, menunjukkan bahwa akun mereka memiliki saldo yang cukup.

Berbeda dengan penyimpanan kunci pribadi yang tidak perlu diubah, saksi ini sering berubah, bahkan bagi pengguna yang tidak aktif bertransaksi, sehingga memberikan beban yang tidak realistis bagi pengguna. Demikian pula, bayangkan jika Anda harus terus memantau semua transaksi kartu kredit lainnya secara global dan memperbarui beberapa data lokal untuk menggunakan kartu kredit Anda sendiri. Agar blockchain menjadi praktis, pengguna harus dapat tetap offline, berinteraksi dengan blockchain hanya ketika mengirimkan transaksi. Dalam banyak kasus, seperti dompet perangkat keras, memperbarui saksi tidak hanya merepotkan, tetapi juga tidak mungkin.

Hal ini mengarah pada pertanyaan penelitian yang wajar: Bisakah kita membangun blockchain tanpa kewarganegaraan yang tidak perlu memperbarui saksi (atau jarang perlu memperbarui saksi)? Untuk menjawab pertanyaan ini, kami mengembangkan kerangka teoritis baru (yang dapat berupa Sistem Bukti Pencabutan), yang menggeneralisasi blockchain tanpa kewarganegaraan. Dengan menggunakan kerangka kerja ini, kami menunjukkan hasil yang mustahil: trade-off antara negara global yang kompak dan pembaruan saksi yang sering dilakukan adalah hal yang mendasar. Teknik pembuktian kami bersifat teori informasi, yang berarti bahwa komputer di masa depan tidak akan cukup kuat untuk menyelesaikan masalah ini: kesenjangan antara struktur blockchain stateless dan kepraktisan tidak akan pernah bisa diatasi.

Latar belakang penelitian

Untuk membantu mengembangkan intuisi untuk hasil yang mustahil, pertama-tama kami akan menjelaskan konstruksi blockchain stateless yang alami namun tidak efisien menggunakan pohon Merkle. Tujuan kami adalah agar validator dapat menentukan apakah transaksi yang dikirimkan oleh pengguna valid - misalnya, apakah pengguna memiliki saldo akun yang cukup besar untuk melakukan transaksi. Dalam skema blockchain tanpa kewarganegaraan, validator menyimpan status dengan ukuran konstan. Ketika pengguna melakukan transaksi, mereka harus menyertakan saksi dalam transaksi tersebut. Validator dapat menggunakan status saat ini dan pasangan (transaksi, saksi) yang dikirimkan oleh pengguna untuk memverifikasi bahwa pengguna memiliki saldo akun yang cukup untuk melakukan transaksi.

Pertama-tama kita membangun pohon Merkle di mana setiap pasangan (ID akun, saldo) (a, b) disertakan sebagai daun. Status ukuran konstan V yang disimpan oleh validator adalah akar dari pohon ini, yang bertindak sebagai komitmen terhadap kumpulan pasangan saldo akun. Setiap pengguna menyimpan bukti Merkle penyertaan pasangan (ID akun, saldo) sebagai saksinya. Bukti Merkle penyertaan daun ( a , b ) terdiri dari simpul mitra ( v 1 , …, vk ) di sepanjang jalurnya menuju akar pohon. Mengingat transaksi oleh pengguna menggunakan akun a dan mengklaim saldo b, validator dapat memeriksa bahwa b memang saldo akun a dengan memeriksa bahwa (a, b) membuktikan (v 1 , …, vk ) dengan keadaannya saat ini V . Jika demikian, validator akan mengeksekusi transaksi dan harus memperbarui saldo akun. Properti yang berguna dari pohon Merkle adalah, dengan adanya bukti penahanan Merkle pada suatu daun, maka mudah untuk menghitung akar yang dihasilkan ketika daun tersebut berubah. Dengan kata lain, validator dapat dengan mudah menghitung status V' yang diperbarui yang menangkap saldo baru akun a setelah transaksi dijalankan.

Pendekatan pohon Merkle mempunyai dua kelemahan utama. Pertama, jumlah saksi pengguna relatif besar, tumbuh secara logaritmik dalam jumlah total akun di sistem. Idealnya, ukurannya harus konstan, yang dapat kita capai dengan menggunakan skema seperti akumulator RSA (Boneh dkk. dalam konteks blockchain tanpa kewarganegaraan).

Kerugian kedua lebih sulit untuk dihindari: setiap kali pengguna lain melakukan transaksi, bukti pasangan saldo akun berubah. Ingatlah bahwa bukti daun terdiri dari simpul-simpul mitra pada jalur dari daun tersebut ke akar pohon. Jika ada daun lain yang berubah, salah satu node ini akan berubah, menyebabkan masalah dalam praktiknya. Sebagian besar pengguna blockchain ingin menyimpan koin mereka secara pasif di dompet, hanya login ketika ingin melakukan transaksi. Namun, dalam praktik blockchain tanpa kewarganegaraan ini, pengguna harus terus memantau transaksi orang lain agar saksi mereka selalu terbarui. (Meskipun pihak ketiga dapat melakukan pemantauan ini atas nama pengguna, hal ini menyimpang dari model blockchain stateless standar. Kami akan membahas masalah ini di akhir artikel ini.) Faktanya, ini adalah masalah bagi blockchain stateless. memberikan beban berat pada penggunanya.

Kesimpulan kami: keadaan tanpa kewarganegaraan adalah hal yang mustahil

Fenomena ini tidak hanya terjadi pada struktur pohon Merkle - semua skema blockchain tanpa kewarganegaraan mengharuskan pengguna untuk sering memperbarui saksi mereka. Kami menggambarkan hal ini dalam artikel ini. Lebih tepatnya, kami menunjukkan bahwa jumlah pengguna yang harus memperbarui kesaksian mereka tumbuh secara linier dengan jumlah total transaksi yang dilakukan oleh semua pengguna.

Artinya meskipun pengguna Alice belum melakukan transaksi apa pun, kesaksiannya mungkin perlu diubah dengan transaksi pengguna lain. Selama status kompak yang disimpan oleh validator terlalu kecil untuk menangkap status penuh (yaitu kumpulan semua saldo akun), meningkatkan ukuran status kompak tidak banyak membantu. Kami memplot hubungan ini mengikuti teorema di bawah ini, bersama dengan jumlah perubahan saksi yang diperlukan per hari untuk blockchain dengan throughput berbeda. Grafik ini menunjukkan berapa kali saksi perlu melakukan perubahan untuk mendapatkan blockchain stateless yang optimal. Di sini, bidang data mengacu pada jumlah total akun (dalam model akun) atau UTXO (dalam model UTXO).

Ethereum

Inti dari pembuktian kami adalah argumen teori informasi. Prinsip utama teori informasi yang dikemukakan oleh Claude Shannon adalah jika Alice memilih sebuah objek secara acak dari sekumpulan ukuran 2n dan ingin memberitahu Bob objek mana yang telah dia pilih, dia harus mengirimkannya setidaknya n bit. Jika ada skema blockchain tanpa kewarganegaraan di mana pengguna jarang memperbarui saksinya, maka Alice dapat memberi tahu Bob objek mana yang dia pilih dalam waktu kurang dari n bit - Shannon membuktikan bahwa ini tidak mungkin. Oleh karena itu, blockchain tanpa kewarganegaraan seperti itu tidak mungkin ada.

Untuk mempermudah, di sini kami akan menjelaskan bukti dari pernyataan yang sedikit lebih lemah: tidak mungkin ada blockchain tanpa kewarganegaraan di mana pengguna tidak perlu memperbarui saksi mereka. Ide utamanya adalah Alice menyandikan pesannya kepada Bob menggunakan skema blockchain tanpa kewarganegaraan. Awalnya, baik Alice dan Bob mengetahui pasangan saldo akun lengkap untuk semua n pengguna. Asumsikan setiap akun memiliki setidaknya satu koin. Baik Alice dan Bob juga mengetahui status singkat V dari blockchain tanpa kewarganegaraan dan wi dari semua pasangan saldo akun ( ai , bi ). Alice dan Bob juga menyetujui pemetaan antara pesan dan kumpulan akun. Alice akan memilih satu set akun A yang sesuai dengan pesannya, dan dia akan menggunakan token dari akun tersebut. Dia akan menggunakan blockchain tanpa kewarganegaraan untuk berkomunikasi dengan Bob di set yang dia pilih, dan dari set itu dia bisa mempelajari apa pesannya.

Pengkodean: Alice menghabiskan satu token dari masing-masing akun A. Dengan menggunakan skema blockchain tanpa kewarganegaraan, Alice menghitung status V' yang diperbarui dan mengirimkan V' ke Bob.

Penguraian kode: Untuk setiap i, Bob memeriksa apakah Verify( wi , ( ai , bi )) . Bob mengeluarkan kumpulan akun B sehingga Verify( wi , ( ai , bi )) = false.

Bob berhasil mengeluarkan set yang sama dengan yang dipilih Alice: B = A. Pertama, perhatikan bahwa jika Alice telah membelanjakan satu token dari akun ai, tidak ada lagi saksi atas saldo lama yang harus diterima - jika tidak, Alice akan dapat membelanjakan dua kali lipat. Oleh karena itu, untuk setiap akun ai di A, Verifikasi( wi , ( ai , bi )) = false, dan Bob akan memasukkan akun tersebut ke dalam B. Sebaliknya, Bob tidak akan pernah memasukkan ke dalam B akun yang diidentifikasi oleh Alice. Tidak ada gunanya mengeluarkan uang sepeser pun, karena saldo rekening-rekening ini tetap sama, dan (ingat pernyataan lepas yang kami coba buktikan) saksi-saksinya tidak pernah berubah. Oleh karena itu, B sama persis dengan A.

Akhirnya, kontradiksi tersebut diselesaikan dengan menghitung jumlah bit yang harus dikirimkan Alice kepada Bob. Ada 2n kemungkinan subset akun yang dapat dia pilih, dan menurut hukum Shannon, dia harus mengirimkan setidaknya n bit ke Bob. Namun, dia hanya mengirimkan keadaan berukuran konstan V', jauh lebih pendek dari n bit.

(Pembaca yang akrab dengan kriptografi mungkin memperhatikan bahwa kami mengabaikan beberapa detail di sini; misalnya, penguraian sandi Bob gagal dengan kemungkinan yang dapat diabaikan. Makalah kami menyertakan bukti lengkap.)

Meskipun kami mendeskripsikan bukti kami dalam bentuk blockchain tanpa kewarganegaraan, Alice dan Bob dapat melakukan komunikasi serupa yang sangat efisien menggunakan berbagai struktur data terotentikasi lainnya (misalnya akumulator, komitmen vektor). Kami memformalkan struktur data tersebut menggunakan abstraksi baru, yang kami sebut sistem bukti yang dapat dibalik.

DAMPAK TERHADAP HASIL

Hasil kami menunjukkan bahwa Anda tidak dapat "mengenkripsi status" - tidak ada solusi jitu yang memungkinkan kami membangun blockchain tanpa kewarganegaraan di mana pengguna tidak perlu memperbarui saksi mereka. Status tidak hilang, tetapi ditransfer dari validator ke pengguna, dan dikirim ke pengguna dalam bentuk saksi yang sering diperbarui.

Beberapa solusi potensial memang ada, namun solusi ini melepaskan diri dari model blockchain yang tidak memiliki kewarganegaraan. Model ini memungkinkan pihak ketiga (baik pengguna maupun validator) bertanggung jawab menyimpan status penuh. Pihak ini disebut Node Layanan Bukti (dengan pemeriksaan paling ketat oleh Srinivasan et al.), dan menggunakan status penuh untuk menghasilkan saksi terkini atas nama pengguna. Pengguna kemudian dapat menggunakan saksi ini untuk bertransaksi, seperti dalam blockchain tanpa kewarganegaraan biasa, di mana validator hanya menyimpan keadaan yang ringkas. Mekanisme insentif sistem, terutama bagaimana pengguna memberikan kompensasi pada node bukti layanan, merupakan arah penelitian terbuka yang menarik.

Meskipun diskusi kami sejauh ini berfokus pada blockchain L1, hasil kami juga memiliki implikasi pada sistem L2 seperti server rollup. Rollup (baik optimis atau ZK) biasanya mengambil status besar dan menerapkannya menggunakan nilai kecil yang disimpan di L1. Status ini mencakup setiap akun pengguna di L2. Kami ingin para pengguna ini dapat menarik dana langsung di L1 (tanpa kerja sama server L2) dengan menerbitkan bukti saldo akun mereka saat ini. Penyiapan ini juga merupakan contoh dari sistem pembuktian yang dapat dibalik dalam model kami. Faktanya, ada yang berpendapat bahwa blockchain tanpa kewarganegaraan sudah diimplementasikan dalam praktiknya dalam bentuk L2 rollup.

Sayangnya, ini berarti hasil ketidakmungkinan kami berlaku secara langsung. Saksi penarikan rollup pengguna harus sering berubah, jika tidak, hampir seluruh status L2 harus ditulis ke L1. Akibatnya, koleksi saat ini biasanya mengasumsikan komite ketersediaan data (terkadang disebut "komite validitas") yang berfungsi seperti "node layanan bukti" yang membantu pengguna menghitung saksi baru ketika mereka siap untuk keluar. Temuan kami menunjukkan bahwa peringatan kepada pengguna dalam dokumentasi Ethereum — “Tanpa akses ke data transaksi, pengguna tidak dapat menghitung bukti Merkle yang diperlukan untuk membuktikan kepemilikan dana dan melakukan penarikan.” — akan selalu berlaku.

Seiring berkembangnya sistem blockchain, mengembangkan cara yang lebih efisien untuk mengelola status blockchain akan menjadi semakin penting. Meskipun hasil kami untuk mengecualikan blockchain tanpa kewarganegaraan mungkin tampak negatif, hasil ketidakmungkinan ini berguna bagi perancang blockchain, karena hasil tersebut meminta kami untuk memfokuskan penelitian kami di tempat lain, idealnya membantu kami menemukan solusi yang layak dengan lebih cepat.

Lihat Asli
Halaman ini mungkin berisi konten pihak ketiga, yang disediakan untuk tujuan informasi saja (bukan pernyataan/jaminan) dan tidak boleh dianggap sebagai dukungan terhadap pandangannya oleh Gate, atau sebagai nasihat keuangan atau profesional. Lihat Penafian untuk detailnya.
  • Hadiah
  • Komentar
  • Bagikan
Komentar
0/400
Tidak ada komentar
  • Sematkan
Perdagangkan Kripto Di Mana Saja Kapan Saja
qrCode
Pindai untuk mengunduh aplikasi Gate
Komunitas
Bahasa Indonesia
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)