區(qū)塊鏈本質(zhì)是一個分布式共享數(shù)據(jù)庫。
區(qū)塊鏈是一種按照時間順序?qū)?shù)據(jù)塊以特定的順序相連的方式組合成的鏈式數(shù)據(jù)結(jié)構(gòu),其上存儲了系統(tǒng)誕生以來所有交易的記錄。區(qū)塊鏈上的數(shù)據(jù)由全網(wǎng)節(jié)點共同維護并共同存儲,同時以密碼學(xué)方式保證區(qū)塊數(shù)據(jù)不可篡改和不可偽造。
區(qū)塊鏈讓參與系統(tǒng)中的任意多個節(jié)點,通過密碼學(xué)方法產(chǎn)生相關(guān)聯(lián)數(shù)據(jù)塊(即區(qū)塊,block),每個數(shù)據(jù)塊中都包含了一定時間內(nèi)的系統(tǒng)全部信息交流的數(shù)據(jù),并按照時間順序?qū)?shù)據(jù)區(qū)塊組合成一種鏈式數(shù)據(jù)結(jié)構(gòu)。
區(qū)塊鏈記錄原理需要所有參與記錄的節(jié)點,來共同驗證交易記錄的正確性。由于所有節(jié)點都在記錄全網(wǎng)的每一筆交易,因此,一旦出現(xiàn)某節(jié)點記錄的信息與其他節(jié)點的不符,其他節(jié)點就不會承認該記錄,該記錄也就不會寫入?yún)^(qū)塊。
改變某一區(qū)塊及區(qū)塊內(nèi)的交易信息幾乎是不可能的。如果該區(qū)塊被改變,那么之后的每一個區(qū)塊都將被改變。因此試圖篡改數(shù)據(jù)的人必須同時入侵至少全球參與記錄的51%的節(jié)點并篡改數(shù)據(jù)。從技術(shù)上講,這幾乎是不可能的。
每筆交易需要一個有效簽名才會被存儲在區(qū)塊中。只有有效的數(shù)字秘鑰才能生成有效簽名。密鑰是成對出現(xiàn)的,由一個私鑰和一個公鑰組成。其中,公鑰是公開的,私鑰僅限擁有者可見并使用,用于交易簽名,以證明數(shù)字身份。
區(qū)塊鏈的分布式結(jié)構(gòu)使得數(shù)據(jù)并不是記錄和存儲在中心化的電腦或主機上,而是讓每一個參與數(shù)據(jù)交易的節(jié)點都記錄并存儲下所有的數(shù)據(jù)信息。為此,區(qū)塊鏈系統(tǒng)采用了開源的、去中心化的協(xié)議來保證數(shù)據(jù)的完備記錄和存儲。
區(qū)塊鏈構(gòu)建了一整套協(xié)議機制,讓全網(wǎng)絡(luò)的每個節(jié)點在參與記錄數(shù)據(jù)的同時,也參與驗證其他節(jié)點記錄結(jié)果的正確性。只有當全網(wǎng)大部分節(jié)點(甚至所有節(jié)點)都確認記錄的正確性時,該數(shù)據(jù)才會被寫入?yún)^(qū)塊。在區(qū)塊鏈的分布式結(jié)構(gòu)的網(wǎng)絡(luò)系統(tǒng)中,參與記錄的網(wǎng)絡(luò)節(jié)點會實時更新并存放全網(wǎng)系統(tǒng)中的所有數(shù)據(jù)。因此,即使部分節(jié)點遭到攻擊或破壞,也不會影響這個系統(tǒng)的數(shù)據(jù)更新和存儲。