《圖說區(qū)塊鏈》讀書筆記

這是我讀的第三本有關(guān)區(qū)塊鏈的書籍了,但這一本《圖說區(qū)塊鏈》卻是輕松淺顯、圖文并茂,使得區(qū)塊鏈技術(shù)不再顯得那么高深冷漠、生澀難懂。正如書中的序言中所言,技術(shù)普及的道路從來就不是輕而易舉,水到渠成的,即使經(jīng)過種種努力后,一些基本的技術(shù)理念還是需要我們細細地去體會。

我很欣賞點融網(wǎng)創(chuàng)世人、聯(lián)合CEO郭宇航所寫的序言中的一段話。

你一輩子也不需要真正掌握這些高深莫測的技術(shù),但當(dāng)身邊一切的的信息和金融服務(wù)都發(fā)生在區(qū)塊鏈上之時,你今天的一點點閱讀時間,將幫助你更好地?fù)肀б粋€新的世界,理解一個新的記錄歷史、登記權(quán)利、轉(zhuǎn)移價值的方式。

是啊,就像我們現(xiàn)今所處的世界,你或許不用懂得互聯(lián)網(wǎng)的深層技術(shù),你也不用懂得淘寶、滴滴、百度搜索、微信等等各種互聯(lián)網(wǎng)應(yīng)用的實現(xiàn)技術(shù),可是你的生活一時一刻也不可能離開它們,或者說離開它們?yōu)槟闾峁┑谋憬莸纳睢?/p>

區(qū)塊鏈會是一個未來的產(chǎn)業(yè),也許5、6年后我們才能真正接觸到基于區(qū)塊鏈技術(shù)生成的各種應(yīng)用場景,如果我們能夠盡早地學(xué)習(xí)理解這項新技術(shù),以及帶給我們的生活變革,或許我們就可能早大多數(shù)人一步站在了時代的潮流中,應(yīng)該更容易抓住技術(shù)變革帶來的各種機會,也更能適應(yīng)生活方式的轉(zhuǎn)變。

讀每一本書多多少少都會有一些收獲,這本書也是一樣。我不僅有所收獲,而且收獲頗豐。閑話少說,直接切入正題。我將忽略這本書中那些我已經(jīng)理解了的知識,也將忽略這本書中那些我還未讀懂的知識,將我能理解的并且讓我的認(rèn)知有了新的提升的知識,總結(jié)歸納出來形成這篇讀書筆記,希望能對閱讀這篇文章的你也有所幫助。

一、區(qū)塊鏈神奇邏輯的四個角度

作者先是從區(qū)塊鏈神奇邏輯的四個角度帳本的演變、價值的轉(zhuǎn)移、信用的成本和技術(shù)的創(chuàng)新,來分析區(qū)塊鏈為什么會這么火,為什么有人會認(rèn)為區(qū)塊鏈將改變世界,區(qū)塊鏈究竟為何而誕生又為何而來?;蛘咦髡哌@四個角度的闡述足以說明區(qū)塊鏈技術(shù)是互聯(lián)網(wǎng)發(fā)展的必然趨勢了。

1.帳本的演變

將時間回溯到遙遠的舊石器時代,人們的記帳方式全靠死記硬背。隨著原始部落的人數(shù)不斷增多,生產(chǎn)力的提升,記帳方式演變?yōu)楹唵慰坍嫼椭庇^繪圖,以及結(jié)蠅記事。到了原始社會末期,生產(chǎn)力水平達到前所未有的水平,文字開始出現(xiàn)了,以文字?jǐn)⑹鍪降臅嬘涗浄?,收支事項按時間發(fā)生順序的流水帳誕生了。

到公元前5世紀(jì),古希臘和古羅馬的奴隸社會的經(jīng)濟繁榮發(fā)展,流水帳中出現(xiàn)了日記帳和現(xiàn)金出納帳。這個時候記帳的歷史已經(jīng)發(fā)展到了單式記帳法的時期。

中國的復(fù)式記帳法起源于明末清初的龍門帳,之后又發(fā)展成四腳帳。而西方的復(fù)式記帳最早出現(xiàn)在十二至十三世紀(jì)。到了十九世紀(jì)信息技術(shù)爆炸式的發(fā)展,企業(yè)經(jīng)營權(quán)和所有權(quán)的分離,使得第三方協(xié)會認(rèn)證的會計記帳得以盛行。計算機技術(shù)的快速普及,會計電算化成為常態(tài)。

到了二十一世紀(jì),信息化、數(shù)據(jù)化,智能化的世界到來了,信息不對稱以及信用問題又給第三方提供的會計帳本提出了新問題,如何才能信任會計事務(wù)所或者審計事務(wù)所提供的帳目準(zhǔn)確無誤,是否存在事務(wù)所與企業(yè)勾結(jié)做假帳的問題。為解決類似的問題,區(qū)塊鏈給帳本提供了一個新選擇,采用分布式共享帳本,信息不對稱以及信用問題都將迎刃而解。

2.價值轉(zhuǎn)移

在互聯(lián)網(wǎng)上,我們可以方便快捷地生成信息并傳遞信息。許多信息只需要簡單的復(fù)制粘貼就可以進行傳輸,但是有些信息還是無法通過復(fù)制進行傳輸。比如銀行轉(zhuǎn)帳,必須通過第三方的信用背書,才能實現(xiàn)轉(zhuǎn)移?;ヂ?lián)網(wǎng)善于處理信息分享,卻不能解決價值轉(zhuǎn)移這件事。

現(xiàn)如今通過中心化的機構(gòu)進行背書轉(zhuǎn)移價值的方式,安全性和可信任性是一件值得商榷的事情。在這種情況下,區(qū)塊鏈技術(shù)可以在沒有第三方信用背書的情況下,在一個開放的平臺上進行遠距離的安全支付。是不是可以認(rèn)為這種技術(shù)是應(yīng)運而生的呢。

區(qū)塊鏈技術(shù)可以構(gòu)建一種純粹的點對點的價值轉(zhuǎn)移體系,而且各節(jié)點并不需要互相信任,區(qū)塊鏈可以保證系統(tǒng)內(nèi)數(shù)據(jù)記錄的完整性和安全性,脫離第三方的信用背書,有效降低交易的復(fù)雜性和風(fēng)險。

3.信用成本

“e租寶跑路”、“泛亞悲劇”等事件無不在拷問現(xiàn)今社會如何才能達成“信用共識”,人之間的信用成本幾何,一旦公信力機構(gòu)出現(xiàn)問題,信任又將如何安放?

與其相信人,不如相信技術(shù)。區(qū)塊鏈技術(shù)帶來的是一種智能化信任。在區(qū)塊鏈的世界,任何數(shù)字化的信息者可以加入?yún)^(qū)塊,只要能夠入鏈,信息的產(chǎn)權(quán)就可以明確,就可以設(shè)定保護條件,就能自動發(fā)起和強制實施合約,無須擔(dān)心信任驗證和信任執(zhí)行。

區(qū)塊鏈的公信力建立在網(wǎng)絡(luò)中的各個分布節(jié)點上,每一個節(jié)點都有一份備份信息,而且是不可篡改的。區(qū)塊鏈的公信力模型,是建立在一定的共識機制下的平等參與,它不是政策制定者,只充當(dāng)一個公證人的角色。而相對于現(xiàn)實社會的公信力,一般是由政府、國家機關(guān)或者政府授權(quán)的第三方組織提供,他們既是裁判員也是運動員,信用共識只是一個傳說。

區(qū)塊鏈?zhǔn)且慌_創(chuàng)造信任的機器,區(qū)塊鏈最核心的要素是它解決了信用共識的問題。

4.技術(shù)創(chuàng)新

從比特幣到區(qū)塊鏈?zhǔn)且环N技術(shù)的創(chuàng)新。區(qū)塊鏈?zhǔn)潜忍貛诺牡讓蛹夹g(shù),是一種分布數(shù)據(jù)的儲存模式,也是一種加密貨幣的交易記錄的公共帳本。

要說到區(qū)塊鏈,就不得不提及比特幣,畢竟區(qū)塊鏈?zhǔn)菫榱藵M足比特幣獨特的需求而被創(chuàng)造出來的。而從比特幣到區(qū)塊鏈的應(yīng)用開發(fā),很有可能開啟一個新的技術(shù)創(chuàng)新時代。

二、區(qū)塊鏈的核心概念

1.區(qū)塊

區(qū)塊作為區(qū)塊鏈的基本結(jié)構(gòu)單元,由包含元數(shù)據(jù)的區(qū)塊頭和包含交易數(shù)據(jù)的區(qū)塊主體構(gòu)成。

區(qū)塊頭包含三組元數(shù)據(jù):索引自父區(qū)塊哈希值的數(shù)據(jù);挖礦難度、Nonce(隨機數(shù),用于工作量證明算法的計數(shù)器)、時間戳;能夠總結(jié)并快速歸納校驗區(qū)塊中所有交易數(shù)據(jù)的Merkle(默克爾)樹根數(shù)據(jù)。

2.哈希算法

哈希算法是區(qū)塊鏈中保證交易信息不被篡改的單向密碼機制。哈希算法可以在接收一段明文后,經(jīng)一種不可逆的方式將其轉(zhuǎn)化為一段長度較短,位數(shù)固定的散列數(shù)據(jù)。它有兩個特點:

(1)加密過程不可逆,也就是說我們無法通過經(jīng)過哈希算法輸出的散列數(shù)據(jù)倒推出原本的明文。

(2)輸入的明文與輸出的散列數(shù)據(jù)一一對應(yīng),任何一個輸入信息的變化,都必將導(dǎo)致最終輸出的散列數(shù)據(jù)的變化。

區(qū)塊鏈通過哈希算法對一個交易區(qū)塊中的交易信息進行加密,并把交易信息壓縮成由一串?dāng)?shù)字和字母組成的散列字符串。

區(qū)塊鏈的哈希值能夠唯一準(zhǔn)確地標(biāo)識一個區(qū)塊,區(qū)塊鏈中任意節(jié)點通過簡單的哈希計算可以獲得這個區(qū)塊的哈希值,計算出的哈希值沒有變化也就意味著區(qū)塊中的信息沒有被篡改。

3.公鑰和私鑰

公鑰是給大家用的,你可以通過電子郵件發(fā)布,可以通過網(wǎng)站讓別人下載。私鑰是給自己用的,必須非常小心地保密和保存,最好加上密碼。

公鑰和地址的生成都依賴于私鑰,有了私鑰就能夠花費對應(yīng)地址上的比特幣。私鑰花費比特幣的方式就是對這個私鑰所對應(yīng)的未花費的交易進行簽名。

4.時間戳

區(qū)塊鏈的時間戳從區(qū)塊生成的那一刻起就存在于區(qū)塊中了,時間戳是直接寫在區(qū)塊鏈中的,而區(qū)塊鏈中已經(jīng)生成的區(qū)塊是不可篡改的,一旦篡改,生成的哈希值就會發(fā)生變化,從而變成一個無效的數(shù)據(jù)。

每一個時間戳都會將前一個時間戳也納入其隨機哈希值中,這一過程不斷重復(fù),依次相連,最后會生成一個完整的鏈條。

5.Merkle樹結(jié)構(gòu)

區(qū)塊鏈?zhǔn)抢肕erkle樹的數(shù)據(jù)結(jié)構(gòu)存放所有葉子節(jié)點的值,并以此為基礎(chǔ)生成一個統(tǒng)一的哈希值?!?/p>

Merkle樹的葉子節(jié)點存儲的是數(shù)據(jù)信息的哈希值,非葉子節(jié)點存儲的是對其下面的所有葉子節(jié)點的組合進行哈希計算后得出的哈希值。

區(qū)塊中任意一個數(shù)據(jù)的變更都會導(dǎo)致Merkle樹結(jié)構(gòu)變化,在交易信息驗證比對中,Merkle樹結(jié)構(gòu)能夠大大減少數(shù)據(jù)的計算量。我們只需要驗證Merkle樹結(jié)構(gòu)生成的統(tǒng)一哈希值就可以了。

三、區(qū)塊鏈的共識機制

1.工作量證明

工作量證明(Proof of Work,簡稱PoW)依賴機器進行數(shù)學(xué)運算來獲取記帳權(quán)。要得到合理的區(qū)塊哈希值需要經(jīng)過大量的嘗試計算,計算時間取決于機器的哈希運算速度,尋找合理的哈希值是一個概率事件。

工作量證明的缺點:目前比特幣已經(jīng)吸引全球大部分的算力,其他再使用PoW共識機制的區(qū)塊鏈應(yīng)用很難獲得相同的算力來保障自身的安全。

2.權(quán)益證明

權(quán)益證明(Proof of Stake,簡稱PoS)的主要理念是節(jié)點的記帳權(quán)的獲得難度與節(jié)點持有的權(quán)益成反比。但是依然是基于哈希運算,競爭獲取記帳權(quán)。它是PoW的一種升級,根據(jù)每個節(jié)點所占代幣的比例和時間,等比例地降低挖礦的難度,從而加快找到隨機數(shù)的速度。

3.股份授權(quán)證明

股份授權(quán)證明(簡稱DPoS)機制,與PoS的主要區(qū)別在于節(jié)點選舉若干代理人,由代理人驗證和記帳。

DPoS的工作原理如下:每個股東按其持股比例擁有相應(yīng)的影響力,51%股東投票的結(jié)果將是不可逆且有約束力的。

每個股東可以將其投票權(quán)授予一名代表,獲票最多的前100位代表按既定的時間表輪流產(chǎn)生區(qū)塊,每位代表分配到一個時間段來產(chǎn)生區(qū)塊。所有代表將收到等同于一個平均水平的區(qū)塊所含交易費的10%作為報酬。

DPoS的投票模式可以在每30秒產(chǎn)生一個新的區(qū)塊,并且在正常的網(wǎng)絡(luò)條件下,區(qū)塊鏈分叉的可能性極其小。每位代表的標(biāo)識是其公鑰而非IP地址,因此受到攻擊威脅的程度被大大地減輕了。

四、幾個問題

1.比特幣分叉的緣起

比特幣分叉是由擴容方案意見不一致引起的。我們先來了解一下比特幣為什么要擴容。

中本聰設(shè)計比特幣時是2009年,比特幣中的一個區(qū)塊的容量是1M,一筆交易大概是250字節(jié),甚至更多。現(xiàn)在一些交易基本達到了500個字節(jié)。

1M=1024KB=1048576字節(jié)

那么一個區(qū)塊包含的交易總數(shù)為:1048576÷250≈4194.3(筆)

比特幣中一個區(qū)塊確認(rèn)的時間是10分鐘,那么一個區(qū)塊每秒能處理的交易數(shù)為:4194.3÷600≈7(個)

這種交易確認(rèn)的速度已經(jīng)跟不上時代發(fā)展的需求,交易擁堵及系統(tǒng)崩潰是在所難免的事情。因此擴容也是勢在必行。

但是采用哪種擴容方案呢?一個區(qū)塊的容量擴展到2M、擴展到20M、還是擴展到無限大,到底應(yīng)該聽誰的?每一方都認(rèn)為自己的方案是可行的,但是卻難以達成共識,升級又是必須的。各個方案間無法統(tǒng)一,分叉就不可避免地發(fā)生了。

2.硬分叉和軟分叉

比特幣分叉后升級的版本由于兼容性不同,就產(chǎn)生了硬分叉和軟分叉的問題。簡單的來說,軟分叉是暫時的,硬分叉是永久的。

硬分叉是這樣定義的:指比特幣的區(qū)塊格式和交易格式發(fā)生改變時,未升級的節(jié)點拒絕驗證已經(jīng)升級的節(jié)點生產(chǎn)出的區(qū)塊,但是已經(jīng)升級的節(jié)點可以驗證未升級節(jié)點生產(chǎn)的區(qū)塊,然后大家各自延續(xù)自己認(rèn)為正確的鏈,所以分成了兩條鏈。

軟分叉是指比特幣交易的數(shù)據(jù)結(jié)構(gòu)發(fā)生改變時,未升級的節(jié)點可以驗證已經(jīng)升級的節(jié)點生產(chǎn)出的區(qū)塊,而且已經(jīng)升級的節(jié)點也可以驗證未升級的節(jié)點生產(chǎn)出的區(qū)塊。之前版本的部分功能可用,在相當(dāng)長的時間里,可允許不進行升級,繼續(xù)使用原版本生成舊區(qū)塊,與新區(qū)塊并存。區(qū)塊鏈層面沒有分叉的鏈,只是組成鏈的區(qū)塊有新區(qū)塊和舊區(qū)塊之分。

3.雙花問題

雙花問題是指一筆數(shù)字現(xiàn)金在交易中被重復(fù)使用的現(xiàn)象。比特幣是采取什么方法避免雙花問題的發(fā)生呢?

在交易發(fā)生的那一刻起,比特幣的交易數(shù)據(jù)就被蓋上了時間戳,而當(dāng)這筆交易數(shù)據(jù)被打包到一個區(qū)塊中后,就算完成了一次確認(rèn)。在連續(xù)進行6次確認(rèn)之后,這筆交易就不可逆轉(zhuǎn)了。每一次的確認(rèn)都需要“解決一個復(fù)雜的難題”,也就是說一次確認(rèn)都需要一定的時間。

在這種情況下,如果一筆資金想要進行兩次支付交易的話,因為確認(rèn)的時間較長,后一筆交易想要與前一筆交易同時得到確認(rèn)幾乎是不可能的。而且這筆資金在第一次確認(rèn)有效后,第二次交易時就無法得到確認(rèn)了。

雙花問題也就不可能產(chǎn)生了。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容