Rantai Blokir Gabungan (Aggregated Blockchains)

MenengahFeb 25, 2024
Artikel ini akan mempelajari apa itu lapisan agregasi, bagaimana cara kerjanya, dan perbedaannya dengan sequencer atau validator bersama.
Rantai Blokir Gabungan (Aggregated Blockchains)

Saya ingin membuat dua klaim:

  1. Tidak ada satu rantai pun, baik L1 maupun L2, yang dapat mendukung throughput yang diperlukan untuk mencapai skala Internet.
  2. Menskalakan blockchain berarti menskalakan akses ke likuiditas dan status bersama. Menambahkan blockspace melalui beberapa chain tidak akan berfungsi jika memecah likuiditas.

Ini merupakan tantangan bagi pandangan modular dan monolitik tentang skalabilitas blockchain. (1) merupakan tantangan terhadap pandangan monolitik, yang menyatakan bahwa rantai throughput tinggi tunggal adalah cara terbaik untuk meningkatkan skala. (2) merupakan tantangan bagi pandangan modular, karena ini berarti bahwa ekosistem multi-chain atau multi-rollup tidak cukup untuk penskalaan dalam arti yang berarti: meningkatkan akses ke status dan likuiditas bersama ...

Jika (1) dan (2) benar, maka pemecahan masalah skalabilitas membutuhkan akses penskalaan ke status dan likuiditas bersama di banyak rantai. Solusi dari Polygon adalah Aggregation Layer, atau "AggLayer." AggLayer memberikan keamanan untuk transaksi lintas rantai yang hampir instan dan memungkinkan status dan likuiditas terpadu di seluruh rantai.

Artikel ini akan membahas tentang apa itu AggLayer, bagaimana cara kerjanya, dan apa bedanya dengan shared sequencer atau prover.

Masalahnya

Ada masalah dengan L2: likuiditas dan status terfragmentasi di seluruh rollup dan L1.

Hal ini buruk dari perspektif kegunaan karena menimbulkan kerumitan, tetapi juga mahal. Likuiditas yang terpecah-pecah berarti selip harga yang lebih tinggi dan eksekusi yang lebih buruk. Optimistic Rollups (OR) mengharuskan pengguna membayar jembatan pihak ketiga yang mahal untuk menghindari penundaan penarikan selama tujuh hari. Bahkan ZK Rollups (ZKR) mengharuskan pengguna untuk melakukan perjalanan pulang pergi ke Ethereum untuk transaksi lintas rantai yang tidak dapat dipercaya.

Finalitas dan Validitas

Inilah alasan mengapa transaksi lintas rantai dengan latensi rendah dan tanpa kepercayaan saat ini tidak memungkinkan.

Misalkan ada dua rollup, Rantai A dan Rantai B, yang berbagi jembatan ke L1. Alice di Chain A ingin membayar Bob di Chain B, sehingga Alice mengunci atau membakar token di Chain A untuk mentransfer ke Chain B.

Ada dua hal yang diperlukan agar Chain B dapat mengkreditkan token-token tersebut dengan aman kepada Bob.

  1. Batch yang berisi transaksi Alice harus diselesaikan di Ethereum L1.
  2. Chain B harus dapat memverifikasi bahwa keadaan yang dihasilkan dari Chain A valid setelah transaksi Alice.


Jika batch yang berisi transaksi Alice tidak diselesaikan di Ethereum, maka Chain A dapat menyamarkan ke Chain B dan melakukan double-spend dengan menyimpan dana Alice di Chain A dan mencetak dana Bob di Chain B. Demikian juga, jika Chain B tidak memeriksa bukti validitas untuk A, maka Chain A dapat menyertakan transaksi yang tidak valid dan mencuri dana dari B.

(1) dan (2) berarti bahwa transaksi cross-chain yang tidak dapat dipercaya tidak dapat memiliki latensi yang rendah. (1) saat ini membutuhkan waktu 12 menit, sedangkan (2) membutuhkan waktu menunggu selama periode tantangan di OR dan beberapa menit untuk pembuatan bukti pada ZKR.

UX yang baik tidak kompatibel dengan latensi 20 menit. Lapisan Agregasi dirancang untuk mengatasi masalah ini.

Lapisan Agregasi

Polygon adalah sebuah ekosistem L2 bertenaga ZK yang mengendap di Ethereum. Lapisan Agregasi adalah protokol terdesentralisasi yang dioperasikan oleh node yang dipertaruhkan yang memastikan keamanan untuk latensi rendah, transaksi lintas rantai dan jembatan terpadu [1].

Dalam konteks ini, "keamanan" berarti sebagai berikut:

Tidak mungkin sebuah status rollup dapat diselesaikan/diselesaikan di Ethereum jika status rantai tersebut bergantung pada status yang tidak valid atau tidak diselesaikan dari rantai lain, atau jika status tersebut menyertakan sebuah transaksi dari bundel atom [2] yang belum berhasil dieksekusi di semua rantai lainnya.

Dengan kata lain, status Chain B tidak dapat diselesaikan di Ethereum jika bergantung pada status Chain A yang tidak valid atau tidak diselesaikan.

Jaminan ini penting. Hal ini memungkinkan Chain B untuk beroperasi dengan aman dengan Chain A dengan latensi super rendah, sebelum status Chain A diselesaikan di Ethereum atau bukti telah dibuat.

Cara kerja Lapisan Agregasi

Lapisan Agregasi berfungsi dalam tiga fase. Misalkan Chain A adalah chain bertenaga ZK yang berjalan di ekosistem Polygon.

  1. Pra-Konfirmasi: Rantai A mengirimkan header untuk blok/batch A1 baru ke
  2. AggLayer bersama dengan bukti klien yang ringan. Tajuk mencakup komitmen untuk semua
  3. blok dan bundel lain yang bergantung pada Ar (B1, C1, dll). Ketika batch baru adalah
  4. diterima tanpa bukti validitas, maka dianggap "telah dikonfirmasi sebelumnya" oleh AggLayer.
  5. Konfirmasi: Rantai A, atau simpul penuh dari A, menghasilkan bukti untuk A1 dan mengirimkannya ke AggLayer. Setelah bukti diverifikasi oleh AggLayer, A1 dikonfirmasi jika semua batch yang bergantung padanya juga dikonfirmasi.
  6. Finalisasi: Setelah A1 dikonfirmasi, buktinya akan digabungkan bersama dengan kumpulan dari rollup lainnya menjadi satu bukti yang diposting ke Ethereum. Bukti agregat menegakkan bahwa keadaan rantai dependen dan bundel konsisten.

Rantai dapat menavigasi ruang pertukaran antara latensi dan jaminan kelangsungan hidup untuk diri mereka sendiri. Sebuah chain dapat memilih untuk beroperasi dengan chain lain setelah langkah pra-konfirmasi untuk transaksi lintas chain dengan latensi super rendah, tetapi pada dasarnya, model ini kompatibel dengan chain yang sedang menunggu konfirmasi, atau bahkan untuk finalisasi.

Jaminan keamanan untuk transaksi lintas rantai diberlakukan pada langkah ketiga. Mari kita gali lebih jauh bagaimana desain ini memungkinkan interaksi lintas rantai yang aman.

Interoperabilitas Asinkron

Ambil contoh pertama dari transfer lintas rantai. Alice di Chain A ingin mengunci atau membakar beberapa token di blok A1 untuk mencetak dan mentransfer token ke Bob di Chain B. Jika Chain B tidak menunggu hingga A1 diselesaikan di Ethereum dengan bukti yang valid, maka Chain A dapat menyamarkan atau memberi Chain B status tidak valid.

Lapisan Agregasi memecahkan masalah ini dengan cara yang sederhana. Chain B untuk sementara waktu dapat mengasumsikan bahwa A1 valid dan akan diselesaikan di Ethereum, bahkan tanpa menunggu bukti. Sequencer untuk Rantai B melakukan komitmen ke akar status Rantai A yang diklaim A1 sebagai ketergantungan di header untuk B1 (sebagai B1A1 ) sebelum mengirimkan ke Lapisan Agregasi. Latensi yang dibutuhkan Chain B untuk membangun B1 berkurang dari 20 menit menjadi, paling lama, beberapa detik.

Pada langkah Konfirmasi, Lapisan Agregasi membuat grafik ketergantungan untuk setiap blok/batch yang dikirimkan. Misalnya, jika A1 bergantung pada B1, yang pada gilirannya bergantung pada B1, C1 dikonfirmasi segera setelah bukti πC1 dikirimkan. Namun, bahkan jika πA1 diterima, πA1 hanya dikonfirmasi dengan πC1 dan πB1. Aspek penting dari desain ini adalah bahwa sirkuit agregasi bukti menegakkan konsistensi di seluruh ketergantungan. Jika B1A1 tidak konsisten dengan blok A1 yang dikirimkan Chain A, atau bukti tidak ada untuk A1′, maka B1 tidak dapat disertakan dalam kumpulan yang telah difinalisasi di Ethereum.

Mekanisme ini menjamin bahwa jika Chain A menyamarkan atau mengirimkan blok yang tidak valid, katakanlah A1′, maka setiap batch yang bergantung pada state root yang tidak valid atau disamarkan untuk Chain A tidak dapat diselesaikan/diselesaikan di Ethereum. Bahkan jika AggLayer itu sendiri menyamar, rantai memiliki jaminan kriptografi bahwa setiap blok yang bergantung pada blok yang tidak valid atau disamar tidak dapat diselesaikan, karena dua bukti untuk status rantai yang tidak konsisten atau tidak valid tidak dapat digabungkan bersama dalam rangkaian agregasi bukti. Hal ini memastikan bahwa properti keamanan yang dijelaskan di atas tetap terjaga.

Interoperabilitas Atom

Mekanisme keamanan dapat diperluas ke casing atom. Misalkan seorang pengguna mengirimkan sebuah paket transaksi ke beberapa chain. Bundel ini diurutkan, sehingga hasil dari eksekusi transaksi pada Chain A diteruskan ke Chain B, dan demikian juga status terbaru Chain B diteruskan ke Chain C, dan seterusnya. Jika semua transaksi berhasil dieksekusi di semua chain, maka bundel tersebut disertakan; jika tidak, maka bundel tersebut akan ditolak.

Akan sangat ideal untuk menyediakan kemampuan untuk menyertakan transaksi atom tanpa:

  1. Mengharuskan operator Rantai B untuk menjalankan simpul penuh untuk semua rantai lain yang termasuk dalam satu bundel; atau
  2. Menerima risiko bahwa bundel tersebut mungkin akan disertakan sebagian di Ethereum (merugikan chain yang berpartisipasi).

Hal ini menimbulkan masalah keamanan yang sama seperti pada kasus asinkron: Rantai A mungkin mengelabui dan mengirimkan sebuah batch yang sebenarnya tidak menyertakan bundel atom, atau mengirimkan hasil yang tidak valid ke Rantai B.

Untungnya, mekanisme yang sama dari kasus asinkron dapat digunakan kembali untuk kasus atom. Rantai B berkomitmen untuk membundel dan menerima hasil transaksi dari rantai lainnya. Lapisan Agregasi (dan sirkuit agregasi bukti) memeriksa bahwa bundel konsisten di seluruh rantai. Sebuah batch yang berisi bundel dari Chain B hanya dapat diselesaikan/diselesaikan di Ethereum jika semua transaksi dalam bundel tersebut berhasil dieksekusi.

Kompatibilitas Lintas Rantai

Lapisan Agregasi memungkinkan komposabilitas lintas-rantai dengan latensi super rendah melalui panggilan lintas-rantai asinkron. Ini adalah primitif yang sangat kuat: kontrak dapat dengan aman memanggil kontrak pada rantai lain dengan latensi super rendah, tanpa menunggu finalitas Ethereum. Seorang pengguna dapat melakukan onramp melalui rantai OKX di Polygon dan segera menyetor ke pasar pinjaman yang sangat likuid di Aave pada rantai yang berbeda dalam satu klik, tanpa perlu menukar aset sintetis yang dibungkus.

Infrastruktur Koordinasi Darurat

AggregationLayer menjamin bahwa interaksi lintas rantai yang hampir instan akan aman [3]. Tetapi ini baru setengah dari perjuangan. Bagaimana operator rantai saling berbagi dan mempercayai status rantai satu sama lain? Bagaimana mereka mengoordinasikan produksi bundel atom?

Sasaran desain untuk AggLayer adalah bahwa ia harus minimal. Tujuannya adalah untuk menjamin keamanan dan menyediakan fondasi yang memungkinkan siapa pun untuk membangun infrastruktur koordinasi yang menawarkan keaktifan dalam berbagai pengaturan yang berbeda.

Operator rantai dapat dengan bebas memilih antara mekanisme koordinasi yang muncul tergantung pada asumsi kepercayaan mereka - ini dapat mencakup relay, infrastruktur prover bersama, atau cluster pengurut validitas bersama [4]. Ini melindungi rantai dari masalah kelangsungan hidup ketika bergantung pada status rantai atau bundel lain.

Ekosistem Polygon memprioritaskan pilihan dan kedaulatan untuk rantai. Chain dapat menjalankan lingkungan eksekusi yang dimodifikasi sendiri, menggunakan token mereka sendiri untuk staking dan biaya gas, memilih mekanisme ketersediaan data mereka sendiri, dll. Demikian pula, rantai harus memutuskan bagaimana menangani pertukaran antara interoperabilitas dan risiko kesalahan liveness. Ada beberapa opsi:

  1. Rantai B dapat memilih untuk tidak menggunakan interoperabilitas cepat dan lapisan agregator sepenuhnya. Ini dapat dengan mudah mengirimkan batch dan bukti langsung ke Ethereum dan finalisasi tidak pernah tertunda.
  2. Rantai B dapat menerima status Rantai A hanya jika status Rantai A dikonfirmasi oleh AggLayer. Rantai B akan ditunda hanya jika AggLayer mengesampingkan.
  3. Rantai B dapat menerima status Rantai A ketika Rantai A telah dikonfirmasi sebelumnya oleh AggLayer. Rantai B akan tertunda jika AggLayer tidak dapat membuktikan atau Rantai A gagal menghasilkan bukti.
  4. Chain B dapat menerima status Chain A dalam pengaturan peer-to-peer, tanpa memeriksa apakah Chain A telah dikonfirmasi sebelumnya pada AggLayer. Rantai B akan tertunda jika Rantai A tidak dapat memberikan bukti atau gagal memberikan bukti.

Hal penting yang perlu diperhatikan adalah bahwa pengguna tidak dapat menyebabkan kesalahan liveness, hanya rantai yang berperilaku buruk atau tidak berfungsi. Penyangkalan dan pengiriman blok yang tidak valid dapat dihukum berat, baik melalui pemotongan atau dengan mengeluarkan rantai dari AggLayer dan menghalangi kemampuannya untuk beroperasi secara mulus. Oleh karena itu, kesalahan liveness seharusnya sangat jarang terjadi.

Rantai dapat mengambil tindakan pencegahan tambahan untuk meminimalkan risiko masalah kehidupan, dengan mempertahankan daftar putih atau hitam rantai lain yang bekerja sama dengan mereka dan menetapkan batas jumlah rantai yang dapat terlibat secara kolektif dalam batch apa pun. Mereka dapat mengandalkan pihak ketiga yang menjalankan node penuh untuk memastikan bahwa jika sebuah chain offline sebelum dapat menghasilkan proof, ada prover cadangan.

Mekanisme yang digunakan rantai untuk berkoordinasi untuk menerima ikatan atom juga fleksibel. Misalnya, subset rantai dapat beroperasi dalam klaster pengurutan validitas bersama untuk latensi yang sangat rendah, atau dapat mengandalkan relay.

Sebuah relai yang diamankan secara ekonomi kripto dapat memungkinkan interoperabilitas antara Chain A dan B dengan menjalankan sebuah node penuh untuk kedua chain tersebut, dan membuktikan bahwa status dari setiap chain adalah valid. Bahkan jika Chain A atau B melakukan pra-konfirmasi terhadap batch baru dan kemudian offline, infrastruktur shared prover dapat masuk untuk menghasilkan bukti.

Anda dapat membayangkan infrastruktur koordinasi baru yang muncul di atas fondasi keamanan yang disediakan oleh AggLayer, memungkinkan bentuk interoperabilitas dan likuiditas bersama yang baru dan lebih baik. Yang terpenting, seluruh ekosistem Polygon tidak perlu berbagi infrastruktur atau asumsi kepercayaan yang sama. Tidak perlu beroperasi di bawah satu pengurutan atau pembuktian validitas bersama. Ini adalah keuntungan yang sangat penting dibandingkan dengan OR.

closing

Lapisan Agregasi pada dasarnya memungkinkan kita untuk membuat ekosistem multi-rantai yang terasa seperti menggunakan rantai tunggal. Ini adalah sintesis dari tesis monolitik dan modular: keadaan terpadu, likuiditas, dan komposabilitas, dengan skalabilitas tak terbatas dari ekosistem multi-rantai.

Agregasi dalam Sistem ZK vs Sistem Optimis

Ini adalah visi yang pada dasarnya hanya tersedia untuk sistem berbasis ZK. Saya akan membahas hal ini dalam tulisan mendatang, tetapi ekosistem Optimis yang ingin memungkinkan interoperabilitas yang cepat harus bergantung pada pengurut validitas bersama. Ini adalah kesepakatan yang buruk untuk chain: ini membatasi mereka untuk mendistribusikan kembali biaya sequencer dan MEV, sequencer validitas bersama memaksa chain untuk berpotensi menerima pembatasan pada lingkungan eksekusi mereka, dan interoperabilitas dalam sistem berbasis OR memaksa chain untuk menerima asumsi kepercayaan tambahan dengan imbalan latensi rendah.

Lebih jauh lagi, interoperabilitas lintas rantai mematahkan properti penting untuk OR. Dengan OR rantai tunggal, siapa pun dapat menjalankan node penuh untuk sebuah OR dan segera mengonfirmasi bahwa transaksi valid dan diselesaikan segera setelah dikirim ke L1. Ini tidak lagi benar dalam kasus multi-rantai - sekarang perlu untuk menjalankan simpul penuh untuk setiap rantai yang berinteraksi dengan OR.

Sebaliknya, visi Polygon adalah visi di mana rantai berdaulat. Mereka dapat menggunakan lingkungan eksekusi apa pun, dapat mengandalkan sequencer terpusat atau terdesentralisasi, dan dapat menavigasi pertukaran antara latensi lintas rantai dan keaktifan untuk diri mereka sendiri.

Ini adalah visi yang mencerminkan Internet yang sudah ada. Internet adalah lingkungan yang dapat diskalakan secara elastis, tanpa izin, dan terpadu. Demikian juga, AggLayer dapat diskalakan dan tanpa izin - tidak ada batasan pada rantai yang berpartisipasi - dan memungkinkan pengguna untuk memindahkan aset dan status dengan mulus di seluruh ekosistem, menghadirkan antarmuka terpadu untuk lapisan nilai Internet.

Inilah masa depan Polygon: tidak monolitik, tidak sepenuhnya modular, tetapi gabungan.

[1] Bagian dari memastikan likuiditas terpadu adalah menyingkirkan UX yang buruk dari token sintetis yang dibungkus pada jembatan. Pengguna jembatan LxLy Polygon dapat mentransfer aset dengan mulus di seluruh rantai sambil menjaga kesesuaian. Akan tetapi, untuk melakukan hal ini dengan aman, kita perlu melindungi dari keamanan mata rantai terlemah - atau penyerang yang merusak satu mata rantai dan menguras semua dana di seluruh mata rantai dalam jembatan. Saya akan membahas bagaimana cara melakukan ini di postingan selanjutnya, tetapi AggLayer dapat memanfaatkan langkah agregasi bukti untuk menegakkan penghitungan tingkat rantai, menghindari keamanan mata rantai terlemah.

[2] Ketika saya merujuk pada transaksi lintas rantai atom, yang saya maksudkan adalah kemampuan bagi pengguna untuk mengirimkan "bundel" atau serangkaian transaksi di beberapa rantai. Bundel atom memiliki properti bahwa transaksinya disertakan dalam setiap rantai yang relevan jika dan hanya jika semua transaksi berhasil dieksekusi. Jika satu transaksi gagal, maka bundel tersebut tidak dapat disertakan pada rantai mana pun.

Contoh yang paling mendasar adalah transfer lintas rantai kami. Katakanlah Alice ingin mengirim 1 ETH ke Bob, tetapi Alice berada di Chain A, dan Bob berada di Chain B. Dengan asumsi jembatan asli bersama untuk kedua rollup, Alice dapat membakar ETH-nya di Chain A dan mencetak ETH di Chain B yang ditransfer ke Bob. Namun, sangat penting untuk menjamin bahwa ia tidak dapat mencetak ETH tanpa membakarnya atau sebaliknya - ia dapat kehilangan ETH-nya atau kurang menjaminkan jembatannya.

Inilah mengapa transaksi atom sangat penting. Untuk memungkinkan interaksi latensi rendah antar rantai dan membuat penggunaan ekosistem Polygon terasa seperti menggunakan rantai tunggal, diperlukan jaminan atom.

[3] Ini adalah poin yang halus, tetapi dari perspektif ekosistem - AggLayer menyediakan keamanan, tetapi dari perspektif rantai tunggal, desain ini memprioritaskan kelangsungan hidup di atas keamanan, karena Rantai B dapat bergantung pada status rantai dari Rantai A yang tidak valid. Dalam kasus ini, Chain B tidak akan diterima oleh AggLayer (ditegakkan oleh sirkuit agregasi bukti) dan perlu membangun blok baru tanpa ketergantungan pada A.

[4] Pendekatan kami secara keseluruhan berutang banyak pada desain Pengurutan Validitas Bersama dari Umbra Research.

2/9/24 - Memperbarui draf ini untuk memperjelas beberapa perbandingan antara agregasi dan pengurutan bersama. Tesis gabungan bergantung pada mekanisme seperti sequencer, relay, dan pembangun bersama untuk memfasilitasi koordinasi antar rantai. Lapisan agg pada gilirannya menjamin keamanan.

Penafian: Penafian

  1. Artikel ini dicetak ulang dari [[BrendanFarmer]], Semua hak cipta adalah milik penulis asli[Brendan Farmer]. 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
ลงทะเบียนทันที