Penulis: 0xKooKoo, Konsultan Teknis untuk Geek Web3 &; Moledao, mantan Pemimpin Teknis di Bybit
**Terima kasih kepada 0xmiddle atas bantuannya dalam menulis artikel ini. **
Perkenalan****
Sejak berdirinya industri blockchain, L1/L2 yang tak terhitung jumlahnya telah muncul, dan hampir setiap rantai publik telah mengembangkan ekosistem DeFi-nya sendiri. Beberapa orang hanya berinteraksi pada rantai publik tertentu, sementara lebih banyak orang ingin mencari peluang pendapatan seperti perdagangan dan penambangan di rantai yang berbeda. Diantaranya, transfer dana lintas rantai telah menjadi kebutuhan kaku yang sangat diperlukan.
Selain pengguna biasa, banyak pihak proyek juga memiliki kebutuhan untuk mentransfer dana antar rantai yang berbeda, memandu likuiditas pada rantai yang berbeda, dan mencapai “satu uang untuk berbagai tujuan”.
Tetapi blockchain yang berbeda adalah sistem konsensus yang terisolasi, dan tidak ada cara bagi dana untuk menyeberang langsung dari satu rantai ke rantai lainnya. Inti dari dana lintas rantai adalah bahwa jembatan lintas rantai bertindak sebagai rekanan publik untuk menerima dana pengguna pada rantai sumber dan mengirim uang kepada pengguna di rantai tujuan (menerbitkan aset yang dipetakan, atau melepaskan dana untuk pengguna dari kumpulan likuiditas rantai target).
Pada awalnya, orang masih mempercayai pertukaran terpusat, dan ada pepatah yang mengatakan bahwa “pertukaran terpusat adalah jembatan lintas rantai terbaik.” Namun, pengoperasian “pengisian-pertukaran-penarikan” sangat rumit, dan orang-orang berharap akan ada metode on-chain murni untuk menyelesaikan lintas rantai dana secara lebih langsung.
Selain itu, dibandingkan dengan pertukaran terpusat, jembatan lintas rantai dapat menyelesaikan pesan lintas rantai yang lebih umum, tidak hanya terbatas pada transfer dana. Misalnya, jika Anda menggunakan dApp pinjaman lintas rantai yang memberikan jaminan dari Rantai A dan meminjamkan aset di Rantai B, Anda harus menggunakan pesan lintas rantai.
Jika kita melihat asal-usul historis cross-chain, kita dapat melacaknya kembali ke tahap awal pengembangan teknologi blockchain. Pada saat itu, munculnya rantai publik yang berbeda membuat orang menyadari bahwa masalah interoperabilitas antar rantai harus diselesaikan, jika tidak maka akan ada banyak silo informasi/modal. Seiring waktu, berbagai jenis pendekatan lintas rantai telah diusulkan, secara bertahap membentuk pola lintas rantai universal saat ini.
Mari kita lihat beberapa perkembangan teknologi lintas rantai.
Metodologi****
1. Temukan rekanan Anda sendiri
Mari kita pikirkan, apa cara paling intuitif untuk cross-chain? Katakanlah 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 ingin mentransfer USDT ke Rantai A. Kalian berdua melihat bahwa ini tidak tepat, jadi mereka cocok.
Tetapi ketika Anda mentransfer USDT ke alamat pihak lain di Rantai A, dia bertobat dan tidak mentransfer USDT-nya ke alamat Anda di Rantai B.
Oleh karena itu, model transaksi P2P ini sangat tidak dapat diandalkan, pertama, pihak lain dapat melanggar kontrak, sehingga Anda menderita kerugian, tanpa perlindungan apa pun, dan kedua, rekanan ini tidak mudah ditemukan, Anda mungkin harus menunggu lama untuk bertemu pengguna yang hanya cocok dengan jumlah yang ingin Anda keluarkan, tetapi arah lintas rantai berlawanan, dan bahkan mungkin tidak menunggu lama untuk menunggu rekanan seperti itu.
2. Skema Notaris
2.1 Saksi notaris tunggal
Jadi kami pikir, karena pihak lain mungkin default, dapatkah saya menemukan pihak ketiga tepercaya untuk berdagang?**Saya memberinya uang di rantai sumber terlebih dahulu, dan kemudian dia berjanji untuk mentransfer uang kepada saya di rantai target. Misalnya, orang ini memiliki aset di Rantai A dan Rantai B, dan kemudian dia menjamin bahwa selama dia menerima 100 USDT saya di Rantai A, dia pasti akan mentransfer 100 USDT dari Rantai B.
Ini jauh lebih baik daripada jenis pertukaran aset antar-rantai P2P pertama, karena ada rekanan publik tepercaya yang memiliki hal ajaib di tangannya yang disebut “likuiditas” yang dapat Anda perdagangkan kapan saja.
Dengan kata lain, transaksi Anda dengannya menjadi transaksi “peer-to-pool”, bukan transaksi “peer-to-peer”. Tetapi Anda masih tidak yakin, jika Anda berdagang 100 USDT dengannya, tidak apa-apa, bagaimana jika Anda ingin berdagang 1 juta USDT dengannya?
Dalam analisis terakhir, notaris ini sebenarnya telah memperkenalkan semacam sentralisasi, yang masih bukan metode lintas rantai tanpa kepercayaan yang kita inginkan.
2.2 Beberapa Notaris (MultiSig)
Bagaimana jika notaris bukan satu orang, tetapi sekelompok orang? Kita dapat membuat akun kondominium, di mana beberapa penandatangan bersama-sama mengelola akun, dan mereka harus menandatangani pesan, dan jumlah tanda tangan mencapai ambang batas (biasanya 2/3) sebelum dana ditransfer.
Dalam hal ini, jika beberapa dari mereka (tidak lebih dari 1/3) memiliki pikiran yang bengkok dan ingin mengumpulkan uang saya di rantai sumber, tetapi mereka tidak ingin mengirimi saya uang di rantai target, atau jika mereka offline, tidak masalah, notaris jujur lainnya masih akan menandatangani dan mentransfer uang yang seharusnya diberikan kepada saya.
**Skema ini lebih dapat diandalkan, melemahkan risiko sentralisasi, dan lebih aman. Misalnya, ada total 20 notaris terkemuka, dan kemungkinan mereka memiliki pikiran bengkok pada saat yang sama masih sangat rendah. (Ini tidak termasuk 20 node Multichain yang sebenarnya dikelola oleh satu orang, atau peretas mencuri 2/3 kunci penandatanganan notaris seperti jembatan Axie.) )
2.3 Beberapa Notaris (MPC)
Namun, ada juga banyak ketidaknyamanan dalam metode manajemen akun multi-tanda tangan.
Multisig membuat aturan tanda tangan lebih mudah diekspos. ** Jika itu adalah skema tanda tangan 5/7, kode kontrak pintar dari dompet multisig akan mengekspos berapa banyak penandatangan yang ada, dan peretas dapat menemukan penandatangan ini dengan cara yang ditargetkan dan menunggu kesempatan untuk mencuri kunci pribadi.
**Multisig perlu disesuaikan dengan rantai publik yang berbeda. Misalnya, beberapa rantai publik tidak mendukung kontrak pintar, Anda harus menggunakan primitif kriptografi khusus rantai untuk mengimplementasikan akun multisig, jika ini tidak didukung, dompet multisig Anda tidak akan dapat melakukannya.
Multi-tanda tangan tidak dapat diubah jika penandatangan diatur. Misalnya, jika Anda ingin mengubah ke skema penandatanganan 6/8, atau jika Anda ingin mengubah penandatangan, Anda harus menerapkan ulang kontrak multi-tanda tangan, dan Anda juga harus mentransfer dana ke kontrak multi-tanda tangan yang baru.
Skema cross-chain dari turunan BTC pertama tBTC menggunakan metode multi-signature, yang telah dihilangkan karena sangat timpang dan sulit digunakan. **Sebagian besar jembatan lintas rantai saat ini mengadopsi pendekatan MPC yang lebih maju. **
MPC adalah singkatan dari Multi-Party-Computation, yang merupakan teknologi sharding kunci pribadi. Akun multi-tanda tangan adalah akun yang dikelola oleh beberapa kunci privat, sedangkan akun MPC dikelola oleh kunci privat untuk mengelola akun, kunci privat dibagi menjadi beberapa fragmen, dan beberapa penanda tangan masing-masing memegang fragmen kunci privat, dan tanda tangan lengkap dapat disintesis ketika jumlah penanda tangan mencapai ambang batas, dan kunci privat lengkap tidak akan terungkap selama proses penandatanganan.
Akun MPC memiliki keuntungan sebagai berikut:**
**Lebih banyak kerahasiaan daripada dompet multisig biasa. **Ketika tanda tangan diperlukan, misalnya, 5/7 fragmen kunci pribadi digunakan untuk menandatangani satu sama lain, dan beberapa sub-tanda tangan digabungkan menjadi satu bagian untuk membentuk tanda tangan hukum akhir. Dengan cara ini, apa yang Anda lihat di rantai adalah satu tanda tangan biasa, dan Anda tidak dapat mengetahui apakah itu dari akun MPC, apalagi siapa penandatangan di baliknya, dan Anda tidak dapat mengetahui jumlah fragmen kunci pribadi dan aturan tanda tangan tertentu.
**Ini bisa lebih baik disesuaikan dengan sebagian besar rantai publik daripada dompet multisig. MPC adalah teknologi tanda tangan dan rantai-agnostik. Akun MPC sebenarnya adalah akun biasa, terlepas dari apakah rantai publik mendukung kontrak pintar atau tidak, Anda dapat membangun akun kondominium melalui teknologi MPC.
**MPC lebih fleksibel dalam mengubah tanda tangan. **Ini dapat mendukung penyesuaian aturan tanda tangan yang lebih fleksibel, seperti mengubah jumlah fragmen kunci privat dan ambang batas tanda tangan kapan saja, dan mengubah penanda tangan kapan saja, hanya perlu membagikan ulang kunci privat.
3. Langkah-langkah keamanan lebih lanjut
3.1 Pemisahan panas dan dingin
**Setelah rekening escrow notaris menerima 100 USDT saya di Rantai A, dia mentransfer 100 USDT ke alamat saya di Rantai B, bagaimana cara memicu perilaku ini?
Katakanlah setiap anggota notaris memiliki mesin yang mendengarkan transaksi di rantai A, dan ketika mereka mengetahui bahwa saya mentransfer 100 USDT ke rekening escrow jembatan lintas rantai, dan transaksi menyatakan bahwa saya ingin menerima USDT ini di alamat bernama user2 di rantai B.
Pada saat ini, notaris secara kolektif menandatangani bersama dan mentransfer 100 USDT dari akun jembatan lintas rantai di Rantai B ke pengguna2. Proses ini harus ditulis dalam kode dan otomatis, jika tidak, notaris harus online secara real time, dan permintaan harus segera dioperasikan, yang terlalu tidak realistis.
** Akan ada beberapa bagian dalam program otomatis ini **
Pendengar: Bertanggung jawab untuk memantau transaksi pada rantai sumber, untuk memfilter transaksi yang tidak relevan atau transaksi yang tidak valid, langkah ini dapat melakukan beberapa verifikasi format dasar;
Prosedur verifikasi: Ini akan mencakup klien simpul cahaya (atau simpul penuh) dari blockchain yang didukung, yang bertanggung jawab untuk memverifikasi bahwa transaksi pada rantai sumber yang memiliki hubungan interaktif dengan kontrak jembatan lintas rantai benar-benar telah dikemas ke dalam blok dan dimasukkan ke dalam rantai;
Program tanda tangan: Bertanggung jawab untuk menandatangani dan memulai transaksi transfer ke pengguna pada rantai target.
Tetapi otomatisasi juga membawa serta masalah bahwa program otomatis ini dapat diretas dan dimanipulasi. Oleh karena itu, untuk mengendalikan risiko, jembatan lintas rantai akan mengambil langkah-langkah untuk memisahkan panas dan dingin. ** Program otomatis mengontrol hot key, jumlah transfer terbatas, dan dalam kasus transfer besar, notaris harus menandatangani secara manual dengan cold key. Aturan pemisahan panas dan dingin dapat diterapkan di akun MPC.
3.2 Isolasi risiko
Oleh karena itu, perlu untuk melakukan pekerjaan yang baik dalam mengisolasi kumpulan modal dan menggunakan beberapa akun kustodian untuk mengelola dana likuiditas, seperti mengisolasi menurut rantai publik yang berbeda, seperti A dan B, B dan C, C dan D semuanya adalah kumpulan modal independen.
3.3 TEE
**Prosedur mendengarkan dan menandatangani otomatis yang dijalankan oleh notaris dapat dijalankan di perangkat TEE, yang dapat sangat meningkatkan kesulitan serangan peretasan. **TEE adalah singkatan dari Trusted Execution Environment, yang merupakan lingkungan komputasi yang berjalan pada perangkat tertentu yang terisolasi dari sistem operasi utama, seperti enclave.
Isolasi ini didukung perangkat keras dengan keamanan yang sangat tinggi, sehingga TEE dapat menjalankan aplikasi dengan persyaratan keamanan tinggi, seperti manajemen kunci kriptografi, otentikasi biometrik, pemrosesan pembayaran yang aman, dan banyak lagi.
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 perusahaan besar atau institusi terkenal dengan reputasi yang baik sebanyak mungkin. Untuk organisasi-organisasi ini, biaya untuk melakukan kejahatan sangat tinggi, dan itu bisa menghabiskan niat baik bertahun-tahun. Selain itu, cobalah untuk membuat mereka cukup beragam secara geografis (hindari terkonsentrasi di yurisdiksi yang sama).
Misalnya, proyek jembatan lintas rantai Wormhole telah memilih model seperti itu, dan 19 node-nya semuanya adalah institusi terkenal dengan volume besar dan dana kuat, yang merupakan cara PoA.
Cara lain adalah notaris Tanpa Izin untuk mengakui, tetapi mereka diminta untuk membuat janji, dan jika mereka berperilaku buruk, dana yang mereka jaminkan akan dipotong. Begitulah cara PoS bekerja. Itulah yang dimaksud dengan ZetaChain.
Tidak baik untuk secara langsung dan sewenang-wenang menarik kesimpulan tentang siapa yang lebih unggul dan siapa yang lebih rendah dalam dua cara. Itu tergantung pada seberapa baik kinerja pihak-pihak proyek jembatan lintas rantai ke arah masing-masing.
Baik itu PoA atau PoS, Anda dapat membuat jembatan lintas rantai langsung ke rantai publik, di mana setiap node menjalankan program yang sama, dan semua permintaan lintas rantai dan proses pemrosesan akan dicatat pada rantai ini. Rantai itu sendiri juga dapat menampung aplikasi, sehingga menjadi pusat ekologis.
3.5 Pengamat
Cara lain untuk meningkatkan keamanan adalah dengan mengatur peran pengamat. Peran ini bertanggung jawab untuk memantau perilaku lintas rantai dan dapat melaporkan dan membatalkan transaksi secara on-chain jika ditemukan masalah. Karena pengamat membutuhkan jendela untuk bereaksi, waktu kedatangan transfer lintas rantai mungkin tertunda, sehingga pengamat hanya akan campur tangan jika pengguna menerima penundaan transfer untuk transaksi besar atau operasi lintas rantai yang sensitif.
Solusi lintas rantai lainnya ****
Kunci Hash
Kembali ke metode pertama yang disebutkan dalam artikel ini: P2P untuk menemukan counterparty untuk pertukaran aset lintas rantai. Jika kita takut pihak lain akan gagal membayar hutang, maka kita dapat mengatur mekanisme, begitu seseorang bertobat, pihak lain bisa mendapatkan uangnya kembali dan mengembalikannya ke Zhao.
Ini adalah penguncian hash, yang dengan cerdik menggunakan kunci hash dan kunci waktu untuk memaksa penerima dana menentukan tanda terima sebelum batas waktu, dan menghasilkan sertifikat tanda terima pada rantai sumber, dan pembayar harus mendapatkan aset setara penerima pada rantai target dengan bukti tanda terima ini, jika tidak, dana kedua belah pihak akan dikembalikan ke cara semula.
Namun, metode ini hanya dapat menukar dana, dan tidak dapat menyelesaikan transfer informasi lintas rantai umum. Dan bahkan dari perspektif transfer dana lintas rantai, pengalaman pengguna hash timelock sangat buruk:
Jika fluktuasi harga mata uang tidak menguntungkan bagi counterparty (penyedia likuiditas), ia dapat secara rasional memilih untuk tidak mengeksekusi;
Untuk menyelesaikan pertukaran lintas rantai, pengguna dan rekanan harus melakukan dua tanda tangan.
Akibatnya, kunci waktu hash, sebagai solusi lintas rantai, sebagian besar telah dihapus. **Jembatan lintas rantai awal yang menggunakan solusi ini (misalnya, cBridge, Connext) semuanya telah berubah arah.
Klien lampu on-chain
Metode ini adalah untuk menyebarkan kontrak klien ringan dari rantai sumber langsung pada rantai target. Jika Anda menyebarkan kontrak pada rantai, maka semua simpul rantai itu akan menjalankan kode kontrak yang Anda terapkan. Oleh karena itu, solusi klien ringan on-chain sebenarnya adalah membiarkan rantai target secara langsung memverifikasi transaksi dari rantai sumber.
Metode ini sangat aman, tetapi juga yang paling mahal. Mahal dengan cara berikut:**
Kontrak klien ringan dari rantai target perlu menerima dan memverifikasi header blok baru dari rantai sumber secara real time, proses ini sangat intensif gas, bahkan jika ZK digunakan untuk mencapai bukti ringkas, konsumsi gas untuk memverifikasi bukti ZK tidak akan kurang dari 400.000 Gas (EVM misalnya), dan dalam skema MPC, rantai hanya perlu memverifikasi tanda tangan, dan konsumsi Gas hanya lebih dari 20.000, yang 20 kali lebih buruk!Jembatan yang lebih aman, tetapi 20 kali lebih mahal, maukah Anda menggunakannya?
Jumlah pekerjaan yang terlibat dalam pengembangan kontrak klien ringan sangat besar, dan agar jembatan lintas rantai kompatibel dengan rantai yang lebih heterogen, Anda perlu menerapkan kontrak klien ringan untuk satu rantai lainnya di lingkungan pengembangan yang sama sekali berbeda pada rantai yang berbeda, yang merupakan tantangan neraka bagi pengembang. Hal ini menyebabkan kemungkinan bug yang lebih besar dalam penulisan kontrak, artinya, keamanan jembatan klien ringan hanya pada tingkat teoretis, dan sangat tidak aman dalam hal praktik teknik. **
Untuk mengurangi jumlah pekerjaan pengembangan, solusi yang layak adalah memperkenalkan rantai relai, sehingga semua rantai dan rantai relai ini dapat membuat kontrak klien ringan satu sama lain, yang memang dapat mengurangi beban kerja C(n,2) menjadi n, tetapi masih tidak terlalu kecil. Apa yang awalnya merupakan transfer lintas rantai langsung dari rantai sumber ke rantai tujuan juga telah menjadi transmisi orde kedua antara rantai sumber → rantai relai → rantai tujuan, yang akan menghasilkan konsumsi gas tambahan 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 praktik yang berbeda, dan ada sumber daya yang berbeda di belakang mereka, selama mereka tidak mengaku kalah, ekologi pasti akan ada, bahkan jika perkembangannya tidak terlalu baik dalam jangka pendek, mungkin suatu hari mereka akan hidup kembali setelah melakukan peningkatan. Hal seperti infra yang mendasari semacam ini adalah untuk melihat siapa yang bertahan lama dan siapa yang menyesuaikan diri dengan cepat ke pasar. **
Bitcoin dan Ethereum tidak dapat menyelesaikan semua skenario aplikasi, atau dalam subdivisi tertentu, selalu ada orang yang tidak menyukai tempat pertama, jadi mereka membuat roda baru, jadi masa depan pasti akan multi-rantai. Atau di masa depan, lapisan bawah tidak akan menjadi rantai, maka masa depan harus multi-ekologis, bagaimana mengirimkan dana dan informasi antara berbagai ekosistem, harus ada teknologi lintas rantai / lintas ekologi!
Apa yang paling diperhatikan pengguna dalam hal cross-chain?
Kecepatan: Berapa lama waktu yang dibutuhkan untuk menyelesaikan operasi lintas rantai
Biaya: Berapa banyak yang harus saya bayar untuk operasi lintas rantai
Keamanan: Apakah jembatan lintas rantai aman dan apakah dana tidak akan hilang
Likuiditas: Apakah ada cukup likuiditas untuk mendukung perdagangan saya dan dampak harga yang dapat diterima
Rentang koneksi: Berapa banyak rantai yang Anda dukung, dan apakah Anda mendukung rantai yang saya butuhkan untuk operasi lintas rantai saya
Pengalaman: Apakah operasi lintas rantai nyaman, seperti apakah mendukung pembayaran gas, apakah estimasi biaya akurat, apakah mendukung kueri kemajuan dan tampilan browser, apakah kegagalan sering terjadi, cara menangani kegagalan, dll.
**Pertama-tama mari kita berikan gambaran umum tentang fitur beberapa proyek dari tiga perspektif yang jelas: keamanan, biaya, dan jangkauan koneksi. **
Klik tautan untuk melihat tabel yang jelas (tabel terus diperbarui):
Untuk menjelaskan jembatan lintas rantai secara lengkap, sebenarnya ada banyak dimensi yang perlu dibahas, seperti semua dimensi dan analisis data pada tabel di atas. Jadi elemen apa yang Anda pedulikan saat cross-chaining?Apa jembatan cross-chain yang sering Anda gunakan?Menurut Anda apa yang harus menjadi fokus jembatan cross-chain?Jika Anda memiliki ide-ide Anda, selamat datang untuk berkomunikasi dengan penulis.