您好,登錄后才能下訂單哦!
本篇內容主要講解“區塊鏈怎么做到不能篡改”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“區塊鏈怎么做到不能篡改”吧!
1. 交易不可被篡改
當我們發送一筆交易到區塊鏈節點的時候,節點會驗證這個交易的簽名,如果簽名不對那么數據是會被丟棄的,只有持有私鑰匙的人才可以修改這筆交易,其他人是修改不了的,這個問題是由密碼學解決的。在比特幣中使用的是橢圓曲線算法來對交易進行簽名。
任何一個交易的修改都將導致區塊體的變化
2. 區塊體不可被篡改
區塊體中是一筆一筆的交易,這些交易通過默克爾樹組織起來,如果其中任何一筆交易被修改,都會造成默克爾樹根哈希的變化,這個問題是由哈希函數解決的。在比特幣中使用的是sha256算法
區塊體的變化將導致區塊頭的變化
3. 區塊頭不可被篡改
前面兩個問題都是由不可解的數學難題來保證的,區塊頭的不可修改是由算力保證的,這就是礦工需要干的事情。那么區塊頭是怎么保證不可被修改的呢?
全世界所有的礦工都會計算區塊頭的哈希,但是計算出來的哈希要求前面有n個0。如果區塊的頭信息不變,那么計算出來的哈希也都是一樣的。前面我們說過,區塊頭中包含一個nonce, 外匯跟單www.gendan5.com 礦工就是通過修改nonce以此來找到滿足要求的哈希(這個過程被稱為挖礦)。在比特幣的世界中,這個問題需要全世界的礦工計算十分鐘左右才能找到一個滿足要求的nonce。所以單憑個人要想修改一個區塊是完全不可能的。
礦工一旦計算出來這個nonce,就會將這個區塊廣播給其他節點,這些節點對區塊中的數據進行驗證,如果驗證通過,就會停止此區塊的挖礦,將此區塊廣播給其他的節點,并開始爭奪下一個區塊的記賬權
區塊鏈是從零開始有序的鏈接在一起的,每個區塊都指向前一個區塊,稱為前一個區塊的子區塊,前一區塊稱為父區塊。
每個區塊都有一個區塊頭,里邊包含著父區塊頭通過算法生成的哈希值,通過這個哈希值可以找到父區塊。當父區塊有任何改動時,父區塊的哈希值也發生變化。這將迫使子區塊哈希值字段發生改變,以此類推,后邊的子子區塊,子子子區塊都會受影響。一旦一個區塊有很多后代以后,除非重新計算此區塊所有后代的區塊,但是這樣重新計算需要耗費巨大的計算量,所以區塊鏈越長區塊歷史越無法改變。
既然有一模一樣的賬本,就意味著所有的數據都是公開透明的,每一個人可以看到每一個賬戶上到底有什么數字變化。
它非常有趣的特性就是,其中的數據無法篡改。因為系統會自動比較,會認為相同數量最多的賬本是真的賬本,少部分和別人數量不一樣的賬本是虛假的賬本。
在這種情況下,任何人篡改自己的賬本是沒有任何意義的,因為除非你能夠篡改整個系統里面大部分節點。
如果整個系統節點只有五個、十個節點也許還容易做到,但是如果有上萬個甚至上十萬個,并且還分布在互聯網上的任何角落,除非某個人能控制世界上大多數的電腦,否則不太可能篡改這樣大型的區塊鏈
到此,相信大家對“區塊鏈怎么做到不能篡改”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。