Artikel ini dari Patrick McCorry dari Arbitrum Foundation dan Lemniscap. Patrick adalah lulusan Ph.D. pertama di Inggris dalam cryptocurrency. Selama studi doktoralnya dari 2013 hingga 2016, ia mempelajari arah terkait Bitcoin dan Ethereum, dan kemudian bekerja sebagai asisten profesor di King's College London, dan sebagai peneliti di UCL, NCL dan UIUC. Pada tahun 2019, Patrick meninggalkan universitas untuk memulai bisnis Lapisan 2 dan diakuisisi oleh Infura.Selama tinggal di Infura, ia juga menghasilkan satu set lengkap kursus blockchain. Patrick sejak itu bergabung dengan Lemniscap dan Arbitrum Foundation.
Artikel ini dibagi menjadi dua bagian, yang pertama adalah "Blockchain sebagai Database" dan yang kedua adalah "Bridging Databases". Patrick menggunakan prinsip pertama untuk mengabstraksi blockchain ke dalam bentuk protokol konsensus + database, dan berdasarkan ini, dia menjelaskan prinsip kerja Layer 1, Layer 2 dan jembatan lintas rantai, serta perbedaan antara Layer 1 dan Layer 2, dll.
Berikut teks asli artikel yang disusun oleh Rhythm:
"Blockchain sebagai Basis Data"
Ada banyak perdebatan tentang apakah jembatan verifikasi mendefinisikan rollup, atau dengan kata lain:
rollup sama dengan jembatan?
Mari kita mundur selangkah dan melihat masalah ini dari prinsip pertama.
Apa itu blockchain?
Bagaimana cara mentransfer aset dari satu database ke database lainnya melalui jembatan?
Kedua topik di atas kita bahas melalui dua artikel, dan setelah pembahasan, kita akan melihat kembali kedua topik tersebut dan mengevaluasi apakah benar atau tidak.
Apa itu blockchain?
Tujuan utama blockchain: untuk memungkinkan pihak ketiga mana pun menghitung informasi basis data yang sama dan percaya bahwa data ini valid
Inti dari blockchain adalah database, yang mencatat:
Saldo rekening
Kode kontrak pintar
*status program
Di hampir semua sistem, blockchain menentukan urutan semua transaksi historis.
Setidaknya itulah yang telah kita pelajari selama jangka waktu yang lama.
Tidak harus berupa daftar transaksi. Kemungkinan besar daftar perbedaan negara, dengan bukti tanpa pengetahuan di sampingnya.
Jadi, apa itu blockchain?
Blockchain adalah sekumpulan tabel data berurutan, yang dapat menghitung salinan basis data sesuai dengan aturan tertentu.
Tekankan kembali tujuan blockchain:
Memungkinkan pengguna menghitung salinan basis data.
Satu-satunya tugas adalah memungkinkan untuk mereplikasi database ini.
membosankan kan?
Konsensus telah tercapai di blockchain
Mengenai blockchain, salah satu teka-tekinya adalah:
Bagaimana komunitas mencapai konsensus global (konsensus) dan menyadari apa itu blockchain yang sebenarnya.
Jika kami dapat menyatukan blockchain yang sama, pengguna di seluruh dunia dapat menghitung database yang sama.
Ini mengarah pada gagasan protokol konsensus, dengan tujuan sederhana:
Menyatukan sekelompok pihak yang mungkin anonim dan tidak percaya untuk menyepakati suatu keputusan.
Dalam konteks blockchain, protokol konsensus memungkinkan satu pihak untuk mengusulkan "blok" data, menambahkannya ke bagian atas urutan data, dan semua pihak lain setuju bahwa ini memang header blok baru.
Itu sebabnya disebut blockchain, karena kita semua menyetujui string blok data yang sama!
Ada sejumlah tantangan teknis yang perlu dipertimbangkan saat merancang dan mengimplementasikan protokol konsensus:
Bisakah kita terbuka sehingga siapa pun dapat berpartisipasi?
Berapa banyak kompleksitas komunikasi yang diperlukan agar semua pihak setuju?
Apakah mungkin memberikan insentif finansial bagi orang-orang untuk berpartisipasi secara aktif?
Meskipun ini adalah topik yang sangat menarik dan kompleks, mari kita tidak fokus pada tantangan ini untuk saat ini. Satu-satunya hal yang perlu diingat adalah hanya perlu ada protokol konsensus yang memungkinkan semua pihak menyetujui blok data baru.
Contoh praktis baru dari protokol konsensus
Selama bertahun-tahun, terutama dalam mengejar blockchain Layer 1, komunitas telah mengalami berbagai konfigurasi protokol konsensus:
Nakamoto di Bitcoin
Gasper di Ethereum
Tendermint di Cosmos
Manusia salju di longsoran salju
Di hampir semua kasus, strategi go-to-market (protokol) adalah menerbitkan protokol konsensus baru, yang terus memperbarui database. Bukan hanya tentang penerapan protokol konsensus, tetapi semua infrastruktur di sekitarnya. Dan pada tingkat sosial, sehingga mayoritas yang jujur tidak memiliki akses untuk berpartisipasi.
Ini adalah tugas yang menakutkan.
Ini juga menimbulkan pertanyaan menarik:
Jika saya ingin meluncurkan rantai yang akhirnya menjadi database baru, apakah saya benar-benar perlu meluncurkan protokol konsensus baru?
Anehnya, jawabannya adalah tidak!
Bawa kembali protokol konsensus yang ada
Blockchain bisa seperti papan buletin, memungkinkan semua orang melihat pesan yang sama.
Sebelum menyelam, mari kita bayangkan sebuah abstraksi:
Papan buletin memastikan bahwa data dapat dilihat terus menerus oleh semua orang yang membutuhkannya.
Ini adalah konsep yang terkait dengan protokol pemungutan suara elektronik. Papan buletin memungkinkan semua pengguna untuk mengakses catatan protokol yang sama. Pengguna dapat mengambil catatan ini, menjalankannya sendiri, dan memverifikasi bahwa protokolnya benar. Dalam hal pemungutan suara elektronik, (papan buletin) dapat digunakan untuk memeriksa apakah kampanye pemungutan suara berjalan dengan benar dan semua suara dicatat dengan benar.
Apa hubungannya ini dengan blockchain? Yah, hanya:
Siapa pun dapat mengakses data di Papan Buletin,
Kemudian, siapa pun bisa mendapatkan data dengan stempel waktu dan menghitung salinan database. Faktanya, banyak rantai Layer-1, terutama Bitcoin dan Ethereum, merupakan papan buletin yang sangat bagus. Juga, mereka memudahkan untuk menulis data di papan buletin.
Gulung saja datanya dan publikasikan di sistem blockchain
Menggunakan kembali sistem blockchain yang ada disebut rollup.
Rollup: Semua data digabungkan dan dipublikasikan ke rantai terkait.
Beban berat dalam memutuskan pemesanan data, dan memastikan bahwa itu dapat diakses oleh siapa saja, diserahkan kepada sistem blockchain yang ada. Ini bukan ide baru. Bahkan, sudah ada selama sekitar 10 tahun. Metode rollup telah menjadi cara populer untuk mem-bootstrap database baru.
Ada banyak contoh: Coloredcoins, MasterCoin/Omni, Ordinals, Arbitrum, Optimism, StarkEx, ZkSync, Polygon Hermez, Scroll.
Semua proyek di atas, dan beberapa lainnya, sedang mencoba mem-bootstrap basis data baru di atas Bitcoin atau Ethereum.
Bahkan, karena popularitas pendekatan ini, ada platform bernama Celestia yang berfokus pada pembuatan database khusus untuk meluncurkan rollup.
Kami masih bisa menganggap rollup sebagai blockchain:
Serangkaian data yang diterbitkan secara berkala dan ditambahkan dalam database relasional berurutan.
Blok mungkin terlihat berbeda, dan bahkan mungkin berupa rangkaian blok data. Tetapi secara umum, itu masih merupakan struktur data tambahan saja yang selalu berakhir dengan urutan (atau kausal).
Pada akhirnya, apakah mengembangkan protokol konsensus baru atau menghidupkan kembali yang sudah ada, tujuannya sama: mem-bootstrap database.
Prinsip struktur data blok parsing
Terserah komunitas untuk menegakkan dan menegakkan aturan yang diterima secara global, terutama melawan node internal sistem.
Dengan asumsi semua pihak memiliki akses ke data yang sama, tantangan terakhir adalah membuat semua pihak mengikuti seperangkat aturan yang sama untuk mem-parsing blok data dan menghitung salinan database ("status fungsi transisi").
Contoh penguraian data:
Ambil satu blok data, uraikan menjadi transaksi,
Periksa apakah transaksi dapat dieksekusi, jalankan di mesin virtual tertentu, teruskan pembaruan ke database.
Ini mengarah pada masalah unik dengan cryptocurrency:
Saat dihadapkan pada penguraian data, diperlukan seperangkat aturan penguraian dengan konsensus global.
Saat mengoordinasikan aturan parsing yang konsisten secara global, kita perlu mengevaluasi dua kasus:
Operasi dilakukan. Aturan yang disepakati semua pihak, ditegakkan 99,9% sepanjang waktu.
Aturan Pemerintahan. Semua pihak memiliki proses pengaturan, mengusulkan dan menyetujui aturan baru.
Pertama, hampir semua diskusi menghubungkan keamanan jaringan blockchain dengan operasi penegakan aturan sehari-hari. Hal ini penting karena melihat bagaimana perangkat lunak, dan pihak-pihak yang terlibat, secara konsisten menegakkan aturan yang sama untuk melindungi database.
Namun, jaminan terakhir untuk mengamankan jaringan blockchain, terutama ketika ada masalah dengan pelaksanaan operasi - berarti memperbarui peraturan. Mengenai bagaimana mengubah aturan dan kapan menerapkan aturan baru, harus ada proses bagi semua peserta untuk mencapai konsensus di tingkat sosial.
Mari jelajahi konsep penegakan dan tata kelola secara lebih rinci.
Jalankan operasi
Kita semua memiliki tanggung jawab untuk tetap menegakkan aturan dan memvalidasi setiap pembaruan basis data yang diusulkan.
Eksekusi operasi sehari-hari inilah yang membuat basis data komputasi untuk sistem blockchain begitu menarik!
Kita hanya perlu menyepakati dua hal:
Di mana menemukan urutan total blok data Aturan untuk mem-parsing blok data.
Ini cukup. Selama database mengikuti aturan, semua peserta memiliki kesempatan untuk memperoleh blok data dan menegakkan aturan.
Setiap orang harus yakin dengan isi database, apakah pesertanya besar atau kecil, pemrakarsa pemesanan atau simpul keluarga.
Melangkah lebih jauh, selama semua pelaku pasar menegakkan aturan yang sama dan mereka semua dapat menghitung salinan database yang sama, maka kita dapat membiarkan pasar memutuskan apa yang harus dianggap sebagai blockchain yang sebenarnya.
Aturan Tata Kelola
Semua sistem blockchain harus dipandu oleh seperangkat aturan untuk mengurai data dan menghitung basis data.
Hampir semua sistem blockchain memerlukan fase bootstrap:
(Bitcoin) Inti Bitcoin berasal dari Satoshi Nakamoto
(Ethereum) Kertas Kuning melalui Kayu Gavin.
Biasanya, sebuah proyek di-bootstrap oleh sekelompok kecil pengembang yang memutuskan aturan, meluncurkan blockchain, dan menyerahkan perangkat lunak (dan aturannya) ke komunitas yang lebih luas.
Langkah selanjutnya adalah mengubah aturan.
Ada banyak alasan untuk mengubah peraturan, seperti peningkatan perangkat lunak atau perbaikan bug. Setiap perubahan aturan akan membutuhkan persetujuan yang lebih luas, atau apa yang disebut, konsensus sosial.
Ada dua cara untuk mencapai konsensus tentang perubahan aturan:
Konsensus kasar. Proses buram dan tidak jelas.
Tata kelola on-chain. Hapus proses pemungutan suara tata kelola token.
Yang pertama, konsensus kasar, adalah bagian inti dari jaringan blockchain seperti Bitcoin dan Ethereum. Ini melibatkan proses manusia untuk mencapai kesepakatan dengan berbagai aktor, dan kemudian pengembang mengimplementasikan pemutakhiran, mengusulkan tanggal penanda kapan pemutakhiran dapat ditayangkan.
Yang terakhir, tata kelola on-chain, pertama kali dipelopori oleh Tezos, memungkinkan peserta untuk secara eksplisit memilih apakah pemutakhiran harus digunakan, dan kemudian memberikan jadwal untuk memperbarui perangkat lunak setelah pemungutan suara berhasil. Seperti yang akan kita lihat sebentar lagi, pendekatan tata kelola on-chain telah menjadi populer di kalangan DAO sebagai cara mengelola satu proyek.
Dalam kedua kasus di atas, masih ada kebutuhan untuk menyepakati peningkatan yang diusulkan, dan (bahkan saat itu) tidak ada jaminan bahwa itu akan berjalan lancar:
Tidak ada pemisahan blockchain: pemutakhiran dijalankan dengan lancar, dengan konsensus global (termasuk pasar) hanya menerima satu basis data aturan baru.
Perpecahan Blockchain: Jika pemutakhiran diperebutkan, dan kedua pihak yang berselisih masih berjalan, maka hal itu dapat menyebabkan percabangan permanen, karena kedua komunitas menerapkan aturan yang berbeda, menghitung basis data yang berbeda, dan masing-masing memiliki kapitalisasi pasar sendiri.
Dengan kata lain, proses tata kelola hanya memberikan hasil yang ambigu sehingga masyarakat dapat menerima peningkatan yang diusulkan. (Hasil sebenarnya) Kami hanya dapat mengetahui dengan pasti setelah hari tag dan peningkatan dilakukan. Sangat mungkin anggota komunitas akan keberatan, mengabaikan aturan baru, dan membiarkan dua database yang bersaing muncul. Sama seperti BTC/BCH dan ETH/ETC.
Terakhir, ada dua cara untuk menerapkan perubahan aturan baru:
garpu keras. Perubahan yang dapat dideteksi pada aturan yang akan ditolak oleh node yang tidak ditingkatkan. Buat perubahan yang dapat dideteksi pada aturan, node yang tidak ditingkatkan tidak akan dapat berpartisipasi dalam aturan baru.
Garpu lembut. Perubahan yang tidak terdeteksi pada aturan yang akan diabaikan oleh node yang tidak ditingkatkan. Perubahan yang tidak terdeteksi pada aturan, node yang tidak ditingkatkan mengabaikan bagian ini.
Konsep garpu keras atau garpu lunak berfokus pada apakah perubahan aturan dapat dideteksi dan bagaimana reaksinya. Perdebatan sengit dapat terjadi dengan mudah tentang metode mana yang harus digunakan, karena pada akhirnya memengaruhi resistensi sensor jaringan, perlindungan terhadap serangan jahat, dan apakah pengguna dapat secara eksplisit ikut serta dalam perubahan aturan.
Dunia database
Seluruh pencarian jaringan blockchain adalah membangun database terbuka yang memungkinkan siapa saja membaca, menulis, dan mengamankannya.
Selama 14 tahun terakhir, eksperimen terbesar di komunitas selalu berfokus pada cara membangun database yang "lebih baik".
Telah terjadi evolusi yang nyata:
Basis data yang dikelola. Replikasi pengalaman web2, tetapi percayakan operator untuk melindungi integritas dan keaktifan database.
Basis data publik. Izinkan siapa pun untuk membaca database, tetapi percayakan pada operator untuk memperbaruinya.
Buka basis data. Izinkan siapa pun untuk membaca, menulis, dan mengamankan database.
Untuk memberikan beberapa contoh:
Platform perdagangan terpusat. Hampir semua platform perdagangan menerapkan database gaya web2, dan tidak mungkin bagi siapa pun untuk menghitung salinan database.
Bukti Otoritas (PoA). Beberapa sistem blockchain mengandalkan otoritas yang ditunjuk, atau beberapa otoritas yang ditunjuk, untuk menerbitkan blok baru untuk memperbarui database. Siapa pun dapat mengunduh blok, mengurai blok data, dan menghitung salinan basis data. Mereka hanya tidak memiliki kewenangan untuk mengusulkan blok baru.
Konsensus Nakamoto. Siapa pun yang bersedia menghabiskan sumber daya keuangan dapat berpartisipasi dalam proses pembaruan database dengan menerbitkan (dan memilih) blok baru. Demikian pula, siapa pun dapat mengunduh blok, mengurai blok, dan menghitung salinan database.
Sekarang - kami menggunakan kata "lebih baik" karena jawabannya - apa itu basis data yang baik, sangat subyektif dan bergantung pada metrik yang coba dioptimalkan oleh komunitas:
Nilai peserta yang dapat berpartisipasi dalam protokol konsensus?
Nilai peserta yang dapat mengunduh salinan database?
Batasi siapa yang dapat menulis ke database tanpa memerlukan persetujuan dari operator tepercaya?
Tidak peduli dengan biaya transaksi di sistem? Mungkin saat mencoba menjaga agar data tetap terbuka untuk siapa pun?
Apa yang paling mudah untuk nenek berdagang?
Kami dapat secara objektif menentukan metrik dan menilai seberapa baik sistem blockchain mencapai tujuan yang dinyatakan. Komunitas akan selamanya memperdebatkan metrik mana yang penting dan bagaimana mereka dapat mencapainya lebih baik daripada pesaing mereka. Namun, pada akhirnya, yang penting adalah di mana pengguna memilih untuk bertransaksi, dan mengapa mereka membuat keputusan tersebut.
Hanya satu pertanyaan - bagaimana kita memindahkan aset dari satu database ke database lainnya? Misalnya, alur pengguna biasa mungkin mencakup:
on line. Beli Token di Coinbase
transfer. Transfer token dari Coinbase ke Ethereum
tindakan. Coba aplikasi DeFi,
transfer. Mentransfer token dari Ethereum ke Arbitrum
tindakan. Coba aplikasi DeFi,
transfer. mentransfer token dari Arbitrum ke Binance,
lepas rantai. menjadi alat pembayaran yang sah.
Semua sistem bernama adalah basis data individual dengan berbagai tingkat keamanan dan kemampuan audit. Namun, untuk mengaktifkan pengalihan aset, kita perlu membicarakan tentang jembatan, yang akan menjadi fokus artikel kita selanjutnya!
Menjembatani Dunia - Pendahuluan
Ulasan Singkat: Blockchain sebagai Basis Data
Artikel di atas mengeksplorasi "apa itu blockchain", yang merupakan peluang bagus untuk memahami tujuan blockchain.
Jadi, apa itu blockchain?
Blockchain hanyalah struktur data yang mengatur pemesanan data (transaksi) secara keseluruhan.
Hanya ada satu tujuan:
Siapa pun dapat mengambil blockchain, mengurai data (transaksi) secara berurutan, dan membuat salinan dari database yang sama.
Sekarang giliran - salah satu masalah tersulit dalam jaringan blockchain: bagaimana peserta memverifikasi bahwa mereka memiliki salinan blockchain yang sama dan unik?
Secara sederhana, seluruh bidang teknik blockchain berfokus pada:
Mengimplementasikan database tunggal.
Dalam skala global, satu-satunya cara bagi semua pihak untuk berkumpul di blockchain yang sama adalah dengan bergabung dengan protokol konsensus. Ini memungkinkan semua pihak menyetujui keputusan untuk menambahkan blok terbaru.
Catatan tambahan yang menarik adalah bahwa satu blok data tidak harus berupa daftar transaksi, sebenarnya ada dua opsi:
sejarah transaksi. Daftar transaksi yang eksplisit untuk dilakukan. membentuk
perbedaan negara. Daftar "perbedaan status" yang dapat digunakan untuk memperbarui slot di database.
Terserah aktor untuk memutuskan bagaimana mengurai data menjadi seperangkat aturan ("status fungsi transisi") yang dapat diterapkan pada pembaruan basis data. Metode transisi negara relatif baru, berkat munculnya bukti validitas.
Jadi, pada akhirnya, inti dari semua protokol blockchain adalah untuk memastikan bahwa data dipesan dengan benar dan tersedia untuk semua orang. Nyatanya, ada asumsi yang sangat halus:
baru saja disiarkan. Protokol konsensus hanya dapat menjamin pelepasan data pada titik waktu tertentu.
Tidak ada jaminan bahwa keputusan yang disepakati secara historis tersedia, dan sebagian besar node yang menyediakan data bersifat altruistik (Catatan Penerjemah, sebagian besar node yang menyediakan data transaksi historis dimotivasi oleh altruisme. Ini karena di zona Dalam jaringan blockchain, node tidak diwajibkan untuk menjaga semua data transaksi.).
Terakhir, saat memutuskan bagaimana memastikan publisitas data database, proyek dapat membuat pilihan berikut:
Terapkan protokol konsensus baru ("Lapisan 1")
Penggunaan kembali protokol konsensus yang ada ("rollup")
Yang pertama adalah pekerjaan yang sulit. Dibutuhkan seluruh ekosistem untuk bersedia melangkah, dan biasanya membutuhkan mayoritas peserta yang jujur untuk melindungi sistem.
Rollup mengakui bahwa bootstrap ekosistem seperti itu sulit dan hanya ada sedikit nilai dalam membangun roda. Jauh lebih mudah untuk memanfaatkan Layer 1 sebagai papan buletin dan membuatnya menyimpan semua data yang relevan tersedia (dan diurutkan).
Apakah sebuah proyek memutuskan untuk menggunakan Layer 1 atau rollup baru, semua pendekatan mengarah ke dunia database dengan berbagai tingkat asumsi kepercayaan dan keamanan.
Kita dapat dengan mudah mengkategorikannya sebagai database "tertutup", "publik", atau "terbuka", dengan penekanan pada apakah database dapat dibaca secara publik, dan mekanisme yang digunakan untuk mengaktifkan penulisan ke database.
Jembatan lintas rantai untuk mentransfer aset dari satu database ke database lainnya.
Hal di atas mungkin terdengar teoretis, tetapi ada bukti empiris bahwa kita sekarang hidup di dunia dengan ratusan atau ribuan basis data yang ingin berinteraksi dengan aset kripto.
Ini mengarah ke pertanyaan berikutnya:
Bagaimana cara pengguna mentransfer aset mereka dari satu database ke database lainnya?
Kita perlu mempelajari bagaimana pengguna mentransfer aset mereka dari satu database ke database lainnya.
Lebih luas lagi, bagaimana mereka mentransfer informasi antara sistem yang berbeda. Ayo cari tahu!
Menjembatani dunia
Ini semua tentang cara mengirim pesan dari satu database ke database lainnya melalui jembatan
Ada komponen yang dapat membantu mewujudkan jenis dunia blockchain yang dibayangkan:
Jembatan: Menyediakan jalan untuk hal-hal yang sulit atau tidak mungkin untuk dilintasi.
Padahal, pengerjaan jembatan itu sangat sederhana. Itu harus membiarkan pesan lewat dari satu database ke yang lain. Itu dapat dilihat sebagai protokol komunikasi di mana entitas (jembatan) berada di antara pengirim dan penerima.
Semua protokol komunikasi mencoba memenuhi sifat-sifat berikut:
Pengiriman tepat waktu. Pesan dikonsumsi oleh penerima secepat mungkin.
utuh. Konten lengkap harus diteruskan.
Dapat diverifikasi. Penerima dapat memverifikasi bahwa pesan tersebut memang diprakarsai oleh pengirim.
Perlu dicatat bahwa jembatan, sebagai protokol komunikasi, tidak berkomitmen untuk melindungi privasi pesan. Ini opsional di dunia jembatan, dan (belum) ada protokol jembatan yang menjaga privasi pesan.
Nah, masalah utama yang perlu dipecahkan oleh bridge adalah mampu meyakinkan penerima akan keaslian pesan, yaitu proses pembuktian.
Jembatan Operasi Manual
Kami percaya pada kemampuan sistem operasi yang dijalankan manusia untuk menyampaikan informasi dan membuktikan keasliannya.
Di hampir semua desain jembatan, ada satu set otoritas antara pengirim (database A) dan penerima (database B). Tentu saja, pengirim dan penerima kemungkinan besar adalah kontrak pintar yang ada di database masing-masing.
Otoritas ini akan:
Memperoleh. Dapatkan pesan baru dari database A.
tanda. Menandatangani secara digital semua pesan yang akan dikirim ke database B.
membuktikan. Kirim tanda tangan digital dan pesan ke database B.
Proses pengesahan memerlukan database penerima (Database A) untuk memverifikasi bahwa pesan tersebut memang ditandatangani oleh otoritas tepercaya. Jika demikian, dapat memiliki keyakinan terhadap isi dan asal pesan.
Masalah utama: Percayai otoritas yang ditunjuk ini.
Selanjutnya, pengirim dan penerima harus 100% mempercayai otoritas yang ditunjuk untuk menyampaikan pesan dan membuktikan integritasnya. Ini karena pengirim dan penerima tidak dapat melihat dunia luar tanpa bantuan pihak ketiga.
Jembatan tersebut dapat disebut sebagai jembatan yang dioperasikan secara manual.
Itu bergantung pada manusia (aplikasi sisi server) untuk memfasilitasi komunikasi dan menegakkan semua aturan atas nama pengirim atau penerima. Ini adalah jenis jembatan termudah untuk digunakan dan dapat diterapkan ke berbagai blockchain yang berbeda, tetapi paling sulit untuk diamankan dalam skala besar.
Sayangnya, inti dari cryptocurrency dan gerakan Satoshi Nakamoto adalah untuk menghapus semua kepercayaan yang diperlukan agar sistem berfungsi dan menggantinya dengan bukti kriptografi.
Kita perlu berbuat lebih baik.
Keyakinan Bukti Berkembang
Kita dapat mencoba mengurangi izin manipulator man-in-the-middle menjadi hanya tukang pos yang membawa pesan
Kami harus mengirimkan bukti kriptografi bersama dengan pesan pengirim untuk membuktikan keaslian pesan tersebut.
Jika berhasil, bukti ini akan membuat penerima smart contract tidak meragukan keaslian pesan, tanpa harus mempercayai pihak manusia.
Peran yang dapat mengurangi operasi manual: Membantu menyampaikan pesan (sebagai relai) dari database A ke database B.
Mari jelajahi beberapa cara berbeda untuk mendemonstrasikan arti sebenarnya.
Wajib memberikan bukti yang benar (Nomad)
Untuk pendekatan ini, kami mengajukan pertanyaan-pertanyaan berikut:
Bisakah kita mengurangi kepercayaan pada operasi manusia dengan meminta mereka bertanggung jawab atas buktinya?
Dalam pendekatan ini, otoritas tetap perlu membuktikan keaslian pesan, namun dapat langsung dihukum jika otoritas mencoba untuk berbuat curang. Misalnya, dengan pesan yang salah dan bertentangan.
Protokol Nomad adalah contoh penerapan pendekatan yang bertanggung jawab ini.
Ini mengasumsikan dua pihak otoritatif:
hak otentikasi. Bertanggung jawab untuk membaca database A, menandatangani pesan yang dikirim olehnya, dan mengirimkan tanda tangan ke database A.
hak veto. Bertanggung jawab untuk memverifikasi silang bahwa pesan yang ditandatangani berasal dari database A, sehingga melindungi database B.
Pihak yang memberlakukan otoritas autentikasi harus mengunci aset yang cukup besar untuk mencegah perilaku jahat, dan siapa pun dapat memainkan peran ini. Di sisi lain, veto harus ditentukan sebelum protokol benar-benar berjalan, dan bagaimana agar peran veto tidak dapat diakses masih menjadi masalah penelitian terbuka.
Protokol Nomad memiliki tiga fase:
Pesan otentikasi. Authenticator membaca pesan di database A, menandatangani pesan dan mengirimkan tanda tangan ke database A.
Pesan estafet. Siapa pun dapat mengambil pesan yang ditandatangani dan meneruskannya ke database B.
Panggung veto. Ada jendela waktu tetap (misalnya, 30 menit) bagi pihak yang memveto untuk memeriksa apakah pesan yang dikirim ke database B sama persis dengan pesan di database A. Jika tidak sama, maka pesan tersebut harus ditolak dan dibatalkan.
Meskipun untuk tujuan ilustrasi, contoh kami mengasumsikan hanya satu database penerima, protokol Nomad dapat diperluas untuk memungkinkan banyak database menerima pesan bertanda tangan yang sama.
Database A mengambil tanggung jawab untuk autentikasi, tetapi bergantung pada pihak lain dengan hak veto untuk memantau semua database yang didukung untuk pesan bertanda tangan berbahaya.
Kita perlu mempertimbangkan situasi di mana pihak yang berkuasa mungkin mencoba menipu protokol jembatan:
Authenticator mengkonfirmasi dan menandatangani pesan yang tidak memiliki database Sebuah konfirmasi.
Pihak yang memveto memveto pesan yang disetujui oleh database A.
Dalam kasus pertama, pihak yang mengautentikasi secara sewenang-wenang membuat tanda tangan digital yang tidak akan dikenali oleh database A jika mereka mencoba menipu penerima. Pihak mana pun dapat mengambil tanda tangannya, mengirimkannya ke database A, dan mengotorisasi database A untuk menghukum autentikator.
Dalam kasus kedua, itu masih merupakan peran yang sepenuhnya dipercaya, dan tidak ada cara dalam protokol untuk melawan. Penting untuk dicatat bahwa catatan protokol bersifat publik untuk semua peserta dan veto dapat dibatalkan setelah kejadian tersebut. Namun, kerusakan mungkin telah terjadi saat itu, karena memveto pesan yang jujur dapat berdampak signifikan pada kelas smart contract yang bergantung pada tindakan berbasis waktu (yaitu likuidasi).
Periksa konsistensi protokol konsensus (SPV).
Melacak blok yang disetujui oleh masing-masing protokol konsensus, serta bukti tentang transaksi tertentu dan catatan database yang lebih umum.
Untuk pendekatan kedua, kami mengajukan pertanyaan-pertanyaan berikut:
Bisakah kita melacak perjanjian konsensus untuk database A?
Seperti disebutkan di atas, semua jaringan blockchain memiliki protokol konsensus yang setuju untuk menghasilkan blok baru secara berkala di bagian paling atas rantai. Blok dapat dianggap sebagai pembaruan batch ke database.
Dalam pendekatan ini, tujuannya adalah untuk memungkinkan kontrak pintar menerima (pesan) pada database B untuk dapat melacak dan mempercayai data yang dihasilkan oleh protokol konsensus dari database A.
Untuk mencapai ini, protokol konsensus harus ramah klien ringan secara default:
Klien ringan: memerlukan komputasi dan data minimal untuk mengetahui dan mempercayai status database saat ini.
Singkatnya, klien ringan memungkinkan pengguna untuk mengetahui nilai yang dicatat dalam database dan yakin bahwa protokol konsensus setuju bahwa data harus ada dalam database.
Konsep klien ringan sudah setua Bitcoin.
Buku putih Bitcoin menyebut ini sebagai model Verifikasi Pembayaran Sederhana (SPV). SPV memungkinkan pengguna untuk memverifikasi bahwa mereka memang menerima bitcoin tanpa harus memverifikasi dan menyimpan salinan seluruh database bitcoin.
Semua header blok membentuk struktur rantai, dan nilai hash dari setiap header blok berisi hasil bukti kerja
Proses SPV bekerja sebagai berikut:
Janji kripto. Setiap header blok berisi komitmen kriptografi (Merkel root) yang mewakili seluruh basis data Bitcoin. Selain itu, header blok juga berisi tautan ke blok sebelumnya dan bukti kerjanya sendiri.
Periksa rantai terpanjang. Setiap pengguna harus memiliki akses untuk memblokir data header dan memverifikasi secara mandiri (PoW) rantai terpanjang sejauh ini.
Sertakan bukti. Setelah pengguna yakin bahwa daftar header blok mereka mewakili rantai utama, siapa pun dapat memberikan bukti penyertaan (root Merkle) kepada pengguna untuk data tertentu dalam database.
Tentu. Pengguna dapat memeriksa ulang bukti penyertaan dengan header blok yang relevan dan yakin tentang data tertentu dalam database.
Model SPV Bitcoin dapat digunakan sebagai dasar untuk membangun jembatan klien ringan, yang memungkinkan kontrak cerdas pada blockchain lain untuk memahami apa yang ada di basis data Bitcoin.
Proyek lama yang disebut BTCRelay mengimplementasikan jembatan klien ringan antara Bitcoin (database A) dan Ethereum (database B). Ini adalah kontrak pintar di Ethereum yang mem-parsing header blok Bitcoin, berisi bukti, dan melacak rantai terpanjang melalui bukti kerja. Pada akhirnya, tujuannya adalah untuk memverifikasi bahwa UTXO benar-benar disimpan dalam basis data Bitcoin, dan kemudian mengizinkan kontrak pintar lain untuk beroperasi di dalamnya.
Sayangnya, BTCRelay sedikit lebih maju dari waktunya. Meskipun berfungsi penuh, itu belum mendapat banyak perhatian.
Kita dapat belajar beberapa pelajaran dari proyek ini:
Biaya gas kumulatif. Header blok pelacakan membutuhkan banyak transaksi on-chain, dengan biaya finansial yang bertambah dari waktu ke waktu.
Berlaku hanya untuk garpu Bitcoin. BTCRelay hanya kompatibel dengan blockchain yang membagi basis kode Bitcoin. Blockchain yang menggunakan protokol konsensus berbeda perlu mengimplementasikan klien ringan masing-masing secara khusus.
Konsensus kepercayaan masih diperlukan. BTCRelay hanya dapat memeriksa apakah proof of work sudah benar, bukan apakah header blok valid. Jika penambang musuh membuat header blok berbahaya dengan bukti kerja yang valid, bridge dapat disusupi. Menunggu ~6 konfirmasi dan mengandalkan asumsi mayoritas jujur Bitcoin (>51% penambang jujur) masih diperlukan.
Beberapa penelitian berfokus pada kemampuan untuk mengurangi biaya gas kumulatif dengan menggabungkan beberapa header blok menjadi satu pembaruan. Misalnya, NIPPOWS dan Sekilas fokus pada klien ringan terkait PoW.
Namun, dengan banyak jembatan di jaringan blockchain lain yang mengikuti filosofi membangun jembatan klien ringan, sudah ada secercah kesuksesan:
IBC dari Kosmos
Dekat 的 Jembatan pelangi
Rantai-P Ava
Baik IBC dan P-Chain memiliki lapisan khusus untuk melacak berbagai protokol konsensus. Mereka semua mengikuti protokol konsensus untuk menghasilkan mayoritas tanda tangan yang jujur, tetapi lebih sering daripada tidak, jika protokol konsensus memutuskan untuk menipu lapisan dasar, menandatangani pesan yang bertentangan, tidak selalu ada konsekuensinya.
Masih memercayai peserta - bisakah kita berbuat lebih baik?
Semua pekerjaan difokuskan untuk memberikan kepercayaan kepada pihak-pihak yang paling mungkin dipercaya, tetapi pada akhirnya tetap bergantung pada kepercayaan mayoritas yang jujur!
Melihat semua jembatan yang tercantum dalam artikel ini, kami selalu bergantung pada sekumpulan perantara yang harus menjamin keaslian pesan yang dikirim melalui jembatan, meskipun hanya untuk menjamin bahwa satu keputusan telah dicapai melalui protokol konsensus.
Saya kira ada persyaratan dasar bahwa jembatan selalu membutuhkan satu set perantara untuk membantu mendapatkan pesan dari database pengirim ke database penerima.
Jika kami menerima premis ini, maka kami juga dapat berargumen bahwa masuk akal untuk melacak keputusan yang dibuat oleh para peserta dalam protokol konsensus, karena mereka adalah sumber kebenaran untuk menentukan urutan total pembaruan yang akan diterapkan ke database.
Yang mengarah ke pertanyaan terakhir:
Bisakah kita membangun jembatan yang secara independen memeriksa validitas keputusan yang dibuat oleh protokol konsensus?
Ada perbedaan halus.
Bridge tidak hanya memeriksa bahwa protokol konsensus menyetujui urutan total pembaruan basis data, tetapi juga bahwa pembaruan itu sendiri valid relatif terhadap semua pembaruan lain ke basis data.
Jika ini bisa dilakukan, kontrak pintar penerima (database B) dapat yakin bahwa pembaruan diterapkan di database A, dan bahwa data di database benar-benar valid.
Itu kemudian dapat membaca database, mengekstrak informasi yang relevan, dan menindaklanjutinya.
Bisakah ini dilakukan? Jawabannya iya.
Bangkitnya Jembatan Validasi
Kami dapat menggunakan kembali protokol konsensus basis data A untuk mengurutkan semua blok data, dan kemudian jembatan validator dapat secara mandiri memeriksa validitas semua blok data sebagai pembaruan basis data B.
Inti dari jembatan verifikasi adalah untuk mengaktifkan kontrak pintar tidak hanya untuk memeriksa apakah suatu keputusan telah dibuat, tetapi juga untuk memverifikasi secara independen apakah isi keputusan itu benar.
Gagasan umumnya adalah mengambil beberapa langkah lebih banyak daripada jembatan klien ringan:
Penipuan dan bukti validitas. Perluas kemampuan klien ringan untuk secara ringkas memverifikasi kebenaran perhitungan besar.
Lapisan ketersediaan data. Protokol konsensus dihapus dari database B dengan menggunakan kembali database A untuk mengurutkan blok.
keanggotaan terbuka. Izinkan pihak untuk menunjuk sendiri dan berkontribusi pada efektivitas melakukan semua pembaruan basis data.
Untuk menghindari pengulangan analisis jembatan verifikasi - hanya masalah terakhir yang perlu didiskusikan.
Artikel ini hanya berfokus pada:
Kemampuan untuk meneruskan pesan bolak-balik antara database.
Beri penerima kepercayaan pada keaslian pesan.
Kami belum membahas bagaimana jembatan menahan atau mentransfer aset antar database.
Ini karena, pada dasarnya, semua jembatan bertanggung jawab untuk menyampaikan pesan secara tepat waktu dan meyakinkan penerima akan keasliannya.
Aset dan kewajiban
Perbendaharaan menyimpan token di database A dan mengeluarkan jumlah token yang sama di database B melalui otorisasi jembatan.
Sekarang, kita dapat menerapkan kontrak pintar pada setiap basis data, dan kontrak pintar dapat berinteraksi dengan mengirimkan pesan di jembatan.
Aplikasi yang paling umum adalah mentransfer aset dari database A ke database B (dan sebaliknya).
Kedua kontrak pintar ini meliputi:
Perbendaharaan. Kirim kontrak pintar ke database untuk penyimpanan aset.
diterbitkan. Kontrak pintar di database penerima memiliki wewenang untuk mengeluarkan IOU untuk aset di lemari besi.
Dalam dimensi yang lebih tinggi, kedua smart contract ini dapat menerapkan proses deposit/penarikan yang sangat familiar bagi sebagian besar pengguna yang ingin mentransfer aset ke sistem lain:
Proses setoran. Pengguna dapat menyetor koin ke brankas database A, dan brankas dapat mengirim pesan melalui jembatan untuk mengeluarkan jumlah aset yang sama di alamat pengguna database B.
Proses penarikan. Pengguna dapat menarik token dengan meminta penerbit untuk membakar token pada database B dan mengirim pesan melintasi jembatan agar vault melepaskan jumlah token yang sama ke alamat pengguna.
Salah satu manfaat dari desain ini adalah siapa pun yang memiliki akses baca ke lemari besi di database A dan akses baca ke penerbit di database B dapat memverifikasi bahwa aset tersebut mencakup kewajiban. Dengan kata lain, siapa pun dapat memverifikasi bahwa token yang dikeluarkan didukung oleh brankas yang dijamin sepenuhnya.
Apa berikutnya?
Cryptocurrency adalah database yang luar biasa dan "proyek jembatan"
Tentu saja, jika kita ingin memindahkan aset di sekitar database, dan membuatnya berfungsi dalam skala besar, semuanya bergantung pada seberapa aman jembatan itu, dan bagaimana kita memercayai integritas informasi yang dikirim.
Kami secara historis gagal membangun jembatan yang aman karena semuanya bergantung pada manusia untuk melindungi informasi yang dikirim. Sebagian besar pertukaran besar termasuk BitFinex, Binance, Bitstamp, dan yang terburuk MtGox telah kehilangan dana pengguna karena kecelakaan jembatan. Selain itu, ada jembatan seperti PolyNetwork, Ronin Bridge, dan Harmony untuk mentransfer dana melintasi blockchain.
Sebagai sebuah komunitas, kami telah bereksperimen dengan berbagai desain jembatan selama bertahun-tahun, beberapa hanya mengandalkan perantara tepercaya, sementara yang lain berupaya mentransfer kepercayaan dari perantara ke protokol konsensus dari masing-masing blockchain.
Jembatan validasi hanya melangkah lebih jauh - tidak hanya mempercayai keputusan yang dibuat oleh protokol konsensus, tetapi juga memeriksa apakah itu keputusan yang valid.
Tautan asli:
Blockchain sebagai Database (Bagian 1)Menjembatani Database (Bagian 2)
Lihat Asli
Halaman ini mungkin berisi konten pihak ketiga, yang disediakan untuk tujuan informasi saja (bukan pernyataan/jaminan) dan tidak boleh dianggap sebagai dukungan terhadap pandangannya oleh Gate, atau sebagai nasihat keuangan atau profesional. Lihat Penafian untuk detailnya.
Perspektif Baru Blockchain: Database, Konsensus, Rollup, dan Bridge
Pengarang: Patrick McCorry
Kompilasi asli: 0x 26
Artikel ini dari Patrick McCorry dari Arbitrum Foundation dan Lemniscap. Patrick adalah lulusan Ph.D. pertama di Inggris dalam cryptocurrency. Selama studi doktoralnya dari 2013 hingga 2016, ia mempelajari arah terkait Bitcoin dan Ethereum, dan kemudian bekerja sebagai asisten profesor di King's College London, dan sebagai peneliti di UCL, NCL dan UIUC. Pada tahun 2019, Patrick meninggalkan universitas untuk memulai bisnis Lapisan 2 dan diakuisisi oleh Infura.Selama tinggal di Infura, ia juga menghasilkan satu set lengkap kursus blockchain. Patrick sejak itu bergabung dengan Lemniscap dan Arbitrum Foundation.
Artikel ini dibagi menjadi dua bagian, yang pertama adalah "Blockchain sebagai Database" dan yang kedua adalah "Bridging Databases". Patrick menggunakan prinsip pertama untuk mengabstraksi blockchain ke dalam bentuk protokol konsensus + database, dan berdasarkan ini, dia menjelaskan prinsip kerja Layer 1, Layer 2 dan jembatan lintas rantai, serta perbedaan antara Layer 1 dan Layer 2, dll.
Berikut teks asli artikel yang disusun oleh Rhythm:
"Blockchain sebagai Basis Data"
Ada banyak perdebatan tentang apakah jembatan verifikasi mendefinisikan rollup, atau dengan kata lain:
rollup sama dengan jembatan?
Mari kita mundur selangkah dan melihat masalah ini dari prinsip pertama.
Apa itu blockchain?
Bagaimana cara mentransfer aset dari satu database ke database lainnya melalui jembatan?
Kedua topik di atas kita bahas melalui dua artikel, dan setelah pembahasan, kita akan melihat kembali kedua topik tersebut dan mengevaluasi apakah benar atau tidak.
Apa itu blockchain?
Tujuan utama blockchain: untuk memungkinkan pihak ketiga mana pun menghitung informasi basis data yang sama dan percaya bahwa data ini valid
Inti dari blockchain adalah database, yang mencatat:
Di hampir semua sistem, blockchain menentukan urutan semua transaksi historis.
Setidaknya itulah yang telah kita pelajari selama jangka waktu yang lama.
Tidak harus berupa daftar transaksi. Kemungkinan besar daftar perbedaan negara, dengan bukti tanpa pengetahuan di sampingnya.
Jadi, apa itu blockchain?
Blockchain adalah sekumpulan tabel data berurutan, yang dapat menghitung salinan basis data sesuai dengan aturan tertentu.
Tekankan kembali tujuan blockchain:
Memungkinkan pengguna menghitung salinan basis data.
Satu-satunya tugas adalah memungkinkan untuk mereplikasi database ini.
membosankan kan?
Konsensus telah tercapai di blockchain
Mengenai blockchain, salah satu teka-tekinya adalah:
Bagaimana komunitas mencapai konsensus global (konsensus) dan menyadari apa itu blockchain yang sebenarnya.
Jika kami dapat menyatukan blockchain yang sama, pengguna di seluruh dunia dapat menghitung database yang sama.
Ini mengarah pada gagasan protokol konsensus, dengan tujuan sederhana:
Menyatukan sekelompok pihak yang mungkin anonim dan tidak percaya untuk menyepakati suatu keputusan.
Dalam konteks blockchain, protokol konsensus memungkinkan satu pihak untuk mengusulkan "blok" data, menambahkannya ke bagian atas urutan data, dan semua pihak lain setuju bahwa ini memang header blok baru.
Itu sebabnya disebut blockchain, karena kita semua menyetujui string blok data yang sama!
Ada sejumlah tantangan teknis yang perlu dipertimbangkan saat merancang dan mengimplementasikan protokol konsensus:
Meskipun ini adalah topik yang sangat menarik dan kompleks, mari kita tidak fokus pada tantangan ini untuk saat ini. Satu-satunya hal yang perlu diingat adalah hanya perlu ada protokol konsensus yang memungkinkan semua pihak menyetujui blok data baru.
Contoh praktis baru dari protokol konsensus
Selama bertahun-tahun, terutama dalam mengejar blockchain Layer 1, komunitas telah mengalami berbagai konfigurasi protokol konsensus:
Di hampir semua kasus, strategi go-to-market (protokol) adalah menerbitkan protokol konsensus baru, yang terus memperbarui database. Bukan hanya tentang penerapan protokol konsensus, tetapi semua infrastruktur di sekitarnya. Dan pada tingkat sosial, sehingga mayoritas yang jujur tidak memiliki akses untuk berpartisipasi.
Ini adalah tugas yang menakutkan.
Ini juga menimbulkan pertanyaan menarik:
Jika saya ingin meluncurkan rantai yang akhirnya menjadi database baru, apakah saya benar-benar perlu meluncurkan protokol konsensus baru?
Anehnya, jawabannya adalah tidak!
Bawa kembali protokol konsensus yang ada
Blockchain bisa seperti papan buletin, memungkinkan semua orang melihat pesan yang sama.
Sebelum menyelam, mari kita bayangkan sebuah abstraksi:
Papan buletin memastikan bahwa data dapat dilihat terus menerus oleh semua orang yang membutuhkannya.
Ini adalah konsep yang terkait dengan protokol pemungutan suara elektronik. Papan buletin memungkinkan semua pengguna untuk mengakses catatan protokol yang sama. Pengguna dapat mengambil catatan ini, menjalankannya sendiri, dan memverifikasi bahwa protokolnya benar. Dalam hal pemungutan suara elektronik, (papan buletin) dapat digunakan untuk memeriksa apakah kampanye pemungutan suara berjalan dengan benar dan semua suara dicatat dengan benar.
Apa hubungannya ini dengan blockchain? Yah, hanya:
Siapa pun dapat mengakses data di Papan Buletin,
Kemudian, siapa pun bisa mendapatkan data dengan stempel waktu dan menghitung salinan database. Faktanya, banyak rantai Layer-1, terutama Bitcoin dan Ethereum, merupakan papan buletin yang sangat bagus. Juga, mereka memudahkan untuk menulis data di papan buletin.
Gulung saja datanya dan publikasikan di sistem blockchain
Menggunakan kembali sistem blockchain yang ada disebut rollup.
Rollup: Semua data digabungkan dan dipublikasikan ke rantai terkait.
Beban berat dalam memutuskan pemesanan data, dan memastikan bahwa itu dapat diakses oleh siapa saja, diserahkan kepada sistem blockchain yang ada. Ini bukan ide baru. Bahkan, sudah ada selama sekitar 10 tahun. Metode rollup telah menjadi cara populer untuk mem-bootstrap database baru.
Ada banyak contoh: Coloredcoins, MasterCoin/Omni, Ordinals, Arbitrum, Optimism, StarkEx, ZkSync, Polygon Hermez, Scroll.
Semua proyek di atas, dan beberapa lainnya, sedang mencoba mem-bootstrap basis data baru di atas Bitcoin atau Ethereum.
Bahkan, karena popularitas pendekatan ini, ada platform bernama Celestia yang berfokus pada pembuatan database khusus untuk meluncurkan rollup.
Kami masih bisa menganggap rollup sebagai blockchain:
Serangkaian data yang diterbitkan secara berkala dan ditambahkan dalam database relasional berurutan.
Blok mungkin terlihat berbeda, dan bahkan mungkin berupa rangkaian blok data. Tetapi secara umum, itu masih merupakan struktur data tambahan saja yang selalu berakhir dengan urutan (atau kausal).
Pada akhirnya, apakah mengembangkan protokol konsensus baru atau menghidupkan kembali yang sudah ada, tujuannya sama: mem-bootstrap database.
Prinsip struktur data blok parsing
Terserah komunitas untuk menegakkan dan menegakkan aturan yang diterima secara global, terutama melawan node internal sistem.
Dengan asumsi semua pihak memiliki akses ke data yang sama, tantangan terakhir adalah membuat semua pihak mengikuti seperangkat aturan yang sama untuk mem-parsing blok data dan menghitung salinan database ("status fungsi transisi").
Contoh penguraian data:
Ambil satu blok data, uraikan menjadi transaksi,
Periksa apakah transaksi dapat dieksekusi, jalankan di mesin virtual tertentu, teruskan pembaruan ke database.
Ini mengarah pada masalah unik dengan cryptocurrency:
Saat dihadapkan pada penguraian data, diperlukan seperangkat aturan penguraian dengan konsensus global.
Saat mengoordinasikan aturan parsing yang konsisten secara global, kita perlu mengevaluasi dua kasus:
Operasi dilakukan. Aturan yang disepakati semua pihak, ditegakkan 99,9% sepanjang waktu.
Aturan Pemerintahan. Semua pihak memiliki proses pengaturan, mengusulkan dan menyetujui aturan baru.
Pertama, hampir semua diskusi menghubungkan keamanan jaringan blockchain dengan operasi penegakan aturan sehari-hari. Hal ini penting karena melihat bagaimana perangkat lunak, dan pihak-pihak yang terlibat, secara konsisten menegakkan aturan yang sama untuk melindungi database.
Namun, jaminan terakhir untuk mengamankan jaringan blockchain, terutama ketika ada masalah dengan pelaksanaan operasi - berarti memperbarui peraturan. Mengenai bagaimana mengubah aturan dan kapan menerapkan aturan baru, harus ada proses bagi semua peserta untuk mencapai konsensus di tingkat sosial.
Mari jelajahi konsep penegakan dan tata kelola secara lebih rinci.
Jalankan operasi
Kita semua memiliki tanggung jawab untuk tetap menegakkan aturan dan memvalidasi setiap pembaruan basis data yang diusulkan.
Eksekusi operasi sehari-hari inilah yang membuat basis data komputasi untuk sistem blockchain begitu menarik!
Kita hanya perlu menyepakati dua hal:
Di mana menemukan urutan total blok data Aturan untuk mem-parsing blok data.
Ini cukup. Selama database mengikuti aturan, semua peserta memiliki kesempatan untuk memperoleh blok data dan menegakkan aturan.
Setiap orang harus yakin dengan isi database, apakah pesertanya besar atau kecil, pemrakarsa pemesanan atau simpul keluarga.
Melangkah lebih jauh, selama semua pelaku pasar menegakkan aturan yang sama dan mereka semua dapat menghitung salinan database yang sama, maka kita dapat membiarkan pasar memutuskan apa yang harus dianggap sebagai blockchain yang sebenarnya.
Aturan Tata Kelola
Semua sistem blockchain harus dipandu oleh seperangkat aturan untuk mengurai data dan menghitung basis data.
Hampir semua sistem blockchain memerlukan fase bootstrap:
(Bitcoin) Inti Bitcoin berasal dari Satoshi Nakamoto
(Ethereum) Kertas Kuning melalui Kayu Gavin.
Biasanya, sebuah proyek di-bootstrap oleh sekelompok kecil pengembang yang memutuskan aturan, meluncurkan blockchain, dan menyerahkan perangkat lunak (dan aturannya) ke komunitas yang lebih luas.
Langkah selanjutnya adalah mengubah aturan.
Ada banyak alasan untuk mengubah peraturan, seperti peningkatan perangkat lunak atau perbaikan bug. Setiap perubahan aturan akan membutuhkan persetujuan yang lebih luas, atau apa yang disebut, konsensus sosial.
Ada dua cara untuk mencapai konsensus tentang perubahan aturan:
Konsensus kasar. Proses buram dan tidak jelas.
Tata kelola on-chain. Hapus proses pemungutan suara tata kelola token.
Yang pertama, konsensus kasar, adalah bagian inti dari jaringan blockchain seperti Bitcoin dan Ethereum. Ini melibatkan proses manusia untuk mencapai kesepakatan dengan berbagai aktor, dan kemudian pengembang mengimplementasikan pemutakhiran, mengusulkan tanggal penanda kapan pemutakhiran dapat ditayangkan.
Yang terakhir, tata kelola on-chain, pertama kali dipelopori oleh Tezos, memungkinkan peserta untuk secara eksplisit memilih apakah pemutakhiran harus digunakan, dan kemudian memberikan jadwal untuk memperbarui perangkat lunak setelah pemungutan suara berhasil. Seperti yang akan kita lihat sebentar lagi, pendekatan tata kelola on-chain telah menjadi populer di kalangan DAO sebagai cara mengelola satu proyek.
Dalam kedua kasus di atas, masih ada kebutuhan untuk menyepakati peningkatan yang diusulkan, dan (bahkan saat itu) tidak ada jaminan bahwa itu akan berjalan lancar:
Tidak ada pemisahan blockchain: pemutakhiran dijalankan dengan lancar, dengan konsensus global (termasuk pasar) hanya menerima satu basis data aturan baru.
Perpecahan Blockchain: Jika pemutakhiran diperebutkan, dan kedua pihak yang berselisih masih berjalan, maka hal itu dapat menyebabkan percabangan permanen, karena kedua komunitas menerapkan aturan yang berbeda, menghitung basis data yang berbeda, dan masing-masing memiliki kapitalisasi pasar sendiri.
Dengan kata lain, proses tata kelola hanya memberikan hasil yang ambigu sehingga masyarakat dapat menerima peningkatan yang diusulkan. (Hasil sebenarnya) Kami hanya dapat mengetahui dengan pasti setelah hari tag dan peningkatan dilakukan. Sangat mungkin anggota komunitas akan keberatan, mengabaikan aturan baru, dan membiarkan dua database yang bersaing muncul. Sama seperti BTC/BCH dan ETH/ETC.
Terakhir, ada dua cara untuk menerapkan perubahan aturan baru:
garpu keras. Perubahan yang dapat dideteksi pada aturan yang akan ditolak oleh node yang tidak ditingkatkan. Buat perubahan yang dapat dideteksi pada aturan, node yang tidak ditingkatkan tidak akan dapat berpartisipasi dalam aturan baru.
Garpu lembut. Perubahan yang tidak terdeteksi pada aturan yang akan diabaikan oleh node yang tidak ditingkatkan. Perubahan yang tidak terdeteksi pada aturan, node yang tidak ditingkatkan mengabaikan bagian ini.
Konsep garpu keras atau garpu lunak berfokus pada apakah perubahan aturan dapat dideteksi dan bagaimana reaksinya. Perdebatan sengit dapat terjadi dengan mudah tentang metode mana yang harus digunakan, karena pada akhirnya memengaruhi resistensi sensor jaringan, perlindungan terhadap serangan jahat, dan apakah pengguna dapat secara eksplisit ikut serta dalam perubahan aturan.
Dunia database
Seluruh pencarian jaringan blockchain adalah membangun database terbuka yang memungkinkan siapa saja membaca, menulis, dan mengamankannya.
Selama 14 tahun terakhir, eksperimen terbesar di komunitas selalu berfokus pada cara membangun database yang "lebih baik".
Telah terjadi evolusi yang nyata:
Untuk memberikan beberapa contoh:
Platform perdagangan terpusat. Hampir semua platform perdagangan menerapkan database gaya web2, dan tidak mungkin bagi siapa pun untuk menghitung salinan database.
Bukti Otoritas (PoA). Beberapa sistem blockchain mengandalkan otoritas yang ditunjuk, atau beberapa otoritas yang ditunjuk, untuk menerbitkan blok baru untuk memperbarui database. Siapa pun dapat mengunduh blok, mengurai blok data, dan menghitung salinan basis data. Mereka hanya tidak memiliki kewenangan untuk mengusulkan blok baru.
Konsensus Nakamoto. Siapa pun yang bersedia menghabiskan sumber daya keuangan dapat berpartisipasi dalam proses pembaruan database dengan menerbitkan (dan memilih) blok baru. Demikian pula, siapa pun dapat mengunduh blok, mengurai blok, dan menghitung salinan database.
Sekarang - kami menggunakan kata "lebih baik" karena jawabannya - apa itu basis data yang baik, sangat subyektif dan bergantung pada metrik yang coba dioptimalkan oleh komunitas:
Kami dapat secara objektif menentukan metrik dan menilai seberapa baik sistem blockchain mencapai tujuan yang dinyatakan. Komunitas akan selamanya memperdebatkan metrik mana yang penting dan bagaimana mereka dapat mencapainya lebih baik daripada pesaing mereka. Namun, pada akhirnya, yang penting adalah di mana pengguna memilih untuk bertransaksi, dan mengapa mereka membuat keputusan tersebut.
Hanya satu pertanyaan - bagaimana kita memindahkan aset dari satu database ke database lainnya? Misalnya, alur pengguna biasa mungkin mencakup:
Semua sistem bernama adalah basis data individual dengan berbagai tingkat keamanan dan kemampuan audit. Namun, untuk mengaktifkan pengalihan aset, kita perlu membicarakan tentang jembatan, yang akan menjadi fokus artikel kita selanjutnya!
Menjembatani Dunia - Pendahuluan
Ulasan Singkat: Blockchain sebagai Basis Data
Artikel di atas mengeksplorasi "apa itu blockchain", yang merupakan peluang bagus untuk memahami tujuan blockchain.
Jadi, apa itu blockchain?
Blockchain hanyalah struktur data yang mengatur pemesanan data (transaksi) secara keseluruhan.
Hanya ada satu tujuan:
Siapa pun dapat mengambil blockchain, mengurai data (transaksi) secara berurutan, dan membuat salinan dari database yang sama.
Sekarang giliran - salah satu masalah tersulit dalam jaringan blockchain: bagaimana peserta memverifikasi bahwa mereka memiliki salinan blockchain yang sama dan unik?
Secara sederhana, seluruh bidang teknik blockchain berfokus pada:
Mengimplementasikan database tunggal.
Dalam skala global, satu-satunya cara bagi semua pihak untuk berkumpul di blockchain yang sama adalah dengan bergabung dengan protokol konsensus. Ini memungkinkan semua pihak menyetujui keputusan untuk menambahkan blok terbaru.
Catatan tambahan yang menarik adalah bahwa satu blok data tidak harus berupa daftar transaksi, sebenarnya ada dua opsi:
sejarah transaksi. Daftar transaksi yang eksplisit untuk dilakukan. membentuk
perbedaan negara. Daftar "perbedaan status" yang dapat digunakan untuk memperbarui slot di database.
Terserah aktor untuk memutuskan bagaimana mengurai data menjadi seperangkat aturan ("status fungsi transisi") yang dapat diterapkan pada pembaruan basis data. Metode transisi negara relatif baru, berkat munculnya bukti validitas.
Jadi, pada akhirnya, inti dari semua protokol blockchain adalah untuk memastikan bahwa data dipesan dengan benar dan tersedia untuk semua orang. Nyatanya, ada asumsi yang sangat halus:
baru saja disiarkan. Protokol konsensus hanya dapat menjamin pelepasan data pada titik waktu tertentu.
Tidak ada jaminan bahwa keputusan yang disepakati secara historis tersedia, dan sebagian besar node yang menyediakan data bersifat altruistik (Catatan Penerjemah, sebagian besar node yang menyediakan data transaksi historis dimotivasi oleh altruisme. Ini karena di zona Dalam jaringan blockchain, node tidak diwajibkan untuk menjaga semua data transaksi.).
Terakhir, saat memutuskan bagaimana memastikan publisitas data database, proyek dapat membuat pilihan berikut:
Terapkan protokol konsensus baru ("Lapisan 1")
Penggunaan kembali protokol konsensus yang ada ("rollup")
Yang pertama adalah pekerjaan yang sulit. Dibutuhkan seluruh ekosistem untuk bersedia melangkah, dan biasanya membutuhkan mayoritas peserta yang jujur untuk melindungi sistem.
Rollup mengakui bahwa bootstrap ekosistem seperti itu sulit dan hanya ada sedikit nilai dalam membangun roda. Jauh lebih mudah untuk memanfaatkan Layer 1 sebagai papan buletin dan membuatnya menyimpan semua data yang relevan tersedia (dan diurutkan).
Apakah sebuah proyek memutuskan untuk menggunakan Layer 1 atau rollup baru, semua pendekatan mengarah ke dunia database dengan berbagai tingkat asumsi kepercayaan dan keamanan.
Kita dapat dengan mudah mengkategorikannya sebagai database "tertutup", "publik", atau "terbuka", dengan penekanan pada apakah database dapat dibaca secara publik, dan mekanisme yang digunakan untuk mengaktifkan penulisan ke database.
Jembatan lintas rantai untuk mentransfer aset dari satu database ke database lainnya.
Hal di atas mungkin terdengar teoretis, tetapi ada bukti empiris bahwa kita sekarang hidup di dunia dengan ratusan atau ribuan basis data yang ingin berinteraksi dengan aset kripto.
Ini mengarah ke pertanyaan berikutnya:
Bagaimana cara pengguna mentransfer aset mereka dari satu database ke database lainnya?
Kita perlu mempelajari bagaimana pengguna mentransfer aset mereka dari satu database ke database lainnya.
Lebih luas lagi, bagaimana mereka mentransfer informasi antara sistem yang berbeda. Ayo cari tahu!
Menjembatani dunia
Ini semua tentang cara mengirim pesan dari satu database ke database lainnya melalui jembatan
Ada komponen yang dapat membantu mewujudkan jenis dunia blockchain yang dibayangkan:
Jembatan: Menyediakan jalan untuk hal-hal yang sulit atau tidak mungkin untuk dilintasi.
Padahal, pengerjaan jembatan itu sangat sederhana. Itu harus membiarkan pesan lewat dari satu database ke yang lain. Itu dapat dilihat sebagai protokol komunikasi di mana entitas (jembatan) berada di antara pengirim dan penerima.
Semua protokol komunikasi mencoba memenuhi sifat-sifat berikut:
Perlu dicatat bahwa jembatan, sebagai protokol komunikasi, tidak berkomitmen untuk melindungi privasi pesan. Ini opsional di dunia jembatan, dan (belum) ada protokol jembatan yang menjaga privasi pesan.
Nah, masalah utama yang perlu dipecahkan oleh bridge adalah mampu meyakinkan penerima akan keaslian pesan, yaitu proses pembuktian.
Jembatan Operasi Manual
Kami percaya pada kemampuan sistem operasi yang dijalankan manusia untuk menyampaikan informasi dan membuktikan keasliannya.
Di hampir semua desain jembatan, ada satu set otoritas antara pengirim (database A) dan penerima (database B). Tentu saja, pengirim dan penerima kemungkinan besar adalah kontrak pintar yang ada di database masing-masing.
Otoritas ini akan:
Proses pengesahan memerlukan database penerima (Database A) untuk memverifikasi bahwa pesan tersebut memang ditandatangani oleh otoritas tepercaya. Jika demikian, dapat memiliki keyakinan terhadap isi dan asal pesan.
Masalah utama: Percayai otoritas yang ditunjuk ini.
Selanjutnya, pengirim dan penerima harus 100% mempercayai otoritas yang ditunjuk untuk menyampaikan pesan dan membuktikan integritasnya. Ini karena pengirim dan penerima tidak dapat melihat dunia luar tanpa bantuan pihak ketiga.
Jembatan tersebut dapat disebut sebagai jembatan yang dioperasikan secara manual.
Itu bergantung pada manusia (aplikasi sisi server) untuk memfasilitasi komunikasi dan menegakkan semua aturan atas nama pengirim atau penerima. Ini adalah jenis jembatan termudah untuk digunakan dan dapat diterapkan ke berbagai blockchain yang berbeda, tetapi paling sulit untuk diamankan dalam skala besar.
Sayangnya, inti dari cryptocurrency dan gerakan Satoshi Nakamoto adalah untuk menghapus semua kepercayaan yang diperlukan agar sistem berfungsi dan menggantinya dengan bukti kriptografi.
Kita perlu berbuat lebih baik.
Keyakinan Bukti Berkembang
Kita dapat mencoba mengurangi izin manipulator man-in-the-middle menjadi hanya tukang pos yang membawa pesan
Kami harus mengirimkan bukti kriptografi bersama dengan pesan pengirim untuk membuktikan keaslian pesan tersebut.
Jika berhasil, bukti ini akan membuat penerima smart contract tidak meragukan keaslian pesan, tanpa harus mempercayai pihak manusia.
Peran yang dapat mengurangi operasi manual: Membantu menyampaikan pesan (sebagai relai) dari database A ke database B.
Mari jelajahi beberapa cara berbeda untuk mendemonstrasikan arti sebenarnya.
Wajib memberikan bukti yang benar (Nomad)
Untuk pendekatan ini, kami mengajukan pertanyaan-pertanyaan berikut:
Bisakah kita mengurangi kepercayaan pada operasi manusia dengan meminta mereka bertanggung jawab atas buktinya?
Dalam pendekatan ini, otoritas tetap perlu membuktikan keaslian pesan, namun dapat langsung dihukum jika otoritas mencoba untuk berbuat curang. Misalnya, dengan pesan yang salah dan bertentangan.
Protokol Nomad adalah contoh penerapan pendekatan yang bertanggung jawab ini.
Ini mengasumsikan dua pihak otoritatif:
hak otentikasi. Bertanggung jawab untuk membaca database A, menandatangani pesan yang dikirim olehnya, dan mengirimkan tanda tangan ke database A.
hak veto. Bertanggung jawab untuk memverifikasi silang bahwa pesan yang ditandatangani berasal dari database A, sehingga melindungi database B.
Pihak yang memberlakukan otoritas autentikasi harus mengunci aset yang cukup besar untuk mencegah perilaku jahat, dan siapa pun dapat memainkan peran ini. Di sisi lain, veto harus ditentukan sebelum protokol benar-benar berjalan, dan bagaimana agar peran veto tidak dapat diakses masih menjadi masalah penelitian terbuka.
Protokol Nomad memiliki tiga fase:
Meskipun untuk tujuan ilustrasi, contoh kami mengasumsikan hanya satu database penerima, protokol Nomad dapat diperluas untuk memungkinkan banyak database menerima pesan bertanda tangan yang sama.
Database A mengambil tanggung jawab untuk autentikasi, tetapi bergantung pada pihak lain dengan hak veto untuk memantau semua database yang didukung untuk pesan bertanda tangan berbahaya.
Kita perlu mempertimbangkan situasi di mana pihak yang berkuasa mungkin mencoba menipu protokol jembatan:
Authenticator mengkonfirmasi dan menandatangani pesan yang tidak memiliki database Sebuah konfirmasi.
Pihak yang memveto memveto pesan yang disetujui oleh database A.
Dalam kasus pertama, pihak yang mengautentikasi secara sewenang-wenang membuat tanda tangan digital yang tidak akan dikenali oleh database A jika mereka mencoba menipu penerima. Pihak mana pun dapat mengambil tanda tangannya, mengirimkannya ke database A, dan mengotorisasi database A untuk menghukum autentikator.
Dalam kasus kedua, itu masih merupakan peran yang sepenuhnya dipercaya, dan tidak ada cara dalam protokol untuk melawan. Penting untuk dicatat bahwa catatan protokol bersifat publik untuk semua peserta dan veto dapat dibatalkan setelah kejadian tersebut. Namun, kerusakan mungkin telah terjadi saat itu, karena memveto pesan yang jujur dapat berdampak signifikan pada kelas smart contract yang bergantung pada tindakan berbasis waktu (yaitu likuidasi).
Periksa konsistensi protokol konsensus (SPV).
Melacak blok yang disetujui oleh masing-masing protokol konsensus, serta bukti tentang transaksi tertentu dan catatan database yang lebih umum.
Untuk pendekatan kedua, kami mengajukan pertanyaan-pertanyaan berikut:
Bisakah kita melacak perjanjian konsensus untuk database A?
Seperti disebutkan di atas, semua jaringan blockchain memiliki protokol konsensus yang setuju untuk menghasilkan blok baru secara berkala di bagian paling atas rantai. Blok dapat dianggap sebagai pembaruan batch ke database.
Dalam pendekatan ini, tujuannya adalah untuk memungkinkan kontrak pintar menerima (pesan) pada database B untuk dapat melacak dan mempercayai data yang dihasilkan oleh protokol konsensus dari database A.
Untuk mencapai ini, protokol konsensus harus ramah klien ringan secara default:
Klien ringan: memerlukan komputasi dan data minimal untuk mengetahui dan mempercayai status database saat ini.
Singkatnya, klien ringan memungkinkan pengguna untuk mengetahui nilai yang dicatat dalam database dan yakin bahwa protokol konsensus setuju bahwa data harus ada dalam database.
Konsep klien ringan sudah setua Bitcoin.
Buku putih Bitcoin menyebut ini sebagai model Verifikasi Pembayaran Sederhana (SPV). SPV memungkinkan pengguna untuk memverifikasi bahwa mereka memang menerima bitcoin tanpa harus memverifikasi dan menyimpan salinan seluruh database bitcoin.
Semua header blok membentuk struktur rantai, dan nilai hash dari setiap header blok berisi hasil bukti kerja
Proses SPV bekerja sebagai berikut:
Janji kripto. Setiap header blok berisi komitmen kriptografi (Merkel root) yang mewakili seluruh basis data Bitcoin. Selain itu, header blok juga berisi tautan ke blok sebelumnya dan bukti kerjanya sendiri.
Periksa rantai terpanjang. Setiap pengguna harus memiliki akses untuk memblokir data header dan memverifikasi secara mandiri (PoW) rantai terpanjang sejauh ini.
Sertakan bukti. Setelah pengguna yakin bahwa daftar header blok mereka mewakili rantai utama, siapa pun dapat memberikan bukti penyertaan (root Merkle) kepada pengguna untuk data tertentu dalam database.
Tentu. Pengguna dapat memeriksa ulang bukti penyertaan dengan header blok yang relevan dan yakin tentang data tertentu dalam database.
Model SPV Bitcoin dapat digunakan sebagai dasar untuk membangun jembatan klien ringan, yang memungkinkan kontrak cerdas pada blockchain lain untuk memahami apa yang ada di basis data Bitcoin.
Proyek lama yang disebut BTCRelay mengimplementasikan jembatan klien ringan antara Bitcoin (database A) dan Ethereum (database B). Ini adalah kontrak pintar di Ethereum yang mem-parsing header blok Bitcoin, berisi bukti, dan melacak rantai terpanjang melalui bukti kerja. Pada akhirnya, tujuannya adalah untuk memverifikasi bahwa UTXO benar-benar disimpan dalam basis data Bitcoin, dan kemudian mengizinkan kontrak pintar lain untuk beroperasi di dalamnya.
Sayangnya, BTCRelay sedikit lebih maju dari waktunya. Meskipun berfungsi penuh, itu belum mendapat banyak perhatian.
Kita dapat belajar beberapa pelajaran dari proyek ini:
Biaya gas kumulatif. Header blok pelacakan membutuhkan banyak transaksi on-chain, dengan biaya finansial yang bertambah dari waktu ke waktu.
Berlaku hanya untuk garpu Bitcoin. BTCRelay hanya kompatibel dengan blockchain yang membagi basis kode Bitcoin. Blockchain yang menggunakan protokol konsensus berbeda perlu mengimplementasikan klien ringan masing-masing secara khusus.
Konsensus kepercayaan masih diperlukan. BTCRelay hanya dapat memeriksa apakah proof of work sudah benar, bukan apakah header blok valid. Jika penambang musuh membuat header blok berbahaya dengan bukti kerja yang valid, bridge dapat disusupi. Menunggu ~6 konfirmasi dan mengandalkan asumsi mayoritas jujur Bitcoin (>51% penambang jujur) masih diperlukan.
Beberapa penelitian berfokus pada kemampuan untuk mengurangi biaya gas kumulatif dengan menggabungkan beberapa header blok menjadi satu pembaruan. Misalnya, NIPPOWS dan Sekilas fokus pada klien ringan terkait PoW.
Namun, dengan banyak jembatan di jaringan blockchain lain yang mengikuti filosofi membangun jembatan klien ringan, sudah ada secercah kesuksesan:
Baik IBC dan P-Chain memiliki lapisan khusus untuk melacak berbagai protokol konsensus. Mereka semua mengikuti protokol konsensus untuk menghasilkan mayoritas tanda tangan yang jujur, tetapi lebih sering daripada tidak, jika protokol konsensus memutuskan untuk menipu lapisan dasar, menandatangani pesan yang bertentangan, tidak selalu ada konsekuensinya.
Masih memercayai peserta - bisakah kita berbuat lebih baik?
Semua pekerjaan difokuskan untuk memberikan kepercayaan kepada pihak-pihak yang paling mungkin dipercaya, tetapi pada akhirnya tetap bergantung pada kepercayaan mayoritas yang jujur!
Melihat semua jembatan yang tercantum dalam artikel ini, kami selalu bergantung pada sekumpulan perantara yang harus menjamin keaslian pesan yang dikirim melalui jembatan, meskipun hanya untuk menjamin bahwa satu keputusan telah dicapai melalui protokol konsensus.
Saya kira ada persyaratan dasar bahwa jembatan selalu membutuhkan satu set perantara untuk membantu mendapatkan pesan dari database pengirim ke database penerima.
Jika kami menerima premis ini, maka kami juga dapat berargumen bahwa masuk akal untuk melacak keputusan yang dibuat oleh para peserta dalam protokol konsensus, karena mereka adalah sumber kebenaran untuk menentukan urutan total pembaruan yang akan diterapkan ke database.
Yang mengarah ke pertanyaan terakhir:
Bisakah kita membangun jembatan yang secara independen memeriksa validitas keputusan yang dibuat oleh protokol konsensus?
Ada perbedaan halus.
Bridge tidak hanya memeriksa bahwa protokol konsensus menyetujui urutan total pembaruan basis data, tetapi juga bahwa pembaruan itu sendiri valid relatif terhadap semua pembaruan lain ke basis data.
Jika ini bisa dilakukan, kontrak pintar penerima (database B) dapat yakin bahwa pembaruan diterapkan di database A, dan bahwa data di database benar-benar valid.
Itu kemudian dapat membaca database, mengekstrak informasi yang relevan, dan menindaklanjutinya.
Bisakah ini dilakukan? Jawabannya iya.
Bangkitnya Jembatan Validasi
Kami dapat menggunakan kembali protokol konsensus basis data A untuk mengurutkan semua blok data, dan kemudian jembatan validator dapat secara mandiri memeriksa validitas semua blok data sebagai pembaruan basis data B.
Inti dari jembatan verifikasi adalah untuk mengaktifkan kontrak pintar tidak hanya untuk memeriksa apakah suatu keputusan telah dibuat, tetapi juga untuk memverifikasi secara independen apakah isi keputusan itu benar.
Gagasan umumnya adalah mengambil beberapa langkah lebih banyak daripada jembatan klien ringan:
Penipuan dan bukti validitas. Perluas kemampuan klien ringan untuk secara ringkas memverifikasi kebenaran perhitungan besar.
Lapisan ketersediaan data. Protokol konsensus dihapus dari database B dengan menggunakan kembali database A untuk mengurutkan blok.
keanggotaan terbuka. Izinkan pihak untuk menunjuk sendiri dan berkontribusi pada efektivitas melakukan semua pembaruan basis data.
Untuk menghindari pengulangan analisis jembatan verifikasi - hanya masalah terakhir yang perlu didiskusikan.
Artikel ini hanya berfokus pada:
Kemampuan untuk meneruskan pesan bolak-balik antara database.
Beri penerima kepercayaan pada keaslian pesan.
Kami belum membahas bagaimana jembatan menahan atau mentransfer aset antar database.
Ini karena, pada dasarnya, semua jembatan bertanggung jawab untuk menyampaikan pesan secara tepat waktu dan meyakinkan penerima akan keasliannya.
Aset dan kewajiban
Perbendaharaan menyimpan token di database A dan mengeluarkan jumlah token yang sama di database B melalui otorisasi jembatan.
Sekarang, kita dapat menerapkan kontrak pintar pada setiap basis data, dan kontrak pintar dapat berinteraksi dengan mengirimkan pesan di jembatan.
Aplikasi yang paling umum adalah mentransfer aset dari database A ke database B (dan sebaliknya).
Kedua kontrak pintar ini meliputi:
Perbendaharaan. Kirim kontrak pintar ke database untuk penyimpanan aset.
diterbitkan. Kontrak pintar di database penerima memiliki wewenang untuk mengeluarkan IOU untuk aset di lemari besi.
Dalam dimensi yang lebih tinggi, kedua smart contract ini dapat menerapkan proses deposit/penarikan yang sangat familiar bagi sebagian besar pengguna yang ingin mentransfer aset ke sistem lain:
Proses setoran. Pengguna dapat menyetor koin ke brankas database A, dan brankas dapat mengirim pesan melalui jembatan untuk mengeluarkan jumlah aset yang sama di alamat pengguna database B.
Proses penarikan. Pengguna dapat menarik token dengan meminta penerbit untuk membakar token pada database B dan mengirim pesan melintasi jembatan agar vault melepaskan jumlah token yang sama ke alamat pengguna.
Salah satu manfaat dari desain ini adalah siapa pun yang memiliki akses baca ke lemari besi di database A dan akses baca ke penerbit di database B dapat memverifikasi bahwa aset tersebut mencakup kewajiban. Dengan kata lain, siapa pun dapat memverifikasi bahwa token yang dikeluarkan didukung oleh brankas yang dijamin sepenuhnya.
Apa berikutnya?
Cryptocurrency adalah database yang luar biasa dan "proyek jembatan"
Tentu saja, jika kita ingin memindahkan aset di sekitar database, dan membuatnya berfungsi dalam skala besar, semuanya bergantung pada seberapa aman jembatan itu, dan bagaimana kita memercayai integritas informasi yang dikirim.
Kami secara historis gagal membangun jembatan yang aman karena semuanya bergantung pada manusia untuk melindungi informasi yang dikirim. Sebagian besar pertukaran besar termasuk BitFinex, Binance, Bitstamp, dan yang terburuk MtGox telah kehilangan dana pengguna karena kecelakaan jembatan. Selain itu, ada jembatan seperti PolyNetwork, Ronin Bridge, dan Harmony untuk mentransfer dana melintasi blockchain.
Sebagai sebuah komunitas, kami telah bereksperimen dengan berbagai desain jembatan selama bertahun-tahun, beberapa hanya mengandalkan perantara tepercaya, sementara yang lain berupaya mentransfer kepercayaan dari perantara ke protokol konsensus dari masing-masing blockchain.
Jembatan validasi hanya melangkah lebih jauh - tidak hanya mempercayai keputusan yang dibuat oleh protokol konsensus, tetapi juga memeriksa apakah itu keputusan yang valid.
Tautan asli: Blockchain sebagai Database (Bagian 1)Menjembatani Database (Bagian 2)