一空骚、定義與原理
1. 定義
Wikipedia上給出的定義中,將區(qū)塊鏈類比為一種分布式數(shù)據(jù)庫技術(shù)驶忌,通過維護(hù)數(shù)據(jù)塊的鏈?zhǔn)浇Y(jié)構(gòu)矛辕,可以維持持續(xù)增長的、不可篡改的數(shù)據(jù)記錄付魔。
2. 基本原理
首先假設(shè)存在一個(gè)分布式的數(shù)據(jù)記錄賬本聊品,這個(gè)賬本只允許添加、不允許刪除几苍。賬本底層的基本結(jié)構(gòu)是一個(gè)線性的鏈表翻屈,這也是其名字“區(qū)塊鏈”的來源。鏈表由一個(gè)個(gè)“區(qū)塊”串聯(lián)組成(如下圖所示)妻坝,后繼區(qū)塊記錄前導(dǎo)區(qū)塊的哈希值(pre hash)伸眶。新的數(shù)據(jù)要加入,必須放到一個(gè)新的區(qū)塊中刽宪。
3. 工作過程(以比特幣為例)
a. 比特幣客戶端發(fā)起一項(xiàng)交易
b. 網(wǎng)絡(luò)中的節(jié)點(diǎn)收到后厘贼,開始計(jì)算,試圖找到一個(gè)nonce串(隨機(jī)串)圣拄,使得候選區(qū)塊的哈希結(jié)果滿足一定條件(比如小于某個(gè)值)嘴秸。
c. 找到這個(gè)nonce串后,就會廣播出去,其他節(jié)點(diǎn)收到后岳掐,驗(yàn)證此串的合法性凭疮,如果發(fā)現(xiàn)確實(shí)符合約定條件了,就承認(rèn)這個(gè)區(qū)塊是一個(gè)合法的新區(qū)塊岩四,并添加到自己維護(hù)的區(qū)塊鏈上。當(dāng)大部分節(jié)點(diǎn)都將區(qū)塊添加到自己維護(hù)的區(qū)塊鏈結(jié)構(gòu)上時(shí)哥攘,該區(qū)塊被網(wǎng)絡(luò)接受剖煌,區(qū)塊中所包括的交易也就得到確認(rèn)。
上面計(jì)算查找nonce串的過程稱為工作量證明 (Proof of Work逝淹,PoW)耕姊。目前,要讓哈希結(jié)果滿足一定條件栅葡,并無已知的快速啟發(fā)式算法茉兰,只能進(jìn)行嘗試性的暴力計(jì)算。嘗試的次數(shù)越多(工作量越大)欣簇,算出來的概率越大规脸。
二、技術(shù)的深化與分類
1. 區(qū)塊鏈的演化
2. 區(qū)塊鏈與分布式記賬
跟傳統(tǒng)的記賬技術(shù)相比熊咽,基于區(qū)塊鏈的分布式賬本應(yīng)該包括如下特點(diǎn):
a. 維護(hù)一條不斷增長的鏈莫鸭,只可能添加記錄,而發(fā)生過的記錄都不可篡改横殴;
b. 去中心化被因,或者說多中心化,無需集中控制而能達(dá)成共識衫仑,實(shí)現(xiàn)上盡量采用分布式梨与;
c. 通過密碼學(xué)的機(jī)制來確保交易無法被抵賴和破壞,并盡量保護(hù)用戶信息和記錄的隱私性文狱。
分類根據(jù)參與者的不同粥鞋,可以分為公開(public)鏈、聯(lián)盟(consortium)鏈和私有(private)鏈瞄崇。
三陷虎、關(guān)鍵問題和挑戰(zhàn)
1. 抗抵賴與隱私保護(hù)
2. 分布式共識
3. 交易性能
4. 擴(kuò)展性
5. 安全防護(hù)
6. 數(shù)據(jù)庫和存儲系統(tǒng)
7. 集成和運(yùn)營
四、趨勢與展望
五杠袱、認(rèn)識上的誤區(qū)
1. 區(qū)塊鏈不等于比特幣
2. 區(qū)塊鏈不等于數(shù)據(jù)庫
3. 區(qū)塊鏈并非一門萬能的顛覆性技術(shù)