【本文參與優(yōu)享話題奪寶抡柿,話題“技術(shù)解讀”】
文/鶴蘭
跟著書本探索洲劣,對(duì)區(qū)塊鏈中一些基本概念的認(rèn)知越來(lái)越清晰了课蔬。上期我們談了賬本的演變史,這一期跟大家聊聊區(qū)塊鏈的原理二跋。
原理篇我會(huì)分兩期來(lái)說流昏,這一期主要學(xué)習(xí)區(qū)塊鏈的定義以及重要的概念,如區(qū)塊横缔、哈希算法、公鑰私鑰、時(shí)間戳等膛锭,希望能拂去你存在的一些疑惑哦蚊荣。
1、區(qū)塊鏈的定義
區(qū)塊鏈本質(zhì)上是一個(gè)去中心化的分布式賬本互例,其本身是一系列使用密碼學(xué)而產(chǎn)生的互相關(guān)聯(lián)的數(shù)據(jù)塊,每一個(gè)數(shù)據(jù)塊中包含了多條網(wǎng)絡(luò)交易有效確認(rèn)的信息腥光。
先別懵糊秆,我們把定義拆開來(lái)說。
首先怎樣理解中心化和去中心化捉片?舉例來(lái)說:
我們?cè)谔詫毶腺I東西汞舱,雖然和賣家做交易,但當(dāng)我們付款時(shí)莹规,錢先打到支付寶里说铃,賣家發(fā)貨后嘹履,我們確認(rèn)收貨债热,此時(shí)錢才由支付寶轉(zhuǎn)移到賣家手里。所以焕刮,整個(gè)過程中墙杯,支付寶就充當(dāng)了這個(gè)中心。也就是現(xiàn)在我們做交易時(shí)都基于中心化機(jī)構(gòu)組織的基礎(chǔ)上溉旋。
區(qū)塊鏈可以直接不通過支付寶這個(gè)中心嫉髓,直接讓你和賣家一手交錢一手提貨。所以這就是去中心化的意思梧油。
那怎養(yǎng)理解分布式賬本呢州邢?
當(dāng)購(gòu)物時(shí)沒有了支付寶,你可能會(huì)問:那萬(wàn)一我付款后量淌,賣家說沒收到錢不給發(fā)貨怎么辦类少?區(qū)塊鏈?zhǔn)沁@么做的:你付款后,賬本上會(huì)記錄硫狞,你買了什么,給對(duì)方付款多少财忽。賣家收款后泣侮,賬本上也會(huì)記錄,賣家收款多少隶校。同時(shí),其他人也會(huì)幫你在賬本上記錄這些深胳。最后舞终,你手里,賣家手里敛劝,其他所有人手里都有一個(gè)這樣的賬本夸盟,上面的交易信息都寫的很清楚。所以满俗,一切撒謊都不再可能。而分布在各個(gè)地方幫你記賬的、給你作證的人就可以理解為分布式賬本痘儡。
2沉删、你可能會(huì)有的困惑
由區(qū)塊鏈的定義我們知道區(qū)塊鏈?zhǔn)歉墒裁吹牧耍憧赡軙?huì)有疑惑:別人憑什么要給你記賬呢砖茸?如果其他人記得賬都不一樣該信誰(shuí)的呢殴穴?我們來(lái)解答下這些問題。
1)憑什么幫你記賬劲够?
關(guān)于幫記賬休傍,這里有個(gè)獎(jiǎng)勵(lì)回報(bào)的規(guī)定。第一個(gè)記完賬的人磨取,在賬單上加上獨(dú)一無(wú)二的編號(hào),告訴其他人自己先記完了凫岖,別人就記不了了,然后其他人會(huì)接著這個(gè)編號(hào)繼續(xù)記下一筆帳扎阶。所以婶芭,這一次的獎(jiǎng)勵(lì)就會(huì)給到第一個(gè)記完賬的人。
而比特幣挖礦就會(huì)這個(gè)邏輯惰赋。先挖到礦的礦工就會(huì)得到比特幣的獎(jiǎng)勵(lì)呵哨。
2)雙花問題
雙花問題是指一筆數(shù)字現(xiàn)金在交易中被重復(fù)使用的現(xiàn)象。在交易中會(huì)不會(huì)出現(xiàn)買家A同時(shí)用一筆錢多次支付買兩份東西呢拒炎?
區(qū)塊鏈?zhǔn)沁@樣解決的:當(dāng)一次交易產(chǎn)生挨务,交易數(shù)據(jù)就被蓋上一個(gè)時(shí)間戳,被打包到一個(gè)區(qū)塊中丁侄,這就算完成一次交易確認(rèn)朝巫。一次確認(rèn)就要很長(zhǎng)時(shí)間,當(dāng)連續(xù)6次確認(rèn)拙吉,最紅確認(rèn)結(jié)果不可逆轉(zhuǎn)糙臼。當(dāng)你想再提交訂單時(shí),第一次交易信息已經(jīng)形成并被記錄了变逃,就不能第二次確認(rèn)了。
3名眉、你需要清楚的重要概念
1)區(qū)塊
區(qū)塊是區(qū)塊鏈中最小的單元結(jié)構(gòu)损拢,就像細(xì)胞對(duì)于人體;區(qū)塊包含區(qū)塊頭和區(qū)塊主體福压;每10分鐘產(chǎn)生一個(gè)區(qū)塊荆姆,里面有這個(gè)時(shí)間里產(chǎn)生的所有交易信息,同時(shí)還有上一個(gè)區(qū)塊的ID(識(shí)別碼)胆筒。
每個(gè)區(qū)塊相連就成了一個(gè)完整的區(qū)塊鏈。
關(guān)于區(qū)塊頭的組成抒和,可見下圖:
2)哈希算法
我們知道區(qū)塊鏈中的交易記錄一旦形成就不可更改摧莽,那么為什么不能改呢范嘱?這就涉及到哈希算法了员魏。
哈希算法是能保證交易信息不被篡改的單向密碼機(jī)制叠聋。能將一段明文轉(zhuǎn)化為一組散列數(shù)據(jù)碌补。它有兩個(gè)特點(diǎn):
1. 加密過程不可逆,能從明文得出散列數(shù)據(jù)厦章,但是不可以從散列數(shù)據(jù)推出明文;
2. 輸入的明文與輸出的散列數(shù)據(jù)一一對(duì)應(yīng)汗侵,任何一個(gè)輸入信息的變化,都必將導(dǎo)致最終輸
出的散列數(shù)據(jù)的變化发乔。
3)公鑰和私鑰
公鑰和私鑰是我們必須要掌握的知識(shí)雪猪,因?yàn)槟愕霓D(zhuǎn)賬交易、兌換人民幣等過程都離不開它們译仗。
私鑰由錢包生成官觅;私鑰就像我們的銀行卡密碼,想要對(duì)數(shù)字資產(chǎn)進(jìn)行操作产艾,就需要輸入私鑰才能同意支付滑绒;它是個(gè)人擁有;有對(duì)賬戶進(jìn)行解密的作用杠览。
公鑰由私鑰生成纵势;公鑰的作用是能證明私鑰在你這兒,它是大家都可以看的钦铁;公鑰通過單向加密哈希函數(shù)可以生成地址牛曹,一個(gè)公鑰就對(duì)應(yīng)一個(gè)地址,這個(gè)地址相當(dāng)于我們的銀行賬號(hào)黎比;有對(duì)賬戶進(jìn)行加密的作用阅虫。
4)時(shí)間戳
由區(qū)塊頭我們知道時(shí)間戳存在于區(qū)塊頭中,它是對(duì)每一次交易記錄的認(rèn)證米碰,證明交易記錄信息的真實(shí)。只要被加蓋了時(shí)間戳的區(qū)塊聊闯,就是獨(dú)一無(wú)二米诉、不可篡改的了。
5)Merkle樹結(jié)構(gòu)
區(qū)塊鏈利用Merkle樹的數(shù)據(jù)結(jié)構(gòu)存放所有葉子節(jié)點(diǎn)的值拴泌,并以此為基礎(chǔ)生成一個(gè)統(tǒng)一的哈希值惊橱。
當(dāng)一個(gè)數(shù)據(jù)修改時(shí)都會(huì)導(dǎo)致Merkle樹結(jié)構(gòu)發(fā)生變化,在交易信息驗(yàn)證比對(duì)的過程中回季,只需要驗(yàn)證Merkle樹結(jié)生成的哈希值就可以正林,這樣就大大減少了運(yùn)算量。
end:送給你的話
這期就跟大家分享到這里鼻忠。個(gè)人認(rèn)為這幾個(gè)區(qū)塊鏈的概念還是很有必要整明白的杈绸,這樣才能對(duì)它的特點(diǎn)和應(yīng)用有更深入的理解瞳脓,所以有不太明白的,一定要去查查資料哦劫侧。