Teknologi rantaian sekatan adalah satu perkara yang ajaib. Bagi kebanyakan juruteknik, ini hanyalah karya agung. Untuk perkara yang begitu berkuasa, adakah anda tahu apakah prinsip blockchain Editor di bawah akan menganalisis dan menganalisis apakah prinsip Blockchain adalah konsep penting Bitcoin? Mata wang itu disambungkan ke Makmal Kewangan Internet Pusat Pengajian Kewangan PBC Universiti Tsinghua. , Sina Technology mengeluarkan "Laporan Penyelidikan Pembangunan Bitcoin Global 2014-2016" yang menyebut bahawa blockchain adalah lapisan bawah Bitcoin. teknologi dan infrastruktur.
Blockchain pada asasnya adalah teknologi asas Bitcoin, ia adalah sistem pangkalan data terpencar. Blockchain menjana satu siri blok data melalui teknologi penyulitan Setiap blok data mengandungi maklumat tentang transaksi rangkaian Bitcoin, yang digunakan untuk mengesahkan kesahihan transaksi dan menjana blok data seterusnya.
Apakah prinsipnya?
Melihat definisi blockchain yang berbeza, saya mula menyedari bahawa tafsiran saya sebelum ini tentang konsep ini sentiasa terhad kepada Bitcoin. Takrifan blockchain tidak unik dan jelas. Di sini, saya ingin berkongsi beberapa pandangan peribadi saya tentang ciri "blockchain" berdasarkan kertas penyelidikan:
Menggunakan struktur data dalam bentuk "rantai cincang" untuk menyimpan data asas (diterangkan di bawah)
Berbilang nod yang mengambil bahagian Operasi sistem (teredar)
mencapai konsensus (protokol/algoritma konsensus) melalui protokol atau algoritma tertentu untuk memastikan ketekalan data asas.
Bitcoin adalah salah satu aplikasi yang paling representatif dan berpengaruh dalam teknologi blockchain. Dengan memahami cara Bitcoin menggunakan blockchain, kita boleh lebih mudah memahami jenis aplikasi blockchain yang lain.
Sebelum bercakap tentang aplikasi, perkara yang paling penting ialah memahami sifat teknikalnya. Semua jawapan kepada blockchain terlebih dahulu menyebut ciri-ciri tidak ketara bagi blockchain, jadi perkara pertama yang perlu difahami ialah bagaimana ia dilaksanakan
Pengetahuan penting fungsi Hash() kriptografi: Hash(x) = y, ia adalah sukar untuk mencari y untuk x
Rantai hash: jika sekarang terdapat blok data A, B, C dalam urutan. Kemudian kita boleh mengira nilai hash seperti ini. Perhatikan "||" penyambungan
H0 = Hash(A)
H1 = Hash(B || h0)
H2 = Hash(C || h1) H2 ialah pengepala cincang yang kami kira. Sekarang, mengapa kita memanggil perkara ini rantaian cincang, kerana nilai h2 bergantung pada kandungan siri data sebelumnya dan susunan pengiraan. Jika anda kini tahu h2 dan orang lain memegang A, B, C, tidak kira sama ada dia mengubah suai mana-mana A, B, C atau susunan A, B, C, anda tidak boleh mengira h2 yang betul lagi.
Nah, sebenarnya, konsep blockchain masuk akal di sini. Bukankah "Blockchain word" ialah terjemahan blockchain dalam bahasa Inggeris. Jika difahami secara literal, satu blok data "terdiri" daripada rantaian sudah cukup untuk menerangkan maksud asasnya. Blockchain Bitcoin sebenarnya adalah variasi rantaian hash (perhatikan bahawa Bitcoin menambah peraturan untuk nonces dan keperluan khas untuk nonces yang diterangkan di bawah untuk melaksanakan mekanisme konsensus bukti kerja). , dan bukannya ciri yang diperlukan bagi blockchain). Bagaimana untuk menukar? Tambah nombor rawak (Nonce)
Katakan sekarang terdapat blok data yang dijana secara berurutan A, B, C. Mari kita mengira pengepala hash seperti ini. Perhatikan penyambungan "||"
H0 = Hash(A || Nonce0)
H1 = Hash(B || h0 || Nonce1)
H2 = Hash(C || h1 || Nonce2)
juga menambah keperluan tambahan bahawa h0, h1, h2 mesti semua bermula dengan 0 digit yang ditentukan, sebagai contoh, setiap nilai cincang mesti bermula dengan 5 0, kemudian h0, h1, h2 ia sepatutnya seperti ini (00000 **** ***************)
Selepas menambah keperluan ini, h0, h1, h2 tidak begitu mudah untuk dikira kerana anda tidak boleh menyongsangkan input mengikut bentuk output, dan Diberi A, B, C, ia hanya boleh menukar Nonce secara berterusan untuk melakukan pengiraan terperinci, dan kemudian mencari nilai Nonce yang memenuhi keperluan, supaya h0, h1, h2 memenuhi keperluan.
Semua orang tahu apa yang dilakukan oleh pelombong, iaitu menerima blok penyiaran data dan kemudian mengira kepala rantaian cincang semasa. Selepas cincang yang berjaya dikira, semua orang akan dimaklumkan. Saya mendapatinya sendiri dan biarkan orang lain mengira pengepala cincang seterusnya. Sebenarnya, sifat blockchain hampir sama di sini. Jika semua orang dalam rangkaian lalai kepada protokol dan hanya mengira pengepala baharu selepas rantaian cincang terpanjang, maka semuanya baik-baik saja, tetapi jika seseorang mahu melakukannya dengan cara yang sama, dia perlu mempunyai lebih kuasa pengkomputeran. Apabila orang yang jujur mengikut peraturan, mereka boleh mengira satu siri garpu, atau secara langsung mengira rantai baharu, supaya semua orang boleh mengakuinya.
Bagi bukti kesukaran ini, Satoshi Nakamoto menubuhkan model kebarangkalian taburan Poisson, dengan mengandaikan bahawa kebarangkalian pengepala cincang baharu dikira oleh nod jujur dan kebarangkalian q pengepala cincang baharu dikira oleh nod tidak jujur. , hitung nilai N.
Maksud nilai N ini ialah selepas mengira pengepala cincang baru h1, dan kemudian menambahkan pengepala N (h2, h3, h4....), rangkaian harus mengenali pengepala baharu. H1. Kerana pada masa ini, jika penyerang ingin melancarkan serangan dengan jayanya, dia perlu mengira sekurang-kurangnya satu cabang dengan panjang lebih besar daripada N. Kemungkinan ini sukar untuk direalisasikan apabila penyerang tidak mempunyai 50% daripada jumlah kuasa pengkomputeran rangkaian.
Jadi di sini jelas bahawa blockchain adalah aplikasi pintar alat kriptografi. Sudah tentu, kemungkinan blockchain bukan hanya apa yang saya nyatakan Giants dari pelbagai industri termasuk insurans, pengauditan, penjagaan perubatan, dan lain-lain kesan, jadi anda boleh mencubanya.
Atas ialah kandungan terperinci Ketahui lebih lanjut tentang prinsip blockchain dalam satu artikel. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!