Penjelasan: Apa yang Perlu Dipertimbangkan Saat Mendesain Jembatan Lintas Rantai?

PemulaJan 14, 2024
Artikel ini membahas beberapa perkembangan dalam teknologi lintas rantai.
Penjelasan: Apa yang Perlu Dipertimbangkan Saat Mendesain Jembatan Lintas Rantai?

Pengantar

Sejak berdirinya industri blockchain, L1/L2 yang tak terhitung jumlahnya telah bermunculan, dan hampir setiap rantai publik telah mengembangkan ekosistem DeFi-nya sendiri. Beberapa orang hanya berinteraksi di rantai publik tertentu, sementara lebih banyak orang berharap mendapatkan peluang keuntungan seperti berdagang dan menambang di rantai publik yang berbeda. Diantaranya, transfer dana lintas rantai telah menjadi kebutuhan yang sangat diperlukan.

Selain pengguna biasa, banyak pihak proyek juga perlu mentransfer dana antar rantai yang berbeda, memandu likuiditas pada rantai yang berbeda, dan mencapai “satu uang untuk banyak kegunaan.”

Namun, berbagai blockchain merupakan sistem konsensus yang terisolasi, dan tidak ada cara bagi dana untuk berpindah secara langsung dari satu rantai ke rantai lainnya. Inti dari dana lintas rantai adalah jembatan lintas rantai bertindak sebagai rekanan publik, menerima dana pengguna di rantai sumber dan mengirimkan uang ke pengguna di rantai target. (Keluarkan aset yang dipetakan, atau keluarkan dana untuk pengguna dari kumpulan likuiditas yang disediakan oleh rantai target).

Apa cara terbaik untuk merealisasikan dana lintas rantai? Pada awalnya, masyarakat masih mempercayai bursa terpusat. Ada pepatah yang pernah mengatakan: “Pertukaran terpusat adalah jembatan lintas rantai terbaik.” Namun, pengoperasian “Stake-swap-withdraw” sangat rumit, dan orang-orang berharap memiliki rantai yang murni. Dengan cara ini, dana dapat disalurkan secara lebih langsung.

Selain itu, dibandingkan dengan bursa terpusat, jembatan lintas rantai dapat menyelesaikan pesan lintas rantai yang lebih umum, tidak hanya terbatas pada transfer dana. Misalnya, jika Anda menggunakan dApp peminjaman lintas rantai untuk menyediakan saham dari rantai A dan meminjamkan aset di rantai B, Anda perlu menggunakan pesan lintas rantai.

Jika kita menelaah sejarah asal muasal cross-chain, hal ini dapat ditelusuri kembali ke tahap awal perkembangan teknologi blockchain. Pada saat itu, munculnya rantai publik yang berbeda menyadarkan masyarakat bahwa masalah interoperabilitas antar rantai harus diselesaikan, jika tidak maka akan banyak pulau informasi/dana yang akan muncul. Seiring waktu, orang-orang telah mengusulkan berbagai jenis metode lintas rantai, secara bertahap membentuk model lintas rantai umum saat ini.

Di bawah ini kami akan menjelaskan beberapa perkembangan teknologi lintas rantai.

1. Metodologi

Temukan rekanan sendiri, pikirkanlah, metode lintas rantai apa yang paling intuitif? Misalkan Anda memiliki 100 USDT di rantai A dan Anda ingin mentransfernya ke rantai B. Kebetulan ada seseorang yang memiliki 100 USDT di rantai B, dan dia ingin mentransfer USDT ke rantai A. Kalian berdua melihat bahwa ini adalah tepat, jadi Anda langsung cocok. Namun ketika Anda mentransfer USDT ke alamat pihak lain di rantai A, dia menyesalinya dan tidak mentransfer USDT miliknya di rantai B ke alamat Anda. Oleh karena itu, model perdagangan P2P ini tidak terlalu dapat diandalkan. Pertama, pihak lain dapat memutuskan kontrak sehingga menyebabkan Anda menderita kerugian tanpa jaminan apa pun; kedua, rekanan ini tidak mudah ditemukan, dan Anda mungkin harus menunggu lama untuk menemukan rekanan yang cocok dengan jumlah yang ingin Anda lewati, tetapi arah lintas rantai Sebaliknya, pengguna bahkan mungkin tidak bisa menunggu untuk rekanan seperti itu untuk selamanya.

2. Jasa Notaris

2.1 Notaris perorangan

Jadi kami mengira karena pihak lain mungkin melanggar kontrak, bisakah saya menemukan pihak ketiga yang tepercaya untuk melakukan transaksi? Saya memberinya uang terlebih dahulu di rantai sumber, lalu dia berjanji untuk mentransfer uang tersebut kepada saya di rantai target. Misalnya, orang ini memiliki aset di rantai A dan rantai B, lalu dia menjamin bahwa selama dia menerima 100 USDT dari saya di rantai A, dia akan mentransfer 100 USDT ke saya dari rantai B.

Ini jauh lebih baik daripada pertukaran aset antar-rantai P2P yang pertama, karena ada rekanan publik yang tepercaya, yang memiliki benda ajaib yang disebut “likuiditas” di tangannya, dan Anda dapat berdagang dengannya kapan saja.

Dengan kata lain, transaksi Anda dengannya menjadi transaksi “point-to-pool” dan bukan transaksi “point-to-point”. Tapi kamu masih merasa tidak enak. Jika Anda menukar 100 USDT dengannya, tidak apa-apa. Bagaimana jika Anda ingin memperdagangkan 1 juta USDT dengannya? Meskipun reputasinya relatif baik, dia tetap mengambil uang itu dan melarikan diri.

Bagaimanapun, notaris ini memperkenalkan semacam sentralisasi, yang masih bukan metode lintas rantai Trustless yang kita inginkan.

2.2 Banyak Notaris (MultiSig)

Bagaimana jika notaris ini bukan satu orang, melainkan sekelompok orang? Kami dapat membuat akun yang dikelola bersama, dan beberapa penandatangan bersama-sama mengelola akun tersebut. Mereka harus menandatangani pesan. Hanya ketika jumlah tanda tangan mencapai ambang batas (biasanya 2/3) dana akan ditransfer.

Dalam hal ini, jika sejumlah kecil dari mereka (tidak lebih dari 1/3) salah paham dan ingin mengumpulkan uang dari saya di rantai sumber, tetapi tidak ingin mengirimkan uang kepada saya di rantai target, atau sedang offline, tidak masalah. Notaris lain yang jujur akan tetap menandatangani dan mentransfer uang yang menjadi hak saya.

Solusi ini lebih dapat diandalkan, melemahkan risiko sentralisasi, dan lebih aman. Misalnya, jika total ada 20 notaris yang bereputasi baik, maka kemungkinan mereka berbuat salah dalam waktu yang bersamaan masih sangat kecil. (Ini tidak termasuk situasi seperti Multichain di mana 20 node dikelola oleh satu orang, atau situasi seperti jembatan lintas rantai Axie di mana peretas mencuri 2/3 kunci tanda tangan notaris.)

2.3 Banyak Notaris (MPC)

Namun, metode pengelolaan akun multi-tanda tangan juga memiliki banyak kelemahan.

Multi-tanda tangan membuat aturan tanda tangan lebih mudah diekspos. Jika ini adalah skema tanda tangan 5/7, kode kontrak pintar dari dompet multi-tanda tangan akan mengungkapkan berapa banyak penandatangan yang ada, dan peretas dapat mencari penandatangan ini dengan cara yang ditargetkan dan menunggu peluang untuk mencuri kunci pribadi.

Multi-tanda tangan memerlukan adaptasi terhadap rantai publik yang berbeda. Misalnya, beberapa rantai publik tidak mendukung kontrak pintar, jadi Anda harus menggunakan primitif kriptografi khusus rantai tersebut untuk menerapkan akun multi-tanda tangan. Jika ini tidak didukung, dompet multi-tanda tangan Anda tidak akan dapat beroperasi.

Penandatangan banyak tanda tangan tidak dapat diubah setelah penandatangan telah diputuskan. Misalnya, jika Anda ingin mengubah skema tanda tangan 5/7 menjadi skema 6/8, atau jika Anda ingin mengubah penandatangan, Anda harus menerapkan ulang kontrak multi-tanda tangan dan mentransfer dana ke kontrak multi-tanda tangan yang baru. .

Solusi lintas rantai pertama untuk turunan BTC, tBTC, menggunakan metode multi-tanda tangan, yang telah dihilangkan karena lemah dan sulit digunakan. Sebagian besar jembatan lintas rantai saat ini mengadopsi metode MPC yang lebih canggih.

Nama lengkap Multi-Party Computation adalah Multi-Party-Computation (Multi-Party Secure Computation), yang merupakan teknologi sharding kunci pribadi. Akun multi-tanda tangan mengelola akun dengan beberapa kunci privat, sedangkan akun MPC mengelola akun dengan satu kunci privat. Kunci pribadi dibagi menjadi beberapa bagian. Beberapa penandatangan masing-masing memegang satu fragmen kunci pribadi. Ketika jumlah penandatangan adalah Tanda tangan lengkap hanya dapat disintesis ketika ambang batas tercapai, dan kunci pribadi lengkap tidak akan diekspos selama proses penandatanganan. Akun MPC memiliki keuntungan sebagai berikut: lebih rahasia daripada dompet multi-tanda tangan biasa . Ketika tanda tangan diperlukan, misalnya, 5/7 fragmen kunci pribadi digunakan untuk menandatangani masing-masing, dan beberapa sub-tanda tangan digabungkan untuk membentuk tanda tangan akhir yang sah. Dengan cara ini, apa yang Anda lihat pada rantai itu adalah satu tanda tangan biasa. Anda tidak dapat mengetahui apakah itu berasal dari akun MPC, apalagi siapa penandatangan di baliknya, atau jumlah fragmen kunci pribadi dan aturan tanda tangan tertentu. Ia dapat beradaptasi dengan sebagian besar rantai publik lebih baik daripada dompet multi-tanda tangan. MPC adalah teknologi tanda tangan dan tidak ada hubungannya dengan rantai tersebut. Akun MPC adalah akun biasa. Terlepas dari apakah rantai publik mendukung kontrak pintar, akun yang dikelola bersama dapat dibangun melalui teknologi MPC. Mekanisme tanda tangan pengganti MPC lebih fleksibel. Ini dapat mendukung penyesuaian aturan tanda tangan yang lebih fleksibel, seperti mengubah jumlah fragmen kunci pribadi dan ambang tanda tangan kapan saja, dan Anda juga dapat mengubah penanda tangan kapan saja. Anda hanya perlu membagikan ulang kunci pribadinya.

3. Tindakan pengamanan lebih lanjut

3.1 Pemisahan panas dan dingin

Setelah rekening penitipan notaris menerima 100 USDT saya di rantai A, rekening tersebut mentransfer 100 USDT ke alamat saya di rantai B. Apa yang harus menjadi proses pemicu perilaku ini?

Misalkan setiap anggota notaris memiliki mesin yang memantau transaksi di rantai A. Ketika mereka mengetahui bahwa saya mentransfer 100 USDT ke rekening penitipan jembatan lintas rantai, transaksi ini menyatakan bahwa saya berharap untuk disebutkan di rantai B. Terima USDT ini untuk alamat pengguna2.

Saat ini, notaris bersama-sama menandatangani dan mentransfer 100 USDT di akun jembatan lintas rantai di rantai B kepada pengguna. Proses ini harus ditulis ke dalam kode dan dijalankan secara otomatis, jika tidak, notaris harus online secara real-time dan harus segera beroperasi setelah menerima permintaan, yang mana hal tersebut terlalu tidak realistis.

Program otomatis ini akan berisi beberapa bagian

  1. Program pemantauan: Bertanggung jawab untuk memantau transaksi pada rantai sumber. Untuk memfilter transaksi yang tidak relevan atau transaksi tidak valid, langkah ini mungkin melakukan beberapa verifikasi format dasar;

  2. Prosedur verifikasi: Ini akan mencakup klien light node (yang mungkin juga merupakan node penuh) dari blockchain yang didukung, yang bertanggung jawab untuk memverifikasi bahwa transaksi pada rantai sumber yang berinteraksi dengan kontrak jembatan lintas rantai dikemas ke dalam blok dan dimasukkan pada rantai. ;

  3. Prosedur tanda tangan: Bertanggung jawab untuk menandatangani dan memulai transaksi transfer ke pengguna di rantai target.

Namun otomatisasi juga membawa masalah, yaitu program otomatis dapat diserang dan dimanipulasi oleh peretas. Oleh karena itu, untuk mengendalikan risiko, jembatan lintas rantai akan mengambil tindakan untuk memisahkan panas dan dingin. Program otomatis mengontrol hotkey, dan jumlah transfer dibatasi. Untuk transfer dalam jumlah besar, notaris harus menggunakan kunci dingin untuk menandatangani secara manual. Aturan pemisahan panas dan dingin dapat diterapkan di akun MPC.

3.2 Isolasi risiko

Jika ada bug, tidakkah ingin mengatasi semuanya dalam satu kejadian? Oleh karena itu, perlu dilakukan isolasi kumpulan modal dan penggunaan beberapa rekening kustodi untuk mengelola dana likuiditas. Misalnya, menurut isolasi antara rantai publik yang berbeda, A dan B, B dan C, serta C dan D semuanya merupakan kumpulan modal independen.

3.3 TEH

Program pemantauan dan penandatanganan otomatis yang dijalankan oleh notaris dapat dijalankan pada perangkat TEE, yang dapat meningkatkan kesulitan serangan peretas. TEE adalah singkatan dari Trusted Execute Environment, yang merupakan lingkungan komputasi yang berjalan pada perangkat tertentu yang terisolasi dari perangkat utama. sistem operasi, seperti sebuah enklave.

Isolasi ini diterapkan pada perangkat keras dengan keamanan yang sangat tinggi, sehingga TEE dapat menjalankan aplikasi dengan persyaratan keamanan tinggi, seperti manajemen kunci enkripsi, autentikasi biometrik, pemrosesan pembayaran yang aman, dll.

3.4 PoA ke kiri, PoS ke kanan

Untuk membuat jembatan lintas rantai lebih aman, Ada dua arah dalam pemilihan notaris:

Salah satunya adalah memilih sebanyak mungkin perusahaan besar dan institusi terkenal dengan reputasi baik. Bagi lembaga-lembaga ini, akibat dari melakukan kejahatan sangatlah tinggi, dan mereka mungkin kehilangan niat baik selama bertahun-tahun. Selain itu, cobalah untuk menjaga keragaman geografis mereka (hindari konsentrasi di yurisdiksi yang sama).

Misalnya, proyek jembatan lintas rantai Wormhole telah memilih model ini. Ke-19 nodenya didukung oleh institusi besar ternama dengan ukuran besar dan dana kuat. Ini adalah metode PoA.

Cara lainnya adalah dengan menerima notaris yang tidak berizin namun mewajibkan mereka untuk melakukan staking. Jika mereka berperilaku buruk, dana yang mereka pertaruhkan akan dipotong. Beginilah cara kerja PoS. Inilah yang digunakan ZetaChain.

Manakah dari kedua metode tersebut yang lebih baik dan mana yang lebih buruk sulit untuk menarik kesimpulan secara langsung. Hal ini tergantung pada seberapa baik kinerja pihak-pihak proyek jembatan lintas rantai di bidangnya masing-masing.

Baik itu PoA atau PoS, Anda dapat menjadikan jembatan lintas rantai langsung menjadi rantai publik. Setiap node menjalankan program yang sama, dan semua permintaan lintas rantai serta proses pemrosesan akan dicatat pada rantai ini. Rantai itu sendiri juga dapat menampung aplikasi, sehingga menjadi pusat ekologi.

3.5 Pengamat

Cara lain untuk meningkatkan keamanan adalah dengan menetapkan peran pengamat. Peran ini bertanggung jawab untuk memantau perilaku lintas rantai dan, jika ditemukan masalah, melaporkan transaksi on-chain dan dibatalkan. Karena pengamat memerlukan periode jendela untuk bereaksi, waktu kedatangan transfer lintas rantai mungkin tertunda. Oleh karena itu, pengamat hanya akan melakukan intervensi jika pengguna menerima penundaan transfer untuk transaksi bernilai besar atau operasi lintas rantai yang sensitif.

Solusi lintas rantai lainnyaHash lockKembali ke metode pertama yang disebutkan dalam artikel ini: P2P mencari rekanan untuk pertukaran aset lintas rantai. Jika kami takut pihak lawan akan gagal membayar pinjaman, kami dapat menyiapkan mekanisme. Begitu seseorang mengingkari, pihak lain bisa mendapatkan uangnya kembali dan mengembalikannya secara utuh. Ini adalah penguncian hash, yang secara cerdik menggunakan kunci hash dan kunci waktu. Ini memaksa penerima dana untuk mengkonfirmasi pembayaran sebelum batas waktu dan menghasilkan bukti penerimaan pada rantai sumber. Dengan bukti penerimaan ini, pembayar akan bisa mendapatkan aset setara penerima di rantai target. Jika tidak, kedua belah pihak akan mengembalikan semua dana melalui jalur semula.

Namun, metode ini hanya dapat menukarkan dana dan tidak dapat menyelesaikan transfer informasi lintas rantai secara umum. Bahkan dari perspektif transfer dana lintas rantai, pengalaman pengguna kunci waktu hash sangat buruk: jika fluktuasi harga mata uang tidak menguntungkan pihak lawan (penyedia likuiditas), ia mungkin secara rasional memilih untuk tidak menyelesaikan transaksi; untuk menyelesaikan Untuk pertukaran lintas rantai, baik pengguna dan pihak lawan harus menandatangani dua kali. oleh karena itu, Sebagai solusi lintas rantai, kunci waktu hash telah dihilangkan. Jembatan lintas rantai awal (seperti cBridge, dan Connext) yang menggunakan solusi ini telah mengubah caranya. Klien ringan on-chainMetode ini adalah dengan langsung menerapkan kontrak klien ringan dari rantai sumber pada rantai target. Jika Anda menerapkan kontrak pada sebuah rantai, semua node dalam rantai tersebut akan menjalankan kode kontrak yang Anda terapkan.

Oleh karena itu, solusi klien ringan on-chain memungkinkan rantai target untuk memverifikasi transaksi secara langsung dari rantai sumber. Metode ini sangat aman namun juga paling mahal. Mahalnya tercermin dalam aspek-aspek berikut: Kontrak klien ringan dari rantai target perlu menerima dan memverifikasi header blok baru dari rantai sumber secara real-time. Proses ini menghabiskan banyak Gas. Bahkan jika ZK digunakan untuk mencapai bukti yang ringkas, konsumsi Gas untuk memverifikasi bukti ZK tidak akan kurang dari 400.000 Gas (EVM Misalnya), dalam skema MPC, semua yang diperlukan untuk diverifikasi pada rantai hanyalah sebuah tanda tangan , dan konsumsi bahan bakarnya hanya sedikit di atas 20.000, selisihnya 20 kali lipat! Apakah Anda akan menggunakan jembatan yang lebih aman tetapi 20 kali lebih mahal?

Jumlah pekerjaan yang diperlukan untuk mengembangkan kontrak klien ringan sangatlah besar. Untuk membuat jembatan lintas rantai kompatibel dengan rantai yang lebih heterogen, Anda perlu mengimplementasikan kontrak klien ringan dari rantai lain di lingkungan pengembangan yang sangat berbeda dari rantai yang berbeda, yang merupakan tantangan berat bagi pengembang. Hal ini menyebabkan kemungkinan bug yang lebih besar dalam penulisan kontrak, artinya keamanan jembatan klien ringan hanya pada tingkat teoretis, tetapi dalam praktik teknik, ini sangat tidak aman. Untuk mengurangi jumlah pekerjaan pengembangan, solusi yang layak adalah dengan memperkenalkan rantai relai dan membiarkan semua rantai membuat kontrak klien ringan dengan rantai relai ini. Hal ini memang dapat mengurangi beban kerja C(n,2) menjadi n, namun tetap tidak terlalu kecil. Transfer lintas rantai langsung yang asli dari rantai sumber ke rantai target telah menjadi transfer urutan kedua dari rantai sumber → rantai relai → rantai target, yang akan menyebabkan tambahan konsumsi gas dan konsumsi waktu.

Oleh karena itu, solusi teknis klien ringan saat ini tidak dapat digunakan untuk membangun jembatan lintas rantai yang lebih universal.

Akhir permainan

Pertama-tama, rantai publik yang berbeda memiliki pendekatan yang berbeda dan memiliki sumber daya yang berbeda untuk mendukungnya. Selama mereka tidak mengaku kalah, ekosistem akan tetap ada. Sekalipun perkembangannya tidak terlalu baik dalam jangka pendek, suatu saat mungkin akan ditingkatkan dan akan hidup kembali. Hal yang mendasari infra seperti ini adalah untuk melihat siapa yang bisa bertahan lebih lama dan siapa yang bisa menyesuaikan diri dengan pasar dengan cepat.

Bitcoin dan Ethereum tidak bisa menyelesaikan semua skenario aplikasi, atau di segmen tertentu, selalu ada orang yang tidak suka, jadi mereka membuat roda baru, sehingga masa depan akan multi-rantai. Ke depan, lapisan terbawah tidak lagi menjadi rantai, sehingga ke depan harus multi-ekologis. Cara mentransfer dana dan pesan antar berbagai ekologi memerlukan teknologi lintas rantai/lintas ekologi!

Apa yang paling dikhawatirkan pengguna terkait lintas rantai? Tidak lebih dari poin-poin berikut:

Kecepatan: Berapa lama waktu yang dibutuhkan untuk menyelesaikan operasi lintas rantai?

Biaya: Berapa yang harus saya bayar untuk operasi lintas rantai

Keamanan: Apakah jembatan lintas rantai aman dan apakah dana akan hilang?

Likuiditas: Apakah terdapat cukup likuiditas untuk mendukung perdagangan saya dan dampak harga yang dapat diterima?

Cakupan koneksi: Berapa banyak rantai yang Anda dukung? Apakah Anda mendukung rantai yang perlu saya gunakan dalam operasi lintas rantai?

Pengalaman: Apakah pengoperasian lintas rantai nyaman, seperti apakah mendukung pembayaran bahan bakar, apakah perkiraan biaya akurat, apakah mendukung kueri kemajuan dan tampilan browser, apakah kegagalan sering terjadi, cara menangani kegagalan, dll?

Pertama mari kita lihat karakteristik beberapa proyek dari tiga perspektif yang relatif jelas: keamanan, biaya, dan jangkauan koneksi.


Klik link untuk melihat tabel yang jelas (tabel terus diperbarui):

https://docs.google.com/spreadsheets/d/1LKlbd5KJUnQIx3ZBTgyMADhxHtWVwBH9qDRm765tPMw/

Untuk menjelaskan jembatan lintas rantai secara lengkap, ada banyak detail dimensi yang perlu dibahas, seperti seluruh dimensi dan analisis data pada tabel di atas. Jadi faktor apa yang Anda pedulikan saat melintasi rantai? Jembatan lintas rantai manakah yang sering Anda gunakan? Menurut Anda, aspek apa yang harus menjadi fokus jembatan lintas rantai untuk pengoptimalan? Jika Anda memiliki ide, silakan berkomunikasi dengan penulis.

Penafian:

  1. Artikel ini dicetak ulang dari [极客Web3]. Semua hak cipta milik penulis asli [0xKooKoo]. 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.
เริ่มตอนนี้
สมัครและรับรางวัล
$100
ลงทะเบียนทันที