區(qū)塊鏈(Blockchain)是由節(jié)點(diǎn)參與的分布式數(shù)據(jù)庫(kù)系統(tǒng){{1}}劝贸,它的特點(diǎn)是不可更改螃壤,不可偽造描扯,也可以將其理解為賬簿系統(tǒng)(ledger)盯滚。它是比特幣的一個(gè)重要概念踢械,完整比特幣區(qū)塊鏈的副本,記錄了其代幣(token)的每一筆交易魄藕。通過(guò)這些信息内列,我們可以找到每一個(gè)地址,在歷史上任何一點(diǎn)所擁有的價(jià)值背率。 區(qū)塊鏈?zhǔn)怯梢淮褂妹艽a學(xué)方法產(chǎn)生的數(shù)據(jù)塊組成的话瞧,每一個(gè)區(qū)塊都包含了上一個(gè)區(qū)塊的哈希值(hash),從創(chuàng)始區(qū)塊(genesis block)開(kāi)始連接到當(dāng)前區(qū)塊寝姿,形成塊鏈交排。每一個(gè)區(qū)塊都確保按照時(shí)間順序在上一個(gè)區(qū)塊之后產(chǎn)生,否則前一個(gè)區(qū)塊的哈希值是未知的饵筑。這些特征使得比特幣的雙花(double-spending)非常困難个粱。區(qū)塊鏈?zhǔn)潜忍貛诺暮诵膭?chuàng)新。 區(qū)塊鏈概念的出現(xiàn)翻翩,首先是在中本聰?shù)谋忍貛虐灼?shū){{2}}中提到的都许,但是以工作量證明鏈(proof-of-work chain)的形式而存在,以下是中本聰對(duì)區(qū)塊鏈概念的描述:
時(shí)間戳服務(wù)器通過(guò)對(duì)以區(qū)塊(block)形式存在的一組數(shù)據(jù)嫂冻,實(shí)施隨機(jī)散列而加上時(shí)間戳胶征,并將該隨機(jī)散列進(jìn)行廣播,就像在新聞或世界性新聞組網(wǎng)絡(luò)(Usenet)的發(fā)帖一樣 桨仿。顯然祷安,該時(shí)間戳能夠證實(shí)特定數(shù)據(jù)必然于某特定時(shí)間是的確存在的窑多,因?yàn)橹挥性谠摃r(shí)刻存在了才能獲取相應(yīng)的隨機(jī)散列值镐作。每個(gè)時(shí)間戳應(yīng)當(dāng)將前一個(gè)時(shí)間戳納入其隨機(jī)散列值中抑堡,每一個(gè)隨后的時(shí)間戳都對(duì)之前的一個(gè)時(shí)間戳進(jìn)行增強(qiáng)(reinforcing),這樣就形成了一條鏈(Chain)闰渔。
節(jié)點(diǎn)始終都將最長(zhǎng)的鏈視為正確鏈,并持續(xù)工作和延長(zhǎng)它。如果有兩個(gè)節(jié)點(diǎn)同時(shí)廣播不同版本的新區(qū)塊拉庵,那么其他節(jié)點(diǎn)在接收到該區(qū)塊的時(shí)間上,將存在先后差別套蒂。當(dāng)此情形钞支,他們將在率先收到的區(qū)塊基礎(chǔ)上進(jìn)行工作,但也會(huì)保留另外一條鏈操刀,以防后者變成最長(zhǎng)鏈烁挟。該僵局(tie)的打破,要等到下一個(gè)工作量證明被發(fā)現(xiàn)骨坑,而其中的一條鏈被證實(shí)為是較長(zhǎng)的一條撼嗓,那么在另一條分支鏈上工作的節(jié)點(diǎn)將轉(zhuǎn)換陣營(yíng),開(kāi)始在較長(zhǎng)的鏈上工作欢唾。
比特幣錢包的功能依賴于與區(qū)塊鏈的確認(rèn)且警,一次有效檢驗(yàn)稱為一次確認(rèn)。通常一次交易要獲得數(shù)個(gè)確認(rèn)才能進(jìn)行匈辱。輕量級(jí)(SPV ){{3}}比特幣錢包, 其客戶端在本地只需保存與用戶可支配交易相關(guān)的數(shù)據(jù)振湾,而不會(huì)存儲(chǔ)完整的區(qū)塊鏈。 區(qū)塊鏈技術(shù)是眾多加密數(shù)字貨幣的核心亡脸,包括比特幣押搪、以太坊、萊特幣浅碾、狗狗幣等大州。維護(hù)區(qū)塊鏈的方式,有工作量證明(proof-of-work)垂谢、權(quán)益證明(proof-of-stake)等厦画。
二、區(qū)塊鏈系統(tǒng)核心優(yōu)勢(shì)
區(qū)塊鏈體系結(jié)構(gòu)的核心優(yōu)勢(shì)包括:
任何節(jié)點(diǎn)都可以創(chuàng)建交易滥朱,在經(jīng)過(guò)一段時(shí)間的確認(rèn)之后根暑,就可以合理地確認(rèn)該交易是否為有效,區(qū)塊鏈可有效地防止雙花問(wèn)題的發(fā)生徙邻。
對(duì)于試圖重寫(xiě)或者修改交易記錄而言排嫌,它的成本是非常高的。
區(qū)塊鏈實(shí)現(xiàn)了兩種記錄:交易(transactions)以及區(qū)塊(blocks)缰犁。交易是被存儲(chǔ)在區(qū)塊鏈上的實(shí)際數(shù)據(jù)淳地,而區(qū)塊則是記錄確認(rèn)某些交易是在何時(shí)怖糊,以及以何種順序成為區(qū)塊鏈數(shù)據(jù)庫(kù)的一部分。交易是由參與者在正常過(guò)程中使用系統(tǒng)所創(chuàng)建的(在加密數(shù)字貨幣的例子中颇象,一筆交易是由bob將代幣發(fā)送給alice所創(chuàng)建的)伍伤,而區(qū)塊則是由我們稱之為礦工(miners)的單位負(fù)責(zé)創(chuàng)建。