區(qū)塊鏈記賬原理

區(qū)塊鏈:

-區(qū)塊鏈就是一個(gè)不斷增長(zhǎng)的全網(wǎng)總賬本

-每個(gè)完全節(jié)點(diǎn)都擁有完整的區(qū)塊鏈

-節(jié)點(diǎn)總是信任最長(zhǎng)的區(qū)塊鏈

-偽造區(qū)塊鏈需要擁有超過(guò)51%的全網(wǎng)算力

區(qū)塊鏈為什么不可篡改亿虽?

區(qū)塊鏈的結(jié)構(gòu):區(qū)塊鏈?zhǔn)怯梢粋€(gè)個(gè)區(qū)塊,構(gòu)成的有序鏈表劫拗,每一個(gè)區(qū)塊,都記錄了一系列交易早像,并且每個(gè)區(qū)塊都指向前一個(gè)區(qū)塊桨踪,從而形成一個(gè)鏈條。


如果我們觀察一個(gè)區(qū)塊掀亩,就會(huì)發(fā)現(xiàn)每個(gè)區(qū)塊都有一個(gè)唯一的哈希標(biāo)識(shí)(區(qū)塊哈希)舔哪;同時(shí)區(qū)塊通過(guò)記錄上一個(gè)區(qū)塊的哈希,來(lái)指向上一個(gè)區(qū)塊槽棍;

Merkle Hash用來(lái)確保該交易的所有交易記錄無(wú)法被篡改捉蚤;

區(qū)塊的主要數(shù)據(jù)就是一系列交易,第一條交易是Conbase交易(礦工的挖礦獎(jiǎng)勵(lì))炼七,后面的交易都是用戶的交易缆巧。

區(qū)塊鏈的不可篡改特性是怎么保證的?

是通過(guò)哈希算法(又稱散列算法)

? -哈希算法是一個(gè)單向函數(shù):h = H(x)

? -它把任意長(zhǎng)度的輸入數(shù)據(jù)轉(zhuǎn)化為固定長(zhǎng)度的輸出

例如對(duì)“morning”和“bitcoin”進(jìn)行某種哈希運(yùn)算豌拙,得到的結(jié)果是固定長(zhǎng)度的數(shù)字(通常用16進(jìn)制表示哈希的輸出)


哈希算法的特點(diǎn):

? ? ? ?--單項(xiàng)函數(shù):

通過(guò)輸入可以很容易地計(jì)算輸出

通過(guò)輸出無(wú)法反推輸入陕悬,只能暴力窮舉

? ? ? ?--碰撞率低:

如果x ≠ y,而H(x) = H(y),則發(fā)生碰撞(輸入數(shù)據(jù)不同按傅,卻計(jì)算出相同的哈希值)


因?yàn)檩斎霐?shù)據(jù)的長(zhǎng)度是不固定的捉超,所以輸入的數(shù)據(jù)是一個(gè)無(wú)限大的集合,而輸出數(shù)據(jù)的長(zhǎng)度是固定的唯绍,所以輸出數(shù)據(jù)是一個(gè)有限的集合拼岳。把一個(gè)無(wú)限集合中的每一個(gè)元素變成到一個(gè)有限的集合中,就必然存在某些不同的輸入好得到相同的輸出况芒。

? ? ? --輸出無(wú)規(guī)律

輸入數(shù)據(jù)任意一個(gè)bit的改動(dòng)惜纸,會(huì)導(dǎo)致輸出完全不同

哈希算法的作用:

假設(shè)我們相信一個(gè)安全的哈希算法:如果H(x)=H(y),則x = y,如果兩個(gè)文件或數(shù)據(jù)的hash相同,說(shuō)明文件相同堪簿,沒(méi)有被改動(dòng)過(guò)痊乾。

比特幣使用哈希算法來(lái)保證所有交易的不可篡改,就是計(jì)算并且記錄交易的哈希椭更,如果交易被篡改那么哈希驗(yàn)證將不能通過(guò)哪审,說(shuō)明這個(gè)區(qū)塊是無(wú)效的。

常用的哈希算法:


比特幣使用的哈希算法有兩種:SHA-256和RipeMD160


Merkle Hash:本區(qū)塊的交易的hash

Merkle Hash:本區(qū)塊的交易的hash

Merkle Hash字段虑瀑,他記錄了本區(qū)塊所有交易的Merkle Hash湿滓。

Merkle Hash是一系列數(shù)據(jù)的哈希,通過(guò)一個(gè)簡(jiǎn)單算法舌狗,變成一個(gè)匯總的哈希


如果交易的數(shù)量不恰好是4個(gè)叽奥,如只有三個(gè)時(shí),三筆交易計(jì)算出a1痛侍,a2朝氓,a3,a1和a2可計(jì)算出b1主届,a3和誰(shuí)組合計(jì)算赵哲?沒(méi)關(guān)系再把a(bǔ)3復(fù)制一份即可,a3和a3計(jì)算出b2君丁》愣幔總之,在每層的計(jì)算中绘闷,如果存在單數(shù)橡庞,就把最后一份數(shù)據(jù)復(fù)制在計(jì)算。

從merkle hash的計(jì)算方法可以得出結(jié)論:修改人一個(gè)交易印蔗,哪怕一個(gè)字節(jié)或者交換兩個(gè)交易的順序扒最,都會(huì)導(dǎo)致Merkle hash驗(yàn)證失敗,也就會(huì)導(dǎo)致這個(gè)區(qū)塊本身是無(wú)效的喻鳄,所以Merkle Hash記錄在區(qū)塊頭部扼倘,它的作用就是保證交易記錄永遠(yuǎn)無(wú)法被修改。

區(qū)塊本身用Block Hash來(lái)標(biāo)識(shí)除呵,block hash并沒(méi)有記錄在區(qū)塊頭部再菊,而是計(jì)算區(qū)塊頭部所記錄的所有哈希得到的。


Block Hash 區(qū)塊唯一標(biāo)示

區(qū)塊頭部的Prev Hash記錄了上一個(gè)區(qū)塊的哈希颜曾,這樣就可以追蹤到上一個(gè)區(qū)塊纠拔,這樣每個(gè)prev hash都指向上一個(gè)區(qū)塊,這樣串起來(lái)就形成了區(qū)塊鏈泛豪。

如果一個(gè)攻擊者修改了區(qū)塊中的某個(gè)交易稠诲,這樣這個(gè)區(qū)塊的Merkle hash就不會(huì)驗(yàn)證通過(guò)侦鹏,所以攻擊者只能重新計(jì)算和修改區(qū)塊頭部的Merkle hash,這時(shí)候區(qū)塊本身的hash就變了臀叙,所以下一個(gè)區(qū)塊指向它的鏈接就斷掉了略水,由于比特幣區(qū)塊的哈希值要滿足一個(gè)難度值,因此攻擊者必須重新計(jì)算這個(gè)區(qū)塊的哈希劝萤,然后把后續(xù)所有區(qū)塊全部重新計(jì)算并且偽造出來(lái)渊涝,才能偽造整個(gè)區(qū)塊鏈。

修改一個(gè)區(qū)塊的成本就已經(jīng)非常非常高了床嫌,偽造區(qū)塊鏈需要擁有超過(guò)51%以上的全網(wǎng)算力才行跨释,所以修改區(qū)塊鏈的難度是非常非常大的,并且區(qū)塊鏈在不斷的增長(zhǎng)厌处,修改它的難度會(huì)隨著時(shí)間的推移而不斷的增加鳖谈。

得出結(jié)論:

--區(qū)塊鏈依靠安全的哈希算法保證所有區(qū)塊數(shù)據(jù)不可更改

--工作量證明機(jī)制保證修改區(qū)塊鏈的難度非常巨大從而無(wú)法實(shí)現(xiàn)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市阔涉,隨后出現(xiàn)的幾起案子缆娃,更是在濱河造成了極大的恐慌,老刑警劉巖瑰排,帶你破解...
    沈念sama閱讀 212,383評(píng)論 6 493
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件龄恋,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡凶伙,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,522評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門它碎,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)函荣,“玉大人,你說(shuō)我怎么就攤上這事扳肛∩倒遥” “怎么了?”我有些...
    開(kāi)封第一講書人閱讀 157,852評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵挖息,是天一觀的道長(zhǎng)金拒。 經(jīng)常有香客問(wèn)我,道長(zhǎng)套腹,這世上最難降的妖魔是什么绪抛? 我笑而不...
    開(kāi)封第一講書人閱讀 56,621評(píng)論 1 284
  • 正文 為了忘掉前任,我火速辦了婚禮电禀,結(jié)果婚禮上幢码,老公的妹妹穿的比我還像新娘。我一直安慰自己尖飞,他們只是感情好症副,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,741評(píng)論 6 386
  • 文/花漫 我一把揭開(kāi)白布店雅。 她就那樣靜靜地躺著,像睡著了一般贞铣。 火紅的嫁衣襯著肌膚如雪闹啦。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書人閱讀 49,929評(píng)論 1 290
  • 那天辕坝,我揣著相機(jī)與錄音窍奋,去河邊找鬼。 笑死圣勒,一個(gè)胖子當(dāng)著我的面吹牛费变,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播圣贸,決...
    沈念sama閱讀 39,076評(píng)論 3 410
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼挚歧,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了吁峻?” 一聲冷哼從身側(cè)響起滑负,我...
    開(kāi)封第一講書人閱讀 37,803評(píng)論 0 268
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎用含,沒(méi)想到半個(gè)月后矮慕,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,265評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡啄骇,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,582評(píng)論 2 327
  • 正文 我和宋清朗相戀三年痴鳄,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片缸夹。...
    茶點(diǎn)故事閱讀 38,716評(píng)論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡痪寻,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出虽惭,到底是詐尸還是另有隱情橡类,我是刑警寧澤,帶...
    沈念sama閱讀 34,395評(píng)論 4 333
  • 正文 年R本政府宣布芽唇,位于F島的核電站顾画,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏匆笤。R本人自食惡果不足惜研侣,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,039評(píng)論 3 316
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望炮捧。 院中可真熱鬧义辕,春花似錦、人聲如沸寓盗。這莊子的主人今日做“春日...
    開(kāi)封第一講書人閱讀 30,798評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至基显,卻和暖如春蘸吓,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背撩幽。 一陣腳步聲響...
    開(kāi)封第一講書人閱讀 32,027評(píng)論 1 266
  • 我被黑心中介騙來(lái)泰國(guó)打工库继, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人窜醉。 一個(gè)月前我還...
    沈念sama閱讀 46,488評(píng)論 2 361
  • 正文 我出身青樓宪萄,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親榨惰。 傳聞我的和親對(duì)象是個(gè)殘疾皇子拜英,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,612評(píng)論 2 350

推薦閱讀更多精彩內(nèi)容

  • 在聊區(qū)塊鏈記賬原理之前我們先來(lái)了解幾個(gè)知識(shí)點(diǎn),隨后再慢慢說(shuō)明: 區(qū)塊鏈就是一個(gè)不斷增長(zhǎng)的全網(wǎng)總賬本 每個(gè)完全節(jié)點(diǎn)都...
    Origheart閱讀 2,846評(píng)論 0 1
  • 參加一次青海湖的輪滑比賽 去日本看櫻花 跑一次馬拉松 跳傘一次
    想你itiswritten閱讀 160評(píng)論 0 0