與比特幣連接的區(qū)塊鏈
區(qū)塊鏈是一種特殊的數(shù)據(jù)存儲結(jié)構(gòu)或協(xié)議,可以解決安全性、穩(wěn)定性等問題;而比特幣是一種使用區(qū)塊鏈技術(shù)實現(xiàn)的數(shù)字貨幣系統(tǒng),比特幣是目前唯一成熟的區(qū)塊鏈應用,比特幣是目前唯一一種成熟的區(qū)塊鏈應用,兩者容易混淆的原因之一。2017年比特幣迎來了爆發(fā)式增長,比特幣的價格曾一度突破20000美元大關(guān)。在相關(guān)行業(yè),越來越多的人開始關(guān)注區(qū)塊鏈,并嘗試擴展其應用領(lǐng)域。但是,目前區(qū)塊鏈應用場景僅限于金融貨幣領(lǐng)域。
區(qū)塊結(jié)構(gòu)
區(qū)塊的結(jié)構(gòu)并不復雜,它包含了一些字段,整體來看結(jié)構(gòu)類似于雙向鏈表中的節(jié)點。
非集中式與對點網(wǎng)絡
“去中心化”是區(qū)塊鏈的核心思想,也是與其它分布式產(chǎn)品的最大區(qū)別,去中心化保證了公平和安全。點對點網(wǎng)絡就是一種去中心化框架下的因特網(wǎng),只要有一臺計算機就可以加入點對點網(wǎng)絡成為一個節(jié)點,每個節(jié)點可以擁有整個區(qū)塊鏈的信息(目前達到了數(shù)百GB),而且還在不斷地更新和同步。每個數(shù)據(jù)塊的寫入將被廣播到整個網(wǎng)絡。點對點網(wǎng)絡中各點具有相同的權(quán)利義務,對等關(guān)系,CPU作為算力單位每一點都可以參與投票、計算、打包數(shù)據(jù),并有權(quán)同步塊信息。
資料不可修改性
根據(jù)區(qū)塊的基本結(jié)構(gòu)得出結(jié)論:內(nèi)容一旦寫進去就不可修改。通過Hash=SHA256(區(qū)域塊)可以得到第一個區(qū)塊,所以每個區(qū)塊的Hash是唯一的。而且區(qū)域塊中包含了MerkleRoot字段,體內(nèi)的交易數(shù)據(jù)存儲在默克爾樹的葉子節(jié)點中,所以MerkleRoot可以視為這個塊中所有交易數(shù)據(jù)的唯一簽名。根據(jù)上述事實,無論是修改交易數(shù)據(jù)還是修改分塊信息,都將導致的Hash字段更改,因為除了第一個最后一個塊以外的所有節(jié)點都有PreviousBlock、NextBlock(s)字段,這將導致連鎖反應。對數(shù)據(jù)進行修改的代價是修改區(qū)塊鏈中所有區(qū)塊的Hash、PreviousBlock、NextBlock(s)字段。若沒有超過整個網(wǎng)絡一半以上的計算能力,也無法做到。所以可以說,數(shù)據(jù)一旦寫入?yún)^(qū)塊鏈,就會永久寫入不可修改。同時還保證了數(shù)據(jù)的安全性和可信度。
協(xié)商機制
協(xié)商一致機制是區(qū)塊鏈的最大特征,共識意味著對區(qū)塊鏈數(shù)據(jù)的認同,或?qū)⑵湟暈橥镀薄V挥幸话胍陨系狞c對點網(wǎng)絡認為區(qū)塊鏈數(shù)據(jù)真實可靠,才能達成共識。當前存在一些主要的共識機制。
目前有幾個主要的共識機制:工作量證明、權(quán)益證明、授權(quán)股權(quán)證明、拜占庭共識算法。工作量證明是比特幣采用的機制。比特幣中的工作量證明是所謂的開采。
因為每一個節(jié)點都要同步最新的區(qū)塊鏈數(shù)據(jù),所以區(qū)塊鏈產(chǎn)生的速度不能太快,否則大多數(shù)節(jié)點來不及同步。為此,中本聰設(shè)計了難度系數(shù)調(diào)節(jié)機制,在區(qū)塊結(jié)構(gòu)中保持了Nonce和Difficulty兩個字段,分別代表計算次數(shù)和難度系數(shù),區(qū)塊產(chǎn)生的設(shè)計速度是每10min產(chǎn)生一次,隨著計算能力的提高,這一速度可能會加快,如果區(qū)塊產(chǎn)生的速度大于設(shè)計速度,下一個區(qū)塊的難度系數(shù)就會增加。這樣就能保證區(qū)塊的生成時間間隔圍繞10min。因此,隨著時間的推移,比特幣挖礦變得越來越困難。
如果兩個塊同時加入塊鏈,塊鏈就會分叉。哪個分支的長度先達到6個,哪個成為主干,確認交易,另一個分支被拋棄(選擇多數(shù)節(jié)點的共識)。因此,確認一次交易需要1小時左右。
雙重花費
雙重費用是指將同一資產(chǎn)花在兩個不同的交易上。比如節(jié)點A有一個比特幣,幾乎同時提交兩個交易:向節(jié)點B支付一個比特幣,向節(jié)點C支付一個比特幣。在交易記錄之前,這兩筆交易可能是合法的,不同的節(jié)點可能會記錄。如果同時產(chǎn)生兩個,那么就根據(jù)工作量證明的共識機制進行選擇。區(qū)塊鏈不通過第三方也能解決雙花問題。
隱私權(quán)保護
因為在區(qū)塊鏈中,所有的節(jié)點都是全網(wǎng)唯一的SHA256簽名代表,這個簽名不能反向發(fā)布信息,所以即使簽名在全網(wǎng)播出,也不能獲得某個節(jié)點的信息。基于此,所有交易中的節(jié)點都相當于匿名,很好地保護了用戶的隱私。但是,這也是制作恐嚇軟件的黑客常用的恐嚇支付方式。
總結(jié)
區(qū)塊鏈技術(shù)是分散的,結(jié)構(gòu)特征可以保證數(shù)據(jù)的安全性和節(jié)點之間的公平性,利用共識機制解決雙花等問題,比特幣的發(fā)展也表現(xiàn)出對區(qū)塊鏈價值的認識。
截至目前,區(qū)塊鏈的應用場景仍局限于金融貨幣領(lǐng)域。判斷區(qū)塊鏈能否應用于某個領(lǐng)域只需要三點:不需要管理中心,不需要數(shù)據(jù)的實時性,成本低于收入。目前,雖然區(qū)塊鏈帶來的變化不足以與人工智能相比,但區(qū)塊鏈的想法值得研究和參考。