Mengapa Blockchain IBM Bukanlah Blockchain Yang Sebenarnya

Mengapa Blockchain IBM Bukanlah Blockchain Yang Sebenarnya

" Stuart Popejoy memiliki 15 tahun pengalaman dalam membangun sistem perdagangan dan bertukar tulang punggung untuk industri keuangan.Sebelum mendirikan Kadena bersama Will Martino pada tahun 2016 danmenjadi presiden perusahaan, Stuart bekerja di JPMorgan Chase di divisi produk baru, di mana ia memimpin dan mengembangkan produk blockchain utama JPMorgan, Juno. Stuart juga menulis skrip perdagangan algoritma untuk JPMorgan, yang menginformasikan pembuatan bahasa kontrak cerdas sederhana yang dibuat khusus oleh Kadena, Pact. "

IBM adalah pemain utama dalam dunia perusahaan blockchain,menawarkan platform blockchain berdasarkan Hyperledger Fabric dan meluncurkan project pilot blockchain dengan perusahaan besar seperti Walmart dan Aetna.

Sebagai salah satu dari banyak kontributor (termasuk Microsoft dan Salesforce baru-baru ini diumumkan) kepada nirlaba, open source Hyperledger Foundation, IBM telah melakukan investasi besar dalam mempromosikan Fabric sebagai blockchain pribadi atau "diizinkan", menyiratkan bahwa ia menawarkan fitur yang sama dengan baik blockchain yang dikenal seperti Bitcoin atau Ethereum, sambil menghapus segala aspek yang mungkin “tidak cocok untuk perusahaan.”

Namun, teknologi IBM sebenarnya menjual dan memanggil "blockchain" ., Hyperledger Fabric - mengorbankan fitur paling penting dari blockchain sejati, baik yang diizinkan maupun publik. Arsitektur Fabric jauh lebih kompleks daripada platform blockchain mana pun sementara juga kurang aman terhadap gangguan dan serangan. Anda akan berpikir bahwa "blockchain" pribadi "setidaknya akan menawarkan skalabilitas dan kinerja, tetapi Fabric gagal di sini juga. Sederhananya, project pilot yang dibangun di atas Fabric akan menghadapi penyebaran yang kompleks dan tidak aman yang tidak akan dapat ditingkatkan dengan bisnis mereka.

Opsi Blockchain di pasar

Ketika saya bekerja di JPMorgan Chase pada tahun 2016, saya memimpin kelompok teknologi baru yang meneliti dan memeriksa blockchains untuk potensi penggunaan dan investasi strategis bank. Ini melibatkan analisis mendalam dari versi awal Hyperledger, Axoni, Symbiont, Ripple dan Ethereum. Sudah jelas saat itu bahwa opsi blockchain di pasar secara teknologi tidak memadai untuk kasus penggunaan perusahaan nyata. Sayangnya, kami melihat masalah inti yang sama hari ini dengan Hyperledger Fabric.

Kekhawatiran yang kami ajukan termasuk: Bagaimana bahasa smartcontract blockchain dengan aman dan sederhana mengungkapkan aturan bisnis yang kompleks? Bagaimana tanda tangan kunci publik dijamin valid?

Dapatkah sistem skala ke peserta tambahan (node) tanpa secara drastis memperlambat kinerja? Dan, untuk perusahaan yang berpikir di masa depan, dapatkah Anda bekerja sama dengan blockchain publik dan swasta lainnya dengan mudah?

Menggunakan pertanyaan-pertanyaan ini sebagai kerangka kerja, saya percaya bahwa sistem IBM pada dasarnya tidak memiliki unsur-unsur yang diperlukan dari blockchain, dengan angka-angka kinerja yang menyesatkan dan kelangsungan bisnis jangka panjang yang dipertanyakan. Sementara kolega saya dan saya tidak melihat permainan angka (transaksi per detik, jumlah node) sebagai satu-satunya faktor dalam adopsi blockchain, kami pikir penting untuk mendidik orang tentang apa itu blockchain itu dan tidak. Pendidikan ini diharapkan akan membantu semua orang lebih memahami lanskap teknologi blockchain yang muncul.

Apa itu benar blockchain dan tidak ?

Untuk benar-benar memahami di mana posisi blockchain IBM, kita perlu melihat definisi dari blockchain itu sendiri. Blockchain adalah, pada intinya, buku besar peristiwa atau transaksi yang tidak dapat diubah yang terdesentralisasi di mana kebenaran ditegakkan oleh mekanisme konsensus. Dalam blockchain publik seperti Bitcoin dan Ethereum, konsensus ini dicapai melalui Proof of Work, atau "mining." Dalam blockchain yang diijinkan, konsensus dapat dicapai melalui peserta yang menyediakan tanda tangan kriptografi untuk memilih apa yang ditulis. Either way, tidak ada otoritas pusat yang menengahi apa yang benar.

Definisi IBM tentang blockchain menangkap elemen-elemen dari blockchain yang terdistribusi dan tidak dapat diubah tetapi dengan mudah meninggalkan konsensus yang terdesentralisasi –– itu karena Hyperledger

Fabric sama sekali tidak memerlukan mekanisme konsensus yang sebenarnya. Sebaliknya, itu menyarankan menggunakan "layanan pemesanan" yang disebut Kafka. Masalahnya adalah bahwa, tanpa pemungutan suara yang dipaksakan, didemokratisasi, aman secara kriptografis di antara para peserta, Anda tidak dapat membuktikan bahwa seseorang tidak pernah merusak buku besar. Konsensus yang toleran terhadap kesalahan adalah fitur utama dari blockchain, dan tanpa itu, "blockchain" IBM tidak lebih dari daftar entri yang ditandai waktu.

Arsitektur Fabric mengekspos banyak kerentanan yang dapat dieksploitasi oleh koordinasi jahat. Misalnya, ini memperkenalkan kriptografi kunci publik "di dalam jaringan" dengan tanda tangan validator, yang memberikan jaminan keamanan utama tetapi berasal setelah transaksi yang ditandatangani secara eksternal telah diserahkan. Ini secara fundamental membatalkan model keamanan Bitcoin yang terbukti dan blockchain nyata lainnya, di mana asal transaksi apa pun dijamin hanya oleh tanda tangan kunci publik pengguna eksternal, dan tidak dapat ditengahi dengan cara apa pun oleh sistem. Sebaliknya, satu-satunya tanda tangan yang penting pada Fabric untuk konsensus adalah orang-orang dari validator, sedangkan tanda tangan pengguna menghilang ke dalam dataset sewenang-wenang yang direplikasi melalui jaringan.

Peneliti fabric bermain cepat dan longgar dengan angka kinerja karena, pada dasarnya, arsitektur Fabric tidak dapat skala sambil mempertahankan kinerja puncak. Fabric menggunakan lingkungan multichain (disebut "saluran") untuk memberikan kerahasiaan di antara para peserta.

Memberikan kerahasiaan adalah fitur penting untuk blockchain "perusahaan" swasta dan tentu saja melibatkan pertukaran dan kompleksitas, tetapi solusi multichain adalah pilihan yang buruk untuk skalabilitas. Hal ini juga membuat penyebaran yang sangat kompleks, dengan simpul yang tidak seragam, kontrak pintar yang tidak dapat diandalkan, dan semakin banyak potensi titik kegagalan.

Dengan demikian, angka kinerja untuk penyebaran Fabric standar tidak mengesankan untuk memulai, menurunkan cepat ketika node ditambahkan dan merupakan saluran tunggal: Jika Anda ingin bertransaksi dengan seluruh jaringan di beberapa saluran, angka-angka itu bahkan tidak relevan. Meski begitu, ketika melihat saluran individu, sistem ini berjuang untuk mendapatkan di atas 800 transaksi per detik (TPS), tetapi bahkan konfigurasi 16 saluran hampir tidak dapat mencapai di atas 1.500 TPS, dengan latensi mencapai kisaran 10-20 detik di throughput atas.

Upaya terbaru untuk mempercepat Fabric telah menghasilkan klaim mencapai hingga 20.000 TPS, tetapi perubahan yang dilakukan pada arsitektur oleh peneliti bergerak sejauh ini dari blockchain menjadi tidak dapat dikenali: Pendukung tidak lagi bertindak sebagai validator dan Kafka diabadikan sebagai satu-satunya yang mungkin. layanan pemesanan (Fabric, secara teori, dapat menerima konsensus blockchain yang benar, tetapi akan sangat lambat sehingga tidak ada yang akan menggunakannya dalam produksi). Akhirnya, ini masih nomor saluran tunggal, yang berarti seluruh gagasan tentang blockchain sebagai sumber kebenaran bersama tidak valid.

Mengapa smartcontract dan opsi hybrid penting ?

Poin terakhir yang menjadi pertimbangan ketika melihat blockchain adalah bagaimana mereka bermaksud untuk mengukur di luar basis data pribadi dan bagaimana alat mereka - seperti bahasa smartcontract - bermaksud untuk membantu bisnis berhasil dalam skala yang lebih besar.

Ingat,smartcontract bukan hanya sepotong kode; ini adalah representasi dari logika bisnis. Smartcontract dapat mengamankan homepage di blockchain, memastikan identitas digital, atau bahkan mewakili transaksi escrow antara orang yang membeli dan menjual mobil bekas. Penting bahwa kontrak yang cerdas dapat diandalkan dan selalu melakukan apa yang dikatakannya.

Ketika datang untuk membangun sesuatu di blockchain, Anda harus dapat mewakili apa yang ingin Anda lakukan (membeli, menjual, mengemas data, dll.) Melalui smartcontract. Semakin mudah atau sederhana bahasa Anda untuk digunakan, semakin cepat Anda akan membangun hal yang Anda inginkan dan mendapatkannya di depan mata para pemangku kepentingan.

Lebih penting lagi, Anda ingin fungsi kontrak pintar benar-benar menghasilkan pendapatan atau beberapa hasil positif untuk bisnis Anda.

Kontrak pintar Hyperledger Fabric ("chaincode") dapat ditulis dalam sejumlah bahasa pemrograman, termasuk Javascript umum atau Go. Tetapi ada kompromi antara kenyamanan programmer yang sudah mengetahui bahasa tujuan umum dan keamanan dan keselamatan yang disediakan oleh bahasa khusus domain. Ketika taruhannya setinggi di blockchain –– di mana jutaan dolar dapat hilang jika kode ini bermasalah atau salah karena tidak dirancang untuk blockchain --– bahasa kontrak yang cerdas harus dibuat khusus dan aman oleh desain. Idealnya, itu juga akan mudah dipelajari dan mudah digunakan di lingkungan blockchain yang diinginkan.

Chaincode sebagian besar gagal dalam hal ini; kami menemukan butuh sekitar 150 baris kode hanya untuk menjalankan tutorial programmer klasik “hello world.” Dan jumlah kode yang besar ini dapat menjadi tempat berkembang biak bagi bug jutaan dolar itu.

Tidak siap untuk masa depan

Semakin banyak, pengamat ekosistem blockchain yang paling canggih menyadari bahwa blockchain swasta dan publik tidak akan ada dalam ruang hampa tetapi sebaliknya akan ingin bekerja bersama: Jaringan pribadi akan ingin membuat token tersedia bagi konsumen di blockchain publik, dan publik. Aplikasi desentralisasi blockchain akan ingin menyimpan informasi sensitif pada blockchain pribadi. Sayangnya, pengguna IBM Fabric (serta R3 Corda) dapat menemukan diri mereka "terputus" dari blockchains publik oleh ketidakcocokan arsitektur yang tajam - tetapi juga oleh ketidakmampuan bahasa kontrak pintar mereka untuk dieksekusi secara mulus baik di publik maupun pribadi lingkungan Hidup.

Karena IBM mendominasi banyak siklus pers perusahaan blockchain dengan pengumuman kemitraannya, penting untuk melihat apa yang sebenarnya dapat dilakukan teknologi. Teknologi "blockchain" IBM gagal dalam banyak hal - termasuk keamanan, kinerja, dan keandalan - dan karenanya, memberikan solusi yang lebih rendah bagi organisasi yang ingin menggunakan blockchain untuk mencapai peningkatan bisnis yang berarti. Untuk benar-benar menyadari nilai blockchain, pelanggan yang canggih akan mencari penantang yang menawarkan alat yang lebih baik, blockchain yang lebih baik, dan visi yang lebih baik untuk masa depan dan bagaimana kita memanfaatkan teknologi.