Permainan keluar untuk validasi EVM: kembalinya Plasma

Menengah3/1/2024, 6:59:34 AM
Artikel ini memberikan penjelasan oleh Vitalik tentang cara kerja Plasma, tantangan yang dihadapi oleh NFT, tantangan yang dihadapi oleh EVM, dan bagaimana Bukti Validitas dapat mengurangi banyak masalah ini.

Terima kasih khusus kepada Karl Floersch, Georgios Konstantopoulos dan Martin Koppelmann atas umpan balik, ulasan dan diskusinya.

Plasma adalah sebuah kelas solusi penskalaan blockchain yang memungkinkan semua data dan komputasi, kecuali untuk setoran, penarikan, dan akar Merkle, disimpan di luar rantai. Hal ini membuka pintu untuk mendapatkan keuntungan skalabilitas yang sangat besar yang tidak terhambat oleh ketersediaan data on-chain. Plasma pertama kali ditemukan pada tahun 2017, dan mengalami banyak iterasi pada tahun 2018, terutama Minimal Viable Plasma, Plasma Cash, Plasma Cashflow, dan Plasma Prime. Sayangnya, Plasma sebagian besar telah digantikan oleh rollup, karena alasan yang terutama berkaitan dengan (i) biaya penyimpanan data sisi klien yang besar, dan (ii) keterbatasan mendasar dari Plasma yang membuatnya <a href="https://medium.com/@kelvinfichter/mengapa-evm-pada-plasma-sulit-bf2d99c48df7"> sulit digeneralisasi di luar pembayaran.

Munculnya bukti validitas (alias ZK-SNARK) memberi kita alasan untuk memikirkan kembali keputusan ini. Tantangan terbesar dalam membuat Plasma berfungsi untuk pembayaran, penyimpanan data di sisi klien, dapat diatasi secara efisien dengan bukti validitas. Selain itu, bukti validitas menyediakan beragam alat yang memungkinkan kami membuat rantai seperti Plasma yang menjalankan EVM. Jaminan keamanan Plasma tidak akan mencakup semua pengguna, karena alasan mendasar di balik ketidakmungkinan memperluas permainan keluar gaya Plasma ke berbagai jenis aplikasi yang kompleks masih tetap ada. Namun, dalam praktiknya, persentase aset yang sangat besar tetap dapat dijaga keamanannya.

Tulisan ini menjelaskan bagaimana ide Plasma dapat diperluas untuk melakukan hal seperti itu.

Gambaran umum: cara kerja Plasma

Versi Plasma yang paling sederhana untuk dipahami adalah Plasma Cash. Plasma Cash bekerja dengan memperlakukan setiap koin sebagai NFT terpisah, dan melacak riwayat terpisah untuk setiap koin. Rantai Plasma memiliki operator, yang bertanggung jawab untuk membuat dan menerbitkan blok secara teratur. Transaksi di setiap blok disimpan sebagai sebuah pohon Merkle yang jarang: jika sebuah transaksi memindahkan kepemilikan koin k, maka koin tersebut akan muncul di posisi k pada pohon. Ketika operator rantai Plasma membuat blok baru, mereka mempublikasikan akar pohon Merkle ke rantai, dan mereka secara langsung mengirimkan kepada setiap pengguna cabang Merkle yang sesuai dengan koin yang dimiliki oleh pengguna tersebut.

Misalkan ini adalah tiga pohon transaksi terakhir dalam rantai Kas Plasma. Kemudian, dengan asumsi semua pohon sebelumnya valid, kita tahu bahwa Eve saat ini memiliki koin 1, David memiliki koin 4, dan George memiliki koin 6.

Risiko utama dalam sistem Plasma adalah operator yang berperilaku buruk. Hal ini dapat terjadi dalam dua cara:

  1. Menerbitkan blok yang tidak valid (contoh: operator memasukkan transaksi yang mengirimkan koin 1 dari Fred ke Hermione meskipun Fred tidak memiliki koin tersebut pada saat itu)
  2. Menerbitkan blok yang tidak tersedia (contoh: operator tidak mengirimkan cabang Merkle-nya kepada Bob untuk salah satu blok, sehingga ia tidak dapat membuktikan kepada orang lain bahwa koinnya masih valid dan belum digunakan)

Jika operator berperilaku buruk dengan cara yang relevan dengan aset pengguna, pengguna bertanggung jawab untuk segera keluar (khususnya, dalam waktu 7 hari). Ketika seorang pengguna ("yang keluar") keluar, mereka memberikan cabang Merkle yang membuktikan adanya transaksi yang mentransfer koin tersebut dari pemilik sebelumnya kepada mereka. Ini memulai periode tantangan 7 hari, di mana orang lain dapat menantang jalan keluar tersebut dengan memberikan bukti Merkle dari salah satu dari tiga hal:

  1. Bukan pemilik terakhir: transaksi selanjutnya yang ditandatangani oleh exiter yang mentransfer koin exiter ke orang lain
  2. Double spend: transaksi yang mentransfer koin dari pemilik sebelumnya ke orang lain, yang disertakan sebelum transaksi yang mentransfer koin ke exiter
  3. Riwayat tidak valid: transaksi yang mentransfer koin sebelumnya (dalam 7 hari terakhir) yang tidak memiliki pembelanjaan yang sesuai. Pengeksit dapat merespons dengan memberikan pengeluaran yang sesuai; jika tidak, jalan keluar akan gagal.

Dengan aturan ini, siapa pun yang memiliki koin k perlu melihat semua cabang Merkle dari posisi k di semua pohon historis selama seminggu terakhir untuk memastikan bahwa mereka benar-benar memiliki koin k dan dapat keluar dari sana. Mereka harus menyimpan semua cabang yang berisi transfer aset, sehingga mereka dapat menanggapi tantangan dan keluar dengan aman dengan koin mereka.

Menggeneralisasi ke token yang dapat dipertukarkan

Desain di atas berfungsi untuk NFT. Namun, yang jauh lebih umum daripada NFT adalah token yang dapat dipertukarkan, seperti ETH dan USDC. Salah satu cara untuk menerapkan Plasma Cash ke token yang dapat dipertukarkan adalah dengan membuat setiap denominasi kecil koin (mis. 0,01 ETH) NFT yang terpisah. Sayangnya, biaya gas untuk keluar akan terlalu tinggi jika kita melakukan ini.

Salah satu solusinya adalah mengoptimalkan dengan memperlakukan banyak koin yang berdekatan sebagai satu unit, yang dapat ditransfer atau keluar sekaligus. Ada dua cara untuk melakukan ini:

  1. Gunakan Plasma Cash hampir apa adanya, tetapi gunakan algoritme yang canggih untuk menghitung pohon Merkle dari sejumlah besar objek dengan sangat cepat jika banyak objek yang berdekatan adalah sama. Hal ini ternyata tidak terlalu sulit untuk dilakukan; Anda dapat melihat implementasi python di sini.
  2. Gunakan Plasma Cashflow, yang secara sederhana merepresentasikan banyak koin yang berdekatan sebagai satu objek.

Namun, kedua pendekatan ini mengalami masalah fragmentasi: jika Anda menerima masing-masing 0,001 ETH dari ratusan orang yang membeli kopi dari Anda, Anda akan memiliki 0,001 ETH di banyak tempat di dalam pohon, sehingga untuk keluar dari ETH tersebut masih harus mengirimkan banyak jalan keluar yang terpisah, sehingga biaya gas menjadi mahal. Protokol defragmentasi telah dikembangkan, tetapi sulit untuk diimplementasikan.

Sebagai alternatif, kita bisa mendesain ulang sistem untuk memperhitungkan model "unspent transaction output" (UTXO) yang lebih tradisional. Ketika Anda keluar dari sebuah koin, Anda harus memberikan riwayat minggu terakhir dari koin tersebut, dan siapa pun dapat menantang keluarnya koin tersebut dengan membuktikan bahwa koin-koin historis tersebut sudah keluar.

Penarikan 0.2 ETH UTXO di kanan bawah dapat dibatalkan dengan menunjukkan penarikan salah satu UTXO dalam sejarahnya, yang ditunjukkan dengan warna hijau. Khususnya, perhatikan bahwa UTXO kiri tengah dan kiri bawah adalah nenek moyang, tetapi UTXO kiri atas tidak. Pendekatan ini mirip dengan ide pewarnaan berbasis pesanan dari protokol koin berwarna sekitar tahun 2013.

Ada beragam luas teknik untuk melakukan ini. Dalam semua kasus, tujuannya adalah untuk melacak beberapa konsepsi tentang apa yang dimaksud dengan "koin yang sama" pada titik-titik yang berbeda dalam sejarah, untuk mencegah "koin yang sama" ditarik dua kali.

Tantangan dalam menggeneralisasi ke EVM

Sayangnya, menggeneralisasi di luar pembayaran ke EVM jauh lebih sulit. Salah satu tantangan utama adalah bahwa banyak state object dalam EVM tidak memiliki "pemilik" yang jelas. Keamanan Plasma bergantung pada setiap objek yang memiliki pemilik, yang bertanggung jawab untuk mengawasi dan memastikan data rantai tersedia, dan keluar dari objek tersebut jika terjadi kesalahan. Akan tetapi, banyak aplikasi Ethereum yang tidak bekerja dengan cara ini. Kolam likuiditas Uniswap, misalnya, tidak memiliki pemilik tunggal.

Tantangan lainnya adalah EVM tidak berusaha membatasi ketergantungan. ETH yang disimpan di akun A di blok N bisa berasal dari mana saja di blok N-1. Untuk keluar dari keadaan yang konsisten, rantai EVM Plasma perlu memiliki permainan keluar di mana, dalam kasus ekstrim, seseorang yang ingin keluar menggunakan informasi dari blok N mungkin perlu membayar biaya untuk mempublikasikan seluruh keadaan blok N pada rantai: biaya gas dalam jutaan dolar. Skema Plasma berbasis UTXO tidak memiliki masalah ini: setiap pengguna dapat keluar dari aset mereka dari blok mana pun yang merupakan blok terbaru yang datanya mereka miliki.

Tantangan ketiga adalah ketergantungan yang tidak terbatas dalam EVM membuatnya lebih sulit untuk memiliki insentif yang selaras untuk membuktikan validitas. Keabsahan suatu keadaan bergantung pada segala sesuatu yang lain, dan karenanya membuktikan satu hal membutuhkan pembuktian segala sesuatu. Memilah kegagalan dalam situasi seperti itu umumnya tidak dapat dibuat sesuai dengan insentif karena masalah ketersediaan data. Masalah yang sangat menjengkelkan adalah kita kehilangan jaminan, yang ada pada sistem berbasis UTXO, bahwa status objek tidak dapat berubah tanpa persetujuan pemiliknya. Jaminan ini sangat berguna, karena ini berarti bahwa pemilik selalu mengetahui kondisi terbaru dari aset mereka yang dapat dibuktikan, dan menyederhanakan permainan keluar. Tanpa itu, membuat permainan keluar menjadi jauh lebih sulit.

Bagaimana bukti validitas dapat meringankan banyak masalah ini

Hal paling mendasar yang dapat dilakukan oleh bukti validitas untuk meningkatkan desain rantai Plasma adalah membuktikan validitas setiap blok Plasma pada rantai. Ini sangat menyederhanakan ruang desain: ini berarti bahwa satu-satunya serangan dari operator yang harus kita khawatirkan adalah blok yang tidak tersedia, dan bukan blok yang tidak valid. Di Plasma Cash, misalnya, tidak perlu khawatir tentang tantangan sejarah. Hal ini mengurangi status yang perlu diunduh oleh pengguna, dari satu cabang per blok pada minggu lalu, menjadi satu cabang per aset.

Selain itu, penarikan dari negara terbaru (dalam kasus umum di mana operator jujur, semua penarikan akan berasal dari negara terbaru) tidak tunduk pada tantangan pemilik yang bukan terbaru, sehingga dalam rantai Plasma yang terbukti validitasnya, penarikan semacam itu tidak akan tunduk pada tantangan apa pun. Ini berarti, dalam kasus normal, penarikan dana dapat dilakukan secara instan!

Memperluas ke EVM: grafik UTXO paralel

Dalam kasus EVM, bukti validitas juga memungkinkan kita untuk melakukan sesuatu yang cerdas: bukti ini dapat digunakan untuk mengimplementasikan grafik UTXO paralel untuk token ETH dan ERC20, dan SNARK membuktikan ekuivalensi antara grafik UTXO dan status EVM. Setelah Anda memilikinya, Anda dapat menerapkan sistem Plasma "biasa" pada grafik UTXO.

Dengan demikian, kita dapat menghindari banyak kerumitan EVM. Sebagai contoh, fakta bahwa dalam sistem berbasis akun, seseorang dapat mengedit akun Anda tanpa persetujuan Anda (dengan mengirimkan koin dan dengan demikian meningkatkan saldonya) tidak menjadi masalah, karena konstruksi Plasma tidak berada di atas status EVM itu sendiri, melainkan di atas status UTXO yang berada secara paralel dengan EVM, di mana koin apa pun yang Anda terima adalah objek yang terpisah.

Memperluas ke EVM: total status keluar

Ada beberapa skema yang lebih sederhana yang diusulkan untuk membuat "EVM plasma", misalnya. Bebas Plasma dan sebelum itu jabatan ini dari tahun 2019. Dalam skema ini, siapa pun dapat mengirim pesan pada L1 untuk memaksa operator memasukkan transaksi atau membuat cabang negara tertentu tersedia. Jika operator gagal melakukan hal ini, rantai akan mulai membalikkan blok. Rantai akan berhenti berputar setelah seseorang memposting salinan lengkap dari seluruh negara bagian, atau setidaknya semua data yang telah ditandai oleh pengguna sebagai data yang berpotensi hilang. Melakukan penarikan bisa jadi membutuhkan posting bounty, yang akan membayar bagian pengguna dari biaya gas seseorang yang memposting data dalam jumlah besar.

Skema seperti ini memiliki kelemahan yaitu tidak mengizinkan penarikan instan dalam kasus normal, karena selalu ada kemungkinan bahwa chain perlu mengembalikan ke kondisi terakhir.

Batasan skema plasma EVM

Skema seperti ini sangat kuat, tetapi TIDAK dapat memberikan jaminan keamanan penuh kepada semua pengguna. Kasus yang paling jelas menunjukkan bahwa mereka tidak memiliki "pemilik" ekonomi yang jelas adalah situasi di mana objek negara tertentu tidak memiliki "pemilik" ekonomi yang jelas.

Mari kita pertimbangkan kasus CDP (collateralized debt position), sebuah kontrak pintar di mana pengguna memiliki koin yang terkunci dan hanya dapat dilepaskan setelah pengguna membayar utangnya. Misalkan pengguna memiliki 1 ETH (~ $ 2000 pada saat tulisan ini dibuat) yang terkunci dalam CDP dengan hutang 1000 DAI. Sekarang, rantai Plasma berhenti menerbitkan blok, dan pengguna menolak untuk keluar. Pengguna tidak akan pernah bisa keluar. Sekarang, pengguna memiliki opsi bebas: jika harga ETH turun di bawah $1000, mereka pergi dan melupakan CDP, dan jika harga ETH tetap di atas, pada akhirnya mereka akan mengklaimnya. Rata-rata, pengguna jahat seperti itu mendapatkan uang dari melakukan hal ini.

Contoh lainnya adalah sistem privasi, misalnya. Tornado Cash atau Kolam Privasi. Pertimbangkan sistem privasi dengan lima deposan:

ZK-SNARK dalam sistem privasi menjaga hubungan antara pemilik koin yang masuk ke dalam sistem dan pemilik koin yang keluar tetap tersembunyi.

Misalkan hanya jeruk yang menarik diri, dan pada saat itu operator rantai Plasma berhenti menerbitkan data. Misalkan juga kita menggunakan pendekatan grafik UTXO dengan aturan first-in-first-out, sehingga setiap koin akan dicocokkan dengan koin yang berada tepat di bawahnya. Kemudian, oranye dapat menarik koin pra-campuran dan pasca-campuran mereka, dan sistem akan melihatnya sebagai dua koin terpisah. Jika biru mencoba menarik koin pra-campuran mereka, status oranye yang lebih baru akan menggantikannya; sementara itu, biru tidak akan memiliki informasi untuk menarik koin pasca-campuran mereka.

Hal ini dapat diperbaiki jika Anda mengizinkan empat deposan lainnya untuk menarik kontrak privasi itu sendiri (yang akan menggantikan deposit), dan kemudian mengambil koin di L1. Namun, sebenarnya menerapkan mekanisme seperti itu membutuhkan upaya tambahan dari pihak yang mengembangkan sistem privasi.

Ada juga cara lain untuk menyelesaikan privasi, misalnya pendekatan Intmax, yang melibatkan menempatkan beberapa byte pada gaya rollup berantai bersama dengan operator seperti Plasma yang meneruskan informasi di antara masing-masing pengguna.

Posisi LP Uniswap memiliki masalah yang sama: jika Anda memperdagangkan USDC untuk ETH dalam posisi Uniswap, Anda dapat mencoba menarik USDC pra-perdagangan dan ETH pascaperdagangan Anda. Jika Anda berkolusi dengan operator rantai Plasma, penyedia likuiditas dan pengguna lain tidak akan memiliki akses ke status pasca perdagangan, sehingga mereka tidak akan dapat menarik USDC pasca perdagangan. Logika khusus akan diperlukan untuk mencegah situasi seperti ini.

Kesimpulan

Pada tahun 2023, Plasma adalah ruang desain yang diremehkan. Rollup tetap menjadi standar emas, dan memiliki sifat keamanan yang tidak dapat ditandingi. Hal ini terutama berlaku dari perspektif pengalaman pengembang: tidak ada yang dapat menandingi kesederhanaan pengembang aplikasi yang tidak perlu memikirkan grafik kepemilikan dan aliran insentif dalam aplikasi mereka.

Namun, Plasma memungkinkan kita untuk sepenuhnya menghindari masalah ketersediaan data, sehingga sangat mengurangi biaya transaksi. Plasma dapat menjadi peningkatan keamanan yang signifikan untuk rantai yang seharusnya berupa validium. Fakta bahwa ZK-EVM akhirnya membuahkan hasil tahun ini, menjadikannya peluang yang sangat baik untuk menjelajahi kembali ruang desain ini, dan menghasilkan konstruksi yang lebih efektif untuk menyederhanakan pengalaman pengembang dan melindungi dana pengguna.

Penafian: Penafian

  1. Artikel ini dicetak ulang dari[vitalik], Semua hak cipta adalah milik penulis asli[Vitalik Buterin]. Jika ada keberatan dengan pencetakan ulang ini, silakan hubungi tim Gate Learn, dan mereka akan segera menanganinya.
  2. Penafian Tanggung Jawab: Pandangan dan pendapat yang diungkapkan dalam artikel ini semata-mata merupakan pandangan dan pendapat penulis dan bukan merupakan saran investasi.
  3. Penerjemahan artikel ke dalam bahasa lain dilakukan oleh tim Gate Learn. Kecuali disebutkan, menyalin, mendistribusikan, atau menjiplak artikel terjemahan dilarang.

Permainan keluar untuk validasi EVM: kembalinya Plasma

Menengah3/1/2024, 6:59:34 AM
Artikel ini memberikan penjelasan oleh Vitalik tentang cara kerja Plasma, tantangan yang dihadapi oleh NFT, tantangan yang dihadapi oleh EVM, dan bagaimana Bukti Validitas dapat mengurangi banyak masalah ini.

Terima kasih khusus kepada Karl Floersch, Georgios Konstantopoulos dan Martin Koppelmann atas umpan balik, ulasan dan diskusinya.

Plasma adalah sebuah kelas solusi penskalaan blockchain yang memungkinkan semua data dan komputasi, kecuali untuk setoran, penarikan, dan akar Merkle, disimpan di luar rantai. Hal ini membuka pintu untuk mendapatkan keuntungan skalabilitas yang sangat besar yang tidak terhambat oleh ketersediaan data on-chain. Plasma pertama kali ditemukan pada tahun 2017, dan mengalami banyak iterasi pada tahun 2018, terutama Minimal Viable Plasma, Plasma Cash, Plasma Cashflow, dan Plasma Prime. Sayangnya, Plasma sebagian besar telah digantikan oleh rollup, karena alasan yang terutama berkaitan dengan (i) biaya penyimpanan data sisi klien yang besar, dan (ii) keterbatasan mendasar dari Plasma yang membuatnya <a href="https://medium.com/@kelvinfichter/mengapa-evm-pada-plasma-sulit-bf2d99c48df7"> sulit digeneralisasi di luar pembayaran.

Munculnya bukti validitas (alias ZK-SNARK) memberi kita alasan untuk memikirkan kembali keputusan ini. Tantangan terbesar dalam membuat Plasma berfungsi untuk pembayaran, penyimpanan data di sisi klien, dapat diatasi secara efisien dengan bukti validitas. Selain itu, bukti validitas menyediakan beragam alat yang memungkinkan kami membuat rantai seperti Plasma yang menjalankan EVM. Jaminan keamanan Plasma tidak akan mencakup semua pengguna, karena alasan mendasar di balik ketidakmungkinan memperluas permainan keluar gaya Plasma ke berbagai jenis aplikasi yang kompleks masih tetap ada. Namun, dalam praktiknya, persentase aset yang sangat besar tetap dapat dijaga keamanannya.

Tulisan ini menjelaskan bagaimana ide Plasma dapat diperluas untuk melakukan hal seperti itu.

Gambaran umum: cara kerja Plasma

Versi Plasma yang paling sederhana untuk dipahami adalah Plasma Cash. Plasma Cash bekerja dengan memperlakukan setiap koin sebagai NFT terpisah, dan melacak riwayat terpisah untuk setiap koin. Rantai Plasma memiliki operator, yang bertanggung jawab untuk membuat dan menerbitkan blok secara teratur. Transaksi di setiap blok disimpan sebagai sebuah pohon Merkle yang jarang: jika sebuah transaksi memindahkan kepemilikan koin k, maka koin tersebut akan muncul di posisi k pada pohon. Ketika operator rantai Plasma membuat blok baru, mereka mempublikasikan akar pohon Merkle ke rantai, dan mereka secara langsung mengirimkan kepada setiap pengguna cabang Merkle yang sesuai dengan koin yang dimiliki oleh pengguna tersebut.

Misalkan ini adalah tiga pohon transaksi terakhir dalam rantai Kas Plasma. Kemudian, dengan asumsi semua pohon sebelumnya valid, kita tahu bahwa Eve saat ini memiliki koin 1, David memiliki koin 4, dan George memiliki koin 6.

Risiko utama dalam sistem Plasma adalah operator yang berperilaku buruk. Hal ini dapat terjadi dalam dua cara:

  1. Menerbitkan blok yang tidak valid (contoh: operator memasukkan transaksi yang mengirimkan koin 1 dari Fred ke Hermione meskipun Fred tidak memiliki koin tersebut pada saat itu)
  2. Menerbitkan blok yang tidak tersedia (contoh: operator tidak mengirimkan cabang Merkle-nya kepada Bob untuk salah satu blok, sehingga ia tidak dapat membuktikan kepada orang lain bahwa koinnya masih valid dan belum digunakan)

Jika operator berperilaku buruk dengan cara yang relevan dengan aset pengguna, pengguna bertanggung jawab untuk segera keluar (khususnya, dalam waktu 7 hari). Ketika seorang pengguna ("yang keluar") keluar, mereka memberikan cabang Merkle yang membuktikan adanya transaksi yang mentransfer koin tersebut dari pemilik sebelumnya kepada mereka. Ini memulai periode tantangan 7 hari, di mana orang lain dapat menantang jalan keluar tersebut dengan memberikan bukti Merkle dari salah satu dari tiga hal:

  1. Bukan pemilik terakhir: transaksi selanjutnya yang ditandatangani oleh exiter yang mentransfer koin exiter ke orang lain
  2. Double spend: transaksi yang mentransfer koin dari pemilik sebelumnya ke orang lain, yang disertakan sebelum transaksi yang mentransfer koin ke exiter
  3. Riwayat tidak valid: transaksi yang mentransfer koin sebelumnya (dalam 7 hari terakhir) yang tidak memiliki pembelanjaan yang sesuai. Pengeksit dapat merespons dengan memberikan pengeluaran yang sesuai; jika tidak, jalan keluar akan gagal.

Dengan aturan ini, siapa pun yang memiliki koin k perlu melihat semua cabang Merkle dari posisi k di semua pohon historis selama seminggu terakhir untuk memastikan bahwa mereka benar-benar memiliki koin k dan dapat keluar dari sana. Mereka harus menyimpan semua cabang yang berisi transfer aset, sehingga mereka dapat menanggapi tantangan dan keluar dengan aman dengan koin mereka.

Menggeneralisasi ke token yang dapat dipertukarkan

Desain di atas berfungsi untuk NFT. Namun, yang jauh lebih umum daripada NFT adalah token yang dapat dipertukarkan, seperti ETH dan USDC. Salah satu cara untuk menerapkan Plasma Cash ke token yang dapat dipertukarkan adalah dengan membuat setiap denominasi kecil koin (mis. 0,01 ETH) NFT yang terpisah. Sayangnya, biaya gas untuk keluar akan terlalu tinggi jika kita melakukan ini.

Salah satu solusinya adalah mengoptimalkan dengan memperlakukan banyak koin yang berdekatan sebagai satu unit, yang dapat ditransfer atau keluar sekaligus. Ada dua cara untuk melakukan ini:

  1. Gunakan Plasma Cash hampir apa adanya, tetapi gunakan algoritme yang canggih untuk menghitung pohon Merkle dari sejumlah besar objek dengan sangat cepat jika banyak objek yang berdekatan adalah sama. Hal ini ternyata tidak terlalu sulit untuk dilakukan; Anda dapat melihat implementasi python di sini.
  2. Gunakan Plasma Cashflow, yang secara sederhana merepresentasikan banyak koin yang berdekatan sebagai satu objek.

Namun, kedua pendekatan ini mengalami masalah fragmentasi: jika Anda menerima masing-masing 0,001 ETH dari ratusan orang yang membeli kopi dari Anda, Anda akan memiliki 0,001 ETH di banyak tempat di dalam pohon, sehingga untuk keluar dari ETH tersebut masih harus mengirimkan banyak jalan keluar yang terpisah, sehingga biaya gas menjadi mahal. Protokol defragmentasi telah dikembangkan, tetapi sulit untuk diimplementasikan.

Sebagai alternatif, kita bisa mendesain ulang sistem untuk memperhitungkan model "unspent transaction output" (UTXO) yang lebih tradisional. Ketika Anda keluar dari sebuah koin, Anda harus memberikan riwayat minggu terakhir dari koin tersebut, dan siapa pun dapat menantang keluarnya koin tersebut dengan membuktikan bahwa koin-koin historis tersebut sudah keluar.

Penarikan 0.2 ETH UTXO di kanan bawah dapat dibatalkan dengan menunjukkan penarikan salah satu UTXO dalam sejarahnya, yang ditunjukkan dengan warna hijau. Khususnya, perhatikan bahwa UTXO kiri tengah dan kiri bawah adalah nenek moyang, tetapi UTXO kiri atas tidak. Pendekatan ini mirip dengan ide pewarnaan berbasis pesanan dari protokol koin berwarna sekitar tahun 2013.

Ada beragam luas teknik untuk melakukan ini. Dalam semua kasus, tujuannya adalah untuk melacak beberapa konsepsi tentang apa yang dimaksud dengan "koin yang sama" pada titik-titik yang berbeda dalam sejarah, untuk mencegah "koin yang sama" ditarik dua kali.

Tantangan dalam menggeneralisasi ke EVM

Sayangnya, menggeneralisasi di luar pembayaran ke EVM jauh lebih sulit. Salah satu tantangan utama adalah bahwa banyak state object dalam EVM tidak memiliki "pemilik" yang jelas. Keamanan Plasma bergantung pada setiap objek yang memiliki pemilik, yang bertanggung jawab untuk mengawasi dan memastikan data rantai tersedia, dan keluar dari objek tersebut jika terjadi kesalahan. Akan tetapi, banyak aplikasi Ethereum yang tidak bekerja dengan cara ini. Kolam likuiditas Uniswap, misalnya, tidak memiliki pemilik tunggal.

Tantangan lainnya adalah EVM tidak berusaha membatasi ketergantungan. ETH yang disimpan di akun A di blok N bisa berasal dari mana saja di blok N-1. Untuk keluar dari keadaan yang konsisten, rantai EVM Plasma perlu memiliki permainan keluar di mana, dalam kasus ekstrim, seseorang yang ingin keluar menggunakan informasi dari blok N mungkin perlu membayar biaya untuk mempublikasikan seluruh keadaan blok N pada rantai: biaya gas dalam jutaan dolar. Skema Plasma berbasis UTXO tidak memiliki masalah ini: setiap pengguna dapat keluar dari aset mereka dari blok mana pun yang merupakan blok terbaru yang datanya mereka miliki.

Tantangan ketiga adalah ketergantungan yang tidak terbatas dalam EVM membuatnya lebih sulit untuk memiliki insentif yang selaras untuk membuktikan validitas. Keabsahan suatu keadaan bergantung pada segala sesuatu yang lain, dan karenanya membuktikan satu hal membutuhkan pembuktian segala sesuatu. Memilah kegagalan dalam situasi seperti itu umumnya tidak dapat dibuat sesuai dengan insentif karena masalah ketersediaan data. Masalah yang sangat menjengkelkan adalah kita kehilangan jaminan, yang ada pada sistem berbasis UTXO, bahwa status objek tidak dapat berubah tanpa persetujuan pemiliknya. Jaminan ini sangat berguna, karena ini berarti bahwa pemilik selalu mengetahui kondisi terbaru dari aset mereka yang dapat dibuktikan, dan menyederhanakan permainan keluar. Tanpa itu, membuat permainan keluar menjadi jauh lebih sulit.

Bagaimana bukti validitas dapat meringankan banyak masalah ini

Hal paling mendasar yang dapat dilakukan oleh bukti validitas untuk meningkatkan desain rantai Plasma adalah membuktikan validitas setiap blok Plasma pada rantai. Ini sangat menyederhanakan ruang desain: ini berarti bahwa satu-satunya serangan dari operator yang harus kita khawatirkan adalah blok yang tidak tersedia, dan bukan blok yang tidak valid. Di Plasma Cash, misalnya, tidak perlu khawatir tentang tantangan sejarah. Hal ini mengurangi status yang perlu diunduh oleh pengguna, dari satu cabang per blok pada minggu lalu, menjadi satu cabang per aset.

Selain itu, penarikan dari negara terbaru (dalam kasus umum di mana operator jujur, semua penarikan akan berasal dari negara terbaru) tidak tunduk pada tantangan pemilik yang bukan terbaru, sehingga dalam rantai Plasma yang terbukti validitasnya, penarikan semacam itu tidak akan tunduk pada tantangan apa pun. Ini berarti, dalam kasus normal, penarikan dana dapat dilakukan secara instan!

Memperluas ke EVM: grafik UTXO paralel

Dalam kasus EVM, bukti validitas juga memungkinkan kita untuk melakukan sesuatu yang cerdas: bukti ini dapat digunakan untuk mengimplementasikan grafik UTXO paralel untuk token ETH dan ERC20, dan SNARK membuktikan ekuivalensi antara grafik UTXO dan status EVM. Setelah Anda memilikinya, Anda dapat menerapkan sistem Plasma "biasa" pada grafik UTXO.

Dengan demikian, kita dapat menghindari banyak kerumitan EVM. Sebagai contoh, fakta bahwa dalam sistem berbasis akun, seseorang dapat mengedit akun Anda tanpa persetujuan Anda (dengan mengirimkan koin dan dengan demikian meningkatkan saldonya) tidak menjadi masalah, karena konstruksi Plasma tidak berada di atas status EVM itu sendiri, melainkan di atas status UTXO yang berada secara paralel dengan EVM, di mana koin apa pun yang Anda terima adalah objek yang terpisah.

Memperluas ke EVM: total status keluar

Ada beberapa skema yang lebih sederhana yang diusulkan untuk membuat "EVM plasma", misalnya. Bebas Plasma dan sebelum itu jabatan ini dari tahun 2019. Dalam skema ini, siapa pun dapat mengirim pesan pada L1 untuk memaksa operator memasukkan transaksi atau membuat cabang negara tertentu tersedia. Jika operator gagal melakukan hal ini, rantai akan mulai membalikkan blok. Rantai akan berhenti berputar setelah seseorang memposting salinan lengkap dari seluruh negara bagian, atau setidaknya semua data yang telah ditandai oleh pengguna sebagai data yang berpotensi hilang. Melakukan penarikan bisa jadi membutuhkan posting bounty, yang akan membayar bagian pengguna dari biaya gas seseorang yang memposting data dalam jumlah besar.

Skema seperti ini memiliki kelemahan yaitu tidak mengizinkan penarikan instan dalam kasus normal, karena selalu ada kemungkinan bahwa chain perlu mengembalikan ke kondisi terakhir.

Batasan skema plasma EVM

Skema seperti ini sangat kuat, tetapi TIDAK dapat memberikan jaminan keamanan penuh kepada semua pengguna. Kasus yang paling jelas menunjukkan bahwa mereka tidak memiliki "pemilik" ekonomi yang jelas adalah situasi di mana objek negara tertentu tidak memiliki "pemilik" ekonomi yang jelas.

Mari kita pertimbangkan kasus CDP (collateralized debt position), sebuah kontrak pintar di mana pengguna memiliki koin yang terkunci dan hanya dapat dilepaskan setelah pengguna membayar utangnya. Misalkan pengguna memiliki 1 ETH (~ $ 2000 pada saat tulisan ini dibuat) yang terkunci dalam CDP dengan hutang 1000 DAI. Sekarang, rantai Plasma berhenti menerbitkan blok, dan pengguna menolak untuk keluar. Pengguna tidak akan pernah bisa keluar. Sekarang, pengguna memiliki opsi bebas: jika harga ETH turun di bawah $1000, mereka pergi dan melupakan CDP, dan jika harga ETH tetap di atas, pada akhirnya mereka akan mengklaimnya. Rata-rata, pengguna jahat seperti itu mendapatkan uang dari melakukan hal ini.

Contoh lainnya adalah sistem privasi, misalnya. Tornado Cash atau Kolam Privasi. Pertimbangkan sistem privasi dengan lima deposan:

ZK-SNARK dalam sistem privasi menjaga hubungan antara pemilik koin yang masuk ke dalam sistem dan pemilik koin yang keluar tetap tersembunyi.

Misalkan hanya jeruk yang menarik diri, dan pada saat itu operator rantai Plasma berhenti menerbitkan data. Misalkan juga kita menggunakan pendekatan grafik UTXO dengan aturan first-in-first-out, sehingga setiap koin akan dicocokkan dengan koin yang berada tepat di bawahnya. Kemudian, oranye dapat menarik koin pra-campuran dan pasca-campuran mereka, dan sistem akan melihatnya sebagai dua koin terpisah. Jika biru mencoba menarik koin pra-campuran mereka, status oranye yang lebih baru akan menggantikannya; sementara itu, biru tidak akan memiliki informasi untuk menarik koin pasca-campuran mereka.

Hal ini dapat diperbaiki jika Anda mengizinkan empat deposan lainnya untuk menarik kontrak privasi itu sendiri (yang akan menggantikan deposit), dan kemudian mengambil koin di L1. Namun, sebenarnya menerapkan mekanisme seperti itu membutuhkan upaya tambahan dari pihak yang mengembangkan sistem privasi.

Ada juga cara lain untuk menyelesaikan privasi, misalnya pendekatan Intmax, yang melibatkan menempatkan beberapa byte pada gaya rollup berantai bersama dengan operator seperti Plasma yang meneruskan informasi di antara masing-masing pengguna.

Posisi LP Uniswap memiliki masalah yang sama: jika Anda memperdagangkan USDC untuk ETH dalam posisi Uniswap, Anda dapat mencoba menarik USDC pra-perdagangan dan ETH pascaperdagangan Anda. Jika Anda berkolusi dengan operator rantai Plasma, penyedia likuiditas dan pengguna lain tidak akan memiliki akses ke status pasca perdagangan, sehingga mereka tidak akan dapat menarik USDC pasca perdagangan. Logika khusus akan diperlukan untuk mencegah situasi seperti ini.

Kesimpulan

Pada tahun 2023, Plasma adalah ruang desain yang diremehkan. Rollup tetap menjadi standar emas, dan memiliki sifat keamanan yang tidak dapat ditandingi. Hal ini terutama berlaku dari perspektif pengalaman pengembang: tidak ada yang dapat menandingi kesederhanaan pengembang aplikasi yang tidak perlu memikirkan grafik kepemilikan dan aliran insentif dalam aplikasi mereka.

Namun, Plasma memungkinkan kita untuk sepenuhnya menghindari masalah ketersediaan data, sehingga sangat mengurangi biaya transaksi. Plasma dapat menjadi peningkatan keamanan yang signifikan untuk rantai yang seharusnya berupa validium. Fakta bahwa ZK-EVM akhirnya membuahkan hasil tahun ini, menjadikannya peluang yang sangat baik untuk menjelajahi kembali ruang desain ini, dan menghasilkan konstruksi yang lebih efektif untuk menyederhanakan pengalaman pengembang dan melindungi dana pengguna.

Penafian: Penafian

  1. Artikel ini dicetak ulang dari[vitalik], Semua hak cipta adalah milik penulis asli[Vitalik Buterin]. Jika ada keberatan dengan pencetakan ulang ini, silakan hubungi tim Gate Learn, dan mereka akan segera menanganinya.
  2. Penafian Tanggung Jawab: Pandangan dan pendapat yang diungkapkan dalam artikel ini semata-mata merupakan pandangan dan pendapat penulis dan bukan merupakan saran investasi.
  3. Penerjemahan artikel ke dalam bahasa lain dilakukan oleh tim Gate Learn. Kecuali disebutkan, menyalin, mendistribusikan, atau menjiplak artikel terjemahan dilarang.
āđ€āļĢāļīāđˆāļĄāļ•āļ­āļ™āļ™āļĩāđ‰
āļŠāļĄāļąāļ„āļĢāđāļĨāļ°āļĢāļąāļšāļĢāļēāļ‡āļ§āļąāļĨ
$100