Blokir vs basis data terpusat

Empat perbedaan utama antara blockchain dan database biasa

Jika Anda telah membaca posting saya sebelumnya, Anda akan tahu sekarang bahwa blockchain hanyalah a jenis database baru. Artinya, database yang dapat langsung dibagikan, dalam arti tertulis, oleh sekelompok pihak yang tidak mempercayai, tanpa memerlukan administrator pusat. Ini berbeda dengan database tradisional (SQL atau NoSQL) yang dikontrol oleh satu entitas, meskipun beberapa jenis arsitektur terdistribusi digunakan di dalam dindingnya.

Saya baru saja memberi percakapan tentang blockchain dari perspektif keamanan informasi, di mana saya menyimpulkan bahwa blockchain lebih aman daripada database biasa dalam beberapa hal, dan kurang aman dalam beberapa hal. Mempertimbangkan peran utama bahwa basis data terpusat bermain dalam tumpukan teknologi saat ini, ini membuat saya berpikir lebih luas tentang pertukaran antara kedua teknologi ini. Memang, setiap kali seseorang bertanya padaku apakah MultiRantai dapat digunakan untuk tujuan tertentu, tanggapan pertama saya selalu: "Bisakah Anda melakukannya dengan database biasa?" Dalam lebih banyak kasus daripada yang mungkin Anda pikirkan, jawabannya adalah ya, karena alasan sederhana berikut:

Jika kepercayaan dan ketahanan tidak menjadi masalah, tidak ada yang dapat dilakukan oleh blockchain yang tidak dapat dilakukan oleh database biasa.

Ini adalah titik kunci di mana ada begitu banyak kesalahpahaman. Dalam hal jenis data yang dapat disimpan, dan transaksi yang dapat dilakukan pada data tersebut, blockchain tidak melakukan hal baru. Dan hanya untuk memperjelas, observasi ini juga meluas ke "kontrak pintar", terlepas dari nama dan citra seksi mereka. Kontrak pintar tidak lebih dari sepotong kode komputer yang berjalan di setiap node dalam sebuah blockchain - sebuah teknologi berusia puluhan tahun yang disebut prosedur yang tersimpan melakukan hal yang sama untuk database terpusat. (Anda juga tidak dapat menggunakan blockchain jika kode ini perlu memulai interaksi dengan dunia luar.)

Kebenaran tentang blockchain adalah, meskipun mereka memiliki beberapa keuntungan, mereka juga memiliki kelemahan. Dengan kata lain, seperti kebanyakan keputusan teknologi, pilihan antara blockchain dan database biasa bermuara pada serangkaian trade-off. Jika Anda dibutakan oleh hype dan tuli oleh kebisingan, Anda tidak mungkin membuat pilihan itu secara objektif. Jadi saya harap panduan berikut ini bisa membantu.

Disintermediasi: keuntungan blockchain

Nilai inti dari blockchain adalah memungkinkan database untuk dibagikan secara langsung melintasi batas kepercayaan, tanpa memerlukan administrator pusat. Hal ini dimungkinkan karena transaksi blockchain berisi bukti validitasnya sendiri dan bukti otorisasinya sendiri, alih-alih memerlukan logika aplikasi terpusat untuk menerapkan batasan tersebut. Oleh karena itu, transaksi dapat diverifikasi dan diproses secara independen oleh beberapa "node", dengan blockchain bertindak sebagai mekanisme konsensus untuk memastikan node tersebut tetap sinkron.

Mengapa ada nilai dalam disintermediasi ini? Karena meskipun database hanya berupa bit dan byte, itu juga merupakan hal yang nyata. Isi database disimpan dalam memori dan disk dari sistem komputer tertentu, dan siapa pun yang memiliki akses yang memadai ke sistem tersebut dapat menghancurkan atau merusak data di dalamnya. Akibatnya, saat Anda mempercayakan data Anda ke database biasa, Anda juga menjadi bergantung pada file manusia organisasi tempat database itu berada.

Sekarang, dunia dipenuhi dengan organisasi yang telah mendapatkan kepercayaan ini - pemerintah dan bank (kebanyakan), universitas, asosiasi perdagangan, dan bahkan perusahaan swasta seperti Google dan Facebook. Dalam kebanyakan kasus, terutama di negara maju, ini bekerja dengan sangat baik. Saya yakin suara saya selalu dihitung, tidak ada bank yang pernah mencuri uang saya, dan saya belum menemukan cara untuk membayar nilai yang lebih baik. Jadi apa masalahnya? Jika sebuah organisasi mengontrol database penting, itu juga membutuhkan banyak orang dan proses untuk mencegah database itu dirusak. Orang membutuhkan perekrutan, proses perlu dirancang, dan semua ini membutuhkan banyak waktu dan uang.

Jadi blockchain menawarkan cara untuk mengganti organisasi ini dengan database terdistribusi, yang dikunci oleh kriptografi yang cerdas. Seperti banyak hal yang telah terjadi sebelumnya, mereka memanfaatkan kapasitas sistem komputer yang terus meningkat untuk menyediakan cara baru dalam menggantikan manusia dengan kode. Dan setelah ditulis dan di-debug, kode cenderung menjadi jauh lebih murah.

Kerahasiaan: manfaatkan database terpusat

Seperti yang saya sebutkan, setiap node dalam blockchain secara independen memverifikasi dan memproses setiap transaksi. Node dapat melakukan ini karena memiliki visibilitas penuh ke: (a) status database saat ini, (b) modifikasi yang diminta oleh transaksi, dan (c) tanda tangan digital yang membuktikan asal transaksi. Ini tidak diragukan lagi adalah cara baru yang cerdas untuk merancang database, dan ini benar-benar berfungsi. Jadi dimana tangkapannya? Untuk banyak aplikasi, terutama keuangan, transparansi penuh yang dinikmati oleh setiap node adalah pembunuh kesepakatan mutlak.

Bagaimana sistem yang dibangun di atas database biasa menghindari masalah ini? Sama seperti blockchain, mereka membatasi transaksi yang dapat dilakukan oleh pengguna tertentu, tetapi pembatasan ini diberlakukan satu lokasi pusat. Akibatnya, konten database lengkap hanya perlu terlihat di lokasi tersebut, bukan di beberapa node. Permintaan untuk membaca data juga melalui otoritas pusat ini, yang dapat menerima atau menolak permintaan tersebut jika dianggap perlu. Dengan kata lain, jika database biasa dikendalikan-baca dan dapat dikontrol tulis, blockchain hanya dapat dikontrol tulis.

Agar adil, banyak strategi tersedia untuk mengurangi masalah ini. Mulai dari ide sederhana seperti bertransaksi di bawah beberapa alamat blockchain, hingga teknik kriptografi tingkat lanjut seperti transaksi rahasia dan bukti tanpa pengetahuan (sekarang sedang dikembangkan). Meskipun demikian, semakin banyak informasi yang ingin Anda sembunyikan di blockchain, semakin berat beban komputasi yang Anda bayarkan untuk menghasilkan dan memverifikasi transaksi. Dan tidak peduli bagaimana teknik ini berkembang, mereka tidak akan pernah bisa mengalahkan metode sederhana dan mudah untuk menyembunyikan data sepenuhnya.

Kekokohan: keuntungan blockchain

Manfaat kedua dari database bertenaga blockchain adalah toleransi kesalahan yang ekstrim, yang berasal dari redundansi bawaan mereka. Setiap node memproses setiap transaksi, jadi tidak ada node individu yang penting untuk database secara keseluruhan. Demikian pula, node terhubung satu sama lain dengan cara peer-to-peer yang padat, sehingga banyak tautan komunikasi bisa gagal sebelum semuanya terhenti. Blockchain memastikan bahwa node yang turun selalu dapat mengejar transaksi yang mereka lewatkan.

Jadi meskipun benar bahwa database biasa menawarkan banyak teknik untuk replikasi, blockchain membawa ini ke tingkat yang baru. Sebagai permulaan, tidak diperlukan konfigurasi - cukup hubungkan beberapa node blockchain bersama-sama, dan mereka secara otomatis tetap sinkron. Selain itu, node dapat dengan bebas ditambahkan atau dihapus dari jaringan, tanpa persiapan atau konsekuensi apa pun. Terakhir, pengguna eksternal dapat mengirim transaksinya ke node mana pun, atau ke beberapa node secara bersamaan, dan transaksi ini menyebar secara otomatis dan mulus ke semua orang.

Ketangguhan ini mengubah ekonomi ketersediaan database. Dengan database reguler, ketersediaan tinggi dicapai melalui kombinasi infrastruktur yang mahal dan pemulihan bencana. Basis data utama berjalan pada perangkat keras kelas atas yang dimonitor secara ketat untuk masalah, dengan transaksi direplikasi ke sistem cadangan di lokasi fisik yang berbeda. Jika database utama gagal (misalnya karena pemadaman listrik atau kerusakan perangkat keras yang parah), aktivitas secara otomatis dipindahkan ke cadangan, yang menjadi utama baru. Setelah sistem yang gagal diperbaiki, sistem itu berbaris untuk bertindak sebagai cadangan baru jika dan bila perlu. Meskipun semua ini bisa dilakukan, biayanya mahal dan sangat sulit untuk dilakukan dengan benar.

Sebaliknya, bagaimana jika kita memiliki 10 node blockchain yang berjalan di berbagai belahan dunia, semuanya menggunakan perangkat keras komoditas? Node ini akan terhubung satu sama lain, berbagi transaksi secara peer-to-peer dan menggunakan blockchain untuk memastikan konsensus. Pengguna akhir yang menghasilkan transaksi terhubung ke (katakanlah) 5 dari node ini, jadi tidak masalah jika beberapa tautan komunikasi turun. Dan jika satu atau dua node gagal sepenuhnya pada hari tertentu, tidak ada yang merasakan apa-apa, karena masih ada lebih dari cukup salinan untuk dibagikan. Kebetulan, kombinasi sistem biaya rendah dan redundansi tinggi ini persis seperti yang dilakukan Google membuat mesin pencarinya dengan sangat murah. Blockchain dapat melakukan hal yang sama untuk database.

Kinerja: manfaatkan database terpusat

Blockchain akan selalu lebih lambat dari database terpusat. Bukan hanya itu hari ini blockchain lambat karena teknologinya baru dan belum dioptimalkan, tetapi ini adalah hasil dari alam dari blockchain itu sendiri. Anda lihat, saat memproses transaksi, blockchain harus melakukan semua hal yang sama seperti database biasa, tetapi ia membawa tiga beban tambahan:

  1. Verifikasi tanda tangan. Setiap transaksi blockchain harus ditandatangani secara digital menggunakan skema kriptografi publik-swasta seperti PAUD. Ini diperlukan karena transaksi menyebar antar node secara peer-to-peer, jadi sumbernya tidak dapat dibuktikan. Pembuatan dan verifikasi tanda tangan ini rumit secara komputasi, dan merupakan hambatan utama dalam produk seperti milik kami. Sebaliknya, dalam database terpusat, setelah koneksi dibuat, tidak perlu memverifikasi setiap permintaan yang datang darinya.
  2. Mekanisme konsensus. Dalam database terdistribusi seperti blockchain, upaya harus dilakukan untuk memastikan bahwa node dalam jaringan mencapai konsensus. Bergantung pada mekanisme konsensus yang digunakan, ini mungkin melibatkan komunikasi bolak-balik yang signifikan dan / atau berurusan dengan garpu dan rollback konsekuensinya. Meskipun benar bahwa basis data terpusat juga harus bersaing dengan transaksi yang berkonflik dan dibatalkan, kemungkinan besar ini jauh lebih kecil ketika transaksi diantrekan dan diproses di satu lokasi.
  3. Redundansi. Ini bukan tentang kinerja node individu, tetapi jumlah total komputasi yang dibutuhkan blockchain. Sedangkan database terpusat memproses transaksi satu kali (atau dua kali), dalam blockchain mereka harus diproses secara independen oleh setiap node di jaringan. Begitu banyak pekerjaan yang dilakukan untuk hasil akhir yang sama.

Intinya

Secara alami ada cara lain di mana blockchain dan database biasa dapat dibandingkan. Kita dapat berbicara tentang kematangan basis kode, daya tarik pengembang, keluasan ekosistem, dan banyak lagi. Tapi tidak satu pun dari masalah ini inheren dengan teknologi itu sendiri. Jadi ketika sampai pada keputusan jangka panjang untuk menggunakan blockchain, pertanyaan yang harus diajukan adalah ini: Apa yang lebih penting untuk kasus penggunaan saya? Disintermediasi dan ketahanan? Atau kerahasiaan dan kinerja?

Ketika diperiksa dalam cahaya sederhana ini, banyak kasus penggunaan yang sedang dibahas Tidak masuk akal. Masalah terbesar cenderung kerahasiaan. Para peserta di pasar yang sangat kompetitif secara alami akan lebih menyukai privasi database terpusat, daripada mengungkapkan aktivitas mereka satu sama lain. Ini terutama benar jika pihak pusat tepercaya sudah ada dan dapat menyediakan wilayah netral di mana database tersebut dapat berada. Meskipun mungkin ada beberapa biaya yang terkait dengan penyedia pusat ini, ini lebih dari dibenarkan oleh nilai privasi yang dipertahankan. Satu-satunya motivasi untuk beralih ke blockchain adalah peraturan baru yang agresif.

Meskipun demikian, blockchain memiliki kasus penggunaan yang kuat, di mana disintermediasi dan ketahanan lebih penting daripada kerahasiaan dan kinerja. Saya akan menulis lebih banyak tentang ini di posting berikutnya, tetapi area paling menjanjikan yang telah kita lihat sejauh ini adalah: (a) jejak audit antar perusahaan, (b) pelacakan asal, dan (c) ringan sistem keuangan. Dalam ketiga kasus tersebut, kami menemukan orang-orang membangun di MultiChain dengan pandangan yang jelas tentang penerapan, bukan hanya rasa ingin tahu dan eksperimen. Jadi, jika Anda mencari cara di mana blockchain dapat menambah nilai asli bisnis Anda, ini mungkin tempat yang baik untuk memulai.

Silakan kirim komentar di LinkedIn.

Stempel Waktu:

Lebih dari Multichain