Tampilan mendetail tentang blockchain non-blockchain
Seiring berjalannya waktu, dunia blockchain telah terpecah menjadi dua bagian berbeda. Di satu sisi, blockchain publik dengan cryptocurrency terkait telah menikmati kebangkitan baru-baru ini yang luar biasa, mencetak banyak multi-jutawan. Di sisi lain, penggunaan blockchain berizin atau perusahaan telah tumbuh secara diam-diam tetapi pasti, melihat yang pertama penerapan langsung di berbagai industri selama 2017.
Satu pertanyaan menarik untuk dipertimbangkan adalah tingkat kemiripan yang tepat antara kedua jenis rantai ini. Keduanya mengimplementasikan database bersama menggunakan jaringan peer-to-peer, kriptografi kunci publik-pribadi, aturan transaksi, dan mekanisme konsensus yang dapat bertahan dari pelaku jahat. Itu banyak kesamaan. Meskipun demikian, blockchain publik dan pribadi memiliki persyaratan yang berbeda dalam hal kerahasiaan, skalabilitas, dan tata kelola. Mungkin perbedaan ini menunjukkan perlunya desain yang sangat berbeda.
Grafik Tali platform, yang dikembangkan oleh R3 konsorsium perbankan, mengambil sikap yang jelas tentang pertanyaan ini. Sementara beberapa aspek terinspirasi oleh blockchain publik, Corda dirancang dari awal berdasarkan kebutuhan anggota R3. Memang, meskipun R3 masih menggunakan kata "blockchain" secara ekstensif untuk membantu memasarkan produknya, Corda tidak memiliki rantai blok sama sekali. Lebih dari platform "buku besar terdistribusi" lainnya yang saya ketahui, Corda sangat berbeda dari arsitektur blockchain konvensional.
Tujuan saya dalam bagian ini adalah untuk menjelaskan perbedaan-perbedaan ini dan mendiskusikan implikasinya, baik dan buruk. Sebenarnya baik dan buruk adalah cara yang salah untuk mengatakannya, karena pertanyaan yang lebih menarik adalah “Baik dan buruk untuk apa?” Artikel ini jauh dari kata singkat. Namun pada akhirnya, saya berharap para pembaca akan mendapatkan pemahaman tentang perbedaan Corda dan konsekuensinya. Corda penting karena keputusan desainnya membuat banyak dilema blockchain perusahaan menjadi sangat lega.
Satu hal terakhir sebelum kita terjun. Sebagai CEO perusahaan di belakang MultiRantai, platform blockchain perusahaan yang populer, mengapa saya menulis secara mendalam tentang produk yang seharusnya bersaing? Alasan standarnya adalah untuk memperdebatkan keunggulan MultiChain, tetapi itu bukan motivasi saya di sini. Faktanya, saya tidak melihat Corda dan MultiChain sebagai pesaing, karena mereka pada dasarnya berbeda dalam hal desain, arsitektur, dan penonton. Corda dan MultiChain bersaing dengan cara yang sama seperti kapal pesiar dan jet ski - meskipun keduanya mengangkut orang melalui laut, hampir tidak ada situasi dunia nyata di mana keduanya dapat digunakan.
Pada catatan yang lebih pribadi, saya telah belajar banyak dari kepemimpinan teknis Corda selama beberapa tahun terakhir, baik melalui pertemuan, korespondensi atau tulisan publik mereka, yang sebagian besar terjadi sebelum mereka bergabung dengan R3. Beberapa minat saya pada Corda berasal dari rasa hormat yang saya miliki untuk tim ini, dan untuk alasan ini saja, Corda layak dipelajari bagi siapa pun yang mencari pemahaman tentang bidang buku besar terdistribusi.
Memperkenalkan blockchain
Untuk memahami Corda, sebaiknya mulai dengan blockchain konvensional. Tujuan dari blockchain adalah untuk memungkinkan database atau buku besar dibagikan secara langsung dan aman oleh pihak yang tidak mempercayai. Ini berbeda dengan database terpusat, yang disimpan dan dikendalikan oleh satu organisasi. Blockchain memiliki beberapa "node", yang masing-masing menyimpan salinan database dan dapat dimiliki oleh organisasi yang berbeda. Node terhubung satu sama lain dengan cara peer-to-peer yang padat, menggunakan "protokol gosip" di mana setiap node terus-menerus memberi tahu rekan-rekannya semua yang dipelajarinya. Akibatnya, setiap node dapat dengan cepat menyiarkan pesan ke seluruh jaringan melalui banyak jalur alternatif.
Basis data, baik terpusat atau bertenaga blockchain, dimulai dalam keadaan kosong, dan diperbarui melalui "transaksi". Transaksi didefinisikan sebagai sekumpulan perubahan database yang bersifat “atom”, yang berarti berhasil atau gagal secara keseluruhan. Bayangkan database mewakili buku besar keuangan, dengan satu baris per akun. Transaksi di mana Alice membayar $ 10 kepada Bob memiliki tiga langkah: (1) memverifikasi bahwa akun Alice berisi setidaknya $ 10, (2) mengurangi $ 10 dari akun Alice, dan (3) menambahkan $ 10 ke akun Bob. Sebagai persyaratan dasar, setiap platform database harus memastikan bahwa tidak ada transaksi yang mengganggu transaksi lainnya. "Isolasi" ini dicapai dengan mengunci baris untuk Alice dan Bob saat pembayaran sedang dilakukan. Transaksi lain yang melibatkan baris-baris ini harus menunggu sampai yang ini selesai.
Dalam blockchain, setiap node secara independen memproses setiap transaksi pada salinan database-nya sendiri. Transaksi dibuat di mana saja di jaringan dan secara otomatis disebarkan ke semua node lainnya. Karena organisasi yang menjalankan node mungkin memiliki kepentingan yang berbeda (atau bahkan bertentangan), mereka tidak dapat mempercayai satu sama lain untuk bertransaksi secara adil. Oleh karena itu, blockchain membutuhkan aturan yang menentukan apakah transaksi tertentu valid atau tidak. Dalam buku besar keuangan bersama, aturan ini mencegah pengguna membelanjakan uang satu sama lain, atau menyulap dana dari udara kosong.
Seiring dengan aturan yang menentukan validitas transaksi, blockchain juga harus menentukan bagaimana transaksi akan dipesan, karena dalam banyak kasus pengurutan ini sangat penting. Jika Alice memiliki $ 15 dan mencoba mengirim $ 10 kepada Bob dan Charlie dalam dua transaksi terpisah, hanya satu dari pembayaran ini yang dapat berhasil. Meskipun kami mungkin ingin mengatakan bahwa transaksi pertama diutamakan, jaringan peer-to-peer tidak memiliki definisi objektif "pertama", karena pesan dapat sampai di node yang berbeda dalam urutan yang berbeda.
Aturan transaksi
Dalam pengertian umum, informasi dalam database apa pun dipisahkan menjadi catatan atau "baris", dan transaksi dapat melakukan tiga hal berbeda: menghapus baris, membuat baris, dan / atau mengubah baris. Ini dapat dikurangi lebih jauh menjadi dua, karena mengubah baris sama dengan menghapus baris itu dan membuat yang baru sebagai gantinya. Untuk kembali ke pembayaran Alice kepada Bob, barisnya yang berisi $ 15 dihapus, dan dua baris baru dibuat - satu berisi $ 10 untuk Bob dan yang lainnya dengan $ 5 dalam "perubahan" untuk Alice.
Mengikuti terminologi bitcoin dan Corda, kami menunjukkan baris yang dihapus oleh transaksi sebagai "masukan" -nya, dan baris yang dibuat sebagai "keluaran" -nya. Setiap baris yang dihapus oleh transaksi harus dibuat oleh transaksi sebelumnya. Oleh karena itu, setiap masukan transaksi mengkonsumsi (atau "menghabiskan") keluaran transaksi sebelumnya. Konten terbaru dari basis data ditentukan oleh kumpulan “keluaran transaksi yang tidak terpakai” atau “UTXO”.
Dalam blockchain, sebuah transaksi valid jika memenuhi tiga kondisi berikut:
- Kebenaran. Transaksi tersebut harus mewakili transformasi yang sah dari masukan menjadi keluaran. Misalnya, dalam buku besar keuangan, jumlah total dana dalam input harus sesuai dengan total output, untuk mencegah uang muncul atau menghilang secara ajaib. Satu-satunya pengecualian adalah transaksi "penerbitan" atau "pensiun" khusus, di mana dana secara eksplisit ditambahkan atau dihapus.
- Otorisasi. Transaksi harus diotorisasi oleh pemilik dari setiap keluaran yang dikonsumsi oleh masukannya. Dalam buku besar keuangan, ini mencegah peserta membelanjakan uang satu sama lain tanpa izin. Otorisasi transaksi dikelola menggunakan kriptografi asimetris (atau kunci publik-pribadi). Setiap baris memiliki pemilik, yang diidentifikasi oleh kunci publik, yang kunci privatnya dirahasiakan. Untuk mendapatkan otorisasi, sebuah transaksi harus ditandatangani secara digital oleh pemilik setiap inputnya. (Perhatikan bahwa baris juga dapat memiliki pemilik "multisignature" yang lebih kompleks, misalnya di mana dua dari tiga pihak dapat mengotorisasi penggunaannya.)
- Keunikan. Jika suatu transaksi menggunakan keluaran tertentu, maka tidak ada transaksi lain yang dapat menggunakan keluaran itu lagi. Inilah cara kami mencegah Alice melakukan pembayaran yang saling bertentangan kepada Bob dan Charlie. Meskipun transaksi untuk kedua pembayaran ini mungkin benar dan diotorisasi, aturan keunikan memastikan bahwa hanya satu yang akan diproses oleh database.
Dalam blockchain konvensional, setiap node memeriksa setiap transaksi dalam tiga aturan ini. Nanti, kita akan melihat bagaimana Corda membagi tanggung jawab ini secara berbeda.
Blok bangunan
Blockchain secara harfiah adalah rantai blok, di mana setiap blok terhubung ke yang sebelumnya melalui "hash" yang secara unik mengidentifikasi isinya. Setiap blok berisi sekumpulan transaksi yang teratur yang tidak boleh bertentangan satu sama lain atau dengan blok sebelumnya, serta stempel waktu dan beberapa informasi lainnya. Sama seperti transaksi, blok menyebar dengan cepat ke seluruh jaringan dan diverifikasi secara independen oleh setiap node. Setelah transaksi muncul di blok, itu "dikonfirmasi", mengarahkan node untuk menolak transaksi yang bertentangan.
Siapa yang bertanggung jawab untuk membuat blok ini, dan bagaimana kita bisa yakin bahwa semua node akan menyetujui rantai otoritatif? Pertanyaan tentang "algoritme konsensus" ini adalah subjek yang sangat besar, diisi dengan akronim yang menakjubkan seperti PoW (Bukti Kerja), PBFT (Toleransi Kesalahan Bizantium Praktis) dan DPoS (Bukti Pasak Terdelegasi). Kami tidak akan membahas semua itu di sini. Cukuplah untuk mengatakan bahwa blockchain yang diizinkan untuk perusahaan menggunakan semacam skema pemungutan suara, di mana suara diberikan ke "node validator" yang bertanggung jawab secara kolektif. Skema ini memastikan bahwa, selama sebagian besar node validator berfungsi dengan benar dan jujur, transaksi akan memasuki rantai dalam urutan (mendekati) wajar, stempel waktu akan (kurang-lebih) benar, dan transaksi yang dikonfirmasi tidak dapat dibalik kemudian.
Sebelum membahas beberapa tantangan blockchain, saya ingin menjelaskan tiga poin tambahan. Pertama, sementara saya menggunakan buku besar keuangan sebagai contoh di seluruh bagian ini, model transaksi input-output mendukung berbagai kasus penggunaan yang jauh lebih luas. Setiap baris dapat berisi objek data yang kaya (pikirkan JSON) yang berisi berbagai jenis informasi - memang, Corda menggunakan kata "negara" daripada "baris" karena alasan ini. Status yang lebih kaya tidak mengubah apa pun yang mendasar tentang aturan transaksi: kebenaran masih didefinisikan dalam hal input dan output, otorisasi masih diperlukan untuk setiap input, dan keunikan memastikan bahwa setiap output hanya dapat digunakan satu kali.
Kedua, ada banyak kasus penggunaan blockchain di mana baris hanya dibuat di database, dan tidak pernah dihapus. Aplikasi ini berhubungan dengan penyimpanan data umum, cap waktu dan notaris, daripada memelihara semacam buku besar yang terus berubah. Dalam aplikasi data-only ini, transaksi menambahkan data dalam outputnya tetapi tidak menggunakan apa pun dalam inputnya, memungkinkan aturan untuk kebenaran, otorisasi, dan keunikan disederhanakan. Meskipun kasus penggunaan khusus data merupakan fokus yang meningkat dari pengembangan kami sendiri di MultiChain, saya hanya menyebutkannya secara sepintas di sini, karena Corda jelas tidak dirancang dengan mempertimbangkannya.
Terakhir, perlu dicatat bahwa beberapa platform blockchain tidak menggunakan model input-output. Ethereum menghadirkan paradigma alternatif, di mana rantai mengontrol komputer virtual dengan keadaan global yang dikelola oleh "kontrak", dan transaksi tidak terhubung satu sama lain secara eksplisit. Diskusi tentang model Ethereum dalam blockchain yang diizinkan berada di luar cakupan kami di sini, tapi lihat artikel ini untuk penjelasan dan kritik mendetail. Satu keuntungan utama dari paradigma input-output adalah bahwa sebagian besar transaksi dapat diproses secara paralel dan independen satu sama lain. Properti ini sangat penting untuk Corda, seperti yang akan kita lihat nanti.
Tantangan blockchain
Bayangkan bank-bank dunia membuat buku besar bersama untuk mewakili kepemilikan, transfer, dan pertukaran berbagai aset keuangan. Secara teori, ini dapat diimplementasikan pada blockchain biasa, seperti dijelaskan di atas. Setiap baris akan berisi tiga kolom - pengenal aset seperti GOOG atau USD, kuantitas yang dimiliki, dan kunci publik pemilik. Setiap transaksi akan mentransfer satu atau lebih aset dari input ke outputnya, dengan kasus khusus untuk penerbitan dan pensiun.
Setiap bank di jaringan akan menjalankan satu atau lebih node yang terhubung ke yang lain, menyebarkan dan memverifikasi transaksi. Anggota senior akan bertindak sebagai validator, dengan tanggung jawab kolektif untuk mengkonfirmasi, memesan, dan mencatat waktu transaksi. Setiap kesalahan validator akan terlihat oleh semua node di jaringan, yang mengarah ke kecaman, pembuangan dan / atau proses hukum. Dengan semua ini, aset keuangan apa pun dapat dipindahkan ke seluruh dunia dalam hitungan detik, dengan aturan kebenaran, otorisasi, dan keunikan yang menjamin integritas buku besar.
Ada apa dengan gambar ini? Sebenarnya, ada tiga masalah: skalabilitas, kerahasiaan, dan interoperabilitas. Masalah skalabilitas cukup sederhana. Blockchain antar bank yang kami usulkan akan mengharuskan setiap anggota untuk memverifikasi, memproses, dan menyimpan setiap transaksi yang dilakukan oleh setiap bank di dunia. Bahkan jika hal ini secara teknis memungkinkan untuk lembaga keuangan terbesar, biaya komputasi dan penyimpanan akan menjadi penghalang yang signifikan bagi banyak orang. Tentunya kami lebih suka sistem di mana peserta hanya melihat transaksi yang langsung melibatkan mereka.
Tapi mari kita kesampingkan skalabilitas, karena pada akhirnya dapat diselesaikan menggunakan komputer yang mahal dan teknik yang cerdas. Masalah yang lebih mendasar adalah kerahasiaan. Meskipun kedengarannya utopis untuk setiap transaksi terlihat di mana-mana, di dunia nyata transparansi radikal seperti itu bukanlah permulaan dalam hal persaingan dan regulasi. Jika JP Morgan dan HSBC menukar sepasang aset, mereka tidak ingin Citi dan Bank of China melihat apa yang mereka lakukan. Jika transaksi dilakukan atas nama nasabah bank-bank ini, mereka bisa jadi ilegal untuk mengeksposnya dengan cara ini.
Salah satu solusi yang diusulkan untuk masalah kerahasiaan adalah "saluran", seperti yang diterapkan di Hyperledger Fabric. Setiap saluran memiliki anggota tertentu, yang merupakan bagian dari node di jaringan secara keseluruhan. Transaksi saluran hanya terlihat oleh anggotanya, sehingga setiap saluran secara efektif bertindak sebagai blockchain terpisah. Meskipun hal ini membantu menjaga kerahasiaan, hal ini juga merusak keseluruhan poin latihan. Aset tidak dapat dipindahkan dari satu saluran ke saluran lainnya tanpa bantuan perantara tepercaya yang aktif di keduanya. Kesulitan pendekatan ini baru-baru ini disoroti oleh SWIFT bukti konsep rekonsiliasi, yang memperkirakan bahwa lebih dari 100,000 saluran akan dibutuhkan dalam produksi. Itu 100,000 pulau di mana aset tidak dapat dipindahkan secara langsung.
Dalam kasus penggunaan khusus data, di mana transaksi tidak menggunakan data dalam input, masalah kerahasiaan dapat diatasi dengan mengenkripsi atau mencirikan data dalam output, dan mengirimkan kunci dekripsi atau data yang tidak di-hash di luar rantai. Tetapi untuk transaksi yang inputnya mengkonsumsi output transaksi lain, setiap node harus melihat input dan output tersebut untuk memvalidasi transaksi. Sedangkan teknik kriptografi tingkat lanjut seperti aset rahasia dan tidak ada bukti pengetahuan telah dikembangkan untuk menyelesaikan sebagian atau seluruhnya masalah ini untuk buku besar keuangan, hal ini menimbulkan beban kinerja yang signifikan dan / atau tidak dapat digeneralisasikan ke aturan kebenaran apa pun.
Terakhir, mari kita bicara tentang interoperabilitas. Di dunia yang ideal, setiap bank akan segera bergabung dengan blockchain global kami pada hari peluncurannya. Namun kenyataannya, banyak blockchain akan diadopsi oleh kelompok bank yang berbeda, berdasarkan geografi atau hubungan yang sudah ada sebelumnya. Seiring waktu, anggota satu grup mungkin ingin mulai bertransaksi dengan anggota grup lain, dengan mentransfer aset antar rantai. Sama seperti saluran, ini hanya dapat dicapai dengan bantuan perantara tepercaya, mengalahkan tujuan blockchain.
Corda bertujuan untuk memecahkan masalah skalabilitas, kerahasiaan, dan interoperabilitas yang saling terkait ini melalui pemikiran ulang radikal tentang cara kerja buku besar terdistribusi.
Pandangan parsial Corda
Perbedaan mendasar dalam Corda mudah dijelaskan: Setiap node hanya melihat beberapa, bukan semua, transaksi yang diproses di jaringan. Sementara satu buku besar logis dan konseptual ditentukan oleh semua transaksi ini, tidak ada simpul individu yang melihat buku besar itu secara keseluruhan. Sebagai perbandingan, setiap saat, setiap uang dolar di dunia ada di tempat tertentu, tetapi tidak ada yang tahu di mana mereka semua.
Jadi transaksi mana yang dilihat oleh node Corda? Pertama-tama, mereka yang terlibat langsung, karena memiliki salah satu input atau output transaksi tersebut. Dalam buku besar keuangan, ini termasuk setiap transaksi di mana node mengirim atau menerima dana. Katakanlah Alice membuat transaksi yang menghabiskan $ 15-nya dalam sebuah input dan memiliki dua output - satu dengan $ 10 untuk saya, dan yang lainnya dengan $ 5 dalam "perubahan" untuknya. Setelah Alice mengirimi saya transaksi ini, saya dapat memeriksanya untuk kebenaran dan otorisasi, memverifikasi bahwa masukan dan keluaran seimbang dan bahwa Alice telah menandatangani.
Namun, transaksi saja tidak cukup. Saya juga perlu memverifikasi bahwa status masukan $ 15 Alice benar-benar ada, dan dia tidak hanya mengada-ada. Itu berarti saya perlu melihat transaksi yang menciptakan status ini, dan memeriksanya untuk mengetahui kebenaran dan otorisasi juga. Jika transaksi sebelumnya ini, yang mengirim Alice $ 15, memiliki masukan $ 10 milik Denzel dan masukan $ 5 lainnya dari Eric, maka saya juga harus memverifikasi transaksi yang membuatnya. Dan seterusnya, semua kembali ke transaksi "penerbitan" asli di mana aset itu dibuat. Jumlah transaksi yang perlu saya verifikasi akan bergantung pada berapa kali aset telah berpindah tangan dan sejauh mana percabangan mundur.
Karena node Corda tidak secara otomatis melihat setiap transaksi, bagaimana mereka mendapatkan yang mereka butuhkan? Jawabannya dari pengirim setiap transaksi baru. Sebelum Alice membuat transaksi yang memakan $ 15, dia harus sudah memverifikasi transaksi yang dia terima. Dan karena Alice pasti telah menerapkan teknik rekursif di atas, dia akan memiliki salinan dari setiap transaksi yang diperlukan untuk verifikasi ini. Bob hanya meminta transaksi ini dari Alice sebagai bagian dari interaksi mereka. Jika Alice tidak merespon dengan tepat, Bob menyimpulkan bahwa Alice mencoba untuk mengelabui dia, dan menolak pembayaran yang masuk. Dalam kasus di mana Bob dikirimi transaksi baru yang masukannya memiliki banyak pemilik, dia dapat memperoleh bukti yang diperlukan dari masing-masing.
Memperkenalkan notaris
Sejauh ini kami telah menjelaskan bagaimana Bob dapat memverifikasi kebenaran dan otorisasi transaksi yang masuk, termasuk menelusuri kembali asal inputnya secara rekursif. Tapi ada satu aturan lagi yang perlu kita pikirkan: keunikan. Katakanlah Alice jahat. Dia dapat menghasilkan satu transaksi di mana dia membayar $ 10 kepada Bob, dan satu lagi di mana dia membayar $ 10 yang sama kepada Charlie. Dia dapat mengirim transaksi ini masing-masing ke Bob dan Charlie, bersama dengan bukti lengkap kebenaran dan otorisasi masing-masing. Meskipun kedua transaksi saling bertentangan karena mengkonsumsi status yang sama, tidak ada cara bagi Bob dan Charlie untuk mengetahui hal ini.
Blockchain konvensional menyelesaikan masalah ini dengan setiap node melihat setiap transaksi, membuat konflik mudah dideteksi dan ditolak. Jadi bagaimana Corda, dengan visibilitas transaksi parsial, mengatasi masalah yang sama? Jawabannya adalah dengan bantuan seorang “notaris”. Notaris adalah pihak terpercaya (atau pihak-pihak yang bekerjasama) yang menjamin bahwa suatu negara hanya dikonsumsi satu kali. Setiap negara bagian memiliki notaris tertentu, yang harus menandatangani setiap transaksi di mana negara bagian tersebut dikonsumsi. Setelah notaris melakukannya, ia tidak boleh menandatangani transaksi lain untuk negara bagian yang sama. Notaris adalah penjaga keunikan transaksi jaringan.
Meskipun setiap negara bagian dapat memiliki notaris yang berbeda, semua negara bagian yang digunakan oleh transaksi tertentu harus ditetapkan ke notaris yang sama. Ini untuk menghindari masalah yang berkaitan dengan kebuntuan dan sinkronisasi, yang seharusnya tidak asing bagi mereka yang memiliki pengalaman database terdistribusi. Katakanlah Alice dan Bob setuju untuk menukar $ 10 Alice dengan $ 7 Bob. Transaksi pertukaran ini harus ditandatangani oleh notaris kedua negara bagian, tapi mana yang lebih dulu? Jika notaris Alice menandatangani tetapi Bob gagal karena suatu alasan, maka Alice akan ditinggalkan dengan transaksi yang tidak lengkap dan tidak dapat menggunakan $ 10 lagi. Jika tanda-tanda Bob lebih dulu, maka dia juga diekspos. Meskipun kami mungkin ingin notaris bekerja sama, dalam praktiknya hal ini membutuhkan rasa saling percaya dan penggunaan protokol konsensus, komplikasi yang dipilih oleh desainer Corda untuk dihindari.
Jika negara bagian dengan notaris yang berbeda diperlukan sebagai input untuk satu transaksi, pemiliknya terlebih dahulu melakukan transaksi "perubahan notaris" khusus, yang memindahkan negara dari satu notaris ke notaris lain, tidak mengubah apa pun. Jadi ketika para pihak sedang membangun transaksi dengan banyak masukan, mereka harus terlebih dahulu menyetujui notaris yang akan digunakan, dan kemudian melakukan perubahan notaris yang diperlukan. Sementara pengembang di dalam diri saya merasakan sedikit rasa sakit saat membaca tentang solusi ini, tidak ada alasan mengapa itu tidak akan berfungsi selama notaris ikut bermain.
Juga harus diklarifikasi bahwa, meskipun setiap notaris adalah aktor logis tunggal dalam hal penandatanganan transaksi, ia tidak perlu dikendalikan oleh satu pihak. Sekelompok organisasi dapat menjalankan notaris secara kolektif, menggunakan protokol konsensus yang sesuai di mana mayoritas peserta diperlukan untuk menghasilkan tanda tangan yang valid. Ini akan mencegah pihak jahat mana pun dari merusak keunikan dengan menandatangani transaksi yang bertentangan. Secara teori, kami bahkan dapat mengizinkan setiap node di jaringan untuk berpartisipasi dalam jenis notaris bersama ini, meskipun dalam hal ini kami akan lebih atau kurang kembali ke blockchain konvensional.
Mengambil skor
Mari kita rekap perbedaan utama antara Corda dan blockchain konvensional. Di Corda, tidak ada blockchain terpadu yang berisi semua transaksi yang dikonfirmasi. Node hanya melihat transaksi di mana mereka terlibat secara langsung, atau di mana mereka bergantung secara historis. Node bertanggung jawab untuk memeriksa kebenaran dan otorisasi transaksi tetapi bergantung pada notaris tepercaya untuk memverifikasi keunikan.
Tentu saja, Corda memiliki lebih banyak hal selain ini: penggunaan sertifikat digital untuk mengautentikasi identitas, "peta jaringan" untuk membantu node menemukan dan mempercayai satu sama lain, "kontrak" per negara yang menentukan kebenaran dari perspektif masing-masing negara bagian, versi deterministik dari Java Virtual Machine yang menjalankan kontrak ini, "arus" yang mengotomatiskan negosiasi transaksi, "jendela waktu" yang membatasi transaksi berdasarkan waktu, "ramalan" yang membuktikan fakta eksternal dan "CorDapp" yang menggabungkan banyak hal bersama untuk distribusi yang mudah . Meskipun masing-masing fitur ini menarik, padanan untuk semua dapat ditemukan di platform blockchain lainnya. Tujuan saya dalam artikel ini adalah untuk fokus pada apa yang membuat Corda unik.
Jadi apakah Corda memenuhi janjinya? Apakah itu memecahkan masalah skalabilitas, kerahasiaan, dan interoperabilitas blockchain? Dan dalam membuat pilihan khususnya, berapa harga yang harus dibayar Corda?
Lebih skalabel, terkadang
Mari kita mulai dengan skalabilitas. Di sini, keuntungan Corda tampak jelas, karena node hanya melihat beberapa transaksi dalam jaringan. Dalam blockchain biasa, throughput maksimum dibatasi oleh kecepatan node paling lambat dalam memproses transaksi. Sebaliknya, jaringan Corda dapat memproses satu juta transaksi per detik, sementara setiap node hanya melihat sebagian kecil dari itu. Skalabilitas juga meluas ke notaris, karena tugas penandatanganan transaksi untuk keunikan dapat tersebar di antara banyak notaris yang berbeda, yang masing-masing bertanggung jawab atas sebagian kecil status jaringan.
Karena itu, ada satu situasi di mana Corda berkinerja jauh lebih buruk daripada blockchain. Ini terjadi ketika sebuah node menerima transaksi baru yang bergantung pada banyak transaksi lain yang belum pernah dilihat sebelumnya. Bayangkan aset yang sangat likuid yang diterbitkan 10 tahun lalu, dan berpindah tangan setiap lima menit. Jalur dari setiap transaksi baru kembali ke penerbitan aset ini akan lebih dari satu juta transaksi. Ketika sebuah node menerima aset ini untuk pertama kalinya, ia harus mengambil jutaan transaksi ini dari pengirim dan memverifikasi masing-masing secara bergantian. Pada tingkat (yang cukup optimis) 1000 transaksi per detik, akan ada penundaan 17 menit sebelum penerima dapat mengirim asetnya - jelas terlalu lama untuk sesuatu yang begitu likuid.
Mengapa blockchain tidak mengalami masalah ini? Karena node melihat dan memverifikasi setiap transaksi saat itu terjadi, mereka terus-menerus memperbarui status buku besar, dan tahu persis siapa yang memiliki setiap aset saat ini. Bahkan jika sebuah node belum pernah memiliki aset tertentu sebelumnya, node tersebut dapat langsung memverifikasi transaksi di mana ia menerimanya, dan kemudian segera mengirimkannya. Dengan kata lain, node blockchain harus memverifikasi transaksi yang mungkin tidak relevan bagi mereka, tetapi dengan melakukan itu, mereka membayar di muka biaya untuk memeriksa setiap transaksi di masa mendatang yang mungkin masuk. Meskipun node Corda kurang sibuk secara keseluruhan, mereka menjalankan risiko perlu melakukan banyak pekerjaan dalam waktu singkat. Tidak ada yang dapat diskalakan tentang itu.
Agak lebih rahasia
Mari beralih ke kerahasiaan. Di Corda, node hanya melihat beberapa transaksi jaringan, yang tidak dapat disangkal berarti privasi yang lebih baik daripada blockchain konvensional. Meskipun demikian, Corda masih jauh dari menyelesaikan masalah kerahasiaan, karena node masih melihat beberapa transaksi yang bukan urusan mereka. Untuk mengambil contoh sederhana, jika Alice membayar Bob $ 10, kemudian Bob mengirimkan $ 10 itu ke Charlie, simpul Charlie harus menunjukkan transaksi antara Alice dan Bob, meskipun itu tidak melibatkannya. Pada saat Alice membayar Bob, dia tidak memiliki cara untuk mengetahui siapa yang mungkin melihat transaksi ini di masa depan, dan siapa pun dapat dikirim kapan saja.
Agar adil, pengembang Corda menyadari masalah ini, dan membahasnya di bab 15 mereka Buku Putih Teknis. Makalah ini menyarankan strategi sederhana seperti menggunakan beberapa kunci publik per entitas atau mengurangi keterlacakan dengan mengembalikan aset ke penerbit untuk diterbitkan kembali (mirip dengan "pencampur koin" mata uang kripto). Ini juga menyebutkan kemungkinan masa depan yang lebih maju seperti menggunakan jaringan anonimisasi seperti Tor untuk menyembunyikan alamat IP peserta dan memanfaatkan bukti pengetahuan nol atau Intel. kantong aman untuk memvalidasi transaksi tanpa mengungkapkan isinya. Meskipun semua saran ini valid, saran tersebut juga dapat diterapkan ke blockchain biasa menggunakan model input-output, dan memang telah ada dalam cryptocurrency seperti Dash, Zcash, dan Verge. Jadi satu-satunya keuntungan unik Corda dalam hal kerahasiaan adalah visibilitas transaksi yang berkurang - solusi terbaik yang tidak lengkap.
Semua dalam pembiakan
Untuk lebih memahami keuntungan skalabilitas dan kerahasiaan Corda, kita harus mencatat bagaimana hal ini bergantung pada kepadatan dan tumpang tindih hubungan antar transaksi. Bayangkan sebuah "pohon keluarga" dari transaksi yang dilakukan dalam jaringan, di mana setiap orang tua transaksi adalah yang sebelumnya yang langsung bergantung padanya. Secara khusus, ketika satu output transaksi dikonsumsi oleh input lain, kami menggambar panah yang mewakili hubungan dari induk ke turunan. Transaksi dapat dilakukan oleh orang tua dan anak dalam jumlah berapa pun, meskipun dalam banyak kasus kami mengharapkan hanya beberapa.
Berdasarkan silsilah keluarga ini, kami mendefinisikan nenek moyang suatu transaksi sebagai orang tua, kakek nenek, buyut, dan seterusnya. Pohon kami "Adam dan Hawa" adalah transaksi penerbitan yang menciptakan aset dan tidak memiliki orang tua sendiri. Seperti dalam silsilah keluarga biasa, dua transaksi tidak dapat menjadi leluhur satu sama lain. Dalam istilah ilmu komputer formal, ini adalah a grafik asiklik diarahkan atau DAG, di mana keturunan didefinisikan sebagai penutupan transitif dari relasi induk.
Ingatlah bahwa ketika simpul Corda memproses transaksi, ia harus mengunduh dan memverifikasi semua leluhur transaksi itu, selain yang telah dilihat sebelumnya. Jadi, jika silsilah keluarga dalam, transaksi masuk baru mungkin memiliki sejumlah besar leluhur yang perlu diverifikasi, yang memicu masalah skalabilitas Corda. Selain itu, jika silsilah keluarga berisi tingkat perkawinan silang yang tinggi, leluhur transaksi baru mungkin menyertakan banyak atau sebagian besar transaksi sebelumnya di jaringan. Dalam hal ini, Corda akan memberikan sedikit keuntungan dalam hal privasi.
Sebaliknya, jika pohon keluarga transaksi dangkal, dan berisi banyak pulau terputus yang tidak berinteraksi satu sama lain, keuntungan Corda mengemuka. Node tidak perlu memverifikasi sejumlah besar transaksi sekaligus, dan dapat menyembunyikan sebagian besar transaksi yang tidak terkait dengan miliknya. Jika digunakan sebagai buku besar keuangan, kita dapat mengatakan bahwa Corda ideal untuk pasar yang sangat terfragmentasi yang asetnya jarang berpindah tangan.
Interoperabilitas untuk kemenangan
Inilah satu area di mana Corda benar-benar bersinar. Bayangkan dua jaringan Corda terpisah, dengan kumpulan aset dan peserta yang berbeda. Pada titik tertentu, peserta di satu jaringan ingin mengirim aset ke seseorang di jaringan lain. Tidak seperti blockchain konvensional, tidak ada harapan bahwa sebuah node akan memverifikasi semua transaksi sebelumnya, sehingga node yang menerima aset baru ini tidak akan mengalami hal yang aneh. Saat transaksi masuk, ia hanya meminta dan memverifikasi riwayat yang relevan, tanpa kesadaran bahwa ini berasal dari "jaringan terpisah". Untuk menambah klise, kita mungkin mengatakan bahwa tidak ada orang asing di Corda - hanya teman yang belum pernah bertemu.
Pada kenyataannya, hal-hal tidak sesederhana itu. Setiap node Corda secara eksplisit memutuskan notaris mana yang harus dipercaya, karena notaris yang berperilaku buruk dapat menyebabkan kekacauan finansial. Selain itu, node memerlukan "sertifikat" yang diberikan oleh "penjaga pintu" untuk terhubung ke node lain dalam jaringan, karena kami tidak dapat mengizinkan anggota publik secara acak untuk mulai menghubungkan ke node dan membuang-buang sumber daya mereka. Jadi sebelum node di satu jaringan dapat mulai meminta dan memverifikasi transaksi dari jaringan lain, node tersebut perlu menambahkan daftar notaris tepercaya dan mendapatkan sertifikat yang sesuai. Meskipun hal ini melibatkan beberapa konfigurasi dan administrasi manual, ini adalah minimum yang dapat diharapkan untuk sistem seperti ini. Secara keseluruhan, cukup adil untuk menyimpulkan bahwa interoperabilitas adalah kemenangan besar Corda atas blockchain konvensional.
Reintermediasi
Saatnya berbicara tentang disintermediasi, gajah di kamar Corda. Dalam konteks blockchain, disintermediasi berarti setiap peserta dapat memverifikasi setiap transaksi untuk dirinya sendiri, tanpa bergantung pada perilaku baik pihak ketiga. Di pandangan ku, disintermediasi adalah keuntungan inti dari blockchain dibandingkan database terpusat, di mana semua partisipan bergantung sepenuhnya pada pemilik database tersebut. Jika peserta dalam jaringan memiliki perantara yang dapat mereka andalkan, dan tidak ada masalah bisnis atau peraturan untuk disintermediasi, maka ada tidak ada poin dalam menggunakan blockchain. Database terpusat lebih cepat dan lebih efisien, dan menghindari masalah kerahasiaan transaksi.
Jadi, apakah peserta dalam jaringan Corda mencapai disintermediasi? Ya, ya dan ya tapi tidak. Untuk pengiriman transaksi, Corda mencentang kotaknya, karena node yang terlibat dalam transaksi berbicara langsung satu sama lain. Dalam hal kebenaran dan otorisasi, ini juga dalam kondisi yang baik, karena setiap node dapat memeriksa properti ini sendiri. Namun, dalam hal verifikasi keunikan transaksi, Corda gagal dalam pengujian disintermediasi. Node tidak dapat mengonfirmasi keunikan untuk diri mereka sendiri, karena mereka tidak melihat setiap transaksi di jaringan, dan tugas dialihkan ke notaris tepercaya.
Para peserta Corda bergantung pada belas kasihan notaris dalam beberapa hal. Pertama, seorang notaris dapat menolak untuk menandatangani sebuah transaksi, meskipun inputnya mengkonsumsi output yang belum pernah digunakan sebelumnya. Dalam buku besar keuangan, ini mencegah seseorang mengirim atau menukar aset mereka. Kedua, seorang notaris dapat menandatangani dua transaksi yang saling bertentangan yang mengkonsumsi output yang sama, membuat dua pihak percaya bahwa mereka menerima hal yang sama. Karena kedua penerima aset duplikat mengirim atau menukarnya dalam transaksi lebih lanjut, penularan menyebar, dan integritas seluruh buku besar dapat segera dirusak. Akhirnya, notaris dapat menolak untuk menandatangani transaksi "perubahan notaris" untuk mentransfer negara ke pesaing, yang secara efektif menyandera pemilik aset. Untuk transaksi yang melibatkan negara bagian dengan notaris yang berbeda, jauh untuk mengatakan bahwa Corda memperkenalkan lebih banyak perantara daripada database terpusat, karena beberapa pihak ketiga memegang kendali.
Untuk menempatkan risiko ini dalam perspektif, perlu diingat bahwa notaris Corda tidak perlu dikendalikan oleh satu organisasi. Mereka juga dapat terdiri dari sekelompok node yang menjalankan algoritme konsensus yang dapat mentolerir aktor jahat. Dalam hal ini, notaris akan berfungsi dengan baik selama sebagian besar node anggotanya mengikuti aturan. Di permukaan, ini terdengar seperti blockchain, yang bergantung pada mayoritas validator yang berperilaku baik. Namun di Corda risikonya jauh lebih tinggi. Hal terburuk yang dapat dilakukan oleh komplotan validator blockchain adalah mencegah beberapa transaksi untuk dikonfirmasi. Seorang notaris Corda yang jahat juga dapat menandatangani transaksi yang bertentangan, mengirim buku besar ke jurang yang tidak konsisten.
Hewan yang aneh
Dengan menggabungkan skalabilitas, kerahasiaan, interoperabilitas, dan disintermediasi, sulit untuk mencapai keputusan sederhana tentang alternatif Corda. Secara keseluruhan, dari perspektif pengembang platform blockchain ini, tampaknya, baik… menarik tetapi aneh. Dirancang untuk memecahkan masalah utama skalabilitas dan kerahasiaan, solusi Corda tidak lengkap, dan sangat bergantung pada bentuk "pohon keluarga" transaksi. Namun untuk mencapai kemenangan parsial ini, Corda kehilangan properti inti dari blockchain - penghapusan perantara transaksi. Meskipun Corda tidak diragukan lagi unggul dalam interoperabilitas, apakah itu benar-benar cukup?
Jika kami ingin skeptis, kami dapat mengatakan bahwa tim Corda menetapkan tugas yang tidak mungkin - merancang rasa blockchain yang sesuai dengan bank yang mendanai R3. Tetapi manfaat utama dari blockchain atas database terpusat adalah disintermediasi, yang mengakibatkan berkurangnya kerahasiaan. Bagaimana pertukaran ini masuk akal bagi lembaga keuangan yang menghasilkan uang dengan bertindak sebagai perantara, dan sangat sensitif tentang privasi? Dilihat dari sudut ini, orang mungkin memuji Corda sebagai kompromi heroik tetapi akhirnya tidak memuaskan antara keinginan anggota R3 untuk melakukan sesuatu yang bersifat blockchain, dan batasan komersial dan peraturan di mana mereka berada.
Penjaga 2.0
Tapi saya lebih suka mengadopsi pendekatan yang lebih positif. Alih-alih berfokus pada perbandingan dengan blockchain, kami dapat melihat Corda sebagai peningkatan teknis utama ke status quo keuangan. Cukup ganti kata "notaris" dengan "kustodian", dan semuanya jatuh pada tempatnya dengan cukup rapi. (SEBUAH pemelihara adalah lembaga keuangan yang memegang aset atas nama orang lain.) Ya, notaris adalah perantara, yang dapat memblokir transaksi dan memungkinkan terjadinya konflik, tetapi hal ini juga berlaku untuk penjaga saat ini. Sebuah "transaksi perubahan notaris" dapat dilihat sebagai pengalihan aset dari satu kustodian ke kustodian lain. Dan transaksi Corda ditandatangani hanya oleh satu notaris untuk alasan yang sama bahwa kami ingin pertukaran aset terjadi di satu tempat - untuk mencegah salah satu pihak kehilangan kantong.
Melihat Corda dengan cara ini, kita dapat melihat bagaimana hal itu meningkat pada model kustodian tradisional:
- Ini mendefinisikan paradigma komputasi standar dan format untuk mengekspresikan aset keuangan dan komitmen kontraktual lainnya.
- Ini menyediakan perangkat lunak open source untuk menafsirkan dan melaksanakan komitmen ini, menjamin bahwa pihak yang bertransaksi dan kustodian menyetujui hasil dari setiap transaksi.
- Penjaga multipartai kompleks yang melindungi dari penyalahgunaan dapat dibuat (hanya menggunakan perangkat lunak!) Dengan memanfaatkan algoritme konsensus yang toleran terhadap kesalahan.
- Proses standar ("perubahan notaris") ditentukan untuk transfer aset antara kustodian, dan tidak ada kustodian yang diizinkan untuk menolak.
- Kustodian tidak dapat menggunakan aset yang berada dalam pengawasannya tanpa persetujuan pemiliknya, karena transaksi juga harus ditandatangani oleh pemilik inputnya.
Saya jauh dari menjadi bankir, tetapi bagi saya ini semua terdengar cukup menjanjikan. Dan mungkin Corda dapat diterapkan dengan baik pada industri lain dengan struktur kustodian yang kompleks, seperti asuransi atau pengiriman. Meskipun desain Corda mungkin tidak memberikan disintermediasi penuh dari sebuah blockchain, ia mengusulkan transformasi yang kuat untuk industri di mana perantara memainkan peran penting.
Begitu kita masuk ke garis pemikiran ini, sebuah pertanyaan pasti muncul: Jika kita sudah mempercayai notaris dengan tugas hidup dan mati untuk memverifikasi keunikan, mengapa tidak mengandalkan mereka untuk kebenaran dan otorisasi juga? Corda sudah memiliki gagasan "notaris validasi", yang sepenuhnya memverifikasi transaksi sebelum menambahkan tanda tangannya. Alih-alih node Corda biasa mengunduh dan memeriksa leluhur transaksinya, mengapa tidak meminta saja notaris saja? Ini dapat membantu dengan skalabilitas dan kerahasiaan, karena sebagian besar node tidak akan melihat transaksi selain milik mereka sendiri. Kami bahkan mungkin menyarankan agar notaris jaringan saling percaya sepenuhnya, jadi tidak perlu khawatir tentang leluhur. Setiap notaris negara bagian dapat menjamin keabsahannya, hanya memverifikasi transaksi yang membuatnya dengan bantuan notaris lain.
Biarkan Corda menjadi Corda
Semua ini membawa kita kembali ke awal: Corda sebenarnya bukan pesaing blockchain konvensional, termasuk MultiChain. Corda adalah Corda - jenis baru dari buku besar terdistribusi yang menarik, yang telah dioptimalkan untuk kebutuhan mereka yang mendanainya. Saya tidak tahu apakah Corda pada akhirnya akan berhasil atau gagal, karena saya tidak tahu biaya dan manfaatnya di dunia nyata dibandingkan dengan cara saat ini dalam melakukan sesuatu. Tapi apa pun yang terjadi di masa depan, tentu patut dipelajari dari segi filosofi dan desain.
Untuk MultiChain, kami mengambil pendekatan berbeda. Untuk mencuri garis dari The West Wing, kami bertekad untuk "membiarkan blockchain menjadi blockchain". Blockchain adalah apa adanya, dan kami tidak memiliki rencana untuk mengubahnya menjadi sesuatu yang berbeda. Sebagai infrastruktur data untuk aplikasi bersama, blockchain mewakili trade-off tertentu jika dibandingkan dengan database terpusat - keuntungan disintermediasi dengan mengurangi kerahasiaan. Dan kami bekerja keras untuk membuat MultiChain 2.0 menjadi yang terbaik blockchain platform untuk digunakan oleh pengembang aplikasi.
Silakan kirim komentar di LinkedIn.
Sumber: https://www.multichain.com/blog/2018/05/r3-corda-deep-dive-and-technical-review/
- Akun
- Akronim
- aktif
- Tambahan
- Keuntungan
- algoritma
- algoritma
- Aplikasi
- aplikasi
- arsitektur
- DAERAH
- artikel
- aset
- Aktiva
- para penonton
- otorisasi
- Bank
- Bank Cina
- Perbankan
- Bank
- TERBAIK
- tagihan
- blockchain
- Kotak
- Bangunan
- Bundel
- bisnis
- kasus
- Menyebabkan
- ceo
- sertifikat
- sertifikat
- perubahan
- saluran
- memeriksa
- Cek
- anak
- anak-anak
- Tiongkok
- citi
- penutupan
- komentar
- komersial
- Umum
- perusahaan
- kompetisi
- pesaing
- Komputer Ilmu
- komputer
- konflik
- Konsensus
- persetujuan
- memakan
- Konten
- isi
- kontrak
- Tali
- Biaya
- membuat
- pelayaran
- cryptocurrencies
- cryptocurrency
- kriptografi
- terbaru
- Tahanan
- pelanggan
- DAG
- Dash
- data
- penyimpanan data
- Basis Data
- database
- hari
- transaksi
- menunda
- mengantarkan
- pengiriman
- Mendesain
- Pengembang
- pengembang
- Pengembangan
- MELAKUKAN
- digital
- Buku Besar Terdistribusi
- Dolar
- gajah
- Teknik
- Enterprise
- ethereum
- Pasar Valas
- Bursa
- Latihan
- kain
- adil
- keluarga
- Fashion
- Fitur
- Akhirnya
- keuangan
- Lembaga keuangan
- akhir
- Pertama
- pertama kali
- Fokus
- format
- penuh
- pendanaan
- dana-dana
- masa depan
- Umum
- Aksi
- global blockchain
- baik
- pemerintahan
- besar
- Kelompok
- Pertumbuhan
- di sini
- menyembunyikan
- High
- Disorot
- sejarah
- Seterpercayaapakah Olymp Trade? Kesimpulan
- HTTPS
- besar
- ide
- identitas
- liar
- Termasuk
- industri
- informasi
- Infrastruktur
- Lembaga
- lembaga
- asuransi
- interaksi
- bunga
- Interoperabilitas
- terlibat
- IP
- penerbitan
- masalah
- IT
- Jawa
- Pekerjaan
- ikut
- kunci
- kunci-kunci
- pengetahuan
- besar
- memimpin
- Kepemimpinan
- terkemuka
- belajar
- Buku besar
- Informasi
- Tingkat
- cahaya
- baris
- Cair
- Daftar
- Panjang
- utama
- Mayoritas
- Membuat
- Pasar
- pasar
- Cocok
- pertemuan
- Anggota
- sebutan
- juta
- model
- uang
- pindah
- multirantai
- jaringan
- jaringan
- jaringan
- node
- Gagasan
- Buka
- open source
- urutan
- perintah
- Lainnya
- Lainnya
- pemilik
- pemilik
- Sakit
- kertas
- pola pikir
- orangtua
- Membayar
- pembayaran
- pembayaran
- Konsultan Ahli
- prestasi
- perspektif
- filsafat
- gambar
- Platform
- Platform
- Populer
- menyajikan
- harga pompa cor beton mini
- pribadi
- swasta
- Produk
- Produksi
- bukti
- milik
- melindungi
- publik
- R3
- pembaca
- Bacaan
- Kenyataan
- rekap
- arsip
- Regulasi
- Hubungan
- bantuan
- Persyaratan
- Sumber
- pensiun
- ulasan
- Risiko
- aturan
- Run
- berjalan
- Skalabilitas
- Ilmu
- SEA
- melihat
- rasa
- set
- berbagi
- Pengiriman
- Pendek
- Tanda
- Sederhana
- kecil
- So
- Perangkat lunak
- Solusi
- MEMECAHKAN
- kecepatan
- Pengeluaran
- penyebaran
- taruhan
- awal
- mulai
- Negara
- Negara
- Status
- penyimpanan
- menyimpan
- toko
- Mendukung
- Permukaan
- sistem
- Teknis
- uji
- Masa depan
- Pikir
- Pihak ketiga
- waktu
- toleransi
- Lacak
- .
- Transaksi
- Transformasi
- Transparansi
- mengangkut
- Kepercayaan
- Tidak di-hash
- us
- USD
- Pengguna
- ambang
- Verifikasi
- View
- maya
- mesin virtual
- jarak penglihatan
- Pemungutan suara
- menunggu
- Barat
- SIAPA
- Wikipedia
- menang
- Kerja
- dunia
- bernilai
- penulisan
- tahun
- Zcash
- nol