a16z: Tentang Ketidakmungkinan "Blockchain Tanpa Negara"

Awalnya ditulis oleh Miranda Christ dan Joseph Bonneau

Kompilasi teks asli: Deep Tide TechFlow

Karena blockchain mendukung lebih banyak pengguna dan lebih sering melakukan transaksi, jumlah informasi (atau “status”) yang disimpan oleh validator untuk memverifikasi transaksi meningkat. 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.

Ketika blockchain tumbuh dengan akun atau UTXO yang cukup untuk mendukung transaksi harian nyata bagi sebagian besar populasi, beban penyimpanan ini akan menjadi tidak dapat dikelola, sehingga menjadi validator menjadi sulit dan menjadi ancaman terhadap desentralisasi. Solusi yang menggiurkan adalah beralih ke kriptografi, di mana alat seperti pohon Merkle dan bukti tanpa pengetahuan membantu kita mencapai hal-hal yang sebelumnya tidak terbayangkan.

Inilah tepatnya tujuan dari "blockchain tanpa kewarganegaraan". Namun meskipun banyak penelitian mengenai hal tersebut, hal tersebut masih jauh dari praktis. Namun ternyata kelambanan dalam kemajuan ini merupakan hal yang melekat—kesenjangan antara pembangunan dan kepraktisan tidak akan pernah bisa dijembatani. Pekerjaan terbaru kami menunjukkan bahwa proposal blockchain tanpa negara, tidak peduli seberapa pintarnya, tidak dapat dilaksanakan tanpa tindakan tambahan untuk mengelola negara. Namun, seperti yang kami tunjukkan di akhir artikel ini, hasil yang tidak mungkin ini tidak boleh membuat kita putus asa.

tidak ada status

Saat ini, negara sangatlah 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 masih tidak dapat diterima saat ini. Seperti yang dirancang saat ini, negara yang diperlukan untuk benar-benar mendukung transaksi sehari-hari (puluhan hingga ratusan ribu transaksi per detik) akan menjadi tidak terkendali, sehingga memerlukan penyimpanan sebesar gigabyte atau bahkan petabyte.

Hal ini memotivasi orang untuk menemukan cara teknis untuk secara signifikan mengurangi jumlah status yang dibutuhkan oleh validator. Yang krusial adalah penerapan blockchain tanpa kewarganegaraan, yang mengharuskan validator untuk hanya menyimpan keadaan dengan ukuran konstan tanpa memperhatikan throughput transaksi (sebenarnya, istilah ini keliru: masih ada keadaan, cukup kecil, sehingga praktis di masa depan. throughput - biasanya ukuran konstan). Persyaratan penyimpanan yang ringan ini akan mempermudah menjalankan node validator; optimisnya, semua orang dapat menjalankan node di ponsel mereka. Karena peningkatan jumlah validator akan meningkatkan keamanan rantai, penting untuk menurunkan hambatan masuk bagi validator.

Meskipun banyak penelitian mengenai blockchain tanpa kewarganegaraan (misalnya oleh Todd, Buterin, Boneh dkk., dan Srinivasan dkk.), penelitian tersebut masih jauh dari praktis, dan sepengetahuan kami, belum ada satu pun 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 dan saldo pengguna termasuk dalam komitmen negara global. Saat pengguna melakukan transaksi, mereka menyerahkan kesaksian ini ke validator untuk menunjukkan bahwa akun mereka memiliki saldo yang cukup.

Tidak seperti menyimpan 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 terus-menerus 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 berinteraksi dengan blockchain secara offline dan hanya saat mengirimkan transaksi. Dalam banyak kasus, seperti dompet perangkat keras, memperbarui saksi tidak hanya merepotkan, tetapi juga tidak mungkin.

Hal ini membawa kita pada pertanyaan penelitian yang wajar: Bisakah kita membangun blockchain tanpa kewarganegaraan yang tidak memerlukan pembaruan saksi yang sering (atau yang hanya memerlukan pembaruan saksi yang jarang)? Untuk menjawab pertanyaan ini, kami mengembangkan kerangka teori baru (Revocable Proof System) yang menggeneralisasi blockchain tanpa kewarganegaraan. Dengan menggunakan kerangka ini, kami menunjukkan hasil yang mustahil: trade-off antara negara-negara global yang kompak dan pembaruan saksi yang sering dilakukan pada dasarnya sulit untuk didamaikan. Teknik pembuktian kami bersifat teori informasi, yang berarti bahwa komputer di masa depan tidak akan cukup kuat untuk menyelesaikan masalah ini: kesenjangan antara konstruksi blockchain stateless dan kepraktisan tidak akan pernah dapat dijembatani.

Latar belakang penelitian kami

Untuk membantu memahami hasil ketidakmungkinan kami, pertama-tama kami menjelaskan cara yang alami namun tidak efisien untuk membangun blockchain tanpa kewarganegaraan menggunakan pohon Merkle. Tujuan kami adalah memungkinkan validator menentukan apakah transaksi yang dikirimkan oleh pengguna valid - misalnya, apakah pengguna memiliki saldo akun yang cukup 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 node daun. Status ukuran konstan V yang disimpan oleh validator adalah akar dari pohon ini, yang bertindak sebagai komitmen terhadap sekumpulan pasangan saldo akun. Setiap pengguna menyimpan kesaksian mereka sebagai bukti penyertaan Merkle. Bukti penyertaan Merkle untuk daun (a,b) terdiri dari simpul mitra (v1,...,vk) di sepanjang jalur dari daun tersebut hingga ke akar pohon. Mengingat transaksi dengan akun a dan saldo yang diklaim b, verifikator dapat memverifikasi bahwa b memang merupakan saldo akun a dengan memeriksa bukti (v1,...,vk) dari (a,b) terhadap keadaannya saat ini V. Jika demikian, validator akan mengeksekusi transaksi dan harus memperbarui saldo akun. Properti yang mudah digunakan dari pohon Merkle adalah, dengan adanya bukti Merkle yang disertakan untuk sebuah daun, maka mudah untuk menghitung akar dari hasil ketika daun tersebut berubah. Dengan kata lain, verifikator dapat dengan mudah menghitung status V' yang diperbarui yang mencatat saldo baru akun a setelah transaksi dijalankan.

Skema pohon Merkle ini mempunyai dua kelemahan utama. Pertama, saksi pengguna relatif besar, tumbuh secara logaritmik dengan jumlah total akun di sistem. Idealnya, ukurannya harus konstan, dan kita dapat mencapainya dengan menggunakan skema seperti akumulator RSA.

Kerugian kedua yang lebih sulit dihindari: setiap kali pengguna lain melakukan transaksi, bukti pasangan saldo akun berubah. Ingatlah bahwa pembuktian untuk simpul daun terdiri dari simpul-simpul mitra pada jalur dari simpul daun tersebut ke akar pohon. Jika node daun lainnya berubah, salah satu node akan berubah, sehingga menyebabkan masalah nyata. Sebagian besar pengguna blockchain ingin secara pasif menyimpan koin mereka di dompet dan hanya online ketika ingin melakukan transaksi. Namun, dalam blockchain tanpa kewarganegaraan, pengguna harus terus memantau transaksi orang lain agar informasi saksi mereka selalu terbarui. Meskipun pihak ketiga dapat melakukan pemantauan ini atas nama pengguna, hal ini menyimpang dari model blockchain stateless standar. Dalam praktiknya, ini merupakan tantangan yang tidak dapat diatasi bagi blockchain tanpa kewarganegaraan, sehingga memberikan beban berat pada pengguna.

Kesimpulan kami: keadaan tanpa kewarganegaraan tidak mungkin terjadi

Fenomena ini tidak hanya berlaku pada struktur pohon Merkle semacam ini - semua skema blockchain tanpa kewarganegaraan mengharuskan pengguna untuk sering memperbarui informasi saksi mereka, yang kami tunjukkan di sini. Lebih tepatnya, kami menunjukkan bahwa jumlah pengguna yang harus memperbarui informasi saksinya tumbuh secara linier dengan jumlah total transaksi yang dilakukan oleh seluruh pengguna.

Artinya, meskipun pengguna Alice tidak melakukan transaksi apa pun, informasi saksinya mungkin perlu diubah seiring 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 akan banyak membantu. Kami memplot hubungan yang ditunjukkan di bawah ini berdasarkan teorema kami, bersama dengan jumlah perubahan saksi yang diperlukan per hari untuk blockchain dengan throughput berbeda. Grafik ini menunjukkan berapa kali blockchain stateless yang optimal perlu mengubah informasi saksi. Di sini, data universe mengacu pada jumlah total akun dalam model akun atau jumlah total UTXO dalam model UTXO.

a16z: Tentang Ketidakmungkinan "Blockchain Tanpa Negara"

a16z: Tentang Ketidakmungkinan "Blockchain Tanpa Negara"

Inti dari pembuktian kami adalah argumen teori informasi. Prinsip utama teori informasi, yang diformalkan 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 terdapat skema blockchain tanpa kewarganegaraan di mana pengguna jarang memperbarui informasi saksi mereka, Alice dapat memberi tahu Bob objek mana yang telah dia pilih dengan kurang dari n bit, dan hal ini tidak mungkin dilakukan, seperti yang dibuktikan oleh Shannon. Oleh karena itu, blockchain tanpa kewarganegaraan seperti itu tidak ada.

Untuk mempermudah, di sini kami menjelaskan bukti dari pernyataan yang sedikit lebih lemah: tidak ada blockchain tanpa kewarganegaraan di mana pengguna tidak perlu memperbarui informasi saksi mereka. Intinya adalah Alice menggunakan skema blockchain tanpa kewarganegaraan untuk menyandikan pesannya kepada Bob. Awalnya, baik Alice dan Bob mengetahui set lengkap pasangan saldo akun 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 kemudian akan membelanjakan koin dari akun tersebut. Dia akan menggunakan blockchain tanpa kewarganegaraan untuk mengomunikasikan kepada Bob kumpulan pilihannya sehingga dia dapat mempelajarinya.

Pengkodean: Alice menghabiskan satu koin dari setiap akun di A. Dengan menggunakan skema blockchain tanpa kewarganegaraan, Alice menghitung status V' yang diperbarui dan mengirimkannya ke Bob.

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

Bob berhasil mengeluarkan set yang sama yang dipilih Alice: B = A. Pertama, perhatikan bahwa jika Alice membelanjakan koin dari akun ai, bukti saldo lamanya tidak akan diterima lagi—jika tidak, Alice akan dapat melakukan pembelanjaan ganda. Oleh karena itu, untuk setiap akun ai di A, Verify(wi, (ai, bi)) = false, dan Bob akan memasukkan akun ini ke dalam B. Di sisi lain, Bob tidak akan pernah memasukkan ke dalam akun B dimana Alice tidak mengeluarkan koinnya, karena saldo akun-akun ini tetap sama, dan (ingat pernyataan santai yang ingin kami buktikan) saksi mereka tidak akan pernah berubah. Oleh karena itu, B sama persis dengan A.

Akhirnya, kita menyelesaikan kontradiksi kita dengan menghitung jumlah bit yang harus dikirimkan Alice kepada Bob. Ada 2^n subset yang bisa dia pilih, jadi menurut hukum Shannon, dia harus mengirimkan setidaknya n bit ke Bob. Namun, dia hanya mengirimkan keadaan berukuran konstan V', yang jauh lebih pendek dari n bit.

Meskipun kami menggunakan blockchain tanpa kewarganegaraan saat menjelaskan bukti kami, Alice dan Bob dapat melakukan komunikasi efisien serupa menggunakan berbagai struktur data terotentikasi lainnya, termasuk akumulator, komitmen vektor, dan kamus terotentikasi. Kami memformalkan struktur data tersebut menggunakan abstraksi baru yang kami sebut sistem pembuktian yang dapat dibalik.

Pengaruh hasilnya

Hasil kami menunjukkan bahwa Anda tidak dapat "menghilangkan status secara kriptografis", dan tidak ada solusi jitu untuk skema komitmen yang memungkinkan kami membangun blockchain tanpa kewarganegaraan di mana pengguna tidak perlu memperbarui saksi mereka. Status tersebut tidak hilang, namun ditransfer dari validator dan dikirimkan ke pengguna dalam bentuk pembaruan saksi yang sering dilakukan.

Ada beberapa solusi menjanjikan lainnya yang menyimpang dari model blockchain yang tidak memiliki kewarganegaraan. Relaksasi alami dari model ini adalah mengizinkan pihak ketiga (baik pengguna maupun validator) bertanggung jawab menyimpan status lengkap. Pihak ketiga ini, yang disebut node layanan bukti, menggunakan status lengkap untuk menghasilkan informasi saksi terbaru bagi pengguna. Pengguna kemudian dapat bertransaksi menggunakan saksi-saksi ini seperti dalam blockchain tanpa negara biasa, di mana validator masih hanya menyimpan keadaan kompak. Mekanisme insentif sistem ini, terutama bagaimana pengguna mengkompensasi 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 menyimpan komitmen terhadap keadaan besar di L1 dengan nilai kecil. 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 saksi saldo akun mereka saat ini. Penyiapan ini juga merupakan contoh sistem pembuktian yang dapat dibalik dalam model kami. Faktanya, dapat dikatakan bahwa blockchain tanpa kewarganegaraan sudah diimplementasikan dalam praktiknya, dalam bentuk L2 Rollup.

Sayangnya, hal ini berarti hasil ketidakmungkinan kami berlaku secara langsung. Saksi pengambilan Rollup pengguna harus sering berubah, jika tidak, hampir seluruh status L2 harus ditulis ke L1. Akibatnya, Rollup saat ini biasanya mengasumsikan keberadaan komite ketersediaan data (terkadang disebut "validium"), mirip dengan "node layanan bukti" yang membantu pengguna menghitung saksi baru ketika mereka siap untuk melakukan penarikan. Hasil kami menunjukkan bahwa peringatan kepada pengguna dalam dokumentasi Ethereum: "Tanpa data transaksi, pengguna tidak dapat menghitung bukti Merkle untuk membuktikan kepemilikan dana dan melakukan penarikan." akan selalu berlaku.

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)