Bukti penyimpanan: Mencapai kesadaran negara melintasi waktu dan rantai

Lanjutan12/26/2023, 1:49:48 AM
Artikel ini menjelaskan cara menggunakan bukti penyimpanan untuk transmisi informasi dan pemrosesan data, dan menerapkannya di berbagai bidang seperti tata kelola lintas rantai, pinjaman lintas rantai, dan oracle multi-rantai.

Pengantar

Bagaimana jika Anda kehilangan ingatan setiap jam? Dan Anda harus terus-menerus meminta seseorang untuk memberi tahu Anda apa yang telah Anda lakukan? Itulah kondisi kontrak pintar saat ini. Pada blockchain seperti Ethereum, kontrak pintar tidak dapat mengakses negara di luar 256 blok secara langsung. Masalah ini semakin diperburuk dalam ekosistem multi-rantai, di mana pengambilan dan verifikasi data di berbagai lapisan eksekusi menjadi lebih sulit.

Pada tahun 2020, Vitalik Buterin dan Tomasz Stanczak mengusulkan cara untuk mengakses data sepanjang waktu. Meskipun EIP mengalami stagnasi, kebutuhannya muncul kembali di dunia multi-rantai yang berpusat pada roll-up. Saat ini, bukti penyimpanan telah muncul sebagai garda depan, untuk memberikan kesadaran dan memori pada kontrak pintar.

Mengakses data on-chain

Ada sejumlah cara dapps dapat mengakses data dan status. Semua pendekatan mengharuskan aplikasi untuk menaruh kepercayaan pada manusia/entitas atau keamanan atau kode ekonomi kripto dan memiliki beberapa trade-off:

Kepercayaan pada manusia/entitas:

  • Node arsip: Operator dapat menjalankan sendiri node arsip atau mengandalkan penyedia layanan node arsip seperti Alchemy atau Infura untuk mengakses semua data sejak blok Genesis. Mereka menyediakan semua data yang sama seperti Full Node tetapi juga semua data status historis dari keseluruhan blockchain. Layanan off-chain seperti Etherscan dan Dune Analytics menggunakan node arsip untuk mengakses data on-chain. Aktor di luar rantai dapat membuktikan validitas data ini, dan kontrak pintar on-chain dapat memverifikasi bahwa data tersebut ditandatangani oleh aktor/komite tepercaya. Integritas data yang mendasarinya tidak diverifikasi. Pendekatan ini mengharuskan dapp untuk percaya bahwa penyedia layanan simpul arsip menjalankan infrastruktur dengan benar dan tanpa niat jahat.

Percayai keamanan ekonomi Crypto:

  • Pengindeks: Protokol pengindeksan mengatur semua data di Blockchain, memungkinkan pengembang untuk membangun dan menerbitkan API terbuka yang dapat ditanyakan oleh aplikasi. Pengindeks individu adalah operator simpul yang mempertaruhkan token untuk menyediakan layanan pengindeksan dan pemrosesan kueri. Namun perselisihan dapat terjadi bila data yang disajikan salah dan proses arbitrase dapat memakan waktu. Selain itu, data dari pengindeks seperti The Graph tidak dapat langsung dimanfaatkan oleh logika bisnis kontrak pintar dan digunakan dalam konteks analitik data berbasis web2.
  • Oracles: Penyedia layanan Oracle menggunakan data yang dikumpulkan dari banyak operator node independen. Tantangannya di sini adalah data yang tersedia dari Oracles mungkin tidak sering diperbarui dan cakupannya terbatas. Oracle seperti Chainlink biasanya hanya mempertahankan status tertentu, seperti feed harga, dan untuk status serta riwayat khusus aplikasi, hal tersebut tidak memungkinkan. Selain itu, pendekatan ini juga menimbulkan tingkat deviasi tertentu pada data dan memerlukan kepercayaan pada operator node.

Kode Kepercayaan:

  • Variabel dan Fungsi Khusus: Blockchain seperti Ethereum memiliki variabel dan fungsi khusus yang terutama digunakan untuk memberikan informasi tentang blockchain atau merupakan fungsi utilitas penggunaan umum. Kontrak pintar hanya dapat mengakses hash blok dari 256 blok terbaru. Hash blok tidak tersedia untuk semua blok karena alasan skalabilitas. Memiliki akses ke hash blok historis akan berguna karena memungkinkan verifikasi bukti terhadap hash tersebut. Tidak ada opcode dalam eksekusi EVM yang memungkinkan akses ke konten blok lama atau konten transaksi sebelumnya atau output tanda terima, sehingga node dapat dengan aman melupakan hal-hal tersebut dan masih dapat memproses blok baru. Metode ini juga terbatas pada satu blockchain saja.

Mengingat tantangan dan keterbatasan solusi ini, terdapat kebutuhan yang jelas untuk menyimpan dan menyediakan hash blok secara on-chain. Di sinilah bukti penyimpanan berperan. Untuk lebih memahami bukti penyimpanan, mari kita lihat sekilas penyimpanan data di blockchain.

Penyimpanan data dalam blockchain

Blockchain adalah database publik yang diperbarui dan dibagikan ke banyak komputer dalam suatu jaringan. Data dan status disimpan dalam grup berurutan yang disebut blok dan setiap blok secara kriptografis mereferensikan induknya dengan menyimpan hash dari header blok sebelumnya.

Mari kita ambil blok Ethereum sebagai contoh. Ethereum memanfaatkan jenis pohon Merkle tertentu yang dikenal sebagai “pohon Merkle Patricia” (MPT). Header blok Ethereum berisi akar dari empat percobaan Merkle-Patricia yang berbeda, yaitu Tri negara, Trie penyimpanan, Trie penerimaan, dan Trie Transaksi. Keempat upaya ini menyandikan pemetaan yang mencakup semua data Ethereum. Merkle Trees digunakan karena efisiensinya dalam penyimpanan data. Dengan menggunakan hash rekursif, hanya hash root yang perlu disimpan, sehingga menghemat banyak ruang. Mereka mengizinkan siapa saja untuk membuktikan keberadaan suatu elemen di pohon dengan membuktikan bahwa hashing node secara rekursif akan menghasilkan hash root yang sama. Bukti Merkle memungkinkan klien ringan di Ethereum mendapatkan jawaban atas pertanyaan seperti:

  • Apakah transaksi ini ada di blok tertentu?
  • Berapa saldo akun saya saat ini?
  • Apakah akun ini ada?

Daripada mengunduh setiap transaksi dan setiap blok, “klien ringan” hanya dapat mengunduh rangkaian header blok dan memverifikasi informasi menggunakan Merkle Proofs. Hal ini membuat keseluruhan proses menjadi sangat efisien. Lihat blog artikel penelitian Vitalik dan Maven11 ini untuk lebih memahami implementasi, keuntungan, dan tantangan yang terkait dengan Merkle Trees.

Bukti Penyimpanan

Bukti penyimpanan memungkinkan kami membuktikan bahwa ada sesuatu yang dilakukan dalam database dan juga valid menggunakan komitmen kriptografi. Jika kami dapat memberikan bukti tersebut, maka ini adalah klaim yang dapat diverifikasi bahwa sesuatu telah terjadi di blockchain.

Apa yang dapat diaktifkan oleh bukti penyimpanan?

Bukti penyimpanan mengizinkan dua fungsi utama:

  1. Akses data historis on-chain di luar 256 blok terakhir, hingga kembali ke blok genesis
  2. Akses data on-chain (historis dan terkini) dari satu blockchain pada blockchain lain dengan bantuan verifikasi konsensus atau jembatan L1-L2 jika terjadi L2

Bagaimana fungsi bukti penyimpanan?

Bukti penyimpanan pada tingkat yang sangat tinggi memeriksa apakah blok tertentu adalah bagian dari sejarah kanonik blockchain dan kemudian memverifikasi apakah data spesifik yang diminta adalah bagian dari blok tersebut. Hal ini dapat dicapai melalui:

  • Pemrosesan on-chain: dapps dapat mengambil blok tepercaya awal, meneruskan blok tersebut sebagai data panggilan untuk mengakses blok sebelumnya, dan melintasi kembali ke blok genesis. Hal ini memerlukan banyak komputasi on-chain dan data panggilan dalam jumlah besar. Pendekatan ini sama sekali tidak layak dilakukan karena banyaknya komputasi yang diperlukan secara on-chain. Aragon mencoba menggunakan pendekatan on-chain pada tahun 2018, tetapi hal itu tidak dapat dilakukan karena biaya on-chain yang tinggi.
  • Menggunakan bukti ZK: Pendekatannya mirip dengan pemrosesan on-chain kecuali fakta bahwa pembuktian ZK digunakan untuk memindahkan komputasi kompleks ke luar rantai.
  1. Mengakses data pada rantai yang sama: Bukti ZK dapat digunakan untuk menegaskan bahwa header blok historis yang berubah-ubah adalah nenek moyang dari salah satu dari 256 header blok terbaru yang dapat diakses dalam lingkungan eksekusi. Pendekatan lainnya adalah dengan mengindeks seluruh riwayat rantai sumber dan menghasilkan bukti ZK untuk membuktikan bahwa pengindeksan terjadi dengan benar. Bukti ini diperbarui secara berkala saat blok baru ditambahkan ke rantai sumber. Mengakses data lintas rantai: Penyedia mengumpulkan header blok dari rantai sumber pada rantai tujuan dan membuktikan validitas header blok ini menggunakan bukti konsensus ZK. Dimungkinkan juga untuk menggunakan solusi AMP yang sudah ada seperti Axelar, Celer, atau LayerZero untuk menanyakan header blok.
  2. Cache hash header blok rantai sumber, atau hash akar akumulator hash blok off-chain, disimpan di rantai tujuan. Cache ini diperbarui secara berkala dan digunakan untuk membuktikan secara efisien secara on-chain bahwa blok tertentu ada dan memiliki hubungan kriptografis dengan hash blok terbaru yang dapat diakses dari negara. Proses ini dikenal dengan pembuktian kesinambungan rantai. Dimungkinkan juga untuk menggunakan blockchain khusus untuk menyimpan header blok dari semua rantai sumber.
  3. Data/blok historis diakses dari data terindeks off-chain atau cache on-chain (tergantung pada kompleksitas permintaan) seperti yang diminta oleh dapp pada rantai tujuan. Meskipun cache dari hash header blok dipertahankan secara on-chain, data sebenarnya mungkin disimpan secara off-chain.
  4. Keberadaan data di blok tertentu diperiksa melalui bukti penyertaan merkle dan bukti zk untuk hal yang sama dihasilkan. Bukti ini digabungkan dengan bukti zk pengindeksan yang benar atau bukti konsensus ZK dan bukti tersebut tersedia secara on-chain untuk verifikasi yang tidak dapat dipercaya.
  5. Dapps kemudian dapat memverifikasi bukti ini secara on-chain dan menggunakan data tersebut untuk menjalankan tindakan yang diinginkan. Bersamaan dengan verifikasi bukti ZK, parameter publik seperti nomor blok dan hash blok diperiksa terhadap cache header blok yang dikelola secara on-chain.

Beberapa proyek yang mengadopsi pendekatan ini adalah Herodotus, Lagrange, Axiom, Hyper Oracle, Brevis Network, dan nil foundation. Sementara upaya signifikan sedang dilakukan untuk membuat aplikasi sadar negara di berbagai blockchain, IBC (Inter Blockchain Communication) menonjol sebagai standar interoperabilitas yang memungkinkan aplikasi seperti ICQ (Interchain queries) dan ICA (Interchain account). ICQ memungkinkan aplikasi pada Rantai A untuk menanyakan keadaan rantai B dengan memasukkan kueri dalam paket IBC sederhana dan ICA memungkinkan satu blockchain untuk mengontrol akun di blockchain lain dengan aman. Menggabungkannya dapat memungkinkan kasus penggunaan lintas rantai yang menarik. Penyedia RaaS seperti Saga menawarkan fungsi ini ke semua rantai aplikasi mereka secara default dengan menggunakan IBC.

Ada banyak cara di mana bukti penyimpanan dapat dioptimalkan untuk menemukan keseimbangan yang tepat antara konsumsi memori, waktu pembuktian, waktu verifikasi, efisiensi komputasi, dan pengalaman pengembang. Proses keseluruhan secara garis besar dapat dibagi menjadi 3 sub-proses utama.

  • Akses data
  • Pengolahan data
  • Pembuatan ZK Proof untuk akses dan pemrosesan data

Akses data: Dalam subproses ini, penyedia layanan mengakses header blok rantai sumber secara asli pada lapisan eksekusi atau melalui pemeliharaan cache on-chain. Untuk akses data lintas rantai, verifikasi konsensus rantai sumber pada rantai tujuan diperlukan. Beberapa pendekatan dan optimalisasi yang diadopsi antara lain:

  • Blockchain Ethereum yang Ada: Struktur blockchain Ethereum yang ada dapat digunakan untuk membuktikan nilai slot penyimpanan historis apa pun sehubungan dengan blockheader saat ini menggunakan ZKP. Ini dapat dianggap sebagai salah satu bukti inklusi yang besar. Ini adalah bukti bahwa, mengingat header blok baru-baru ini X pada ketinggian b, terdapat blockheader Y yang merupakan nenek moyang dari X pada ketinggian bk. Hal ini didasarkan pada keamanan konsensus Ethereum dan memerlukan sistem yang terbukti cepat untuk efisiensi. Ini adalah pendekatan yang digunakan oleh Lagrange.
  • Cache Pegunungan Merkle (MMR) dalam rantai: Pegunungan Merkle dapat dilihat sebagai daftar pohon Merkle tempat masing-masing pohon Merkle digabungkan ketika dua pohon mencapai ukuran yang sama. Masing-masing pohon Merkle di MMR digabungkan dengan menambahkan simpul induk ke akar pohon sebelumnya. MMR adalah struktur data yang mirip dengan pohon Merkle dengan beberapa manfaat tambahan, seperti penambahan elemen yang efisien dan kueri data yang efisien, terutama saat membaca data berurutan dari kumpulan data besar. Menambahkan header baru melalui pohon Merkle memerlukan penerusan semua node saudara di setiap level. Untuk menambahkan data secara efisien, Axiom menggunakan MMR untuk memelihara cache hash header blok on-chain. Herodotus menyimpan hash root dari akumulator hash blok MMR secara on-chain. Hal ini memungkinkan mereka untuk memeriksa data yang diambil terhadap hash header blok ini melalui bukti penyertaan. Pendekatan ini mengharuskan cache diperbarui secara berkala dan menimbulkan masalah keaktifan jika tidak didesentralisasi.
  • Herodotus mempertahankan dua MMR yang berbeda. Bergantung pada blockchain atau lapisan tertentu, akumulator dapat disesuaikan untuk memanfaatkan fungsi hashing yang berbeda, mengoptimalkan efisiensi dan biaya komputasi. Untuk pembuktian di Starknet, hash poseidon mungkin digunakan tetapi hash Keccack mungkin digunakan untuk rantai EVM.
  • Cache MMR off-chain: Herodotus memelihara cache off-chain dari kueri dan hasil yang diambil sebelumnya untuk memungkinkan pengambilan lebih cepat jika data diminta lagi. Hal ini memerlukan infrastruktur tambahan daripada sekadar menjalankan node arsip. Optimalisasi yang dilakukan pada infrastruktur off-chain berpotensi menurunkan biaya bagi pengguna akhir.
  • Blockchain khusus untuk penyimpanan: Brevis mengandalkan rollup ZK khusus (lapisan agregasi) untuk menyimpan semua header blok dari semua rantai yang dibuktikan. Tanpa lapisan agregasi ini, setiap rantai perlu menyimpan header blok untuk setiap rantai lainnya, sehingga menghasilkan “koneksi” O(N2) untuk N blockchain. Dengan memperkenalkan lapisan agregasi, setiap blockchain hanya perlu menyimpan root status untuk rollup, sehingga mengurangi keseluruhan koneksi menjadi O(N). Lapisan ini juga digunakan untuk menggabungkan beberapa bukti untuk header blok/hasil kueri dan satu bukti untuk verifikasi pada setiap blockchain yang terhubung dapat dikirimkan.
  • Pengiriman pesan L1-L2: Verifikasi konsensus rantai sumber dapat dihindari dalam kasus L2 karena L2 mendukung pesan asli untuk memperbarui kontrak L2 di L1. Cache dapat diperbarui pada Ethereum dan penyampaian pesan L1-L2 dapat digunakan untuk mengirim hash blok atau akar pohon yang dikompilasi secara off-chain ke L2 lain. Herodotus mengadopsi pendekatan ini tetapi ini tidak layak untuk alt L1.

Pengolahan data:

Selain akses ke data, kontrak pintar juga harus mampu melakukan penghitungan sewenang-wenang terhadap data. Meskipun beberapa kasus penggunaan mungkin tidak memerlukan komputasi, ini merupakan layanan bernilai tambah yang penting untuk banyak kasus penggunaan lainnya. Banyak penyedia layanan mengaktifkan komputasi pada data sebagai bukti komputasi yang dapat dihasilkan dan disediakan secara on-chain untuk validitas. Karena solusi AMP yang ada seperti Axelar, LayerZero, Polyhedra Network berpotensi digunakan untuk akses data, pemrosesan data dapat menjadi pembeda bagi penyedia layanan bukti penyimpanan.

Hyper Oracle, misalnya, memungkinkan pengembang untuk menentukan komputasi off-chain khusus dengan JavaScript. Brevis telah merancang pasar terbuka Mesin Kueri ZK yang menerima kueri data dari dApps, dan memprosesnya menggunakan header blok yang telah dibuktikan. Kontrak pintar mengirimkan permintaan data, yang diambil oleh pembukti dari pasar. Prover menghasilkan bukti berdasarkan masukan kueri, header blok yang relevan (dari lapisan agregasi Brevis), dan hasil. Lagrange telah memperkenalkan ZK Big Data Stack untuk membuktikan model pemrograman terdistribusi seperti SQL, MapReduce, dan Spark/RDD. Buktinya bersifat modular dan dapat dihasilkan dari header blok apa pun yang berasal dari jembatan lintas rantai dan protokol AMP yang ada. ZK MapReduce, produk pertama dalam tumpukan Lagrange ZK BigData, adalah mesin komputasi terdistribusi (berdasarkan model pemrograman MapReduce yang terkenal) untuk membuktikan hasil komputasi yang melibatkan kumpulan data multi-rantai yang cukup besar. Misalnya, satu bukti ZKMR dapat digunakan untuk membuktikan perubahan likuiditas DEX yang diterapkan pada 4–5 rantai selama jangka waktu tertentu. Untuk query yang relatif sederhana, komputasi juga dapat dilakukan secara langsung secara on-chain seperti yang dilakukan oleh Herodotus saat ini.

Pembuatan bukti:

  • Bukti yang dapat diperbarui: Bukti yang dapat diperbarui dapat digunakan ketika suatu bukti perlu dihitung dan dipelihara secara efisien pada aliran blok yang bergerak. Ketika dapp ingin mempertahankan bukti rata-rata pergerakan untuk variabel kontrak (seperti harga token), saat blok baru dibuat, tanpa menghitung ulang bukti baru dari awal, bukti yang ada dapat diperbarui secara efisien. Untuk membuktikan komputasi paralel data dinamis dalam keadaan on-chain, Lagrange membangun komitmen vektor batch, yang disebut Recproof, di atas sebagian MPT, memperbaruinya dengan cepat, dan menghitungnya secara dinamis. Dengan membuat pohon Verkle di atas MPT secara rekursif, Lagrange mampu menghitung sejumlah besar data keadaan on-chain dinamis secara efisien.
  • Pohon Verkle: Tidak seperti pohon Merkle, di mana kita perlu menyediakan semua node yang memiliki induk yang sama, Pohon Verkle hanya memerlukan jalur ke akar. Jalur ini jauh lebih kecil dibandingkan dengan semua simpul saudara pada kasus pohon Merkle. Ethereum juga menjajaki penggunaan pohon Verkle dalam rilis mendatang untuk meminimalkan jumlah status yang harus dimiliki oleh node penuh Ethereum. Brevis memanfaatkan Verkle Tree untuk menyimpan header blok dan hasil kueri yang dibuktikan di lapisan agregasi. Hal ini secara signifikan mengurangi ukuran bukti penyertaan data, terutama ketika pohon berisi sejumlah besar elemen, dan juga mendukung bukti penyertaan yang efisien untuk sekumpulan data.
  • Pemantauan Mempool untuk pembuatan bukti yang lebih cepat: Herodotus baru-baru ini mengumumkan turbo, yang memungkinkan pengembang menambahkan beberapa baris kode ke kode kontrak pintar mereka untuk menentukan kueri data. Herodotus memonitor mempool untuk transaksi kontrak pintar yang berinteraksi dengan kontrak turbo. Proses pembuatan bukti dimulai saat transaksi berada di mempool itu sendiri. Setelah bukti dibuat dan diverifikasi secara on-chain, hasilnya dituliskan ke dalam kontrak turbo swap on-chain. Hasil hanya dapat ditulis ke kontrak turbo swap setelah diautentikasi dengan bukti penyimpanan. Setelah ini terjadi, sebagian dari biaya transaksi dibagi dengan sequencer atau pembuat blok, sehingga memberi insentif kepada mereka untuk menunggu lebih lama untuk mengumpulkan biaya. Untuk kueri data sederhana, ada kemungkinan bahwa data yang diminta tersedia secara on-chain sebelum transaksi dari pengguna dimasukkan ke dalam blok.

Penerapan bukti negara/penyimpanan

Bukti status dan penyimpanan dapat membuka banyak kasus penggunaan baru untuk kontrak pintar pada lapisan aplikasi, middleware, dan infrastruktur. Beberapa di antaranya adalah:

Lapisan Aplikasi:

Tata Kelola:

  • Voting Lintas Rantai: Protokol pemungutan suara on-chain dapat memungkinkan pengguna di Rantai B untuk membuktikan kepemilikan aset di Rantai A. Pengguna tidak perlu menjembatani aset mereka untuk mendapatkan hak suara di rantai baru. Contoh: SnapshotX di Herodotus
  • Distribusi token tata kelola: Aplikasi dapat mendistribusikan lebih banyak token tata kelola kepada pengguna aktif atau pengguna awal. Contoh: RetroPGF di Lagrange

Identitas dan Reputasi:

  • Bukti kepemilikan: Pengguna dapat memberikan bukti kepemilikan NFT, SBT, atau aset tertentu di rantai A, sehingga memungkinkan mereka melakukan tindakan tertentu di Rantai B. Misalnya, rantai aplikasi game dapat memutuskan untuk meluncurkan koleksi NFT-nya di rantai lain dengan likuiditas yang ada seperti Ethereum atau L2 apa pun. Hal ini akan memungkinkan game untuk memanfaatkan likuiditas yang ada di tempat lain dan menjembatani utilitas NFT tanpa benar-benar memerlukan jembatan NFT.
  • Bukti penggunaan: Pengguna dapat diberikan diskon atau fitur premium berdasarkan riwayat penggunaan platform mereka (buktikan bahwa volume X yang diperdagangkan pengguna di Uniswap)
  • Bukti OG: Pengguna dapat membuktikan bahwa ia memiliki akun aktif yang berumur lebih dari X hari
  • Skor kredit on-chain: Platform skor kredit multichain dapat mengumpulkan data dari beberapa akun dari satu pengguna untuk menghasilkan skor kredit

Semua bukti di atas dapat digunakan untuk memberikan pengalaman yang disesuaikan kepada pengguna. Dapps dapat menawarkan diskon atau hak istimewa untuk mempertahankan pedagang atau pengguna berpengalaman dan menawarkan pengalaman pengguna yang disederhanakan untuk pengguna pemula.

definisi:

  • Pinjaman lintas rantai: Pengguna dapat mengunci aset di Rantai A dan mengambil pinjaman di Rantai B alih-alih menjembatani token
  • Asuransi on-chain: Kegagalan dapat ditentukan dengan mengakses data historis on-chain dan asuransi dapat diselesaikan sepenuhnya secara on-chain.
  • TWAP harga aset dalam kumpulan: Aplikasi dapat menghitung dan mengambil harga rata-rata suatu aset dalam kumpulan AMM selama periode waktu tertentu. Contoh: Uniswap TWAP Oracle dengan Axiom
  • Penetapan harga opsi: protokol opsi on-chain dapat menentukan harga opsi menggunakan volatilitas aset selama n blok terakhir di bursa terdesentralisasi.

Dua kasus penggunaan terakhir memerlukan bukti untuk diperbarui setiap kali blok baru ditambahkan ke rantai sumber.

Perangkat Tengah:

  • Maksud: Bukti penyimpanan akan memungkinkan pengguna menjadi lebih jelas dan jelas dengan maksud mereka. Meskipun tugas pemecah adalah menjalankan langkah-langkah yang diperlukan untuk memenuhi maksud pengguna, pengguna dapat menentukan kondisi dengan lebih jelas berdasarkan data dan parameter on-chain. Solver juga dapat membuktikan validitas data on-chain yang dimanfaatkan untuk menemukan solusi optimal.
  • Abstraksi Akun: Pengguna dapat mengandalkan data yang berasal dari rantai lain menggunakan bukti penyimpanan untuk menetapkan aturan melalui Abstraksi Akun. Contoh: Setiap dompet memiliki nonce. Kita dapat membuktikan bahwa satu tahun yang lalu, nonce adalah bilangan tertentu, dan saat ini nonce adalah sama. Hal ini dapat digunakan untuk membuktikan bahwa dompet ini belum digunakan sama sekali dan akses ke dompet tersebut selanjutnya dapat didelegasikan ke dompet lain.
  • Otomatisasi On-chain: Kontrak pintar dapat mengotomatiskan tindakan tertentu berdasarkan kondisi yang telah ditentukan sebelumnya yang bergantung pada data on-chain. Program otomatis diperlukan untuk memanggil kontrak pintar pada interval tertentu untuk menjaga aliran harga AMM yang optimal atau untuk menjaga protokol pinjaman tetap sehat dengan menghindari kredit macet. Hyper Oracle memungkinkan otomatisasi bersama dengan akses ke data on-chain.

Infrastruktur

  • Oracle on-chain yang tidak dapat dipercaya: Jaringan oracle terdesentralisasi mengumpulkan respons dari berbagai node oracle individu dalam jaringan oracle. Oracle Networks dapat menghilangkan redundansi ini dan memanfaatkan keamanan kriptografi untuk data on-chain. Jaringan Oracle dapat menyerap data dari beberapa rantai (L1, L2, dan alt L1) ke dalam satu rantai dan sekadar membuktikan keberadaannya menggunakan bukti penyimpanan di tempat lain. Solusi DeFi dengan daya tarik yang signifikan juga dapat digunakan pada solusi khusus. Misalnya, Lido Finance, penyedia staking likuiditas terbesar, telah bekerja sama dengan Nil Foundation, untuk mendanai pengembangan zkOracle. Solusi ini akan memungkinkan akses data tanpa kepercayaan ke data historis dalam EVM dan mengamankan $15 miliar dalam likuiditas Ethereum yang dipertaruhkan Lido Finance.
  • Protokol AMP: Solusi AMP yang ada dapat meningkatkan ekspresi pesan mereka dengan bermitra dengan penyedia layanan bukti penyimpanan. Ini adalah pendekatan yang disarankan oleh Lagrange dalam artikel Modular Thesis mereka.

Kesimpulan

Kesadaran memberdayakan perusahaan teknologi untuk melayani pelanggan mereka dengan lebih baik. Dari identitas pengguna hingga perilaku pembelian hingga grafik sosial, perusahaan teknologi memanfaatkan kesadaran untuk membuka kemampuan seperti penargetan yang presisi, segmentasi pelanggan, dan pemasaran viral. Perusahaan teknologi tradisional memerlukan izin eksplisit dari penggunanya dan harus berhati-hati saat mengelola data pengguna. Namun, semua data pengguna di blockchain tanpa izin tersedia untuk umum tanpa harus mengungkapkan identitas pengguna. Kontrak pintar harus dapat memanfaatkan data yang tersedia untuk umum untuk melayani pengguna dengan lebih baik. Pengembangan dan adopsi ekosistem yang lebih terspesialisasi akan membuat kesadaran negara dari waktu ke waktu dan blockchain menjadi masalah yang semakin penting untuk dipecahkan. Bukti penyimpanan dapat memungkinkan Ethereum muncul sebagai lapisan identitas dan kepemilikan aset serta menjadi lapisan penyelesaian. Pengguna dapat mempertahankan identitas dan aset utama mereka di Ethereum yang dapat digunakan di banyak blockchain tanpa selalu menjembatani aset. Kami terus bersemangat dengan kemungkinan-kemungkinan baru dan kasus-kasus penggunaan yang akan terbuka di masa depan.

Penafian:

  1. Artikel ini dicetak ulang dari [medium]. Semua hak cipta milik penulis asli [LongHash Ventures]. Jika ada keberatan terhadap cetak ulang ini, silakan menghubungi tim Gate Learn , dan mereka akan segera menanganinya.
  2. Penafian Tanggung Jawab: Pandangan dan pendapat yang diungkapkan dalam artikel ini adalah sepenuhnya milik penulis dan bukan merupakan nasihat investasi apa pun.
  3. Terjemahan artikel ke bahasa lain dilakukan oleh tim Gate Learn. Kecuali disebutkan, dilarang menyalin, mendistribusikan, atau menjiplak artikel terjemahan.

Bukti penyimpanan: Mencapai kesadaran negara melintasi waktu dan rantai

Lanjutan12/26/2023, 1:49:48 AM
Artikel ini menjelaskan cara menggunakan bukti penyimpanan untuk transmisi informasi dan pemrosesan data, dan menerapkannya di berbagai bidang seperti tata kelola lintas rantai, pinjaman lintas rantai, dan oracle multi-rantai.

Pengantar

Bagaimana jika Anda kehilangan ingatan setiap jam? Dan Anda harus terus-menerus meminta seseorang untuk memberi tahu Anda apa yang telah Anda lakukan? Itulah kondisi kontrak pintar saat ini. Pada blockchain seperti Ethereum, kontrak pintar tidak dapat mengakses negara di luar 256 blok secara langsung. Masalah ini semakin diperburuk dalam ekosistem multi-rantai, di mana pengambilan dan verifikasi data di berbagai lapisan eksekusi menjadi lebih sulit.

Pada tahun 2020, Vitalik Buterin dan Tomasz Stanczak mengusulkan cara untuk mengakses data sepanjang waktu. Meskipun EIP mengalami stagnasi, kebutuhannya muncul kembali di dunia multi-rantai yang berpusat pada roll-up. Saat ini, bukti penyimpanan telah muncul sebagai garda depan, untuk memberikan kesadaran dan memori pada kontrak pintar.

Mengakses data on-chain

Ada sejumlah cara dapps dapat mengakses data dan status. Semua pendekatan mengharuskan aplikasi untuk menaruh kepercayaan pada manusia/entitas atau keamanan atau kode ekonomi kripto dan memiliki beberapa trade-off:

Kepercayaan pada manusia/entitas:

  • Node arsip: Operator dapat menjalankan sendiri node arsip atau mengandalkan penyedia layanan node arsip seperti Alchemy atau Infura untuk mengakses semua data sejak blok Genesis. Mereka menyediakan semua data yang sama seperti Full Node tetapi juga semua data status historis dari keseluruhan blockchain. Layanan off-chain seperti Etherscan dan Dune Analytics menggunakan node arsip untuk mengakses data on-chain. Aktor di luar rantai dapat membuktikan validitas data ini, dan kontrak pintar on-chain dapat memverifikasi bahwa data tersebut ditandatangani oleh aktor/komite tepercaya. Integritas data yang mendasarinya tidak diverifikasi. Pendekatan ini mengharuskan dapp untuk percaya bahwa penyedia layanan simpul arsip menjalankan infrastruktur dengan benar dan tanpa niat jahat.

Percayai keamanan ekonomi Crypto:

  • Pengindeks: Protokol pengindeksan mengatur semua data di Blockchain, memungkinkan pengembang untuk membangun dan menerbitkan API terbuka yang dapat ditanyakan oleh aplikasi. Pengindeks individu adalah operator simpul yang mempertaruhkan token untuk menyediakan layanan pengindeksan dan pemrosesan kueri. Namun perselisihan dapat terjadi bila data yang disajikan salah dan proses arbitrase dapat memakan waktu. Selain itu, data dari pengindeks seperti The Graph tidak dapat langsung dimanfaatkan oleh logika bisnis kontrak pintar dan digunakan dalam konteks analitik data berbasis web2.
  • Oracles: Penyedia layanan Oracle menggunakan data yang dikumpulkan dari banyak operator node independen. Tantangannya di sini adalah data yang tersedia dari Oracles mungkin tidak sering diperbarui dan cakupannya terbatas. Oracle seperti Chainlink biasanya hanya mempertahankan status tertentu, seperti feed harga, dan untuk status serta riwayat khusus aplikasi, hal tersebut tidak memungkinkan. Selain itu, pendekatan ini juga menimbulkan tingkat deviasi tertentu pada data dan memerlukan kepercayaan pada operator node.

Kode Kepercayaan:

  • Variabel dan Fungsi Khusus: Blockchain seperti Ethereum memiliki variabel dan fungsi khusus yang terutama digunakan untuk memberikan informasi tentang blockchain atau merupakan fungsi utilitas penggunaan umum. Kontrak pintar hanya dapat mengakses hash blok dari 256 blok terbaru. Hash blok tidak tersedia untuk semua blok karena alasan skalabilitas. Memiliki akses ke hash blok historis akan berguna karena memungkinkan verifikasi bukti terhadap hash tersebut. Tidak ada opcode dalam eksekusi EVM yang memungkinkan akses ke konten blok lama atau konten transaksi sebelumnya atau output tanda terima, sehingga node dapat dengan aman melupakan hal-hal tersebut dan masih dapat memproses blok baru. Metode ini juga terbatas pada satu blockchain saja.

Mengingat tantangan dan keterbatasan solusi ini, terdapat kebutuhan yang jelas untuk menyimpan dan menyediakan hash blok secara on-chain. Di sinilah bukti penyimpanan berperan. Untuk lebih memahami bukti penyimpanan, mari kita lihat sekilas penyimpanan data di blockchain.

Penyimpanan data dalam blockchain

Blockchain adalah database publik yang diperbarui dan dibagikan ke banyak komputer dalam suatu jaringan. Data dan status disimpan dalam grup berurutan yang disebut blok dan setiap blok secara kriptografis mereferensikan induknya dengan menyimpan hash dari header blok sebelumnya.

Mari kita ambil blok Ethereum sebagai contoh. Ethereum memanfaatkan jenis pohon Merkle tertentu yang dikenal sebagai “pohon Merkle Patricia” (MPT). Header blok Ethereum berisi akar dari empat percobaan Merkle-Patricia yang berbeda, yaitu Tri negara, Trie penyimpanan, Trie penerimaan, dan Trie Transaksi. Keempat upaya ini menyandikan pemetaan yang mencakup semua data Ethereum. Merkle Trees digunakan karena efisiensinya dalam penyimpanan data. Dengan menggunakan hash rekursif, hanya hash root yang perlu disimpan, sehingga menghemat banyak ruang. Mereka mengizinkan siapa saja untuk membuktikan keberadaan suatu elemen di pohon dengan membuktikan bahwa hashing node secara rekursif akan menghasilkan hash root yang sama. Bukti Merkle memungkinkan klien ringan di Ethereum mendapatkan jawaban atas pertanyaan seperti:

  • Apakah transaksi ini ada di blok tertentu?
  • Berapa saldo akun saya saat ini?
  • Apakah akun ini ada?

Daripada mengunduh setiap transaksi dan setiap blok, “klien ringan” hanya dapat mengunduh rangkaian header blok dan memverifikasi informasi menggunakan Merkle Proofs. Hal ini membuat keseluruhan proses menjadi sangat efisien. Lihat blog artikel penelitian Vitalik dan Maven11 ini untuk lebih memahami implementasi, keuntungan, dan tantangan yang terkait dengan Merkle Trees.

Bukti Penyimpanan

Bukti penyimpanan memungkinkan kami membuktikan bahwa ada sesuatu yang dilakukan dalam database dan juga valid menggunakan komitmen kriptografi. Jika kami dapat memberikan bukti tersebut, maka ini adalah klaim yang dapat diverifikasi bahwa sesuatu telah terjadi di blockchain.

Apa yang dapat diaktifkan oleh bukti penyimpanan?

Bukti penyimpanan mengizinkan dua fungsi utama:

  1. Akses data historis on-chain di luar 256 blok terakhir, hingga kembali ke blok genesis
  2. Akses data on-chain (historis dan terkini) dari satu blockchain pada blockchain lain dengan bantuan verifikasi konsensus atau jembatan L1-L2 jika terjadi L2

Bagaimana fungsi bukti penyimpanan?

Bukti penyimpanan pada tingkat yang sangat tinggi memeriksa apakah blok tertentu adalah bagian dari sejarah kanonik blockchain dan kemudian memverifikasi apakah data spesifik yang diminta adalah bagian dari blok tersebut. Hal ini dapat dicapai melalui:

  • Pemrosesan on-chain: dapps dapat mengambil blok tepercaya awal, meneruskan blok tersebut sebagai data panggilan untuk mengakses blok sebelumnya, dan melintasi kembali ke blok genesis. Hal ini memerlukan banyak komputasi on-chain dan data panggilan dalam jumlah besar. Pendekatan ini sama sekali tidak layak dilakukan karena banyaknya komputasi yang diperlukan secara on-chain. Aragon mencoba menggunakan pendekatan on-chain pada tahun 2018, tetapi hal itu tidak dapat dilakukan karena biaya on-chain yang tinggi.
  • Menggunakan bukti ZK: Pendekatannya mirip dengan pemrosesan on-chain kecuali fakta bahwa pembuktian ZK digunakan untuk memindahkan komputasi kompleks ke luar rantai.
  1. Mengakses data pada rantai yang sama: Bukti ZK dapat digunakan untuk menegaskan bahwa header blok historis yang berubah-ubah adalah nenek moyang dari salah satu dari 256 header blok terbaru yang dapat diakses dalam lingkungan eksekusi. Pendekatan lainnya adalah dengan mengindeks seluruh riwayat rantai sumber dan menghasilkan bukti ZK untuk membuktikan bahwa pengindeksan terjadi dengan benar. Bukti ini diperbarui secara berkala saat blok baru ditambahkan ke rantai sumber. Mengakses data lintas rantai: Penyedia mengumpulkan header blok dari rantai sumber pada rantai tujuan dan membuktikan validitas header blok ini menggunakan bukti konsensus ZK. Dimungkinkan juga untuk menggunakan solusi AMP yang sudah ada seperti Axelar, Celer, atau LayerZero untuk menanyakan header blok.
  2. Cache hash header blok rantai sumber, atau hash akar akumulator hash blok off-chain, disimpan di rantai tujuan. Cache ini diperbarui secara berkala dan digunakan untuk membuktikan secara efisien secara on-chain bahwa blok tertentu ada dan memiliki hubungan kriptografis dengan hash blok terbaru yang dapat diakses dari negara. Proses ini dikenal dengan pembuktian kesinambungan rantai. Dimungkinkan juga untuk menggunakan blockchain khusus untuk menyimpan header blok dari semua rantai sumber.
  3. Data/blok historis diakses dari data terindeks off-chain atau cache on-chain (tergantung pada kompleksitas permintaan) seperti yang diminta oleh dapp pada rantai tujuan. Meskipun cache dari hash header blok dipertahankan secara on-chain, data sebenarnya mungkin disimpan secara off-chain.
  4. Keberadaan data di blok tertentu diperiksa melalui bukti penyertaan merkle dan bukti zk untuk hal yang sama dihasilkan. Bukti ini digabungkan dengan bukti zk pengindeksan yang benar atau bukti konsensus ZK dan bukti tersebut tersedia secara on-chain untuk verifikasi yang tidak dapat dipercaya.
  5. Dapps kemudian dapat memverifikasi bukti ini secara on-chain dan menggunakan data tersebut untuk menjalankan tindakan yang diinginkan. Bersamaan dengan verifikasi bukti ZK, parameter publik seperti nomor blok dan hash blok diperiksa terhadap cache header blok yang dikelola secara on-chain.

Beberapa proyek yang mengadopsi pendekatan ini adalah Herodotus, Lagrange, Axiom, Hyper Oracle, Brevis Network, dan nil foundation. Sementara upaya signifikan sedang dilakukan untuk membuat aplikasi sadar negara di berbagai blockchain, IBC (Inter Blockchain Communication) menonjol sebagai standar interoperabilitas yang memungkinkan aplikasi seperti ICQ (Interchain queries) dan ICA (Interchain account). ICQ memungkinkan aplikasi pada Rantai A untuk menanyakan keadaan rantai B dengan memasukkan kueri dalam paket IBC sederhana dan ICA memungkinkan satu blockchain untuk mengontrol akun di blockchain lain dengan aman. Menggabungkannya dapat memungkinkan kasus penggunaan lintas rantai yang menarik. Penyedia RaaS seperti Saga menawarkan fungsi ini ke semua rantai aplikasi mereka secara default dengan menggunakan IBC.

Ada banyak cara di mana bukti penyimpanan dapat dioptimalkan untuk menemukan keseimbangan yang tepat antara konsumsi memori, waktu pembuktian, waktu verifikasi, efisiensi komputasi, dan pengalaman pengembang. Proses keseluruhan secara garis besar dapat dibagi menjadi 3 sub-proses utama.

  • Akses data
  • Pengolahan data
  • Pembuatan ZK Proof untuk akses dan pemrosesan data

Akses data: Dalam subproses ini, penyedia layanan mengakses header blok rantai sumber secara asli pada lapisan eksekusi atau melalui pemeliharaan cache on-chain. Untuk akses data lintas rantai, verifikasi konsensus rantai sumber pada rantai tujuan diperlukan. Beberapa pendekatan dan optimalisasi yang diadopsi antara lain:

  • Blockchain Ethereum yang Ada: Struktur blockchain Ethereum yang ada dapat digunakan untuk membuktikan nilai slot penyimpanan historis apa pun sehubungan dengan blockheader saat ini menggunakan ZKP. Ini dapat dianggap sebagai salah satu bukti inklusi yang besar. Ini adalah bukti bahwa, mengingat header blok baru-baru ini X pada ketinggian b, terdapat blockheader Y yang merupakan nenek moyang dari X pada ketinggian bk. Hal ini didasarkan pada keamanan konsensus Ethereum dan memerlukan sistem yang terbukti cepat untuk efisiensi. Ini adalah pendekatan yang digunakan oleh Lagrange.
  • Cache Pegunungan Merkle (MMR) dalam rantai: Pegunungan Merkle dapat dilihat sebagai daftar pohon Merkle tempat masing-masing pohon Merkle digabungkan ketika dua pohon mencapai ukuran yang sama. Masing-masing pohon Merkle di MMR digabungkan dengan menambahkan simpul induk ke akar pohon sebelumnya. MMR adalah struktur data yang mirip dengan pohon Merkle dengan beberapa manfaat tambahan, seperti penambahan elemen yang efisien dan kueri data yang efisien, terutama saat membaca data berurutan dari kumpulan data besar. Menambahkan header baru melalui pohon Merkle memerlukan penerusan semua node saudara di setiap level. Untuk menambahkan data secara efisien, Axiom menggunakan MMR untuk memelihara cache hash header blok on-chain. Herodotus menyimpan hash root dari akumulator hash blok MMR secara on-chain. Hal ini memungkinkan mereka untuk memeriksa data yang diambil terhadap hash header blok ini melalui bukti penyertaan. Pendekatan ini mengharuskan cache diperbarui secara berkala dan menimbulkan masalah keaktifan jika tidak didesentralisasi.
  • Herodotus mempertahankan dua MMR yang berbeda. Bergantung pada blockchain atau lapisan tertentu, akumulator dapat disesuaikan untuk memanfaatkan fungsi hashing yang berbeda, mengoptimalkan efisiensi dan biaya komputasi. Untuk pembuktian di Starknet, hash poseidon mungkin digunakan tetapi hash Keccack mungkin digunakan untuk rantai EVM.
  • Cache MMR off-chain: Herodotus memelihara cache off-chain dari kueri dan hasil yang diambil sebelumnya untuk memungkinkan pengambilan lebih cepat jika data diminta lagi. Hal ini memerlukan infrastruktur tambahan daripada sekadar menjalankan node arsip. Optimalisasi yang dilakukan pada infrastruktur off-chain berpotensi menurunkan biaya bagi pengguna akhir.
  • Blockchain khusus untuk penyimpanan: Brevis mengandalkan rollup ZK khusus (lapisan agregasi) untuk menyimpan semua header blok dari semua rantai yang dibuktikan. Tanpa lapisan agregasi ini, setiap rantai perlu menyimpan header blok untuk setiap rantai lainnya, sehingga menghasilkan “koneksi” O(N2) untuk N blockchain. Dengan memperkenalkan lapisan agregasi, setiap blockchain hanya perlu menyimpan root status untuk rollup, sehingga mengurangi keseluruhan koneksi menjadi O(N). Lapisan ini juga digunakan untuk menggabungkan beberapa bukti untuk header blok/hasil kueri dan satu bukti untuk verifikasi pada setiap blockchain yang terhubung dapat dikirimkan.
  • Pengiriman pesan L1-L2: Verifikasi konsensus rantai sumber dapat dihindari dalam kasus L2 karena L2 mendukung pesan asli untuk memperbarui kontrak L2 di L1. Cache dapat diperbarui pada Ethereum dan penyampaian pesan L1-L2 dapat digunakan untuk mengirim hash blok atau akar pohon yang dikompilasi secara off-chain ke L2 lain. Herodotus mengadopsi pendekatan ini tetapi ini tidak layak untuk alt L1.

Pengolahan data:

Selain akses ke data, kontrak pintar juga harus mampu melakukan penghitungan sewenang-wenang terhadap data. Meskipun beberapa kasus penggunaan mungkin tidak memerlukan komputasi, ini merupakan layanan bernilai tambah yang penting untuk banyak kasus penggunaan lainnya. Banyak penyedia layanan mengaktifkan komputasi pada data sebagai bukti komputasi yang dapat dihasilkan dan disediakan secara on-chain untuk validitas. Karena solusi AMP yang ada seperti Axelar, LayerZero, Polyhedra Network berpotensi digunakan untuk akses data, pemrosesan data dapat menjadi pembeda bagi penyedia layanan bukti penyimpanan.

Hyper Oracle, misalnya, memungkinkan pengembang untuk menentukan komputasi off-chain khusus dengan JavaScript. Brevis telah merancang pasar terbuka Mesin Kueri ZK yang menerima kueri data dari dApps, dan memprosesnya menggunakan header blok yang telah dibuktikan. Kontrak pintar mengirimkan permintaan data, yang diambil oleh pembukti dari pasar. Prover menghasilkan bukti berdasarkan masukan kueri, header blok yang relevan (dari lapisan agregasi Brevis), dan hasil. Lagrange telah memperkenalkan ZK Big Data Stack untuk membuktikan model pemrograman terdistribusi seperti SQL, MapReduce, dan Spark/RDD. Buktinya bersifat modular dan dapat dihasilkan dari header blok apa pun yang berasal dari jembatan lintas rantai dan protokol AMP yang ada. ZK MapReduce, produk pertama dalam tumpukan Lagrange ZK BigData, adalah mesin komputasi terdistribusi (berdasarkan model pemrograman MapReduce yang terkenal) untuk membuktikan hasil komputasi yang melibatkan kumpulan data multi-rantai yang cukup besar. Misalnya, satu bukti ZKMR dapat digunakan untuk membuktikan perubahan likuiditas DEX yang diterapkan pada 4–5 rantai selama jangka waktu tertentu. Untuk query yang relatif sederhana, komputasi juga dapat dilakukan secara langsung secara on-chain seperti yang dilakukan oleh Herodotus saat ini.

Pembuatan bukti:

  • Bukti yang dapat diperbarui: Bukti yang dapat diperbarui dapat digunakan ketika suatu bukti perlu dihitung dan dipelihara secara efisien pada aliran blok yang bergerak. Ketika dapp ingin mempertahankan bukti rata-rata pergerakan untuk variabel kontrak (seperti harga token), saat blok baru dibuat, tanpa menghitung ulang bukti baru dari awal, bukti yang ada dapat diperbarui secara efisien. Untuk membuktikan komputasi paralel data dinamis dalam keadaan on-chain, Lagrange membangun komitmen vektor batch, yang disebut Recproof, di atas sebagian MPT, memperbaruinya dengan cepat, dan menghitungnya secara dinamis. Dengan membuat pohon Verkle di atas MPT secara rekursif, Lagrange mampu menghitung sejumlah besar data keadaan on-chain dinamis secara efisien.
  • Pohon Verkle: Tidak seperti pohon Merkle, di mana kita perlu menyediakan semua node yang memiliki induk yang sama, Pohon Verkle hanya memerlukan jalur ke akar. Jalur ini jauh lebih kecil dibandingkan dengan semua simpul saudara pada kasus pohon Merkle. Ethereum juga menjajaki penggunaan pohon Verkle dalam rilis mendatang untuk meminimalkan jumlah status yang harus dimiliki oleh node penuh Ethereum. Brevis memanfaatkan Verkle Tree untuk menyimpan header blok dan hasil kueri yang dibuktikan di lapisan agregasi. Hal ini secara signifikan mengurangi ukuran bukti penyertaan data, terutama ketika pohon berisi sejumlah besar elemen, dan juga mendukung bukti penyertaan yang efisien untuk sekumpulan data.
  • Pemantauan Mempool untuk pembuatan bukti yang lebih cepat: Herodotus baru-baru ini mengumumkan turbo, yang memungkinkan pengembang menambahkan beberapa baris kode ke kode kontrak pintar mereka untuk menentukan kueri data. Herodotus memonitor mempool untuk transaksi kontrak pintar yang berinteraksi dengan kontrak turbo. Proses pembuatan bukti dimulai saat transaksi berada di mempool itu sendiri. Setelah bukti dibuat dan diverifikasi secara on-chain, hasilnya dituliskan ke dalam kontrak turbo swap on-chain. Hasil hanya dapat ditulis ke kontrak turbo swap setelah diautentikasi dengan bukti penyimpanan. Setelah ini terjadi, sebagian dari biaya transaksi dibagi dengan sequencer atau pembuat blok, sehingga memberi insentif kepada mereka untuk menunggu lebih lama untuk mengumpulkan biaya. Untuk kueri data sederhana, ada kemungkinan bahwa data yang diminta tersedia secara on-chain sebelum transaksi dari pengguna dimasukkan ke dalam blok.

Penerapan bukti negara/penyimpanan

Bukti status dan penyimpanan dapat membuka banyak kasus penggunaan baru untuk kontrak pintar pada lapisan aplikasi, middleware, dan infrastruktur. Beberapa di antaranya adalah:

Lapisan Aplikasi:

Tata Kelola:

  • Voting Lintas Rantai: Protokol pemungutan suara on-chain dapat memungkinkan pengguna di Rantai B untuk membuktikan kepemilikan aset di Rantai A. Pengguna tidak perlu menjembatani aset mereka untuk mendapatkan hak suara di rantai baru. Contoh: SnapshotX di Herodotus
  • Distribusi token tata kelola: Aplikasi dapat mendistribusikan lebih banyak token tata kelola kepada pengguna aktif atau pengguna awal. Contoh: RetroPGF di Lagrange

Identitas dan Reputasi:

  • Bukti kepemilikan: Pengguna dapat memberikan bukti kepemilikan NFT, SBT, atau aset tertentu di rantai A, sehingga memungkinkan mereka melakukan tindakan tertentu di Rantai B. Misalnya, rantai aplikasi game dapat memutuskan untuk meluncurkan koleksi NFT-nya di rantai lain dengan likuiditas yang ada seperti Ethereum atau L2 apa pun. Hal ini akan memungkinkan game untuk memanfaatkan likuiditas yang ada di tempat lain dan menjembatani utilitas NFT tanpa benar-benar memerlukan jembatan NFT.
  • Bukti penggunaan: Pengguna dapat diberikan diskon atau fitur premium berdasarkan riwayat penggunaan platform mereka (buktikan bahwa volume X yang diperdagangkan pengguna di Uniswap)
  • Bukti OG: Pengguna dapat membuktikan bahwa ia memiliki akun aktif yang berumur lebih dari X hari
  • Skor kredit on-chain: Platform skor kredit multichain dapat mengumpulkan data dari beberapa akun dari satu pengguna untuk menghasilkan skor kredit

Semua bukti di atas dapat digunakan untuk memberikan pengalaman yang disesuaikan kepada pengguna. Dapps dapat menawarkan diskon atau hak istimewa untuk mempertahankan pedagang atau pengguna berpengalaman dan menawarkan pengalaman pengguna yang disederhanakan untuk pengguna pemula.

definisi:

  • Pinjaman lintas rantai: Pengguna dapat mengunci aset di Rantai A dan mengambil pinjaman di Rantai B alih-alih menjembatani token
  • Asuransi on-chain: Kegagalan dapat ditentukan dengan mengakses data historis on-chain dan asuransi dapat diselesaikan sepenuhnya secara on-chain.
  • TWAP harga aset dalam kumpulan: Aplikasi dapat menghitung dan mengambil harga rata-rata suatu aset dalam kumpulan AMM selama periode waktu tertentu. Contoh: Uniswap TWAP Oracle dengan Axiom
  • Penetapan harga opsi: protokol opsi on-chain dapat menentukan harga opsi menggunakan volatilitas aset selama n blok terakhir di bursa terdesentralisasi.

Dua kasus penggunaan terakhir memerlukan bukti untuk diperbarui setiap kali blok baru ditambahkan ke rantai sumber.

Perangkat Tengah:

  • Maksud: Bukti penyimpanan akan memungkinkan pengguna menjadi lebih jelas dan jelas dengan maksud mereka. Meskipun tugas pemecah adalah menjalankan langkah-langkah yang diperlukan untuk memenuhi maksud pengguna, pengguna dapat menentukan kondisi dengan lebih jelas berdasarkan data dan parameter on-chain. Solver juga dapat membuktikan validitas data on-chain yang dimanfaatkan untuk menemukan solusi optimal.
  • Abstraksi Akun: Pengguna dapat mengandalkan data yang berasal dari rantai lain menggunakan bukti penyimpanan untuk menetapkan aturan melalui Abstraksi Akun. Contoh: Setiap dompet memiliki nonce. Kita dapat membuktikan bahwa satu tahun yang lalu, nonce adalah bilangan tertentu, dan saat ini nonce adalah sama. Hal ini dapat digunakan untuk membuktikan bahwa dompet ini belum digunakan sama sekali dan akses ke dompet tersebut selanjutnya dapat didelegasikan ke dompet lain.
  • Otomatisasi On-chain: Kontrak pintar dapat mengotomatiskan tindakan tertentu berdasarkan kondisi yang telah ditentukan sebelumnya yang bergantung pada data on-chain. Program otomatis diperlukan untuk memanggil kontrak pintar pada interval tertentu untuk menjaga aliran harga AMM yang optimal atau untuk menjaga protokol pinjaman tetap sehat dengan menghindari kredit macet. Hyper Oracle memungkinkan otomatisasi bersama dengan akses ke data on-chain.

Infrastruktur

  • Oracle on-chain yang tidak dapat dipercaya: Jaringan oracle terdesentralisasi mengumpulkan respons dari berbagai node oracle individu dalam jaringan oracle. Oracle Networks dapat menghilangkan redundansi ini dan memanfaatkan keamanan kriptografi untuk data on-chain. Jaringan Oracle dapat menyerap data dari beberapa rantai (L1, L2, dan alt L1) ke dalam satu rantai dan sekadar membuktikan keberadaannya menggunakan bukti penyimpanan di tempat lain. Solusi DeFi dengan daya tarik yang signifikan juga dapat digunakan pada solusi khusus. Misalnya, Lido Finance, penyedia staking likuiditas terbesar, telah bekerja sama dengan Nil Foundation, untuk mendanai pengembangan zkOracle. Solusi ini akan memungkinkan akses data tanpa kepercayaan ke data historis dalam EVM dan mengamankan $15 miliar dalam likuiditas Ethereum yang dipertaruhkan Lido Finance.
  • Protokol AMP: Solusi AMP yang ada dapat meningkatkan ekspresi pesan mereka dengan bermitra dengan penyedia layanan bukti penyimpanan. Ini adalah pendekatan yang disarankan oleh Lagrange dalam artikel Modular Thesis mereka.

Kesimpulan

Kesadaran memberdayakan perusahaan teknologi untuk melayani pelanggan mereka dengan lebih baik. Dari identitas pengguna hingga perilaku pembelian hingga grafik sosial, perusahaan teknologi memanfaatkan kesadaran untuk membuka kemampuan seperti penargetan yang presisi, segmentasi pelanggan, dan pemasaran viral. Perusahaan teknologi tradisional memerlukan izin eksplisit dari penggunanya dan harus berhati-hati saat mengelola data pengguna. Namun, semua data pengguna di blockchain tanpa izin tersedia untuk umum tanpa harus mengungkapkan identitas pengguna. Kontrak pintar harus dapat memanfaatkan data yang tersedia untuk umum untuk melayani pengguna dengan lebih baik. Pengembangan dan adopsi ekosistem yang lebih terspesialisasi akan membuat kesadaran negara dari waktu ke waktu dan blockchain menjadi masalah yang semakin penting untuk dipecahkan. Bukti penyimpanan dapat memungkinkan Ethereum muncul sebagai lapisan identitas dan kepemilikan aset serta menjadi lapisan penyelesaian. Pengguna dapat mempertahankan identitas dan aset utama mereka di Ethereum yang dapat digunakan di banyak blockchain tanpa selalu menjembatani aset. Kami terus bersemangat dengan kemungkinan-kemungkinan baru dan kasus-kasus penggunaan yang akan terbuka di masa depan.

Penafian:

  1. Artikel ini dicetak ulang dari [medium]. Semua hak cipta milik penulis asli [LongHash Ventures]. Jika ada keberatan terhadap cetak ulang ini, silakan menghubungi tim Gate Learn , dan mereka akan segera menanganinya.
  2. Penafian Tanggung Jawab: Pandangan dan pendapat yang diungkapkan dalam artikel ini adalah sepenuhnya milik penulis dan bukan merupakan nasihat investasi apa pun.
  3. Terjemahan artikel ke bahasa lain dilakukan oleh tim Gate Learn. Kecuali disebutkan, dilarang menyalin, mendistribusikan, atau menjiplak artikel terjemahan.
Mulai Sekarang
Daftar dan dapatkan Voucher
$100
!