區(qū)塊鏈(1.0)是一個(gè)基于密碼學(xué)安全的分布式賬本斥废,是一個(gè)方便驗(yàn)證腌逢,不可篡改的賬本萨西。
通常認(rèn)為與智能合約相結(jié)合的區(qū)塊鏈為區(qū)塊鏈2.0, 如以太坊是典型的區(qū)塊鏈2.0
很多人只了解過(guò)比特幣妄壶,不知道區(qū)塊鏈霞扬,比特幣實(shí)際是一個(gè)使用了區(qū)塊鏈技術(shù)的應(yīng)用,只是比特幣當(dāng)前太熱翼闹,把區(qū)塊鏈技術(shù)的光芒給掩蓋了斑鼻。區(qū)塊鏈才是未來(lái),期望各位開(kāi)發(fā)人員少關(guān)心幣價(jià)猎荠,多關(guān)心技術(shù)坚弱。
本文將講解區(qū)塊鏈1.0技術(shù)是如何實(shí)現(xiàn)的蜀备。
哈希函數(shù)
在講區(qū)塊鏈記賬之前,先說(shuō)明一下哈希函數(shù)荒叶。
哈希函數(shù):Hash(原始信息) = 摘要信息
原始信息可以是任意的信息, hash之后會(huì)得到一個(gè)簡(jiǎn)短的摘要信息
哈希函數(shù)有幾個(gè)特點(diǎn):
同樣的原始信息用同一個(gè)哈希函數(shù)總能得到相同的摘要信息
原始信息任何微小的變化都會(huì)哈希出面目全非的摘要信息
從摘要信息無(wú)法逆向推算出原始信息
舉例說(shuō)明:
Hash(張三借給李四100萬(wàn)碾阁,利息1%,1年后還本息 …..) = AC4635D34DEF
賬本上記錄了AC4635D34DEF這樣一條記錄些楣。
可以看出哈希函數(shù)有4個(gè)作用:
簡(jiǎn)化信息
很好理解脂凶,哈希后的信息變短了。
標(biāo)識(shí)信息
可以使用AC4635D34DEF來(lái)標(biāo)識(shí)原始信息愁茁,摘要信息也稱為原始信息的id蚕钦。
隱匿信息
賬本是AC4635D34DEF這樣一條記錄,原始信息被隱匿鹅很。
驗(yàn)證信息
假如李四在還款時(shí)欺騙說(shuō)冠桃,張三只借給李四10萬(wàn),雙方可以用AC4635D34DEF來(lái)驗(yàn)證原始信息
哈希函數(shù)的這4個(gè)作用在區(qū)塊鏈技術(shù)里有廣泛的運(yùn)用道宅。
(哈希函數(shù)是一組函數(shù)或算法,以后會(huì)發(fā)文章專門介紹哈希)
區(qū)塊鏈記賬方法
假設(shè)有一個(gè)賬頁(yè)序號(hào)為0的賬頁(yè)交易記錄如下:
賬號(hào)入賬出賬余額備注說(shuō)明
王二100190收到xxx貨款
張三10030xxxx
李四12090170xxxx
記賬時(shí)間為:2017-10-22 10:22:02
區(qū)塊鏈在記賬是會(huì)把賬頁(yè)信息(包含序號(hào)胸蛛、記賬時(shí)間污茵、交易記錄)作為原始信息進(jìn)行Hash, 得到一個(gè)Hash值,如:787635ACD, 用函數(shù)表示為:
1
Hash(序號(hào)0葬项、記賬時(shí)間泞当、交易記錄) = 787635ACD
賬頁(yè)信息和Hash值組合在一起就構(gòu)成了第一個(gè)區(qū)塊。
比特幣系統(tǒng)里約10分鐘記一次賬民珍,即每個(gè)區(qū)塊生成時(shí)間大概間隔10分鐘
在記第2個(gè)賬頁(yè)的時(shí)候襟士,會(huì)把上一個(gè)塊的Hash值和當(dāng)前的賬頁(yè)信息一起作為原始信息進(jìn)行Hash,即:
1
Hash(上一個(gè)Hash值、序號(hào)1嚷量、記賬時(shí)間陋桂、交易記錄) = 456635BCD
這樣第2個(gè)區(qū)塊不僅包含了本賬頁(yè)信息,還間接的包含了第一個(gè)區(qū)塊的信息蝶溶。依次按照此方法繼續(xù)記賬嗜历,則最新的區(qū)塊總是間接包含了所有之前的賬頁(yè)信息。
所有這些區(qū)塊組合起來(lái)就形成了區(qū)塊鏈抖所,這樣的區(qū)塊鏈就構(gòu)成了一個(gè)便于驗(yàn)證(只要驗(yàn)證最后一個(gè)區(qū)塊的Hash值就相當(dāng)于驗(yàn)證了整個(gè)賬本)梨州,不可更改(任何一個(gè)交易信息的更改,會(huì)讓所有之后的區(qū)塊的Hash值發(fā)生變化田轧,這樣在驗(yàn)證時(shí)就無(wú)法通過(guò))的總賬本暴匠。
記賬有成本,想了解節(jié)點(diǎn)為什么要記賬傻粘,請(qǐng)看這篇:在比特幣如何挖礦-工作量證明
作者:匯新云區(qū)塊鏈學(xué)習(xí)社區(qū)
鏈接:http://www.reibang.com/p/0939c72e0760
來(lái)源:簡(jiǎn)書(shū)
著作權(quán)歸作者所有每窖。商業(yè)轉(zhuǎn)載請(qǐng)聯(lián)系作者獲得授權(quán)帮掉,非商業(yè)轉(zhuǎn)載請(qǐng)注明出處。