Menghindari proyek blockchain yang tidak berguna

Cara menentukan apakah Anda telah menemukan kasus penggunaan blockchain yang nyata

Blockchains overhyped. Di sana, saya mengatakannya. Dari SIbos untuk Uang20 / 20 untuk meliput cerita The Economist dan Euromoney, semua orang tampaknya naik ke kereta blockchain. Dan tidak diragukan lagi seperti orang lain di luar angkasa, kita melihat semakin banyak perusahaan membangun bukti konsep platform kami dan / atau meminta bantuan kami.

Sebagai startup muda, Anda akan berpikir kita akan ke bulan. Tentunya sekarang adalah waktu untuk mengumpulkan banyak uang dan membangun platform blockchain generasi berikutnya yang sudah kami rancang. Apa yang kita tunggu?

Aku akan memberitahumu apa. Kami menunggu untuk mendapatkan pemahaman yang lebih jelas tentang di mana blockchains dengan tulus menambah nilai dalam perusahaan IT. Soalnya, sebagian besar dari proyek yang masuk ini miliki tidak ada hubungannya dengan blockchains sama sekali. Begini caranya. Perusahaan besar mendengar bahwa blockchain adalah hal besar berikutnya. Perusahaan besar menemukan beberapa orang secara internal yang tertarik pada subjek. Perusahaan besar memberi mereka anggaran dan menyuruh mereka melakukan sesuatu blockchain. Tak lama kemudian mereka datang mengetuk pintu kami, melambaikan uang dolar, bertanya us untuk membantu mereka pikirkan use case. Katakan apa sekarang?

Adapun mereka yang memiliki proyek dalam pikiran, apa masalahnya? Dalam banyak kasus, proyek dapat diimplementasikan dengan sangat baik menggunakan database relasional biasa. Anda tahu, raksasa besi besar suka Peramal dan SQL Server, atau untuk yang lebih berpikiran terbuka, MySQL dan postgres. Jadi izinkan saya mulai dengan meluruskan:

Jika persyaratan Anda dipenuhi oleh basis data relasional hari ini, Anda akan gila menggunakan blockchain.

Mengapa? Karena produk seperti Oracle dan MySQL memiliki dekade pengembangan di belakangnya. Mereka telah dikerahkan di jutaan server yang menjalankan triliunan kueri. Mereka berisi beberapa kode yang paling teruji, debugged dan dioptimalkan di planet ini, memproses ribuan transaksi per detik tanpa berkeringat.

Dan bagaimana dengan blockchain? Baik, produk kami adalah salah satu yang pertama memasarkan, dan telah tersedia selama tepat 5 bulan, dengan beberapa ribu unduhan. Sebenarnya ini sangat stabil, karena kami membuatnya Bitcoin Core, perangkat lunak yang mendukung bitcoin. Meski begitu, Seluruh kategori produk ini masih dalam popok.

Jadi, apakah saya mengatakan bahwa blockchain tidak berguna? Benar-benar tidak. Tetapi sebelum Anda memulai proyek blockchain yang mengkilap itu, Anda harus memiliki gagasan yang sangat jelas mengapa Anda menggunakan blockchain. Ada banyak kondisi yang harus dipenuhi. Dan jika tidak, Anda harus kembali ke papan gambar. Mungkin Anda dapat mendefinisikan proyek dengan lebih baik. Atau mungkin Anda dapat menghemat waktu dan uang bagi semua orang, karena Anda tidak memerlukan blockchain sama sekali.

1. Basis data

Inilah aturan pertama. Blockchain adalah teknologi untuk database bersama. Jadi, Anda harus mulai dengan mengetahui mengapa Anda menggunakan database, yang saya maksud adalah repositori terstruktur dari informasi. Ini bisa tradisional database relasional, yang berisi satu atau lebih tabel seperti spreadsheet. Atau bisa jadi lebih trendi NoSQL variasi, yang bekerja lebih seperti sistem file atau kamus. (Pada level teoretis, basis data NoSQL hanyalah sebagian dari basis data relasional.)

Buku besar untuk aset keuangan dapat secara alami dinyatakan sebagai tabel basis data di mana setiap baris mewakili satu jenis aset yang dimiliki oleh satu entitas tertentu. Setiap baris memiliki tiga kolom yang berisi: (a) pengidentifikasi pemilik seperti nomor akun, (b) pengidentifikasi untuk jenis aset seperti "USD" atau "AAPL", dan (c) jumlah aset yang dimiliki oleh pemilik.

Database diubah melalui "transaksi" yang mewakili sekumpulan perubahan pada database yang harus diterima atau ditolak secara keseluruhan. Misalnya, dalam kasus buku besar aset, pembayaran dari satu pengguna ke pengguna lain diwakili oleh transaksi yang mengurangi jumlah yang sesuai dari satu baris, dan menambahkannya ke yang lain.

2. Banyak penulis

Ini mudah. Blockchain adalah teknologi untuk database dengan banyak penulis. Dengan kata lain, perlu ada lebih dari satu entitas yang menghasilkan transaksi yang memodifikasi database. Apakah Anda tahu siapa penulis ini?

Dalam kebanyakan kasus, penulis juga akan menjalankan "node" yang menyimpan salinan database dan menyampaikan transaksi ke node lain dalam sebuah peer-to-peer mode. Namun transaksi juga dapat dibuat oleh pengguna yang tidak menjalankan node sendiri. Misalnya, pertimbangkan sistem pembayaran yang dikelola secara kolektif oleh sekelompok kecil bank tetapi memiliki jutaan pengguna akhir di perangkat seluler, yang hanya berkomunikasi dengan sistem bank mereka sendiri.

3. Tidak adanya kepercayaan

Dan sekarang untuk aturan ketiga. Jika banyak entitas menulis ke database, maka perlu ada beberapa derajat ketidakpercayaan antara entitas tersebut. Dengan kata lain, blockchain adalah teknologi untuk database dengan banyak penulis yang tidak percaya.

Anda mungkin berpikir bahwa ketidakpercayaan hanya timbul di antara organisasi yang berbeda, seperti bank yang berdagang di pasar atau perusahaan yang terlibat dalam rantai pasokan. Tetapi bisa juga ada dalam satu organisasi besar, misalnya antara departemen atau operasi di berbagai negara.

Apa yang secara khusus saya maksud dengan ketidakpercayaan? Maksud saya bahwa satu pengguna tidak mau membiarkan yang lain memodifikasi entri basis data yang "dimilikinya". Demikian pula, ketika membaca isi database, satu pengguna tidak akan menerima sebagai Injil "kebenaran" seperti yang dilaporkan oleh pengguna lain, karena masing-masing memiliki insentif ekonomi atau politik yang berbeda.

4. Disintermediasi

Jadi masalahnya, sebagaimana didefinisikan sejauh ini, adalah memungkinkan database dengan banyak penulis yang tidak percaya. Dan sudah ada solusi terkenal untuk masalah ini: perantara terpercaya. Yaitu, seseorang yang dipercaya oleh semua penulis, bahkan jika mereka tidak sepenuhnya percaya satu sama lain. Memang, dunia dipenuhi dengan basis data seperti ini, seperti buku besar rekening di bank. Bank Anda mengontrol database dan memastikan bahwa setiap transaksi valid dan diotorisasi oleh pelanggan yang dananya dipindahkan. Tidak peduli seberapa sopan Anda bertanya, bank Anda tidak akan pernah membiarkan Anda memodifikasi database mereka secara langsung.

Blokir menghapus kebutuhan akan perantara yang tepercaya dengan mengaktifkan database dengan banyak penulis yang tidak percaya untuk dimodifikasi secara langsung. Tidak ada penjaga gerbang pusat yang diperlukan untuk memverifikasi transaksi dan mengotentikasi sumbernya. Sebagai gantinya, definisi transaksi diperluas untuk mencakup bukti otorisasi dan bukti validitas. Karena itu, transaksi dapat dilakukan diverifikasi secara independen dan diproses oleh setiap node yang menyimpan salinan basis data.

Tetapi pertanyaan yang perlu Anda tanyakan adalah: Apakah Anda mau atau butuh disintermediasi ini? Mengingat kasus penggunaan Anda, apakah ada yang salah dengan memiliki pihak pusat yang memelihara database otoritatif dan bertindak sebagai penjaga gerbang transaksi? Alasan yang baik untuk memilih database berbasis blockchain daripada perantara yang terpercaya mungkin termasuk biaya lebih rendah, transaksi lebih cepat, otomatis rujuk, peraturan baru atau ketidakmampuan sederhana untuk menemukan perantara yang cocok.

5. Interaksi transaksi

Jadi blockchains masuk akal untuk database yang dibagikan oleh banyak penulis yang tidak sepenuhnya percaya satu sama lain, dan yang memodifikasi database itu secara langsung. Tapi itu masih belum cukup. Blokir benar-benar bersinar di mana ada beberapa interaksi antara transaksi dibuat oleh para penulis ini.

Apa yang saya maksud dengan interaksi? Dalam arti sepenuhnya, ini berarti bahwa transaksi yang dibuat oleh penulis yang berbeda sering bergantung pada satu sama lain. Sebagai contoh, katakanlah Alice mengirimkan sejumlah dana kepada Bob dan kemudian Bob mengirimkan sebagian kepada Charlie. Dalam hal ini, transaksi Bob bergantung pada Alice, dan tidak ada cara untuk memverifikasi transaksi Bob tanpa memeriksa Alice terlebih dahulu. Karena ketergantungan ini, transaksi secara alami menjadi satu dalam database bersama tunggal.

Mengambil ini lebih jauh, salah satu fitur bagus dari blockchain adalah bahwa transaksi dapat dibuat secara kolaboratif oleh banyak penulis, tanpa salah satu pihak mengekspos diri mereka pada risiko. Inilah yang memungkinkan pengiriman versus pembayaran penyelesaian harus dilakukan dengan aman di atas blockchain, tanpa memerlukan perantara tepercaya.

Kasus yang baik juga dapat dibuat untuk situasi di mana transaksi dari penulis yang berbeda saling berkorelasi satu sama lain, bahkan jika mereka tetap independen. Salah satu contoh mungkin adalah database identitas bersama di mana banyak entitas memvalidasi aspek berbeda dari identitas konsumen. Meskipun setiap sertifikasi tersebut berdiri sendiri, blockchain menyediakan cara yang berguna untuk menyatukan semuanya dengan cara yang sama.

6. Tetapkan aturan

Ini sebenarnya bukan kondisi, melainkan konsekuensi yang tak terhindarkan dari poin sebelumnya. Jika kita memiliki database yang dimodifikasi secara langsung oleh banyak penulis, dan penulis itu tidak sepenuhnya percaya satu sama lain, maka database harus berisi aturan yang tertanam membatasi transaksi yang dilakukan.

Aturan-aturan ini secara fundamental berbeda dari kendala yang muncul dalam database tradisional, karena mereka berhubungan dengan legitimasi transformasi daripada keadaan database pada titik waktu tertentu. Setiap transaksi diperiksa terhadap aturan-aturan ini oleh setiap node dalam jaringan, dan yang gagal ditolak dan tidak diteruskan.

Buku besar aset mengandung contoh sederhana dari jenis aturan ini, untuk mencegah transaksi yang membuat aset kehabisan udara. Aturan menyatakan bahwa jumlah total setiap aset dalam buku besar harus sama sebelum dan setelah setiap transaksi.

7. Pilih validator Anda

Sejauh ini kami telah menggambarkan database terdistribusi di mana transaksi dapat berasal di banyak tempat, menyebar di antara node dalam mode peer-to-peer, dan diverifikasi oleh setiap node secara mandiri. Jadi di mana "blockchain" masuk? Pekerjaan blockchain adalah menjadi log transaksi akhir yang otoritatif, yang isinya semua node setuju.

Mengapa kita membutuhkan log ini? Pertama, ini memungkinkan node yang baru ditambahkan untuk menghitung isi database dari awal, tanpa perlu mempercayai node lain. Kedua, ini membahas kemungkinan bahwa beberapa node mungkin melewatkan beberapa transaksi, karena downtime sistem atau kesalahan komunikasi. Tanpa log transaksi, ini akan menyebabkan database satu node berbeda dari yang lain, merusak tujuan database bersama.

Ketiga, dua transaksi bisa saja bertentangan, sehingga hanya satu yang bisa diterima. Contoh klasik adalah a belanja ganda di mana aset yang sama dikirim ke dua penerima yang berbeda. Dalam database peer-to-peer tanpa otoritas pusat, node mungkin memiliki pendapat yang berbeda mengenai transaksi mana yang harus diterima, karena ada tidak ada jawaban benar yang objektif. Dengan mengharuskan transaksi untuk "dikonfirmasi" dalam blockchain, kami memastikan bahwa semua node bertemu pada keputusan yang sama.

Akhirnya, di Ethereumblockchains gaya, tepat pemesanan transaksi memainkan peran penting, karena setiap transaksi dapat mempengaruhi apa yang terjadi di setiap berikutnya. Dalam hal ini blockchain bertindak untuk menentukan kronologi otoritatif, yang tanpanya transaksi tidak dapat diproses sama sekali.

Blockchain secara harfiah adalah rantai blok, di mana setiap blok berisi serangkaian transaksi yang dikonfirmasi sebagai grup. Tetapi siapa yang bertanggung jawab untuk memilih transaksi yang masuk ke setiap blok? Dalam jenis "private blockchain" yang cocok untuk aplikasi perusahaan, jawabannya adalah sekelompok validator ("penambang") yang secara digital menandatangani blok yang mereka buat. Daftar putih ini dikombinasikan dengan beberapa bentuk skema konsensus terdistribusi untuk mencegah sebagian kecil validator merebut kontrol rantai. Misalnya, MultiChain menggunakan skema yang disebut keanekaragaman pertambangan, di mana penambang yang diizinkan bekerja di a usul mode, dengan beberapa tingkat keringanan hukuman untuk memungkinkan node tidak berfungsi.

Tidak peduli skema konsensus mana yang digunakan, node yang memvalidasi memiliki kekuatan yang jauh lebih kecil daripada pemilik database terpusat tradisional. Validator tidak dapat memalsukan transaksi atau memodifikasi database yang melanggar aturannya. Dalam buku besar aset, itu berarti mereka tidak bisa menghabiskan uang orang lain, atau mengubah jumlah total aset yang diwakili. Meskipun demikian masih ada dua cara di mana validator dapat terlalu memengaruhi konten basis data:

  • Sensor transaksi. Jika cukup dari validator berkolusi jahat, mereka dapat mencegah transaksi tertentu dari dikonfirmasi di blockchain, meninggalkannya secara permanen dalam limbo.
  • Resolusi konflik yang bias. Jika dua transaksi bertentangan, validator yang membuat blok berikutnya memutuskan transaksi mana yang dikonfirmasi pada blockchain, menyebabkan yang lain ditolak. Pilihan yang adil adalah transaksi yang dilihat pertama kali, tetapi validator dapat memilih berdasarkan faktor-faktor lain tanpa mengungkapkan ini.

Karena masalah ini, ketika menggunakan basis data berbasis blockchain, Anda harus memiliki gagasan yang jelas siapa validator Anda dan mengapa Anda mempercayai mereka, secara kolektif jika tidak sendiri. Bergantung pada kasus penggunaan, validator dapat dipilih sebagai: (a) satu atau lebih node yang dikendalikan oleh satu organisasi, (b) kelompok inti organisasi yang mempertahankan rantai, atau (c) setiap node di jaringan.

8. Kembalikan aset Anda

Jika Anda sudah sejauh ini, Anda mungkin telah memperhatikan bahwa saya cenderung menyebut blockchains sebagai database bersama, daripada "ledger bersama" yang lebih umum. Mengapa? Karena sebagai teknologi, blockchains dapat diterapkan untuk masalah yang jauh melampaui pelacakan kepemilikan aset. Setiap basis data yang memiliki banyak penulis yang tidak percaya dapat diimplementasikan di atas blockchain, tanpa memerlukan perantara tengah. Contohnya termasuk kalender bersama, kolaborasi gaya wiki dan forum diskusi.

Karena itu, untuk saat ini tampaknya blockchain lebih menarik bagi mereka yang melacak pergerakan dan pertukaran aset keuangan. Saya dapat memikirkan dua alasan untuk ini: (a) sektor keuangan merespons ancaman (dalam retrospeksi, sangat kecil) cryptocurrency seperti bitcoin, dan (b) buku besar aset adalah contoh paling sederhana dan alami dari database bersama dengan transaksi saling tergantung yang dibuat oleh banyak entitas yang tidak percaya.

Jika Anda ingin menggunakan blockchain sebagai buku besar aset, Anda perlu menjawab satu pertanyaan penting tambahan: Apa sifat dari aset yang dipindahkan? Dengan ini saya tidak hanya berarti uang tunai atau obligasi atau bill of lading, meskipun tentu saja itu penting juga. Pertanyaannya agak: Siapa yang berdiri di belakang aset yang diwakili di blockchain? Jika database mengatakan bahwa saya memiliki 10 unit sesuatu, siapa yang akan memungkinkan saya untuk mengklaim 10 unit itu di dunia nyata? Siapa yang harus saya tuntut jika saya tidak dapat mengubah apa yang tertulis di blockchain menjadi aset fisik tradisional? (Lihat ini perjanjian aset sebagai contoh.)

Jawabannya, tentu saja, akan berbeda-beda tergantung penggunaannya. Untuk aset moneter, dapat dibayangkan bank kustodian menerima uang tunai dalam bentuk tradisional, dan kemudian mengkredit rekening deposan dalam buku besar yang dibagikan dengan blockchain. Dalam keuangan perdagangan, letter of credit dan bill of lading akan didukung oleh bank importir dan perusahaan pelayaran masing-masing. Dan lebih jauh di masa depan, kita bisa membayangkan saat ketika penerbitan utama obligasi korporasi berlangsung langsung di blockchain oleh perusahaan yang mencari dana.

Kesimpulan

Seperti yang saya sebutkan dalam pendahuluan, jika proyek Anda tidak memenuhi setiap satu dari kondisi ini, Anda seharusnya tidak menggunakan blockchain. Dengan tidak adanya salah satu dari lima yang pertama, Anda harus mempertimbangkan salah satu dari: (a) penyimpanan file biasa, (b) database terpusat, (c) master-slave replikasi basis data, atau (d) beberapa basis data yang dapat digunakan pengguna berlangganan.

Dan jika Anda memenuhi lima yang pertama, masih ada pekerjaan yang harus dilakukan. Anda harus bisa mengekspresikan aturan aplikasi Anda dalam hal transaksi yang diizinkan oleh basis data. Anda harus yakin tentang siapa yang dapat Anda percayai sebagai validator dan bagaimana Anda akan mendefinisikan konsensus terdistribusi. Dan akhirnya, jika Anda ingin membuat buku besar bersama, Anda perlu tahu siapa yang akan mendukung aset yang diwakili buku besar itu.

Dapatkan semua jawabannya? Selamat, Anda memiliki case use blockchain yang nyata. Dan kami ingin mendengar dari Anda.

Silakan kirim komentar di LinkedIn. Lihat juga tindak lanjut ini: Empat kasus penggunaan blockchain asli.

Stempel Waktu:

Lebih dari Multichain