Bagaimana cara melihat blockchain yang setengah matang, PlatoBlockchain Data Intelligence. Pencarian Vertikal. ai.

Cara melihat blockchain yang setengah matang

Ketika rantai dan balok tidak berguna

Sekitar 18 bulan telah berlalu sejak sektor keuangan bangun, secara massal, dengan kemungkinan blockchain yang diizinkan, atau menggunakan istilah yang lebih umum, "buku besar terdistribusi". Periode sejak tsunami telah menyaksikan aktivitas, termasuk laporan penelitian, investasi strategis, proyek percontohan, dan pembentukan banyak konsorsium. Tidak ada yang bisa menuduh dunia perbankan tidak menganggap serius potensi teknologi ini.

Secara alami, pertumbuhan eksplosif dalam proyek blockchain telah mendorong pengembangan platform blockchain yang diizinkan, tempat proyek tersebut dibangun. Misalnya, produk kami MultiRantai telah digunakan tiga kali lipat selama setahun terakhir, baik kami mengukur lalu lintas web, unduhan bulanan, atau pertanyaan komersial. Dan tentu saja, masih banyak platform lainnya, seperti Rantai BesarDB, Rantai, Tali, Kredit, Elemen, Eris, Kain, Ethereum (digunakan dalam jaringan tertutup), rantai hidra dan rantai terbuka. Belum lagi masih lebih banyak lagi startup yang telah mengembangkan beberapa jenis platform blockchain namun belum membuatnya tersedia untuk umum.

Bagi perusahaan yang ingin mengeksplorasi dan memahami teknologi baru, banyak pilihan umumnya merupakan hal yang baik. Namun, dalam kasus blockchain, yang masih didefinisikan secara longgar dan kurang dipahami, tumpah ruah ini datang dengan sisi negatif yang signifikan: banyak dari platform "blockchain" yang tersedia tidak benar-benar mengatasi masalah inti yang seharusnya mereka selesaikan. Dan apakah masalah itu? Izinkan saya mengutip secara ringkas definisi video oleh Richard Gendal Brown, CTO dari R3, secara lengkap:

Buku besar terdistribusi adalah sistem yang memungkinkan pihak-pihak yang tidak sepenuhnya mempercayai satu sama lain untuk mencapai konsensus tentang keberadaan, sifat, dan evolusi sekumpulan fakta bersama tanpa harus bergantung pada pihak ketiga yang sepenuhnya tepercaya.

Untuk mengambil contoh ekstrem, pertimbangkan sekumpulan bata Lego yang diikat dengan tali. Jika kita menggunakan istilah โ€œblock chainโ€ untuk mendeskripsikan item fashion ini, siapa bilang kita tidak mendeskripsikannya secara akurat? Namun, rangkaian pemblokiran tersebut tidak akan membantu banyak pihak untuk berbagi database secara aman dan langsung tanpa perantara pusat. Demikian pula, banyak platform "blockchain" melakukan sesuatu yang berhubungan dengan rantai blok, tetapi juga kekurangan properti yang diperlukan untuk dijadikan dasar database peer-to-peer.

Bagaimana cara melihat blockchain yang setengah matang, PlatoBlockchain Data Intelligence. Pencarian Vertikal. ai.
Rantai blok lain yang tidak membantu berbagi database - sumber.

Blockchain yang layak minimum

Untuk memahami persyaratan dasar buku besar terdistribusi, ada baiknya menjelaskan bagaimana sistem ini berbeda dari database biasa, yang dikendalikan oleh satu entitas. Misalnya, mari pertimbangkan sistem sederhana untuk melacak siapa yang memiliki saham perusahaan tertentu. Buku besar, seperti yang diterapkan dalam database, memiliki satu baris untuk setiap pemilik yang berisi dua kolom: pengenal pemilik, seperti nama mereka, dan jumlah saham yang sesuai.

Berikut adalah enam cara penting di mana sistem ini dapat mengecewakan penggunanya:

  • Pemalsuan: Mentransfer share dari satu orang ke orang lain tanpa izin pengirim.
  • Sensor: Menolak memenuhi permintaan seseorang untuk mentransfer sebagian saham ke tempat lain.
  • Pembalikan: Mengurungkan transfer yang terjadi di masa lalu.
  • Illegitimasi: Mengubah jumlah total saham dalam sistem tanpa tindakan yang sesuai dari penerbit.
  • Inkonsistensi: Memberikan tanggapan yang berbeda untuk pertanyaan dari pengguna yang berbeda.
  • Penghentian: Tidak menanggapi permintaan informasi yang masuk sama sekali.

Karena semua kemungkinan ini, pemegang saham harus menjaga tingkat kepercayaan yang tinggi kepada siapa pun yang mengelola buku besar ini atas nama mereka. Membangun dan menjalankan organisasi yang layak mendapatkan kepercayaan itu datang dengan kerumitan dan biaya yang besar.

Blockchain atau buku besar terdistribusi menghilangkan kebutuhan akan jenis operator database pusat ini, dengan memungkinkan pengguna database untuk berinteraksi langsung satu sama lain secara peer-to-peer. Dalam contoh kami, pemegang saham dapat dengan aman memegang saham mereka di blockchain yang mereka kelola secara kolektif, dan melakukan transfer satu sama lain secara instan melalui rantai itu. (Kerugiannya adalah hilangnya kerahasiaan yang signifikan antara pengguna rantai, yang tidak akan kami bahas di sini tetapi saya sebelumnya dibahas panjang lebar.)

Semua ini membawa kita kembali ke pertanyaan tentang platform blockchain. Untuk berfungsi sebagai dasar yang layak untuk berbagi database peer-to-peer, blockchain harus melindungi pesertanya dari keenam jenis kegagalan database - pemalsuan, sensor, pembalikan, transaksi tidak sah, inkonsistensi, dan downtime. Sementara banyak produk di pasar memenuhi persyaratan ini, beberapa di antaranya gagal. Saya menyebut blockchain ini "setengah matang" karena mereka mungkin membahasnya beberapa risiko ini, tetapi tidak semua. Setidaknya dalam beberapa hal, pengguna database tetap bergantung pada perilaku baik dari satu peserta, yang merupakan skenario yang ingin kita hindari.

Blockchain setengah matang ini tersedia dalam berbagai jenis, tetapi tiga arketipe menonjol sebagai yang paling umum atau jelas. Saya tidak akan menyebut produk satu per satu karena, saya tidak ingin menyinggung perasaan. Komunitas startup blockchain cukup kecil sehingga kebanyakan dari kita saling mengenal melalui konferensi dan pertemuan lainnya, dan interaksinya cenderung positif. Namun demikian, jika blockchain (dalam arti database peer-to-peer yang berguna) akan muncul sebagai kategori produk yang koheren, penting untuk membedakan antara solusi setengah matang dan solusi nyata.

Blockchain satu validator

Salah satu pola yang kami lihat beberapa kali adalah blockchain di mana hanya satu peserta yang dapat menghasilkan blok tempat transaksi dikonfirmasi. Transaksi dikirim ke satu node ini alih-alih disiarkan ke jaringan secara keseluruhan, jadi penerimaan mereka tunduk pada keinginan pihak ini daripada semacam konsensus mayoritas. Namun, begitu sebuah blok telah dibangun oleh pihak pusat ini, blok tersebut disiarkan ke node lain dalam jaringan, yang dapat secara independen mengonfirmasi validitas transaksi di dalamnya, dan merekam blok baru secara lokal dan permanen.

Untuk kembali ke enam bentuk kerusakan database kami, jenis blockchain ini jauh dari tidak berguna. Transaksi harus ditandatangani secara digital oleh entitas yang dananya dipindahkan, sehingga tidak bisa dipalsukan oleh pihak pusat. Mereka tidak dapat dibalik karena setiap node memiliki salinan rantainya sendiri. Dan transaksi tidak dapat melakukan operasi ilegal seperti membuat aset begitu saja, karena setiap node secara independen memvalidasi setiap transaksi untuk kebenarannya. Akhirnya, setiap node menyimpan salinan database-nya sendiri, sehingga isinya selalu tersedia untuk dibaca.

Sayangnya, empat dari enam saja tidak cukup. Node validasi dapat dengan mudah menyensor transaksi individu, dengan menolak untuk memasukkannya ke dalam blok yang dibuatnya. Bahkan jika operator node ini jujur, kegagalan sistem atau komunikasi dapat membuatnya tidak tersedia, menyebabkan semua pemrosesan transaksi terhenti. Selain itu, tergantung pada penyiapannya, node yang memvalidasi mungkin dapat mengirimkan versi berbeda dari blockchain ke peserta yang berbeda. Dalam hal penyensoran dan konsistensi, database masih berisi satu titik kegagalan, yang diandalkan oleh semua node lainnya.

Satu platform menawarkan twist pada skema ini, di mana blok dihasilkan secara terpusat oleh satu node, tetapi kuorum node lain yang ditunjuk menandatanganinya untuk menunjukkan konsensus. Dalam hal risiko inkonsistensi, ini pasti membantu. Node dalam kuorum hanya akan meminjamkan tanda tangannya ke satu versi blockchain, yang oleh karena itu dapat dianggap otoritatif. Meskipun demikian, node kuorum tidak dapat membantu jika generator blok menyensor transaksi, atau kehilangan koneksi ke Internet. Pada akhirnya, jenis blockchain ini masih menggunakan arsitektur hub-and-spoke, daripada jaringan peer-to-peer.

Blockchain negara bersama

Secara teknis, ada banyak kesamaan antara blockchain dan database terdistribusi yang lebih tradisional seperti Cassandra dan MongoDB. Dalam kedua kasus, transaksi dapat dimulai oleh node mana pun di jaringan, dan harus menjangkau semua node lain sebagai bagian dari konsensus tentang status pengembangan database. Baik blockchain dan database terdistribusi harus mengatasi latensi (penundaan komunikasi yang berasal dari jarak antar node) dan kemungkinan beberapa node dan / atau tautan komunikasi terkadang gagal.

Basis data terdistribusi telah ada untuk sementara waktu, jadi pengembang platform blockchain mana pun sebaiknya memahami algoritme konsensus mereka dan strategi yang mereka gunakan untuk memesan transaksi secara global dan menyelesaikan konflik. Meskipun demikian, penting untuk tidak membuat perbandingan terlalu jauh, karena blockchain harus menghadapi tantangan tambahan yang penting - tidak adanya percaya antara node database. Sementara database terdistribusi berfokus pada penyediaan skalabilitas, ketahanan, dan kinerja tinggi dalam satu batas organisasi, blockchain harus didesain ulang agar aman. melintasi batas-batas itu.

Untuk kembali ke enam jenis risiko database kami, node dalam database terdistribusi hanya perlu khawatir tentang downtime, yaitu kemungkinan node lain tidak tersedia. Node dapat dengan aman berasumsi bahwa setiap transaksi dan pesan di jaringan adalah valid, dan tidak peduli dengan pemalsuan, penyensoran, pembalikan, ketidakabsahan, atau inkonsistensi. Masalah terburuk mereka adalah berurusan dengan dua transaksi simultan tetapi valid, dimulai pada node yang berbeda, yang memengaruhi bagian data yang sama. Memecahkan konflik ini sama sekali tidak sepele, tetapi itu masih jauh lebih mudah daripada mengkhawatirkan โ€œKesalahan Bizantiumโ€œ, Di mana beberapa node secara sengaja bertindak untuk mengganggu fungsi node lainnya.

Database hanya dapat dibagikan dengan aman di seluruh batas kepercayaan jika node memperlakukan semua aktivitas di jaringan dengan tingkat kecurigaan tertentu. Misalnya, setiap transaksi yang mengubah database harus ditandatangani secara digital karena, dalam arsitektur peer-to-peer, tidak ada cara lain untuk mengetahui titik asalnya yang sebenarnya. Demikian pula, setiap pesan masuk, seperti pengumuman blok baru, harus dinilai secara kritis untuk konten dan konteksnya. Tidak seperti di database terdistribusi, node tidak boleh langsung dan langsung mengubah status node lain.

Beberapa platform "blockchain" telah dikembangkan dengan memulai dengan database terdistribusi, dan menaburkan beberapa fitur di atasnya untuk menjadikannya lebih blockchain. Misalnya, dengan mengelompokkan transaksi ke dalam blok dan menyimpan hash (sidik jari digital) dari blok tersebut di database, mereka bertujuan untuk menambahkan bentuk kekekalan. Tetapi kecuali setiap node dapat yakin bahwa daftar hashnya tidak dapat dimodifikasi oleh node lain, jenis kekekalan ini mudah dimainkan. Tanggapan standar untuk kritik ini adalah bahwa setiap masalah keamanan dapat diselesaikan dengan waktu dan pengkodean yang cukup. Tapi ini seperti menahan beberapa narapidana di lapangan terbuka, dan mencoba menghentikan mereka melarikan diri dengan kabel trip dan parit. Jauh lebih aman untuk menggunakan struktur beton yang dibuat khusus, yang pintunya terkunci dan jendelanya dilarang.

Blockchain satu cloud

Sejauh ini, fenomena paling aneh yang pernah saya lihat adalah platform blockchain yang hanya dapat diakses melalui platform-as-a-service berbasis cloud pengembang mereka. Untuk lebih jelasnya, kami tidak berbicara tentang beberapa peserta blockchain memilih untuk menghosting node mereka di penyedia cloud pilihan mereka, seperti Microsoft Azure or Amazon Web Services. Sebaliknya, ini adalah blockchain yang bisa hanya diakses melalui API yang diekspos oleh server perusahaan "hosting" itu.

Mari kita berikan, demi argumen, bahwa penyedia blockchain terpusat benar-benar memiliki sekelompok node yang berjalan di bawah kendalinya. Apa bedanya hal ini bagi pengguna sistem yang mengirim permintaan API dan menerima tanggapan? Para peserta tidak memiliki cara untuk menilai apakah transaksi semua orang telah diproses tanpa kelalaian atau kesalahan. Mungkin layanan pusat tidak berfungsi, atau mungkin menyensor atau membalikkan beberapa transaksi dengan sengaja. Dan jika Anda yakin penyedia blockchain tidak memiliki alasan untuk melakukan ini, mengapa tidak menggunakannya untuk menghosting database terpusat biasa? Anda akan mendapatkan produk yang lebih matang dengan kinerja yang lebih baik, dan tidak menanggung risiko bekerja dengan teknologi baru. Singkatnya, blockchain terpusat sama bermanfaatnya dengan Lego pada tali.

Memecahkan misteri

Sekarang kita telah melihat tiga jenis platform yang memasarkan diri mereka sendiri sebagai "blockchain", dan memang menggunakan rantai blok, tetapi tidak memecahkan masalah mendasar yang dirancang untuk sistem ini. Singkatnya, ini untuk memungkinkan satu database untuk dibagikan dengan aman dan langsung melintasi batas kepercayaan, tanpa perantara pusat.

Selain menunjuk pada fenomena aneh ini, saya yakin penting untuk mempertimbangkan apa yang mungkin mendasari hal itu. Mengapa begitu banyak startup blockchain membangun produk yang tidak memenuhi janji teknologi ini, seringkali tidak lebih dari database tradisional yang tersentralisasi atau terdistribusi? Mengapa begitu banyak orang berbakat membuang-buang banyak waktu mereka?

Saya dapat melihat dua kelas utama penjelasan - teknis dan komersial. Untuk memulai dengan teknis, agak sulit untuk membuat sistem konsensus terdistribusi yang dapat mentolerir satu atau lebih node yang berperilaku jahat dengan cara yang tidak dapat diprediksi. Dalam kasus MultiChain, kami agak curang, dengan menggunakan implementasi referensi bitcoin yang diperkuat pertempuran sebagai titik awal, dan kemudian mengganti bukti kerja dengan algoritma konsensus yang secara struktural mirip yang disebut "keragaman pertambangan". Tim yang mengembangkan node blockchain dari awal harus memikirkan secara mendalam tentang proses asynchronous dan adversarial - kombinasi yang hanya dialami oleh beberapa programmer. Saya pasti bisa memahami godaan untuk mengambil jalan pintas, seperti menggunakan satu node untuk menghasilkan blok, atau membonceng pada database terdistribusi yang ada, atau hanya menjalankan node di lingkungan tepercaya. Memilih salah satu dari ini tidak diragukan lagi membuat hidup lebih mudah bagi pengembang, bahkan jika ini merusak keseluruhan poin.

Adapun alasan komersial, setiap startup tampaknya mendekati peluang blockchain dari sudut yang berbeda. Di sini, di Coin Sciences, kami fokus untuk menjadi vendor perangkat lunak (database), jadi kami mendistribusikan MultiChain secara gratis sambil mengembangkan node premium dengan fitur tambahan. Startup lain ingin menjual layanan berlangganan, jadi mereka secara alami akan membangun platform yang tidak dapat dihosting sendiri oleh pelanggan. Beberapa berharap untuk mengontrol blockchain secara terpusat atau membantu mitra mereka untuk melakukannya (ambisi aneh untuk teknologi disintermediasi!) Dan secara alami tertarik pada algoritma konsensus yang bergantung pada satu node. Dan terakhir, ada perusahaan yang tujuan utamanya adalah menjual layanan konsultasi, dalam hal ini platform mereka tidak perlu berfungsi sama sekali, selama situs webnya mendatangkan beberapa pelanggan besar.

Mungkin masalah lainnya adalah bahwa beberapa perusahaan blockchain dijalankan oleh orang-orang yang tidak diragukan lagi memiliki banyak bakat, tetapi kurang memiliki pemahaman yang mendalam tentang teknologi itu sendiri. Dalam perusahaan rintisan yang mengukir bidang baru, mungkin penting untuk mengambil keputusan strategis oleh orang-orang yang memahami sifat bidang itu dan bagaimana perbedaannya dari yang sebelumnya. Tidak sedikit startup blockchain yang tampaknya telah menyudutkan diri dengan mengejar visi produk yang menarik bagi pelanggan mereka, tetapi sebenarnya tidak dapat dibangun.

Sebagai pengguna blockchain, bagaimana Anda bisa menghindari kekeliruan ini? Saat mengevaluasi platform blockchain tertentu, pastikan untuk menanyakan apakah itu memenuhi enam persyaratan berbagi database peer-to-peer yang aman: pencegahan downtime dan inkonsistensi, serta pemalsuan transaksi, penyensoran, pembalikan dan ilegalitas. Dan waspadalah terhadap penjelasan yang terdiri dari terlalu banyak gumaman atau lambaian tangan - mungkin itu berarti jawabannya tidak.

Silakan kirim komentar di LinkedIn.

Sumber: https://www.multichain.com/blog/2016/12/spot-half-baked-blockchain/

Stempel Waktu:

Lebih dari Multichain