麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 專題 > 區塊鏈 > 正文

區塊鏈是不可變的

2020-02-25 19:26:28
字體:
來源:轉載
供稿:網友

  在數據安全性的背景下, 存儲在區塊鏈上的數據的不可變性非常重要. 當人們談到 “區塊鏈是不可變的” 時, 他們想表達什么? 在這篇文章中, 我將嘗試解釋其中的關鍵概念.

  什么是不可變性?

  不可變意味著某些事物隨著時間推移不發生改變或無法改變.

  所以在我們的上下文中, 不可變性意味著一旦數據寫入區塊鏈, 任何人, 甚至是系統管理員都無法更改它. 這為審計提供了好處. 作為數據提供者, 你可以證明你的數據未被更改. 而作為數據接收者, 你可以確保數據從未被更改. 這對于金融交易數據庫很有用.

  不變性是相對的. 例如, 如果我向一大群朋友發送一封電子郵件, 那么從我的角度來看, 這些數據是不變的. 要改變它, 我必須說服我朋友們刪除各自的電子郵件( 或者說服Gmail和運行存放著我朋友郵件數據的所有郵件服務器的人員 ). 在我看來, 該電子郵件是不可變的在我擁有它的控制權的時候 - 如果沒有協作和檢測風險, 我不能取消發送或者撤銷它.

  所以不變性是相對的, 并且涉及改變的難度.

  私人數據庫

  對于私人數據庫, 終端用戶(end-user, 或稱最終用戶)可能擁有只讀權限. 她無法更改該數據庫中某一行的內容. 但是, 像系統管理員那樣具有 更高特權訪問權限的用戶可能可以更改數據. 那么我們目前如何應對不聽話的系統管理員為了他自己的利益而篡改數據的風險呢? 在現有的系統和組織中, 我們嘗試創建責任分離機制, 以使沒有任何一個人可以在未被監視的情況下做壞事.

  例如, 管理員可能擁有更改數據庫的權限, 但日志可能存儲在另一個由其他人擁有和管理的系統上. 這些組織系統已經將阻止個人進行變更的行為落實到位. 我們需要相信這種組織體系是有效. 然而, 沒有任何控制機制將數據的不可變性放在首位.

  下面進入區塊鏈正題.

  區塊鏈

  區塊鏈本質上是數據庫, 它具有一些預先商定的技術和業務邏輯標準, 通過點對點協議(peer-to-peer)機制和預先商定的關于可以哪種新數據可以被添加的規則讓數據保持同步. 關于不變性, 有兩個關鍵理念有助于讓篡改易于檢測: 散列(hashes, 或稱哈希)和塊(blocks).

  哈希

  哈希函數是一種數學函數, 把 數據變成數據的指紋的過程稱為 哈希. 它就像一個公式或算法, 接受輸入數據( 可以是任何數據, 無論是整個大英百科全書, 還是數字'1' ), 并將其轉換為固定長度的散列值輸出, 散列值就代表數據的指紋. 哈希函數有很多種類型, 其中有一個通用而強大的哈希函數稱為SHA-256( 表示安全哈希算法 - 256位 )

  當你將數學函數應用到短語“Hello from Bits on Blocks!”時, 你將得到以下指紋輸出: 389f9ef3822e5c88f4b140db82c459064711a52182a3e438b4ebc7ecda62b9bb. 指紋( 389f ... b9bb )被稱為輸入詞組的SHA-256哈希.

  一個好的散列函數的兩個相關屬性是:

  很難從哈希值反演出原始數據

  如果輸入數據稍有變化, 哈希值將以不可預知的方式變化

  哈希是區塊鏈安全性和不變性的基礎. 你可以在這里使用他們.

  塊

  比特幣區塊鏈中的一個重要思想是, 交易在被添加到區塊鏈數據庫之前便被捆綁成塊. 塊中包含一些比特幣交易信息( 支付 )以及一些其他數據, 包括前一個塊的散列值. 由于每個塊都包含前一個塊的散列值作為其數據的一部分, 因此會形成一個塊鏈.

  使用引用先前的塊的塊創建分類交易賬是比在書賬中進行頁面編號更好的主意. 在一本用1,2,3等數字編號的書賬中, 很容易撕掉第40頁并用另一個交易略有不同的第40頁替換它. 該書的完整性保持不變, 第39,40,41頁依舊是第39,40,41頁 - 沒有變化. 此外, 頁碼“40”中沒有反映該頁面中的任何內容, 頁碼中隱含著頁面的排序.

  而在區塊鏈中, 不是引用塊號, 而是用它們的散列值引用塊, 并且每個塊明確指定它正在用于構建的塊( 散列 ). 所以它看起來更像是:

  散列值為66a045b45的塊( 使用散列值a2c064616構建塊 ), 隨后是

  散列值為8939a3c35的塊( 使用散列值66a045b45構建塊 ), 隨后是

  散列值為a41f02e92的塊( 使用散列值8939a3c35構建塊 )

1620

  btCoin

  因此, 塊通過引用前面塊的反映內容的散列值來顯式排序, 而不是由與內容無關的編號系統( 1,2,3 )隱式排序. 點擊查看比特幣區塊鏈內部的更多細節.

  關鍵點

  每個塊的散列值來自塊的內容

  每個塊指向的是前一個塊的散列值, 而非一個連續的數字

  區塊鏈中的數據在內部是一致的, 也就是說, 你可以對其執行一些檢查, 如果數據和哈希值不匹配, 毫無疑問, 中間出現了一些修補.

  隔離的區塊鏈數據

  我們先來看看如果你將比特幣區塊鏈復制到一個USB存儲盤中( 現在大約是55GB, 所以仍然可以很容易地復制過去 )會發生什么情況. 在將其傳遞給其他人( 如監管機構 )之前, 你可以如何處理這些信息? 你可以改變數據并且騙過他們嗎?

  比特幣的區塊鏈擁有近400,000個區塊. 假設你從區塊鏈中200,000(也就是大約一半)的區塊中移除一筆交易, 試圖假裝有一筆付款從未發生. 會發生什么?

  1. 塊的散列失敗

  監管者(regulator)在接收USB存儲器時可以做的第一件事是根據塊數據重新計算所有塊的哈希值, 并檢查提供的塊哈希值是否有效并與每個塊的內容是否一致. 若存在差異, 則意味著塊中的交易信息與塊的散列值不匹配, 意味著塊已被篡改. 因此, 為了欺騙監管機構, 你需要重新計算該塊的散列, 以使其與修改后的內容保持一致.

  2. 鏈條失效

  然而, 這破壞了整條鏈. 請記住, 每個塊都包含前一個塊的哈希. 如果塊200,000的散列值發生變化, 則塊200,001將引用不再存在的塊散列值. 塊200,001將引用塊200,000的 舊散列值, 而不是其 新的散列值. 所以區塊鏈破裂, 這很明顯失敗了. 要讓區塊鏈不遭到破壞, 你需要在被篡改的塊之后重新編譯和重新哈希每個塊, 替換之前的塊哈希指針的內容.

  但是, 有一些安全措施可以使重建區塊鏈變得非常困難或不可能發生. 這些保護措施分別是基于區塊鏈添加機制和不同規則的區塊鏈, 并且存在兩個主要方案: 用于驗證工作的公共區塊鏈的目標散列 ; 以及( 一些 )私人區塊鏈的特定簽名.

  3.區塊鏈難以重建

  對于像比特幣這樣的公開的證明工作(proof-of-work)區塊鏈, 存在挖礦困難的概念. 在比特幣中, 只有塊散列遵循某個嚴格的模式, 塊才被認為是有效的 - 即散列值必須小于目標數, 通常被描述為“從一定數量的零開始”. 有關比特幣挖礦的更多細節, 請參閱比特幣挖礦簡介.

  因此, 你不僅需要重新計算塊的散列值, 還需要確保重新計算的散列值低于某個數. 你需要通過重復調整塊內容的另一部分( 稱為隨機數 )來 重新挖掘塊, 直到找到小于目標數的散列值為止. 這需要一些重要的計算能力. 然后你需要對每個后續塊執行此操作. 通俗地說, 你需要從該塊開始重新挖掘整個區塊鏈. 鑒于生成滿足條件的有效哈希所需的大量計算工作量, 這將會產生問題, 此外, 鏈中的區塊越早, 你需要做的時間越長, 因為你有更多的區塊要去重新挖礦.

  對于諸如Multichain的私人區塊鏈, 塊添加機制往往有點不同, 在塊添加者以隨機循環方式輪流添加塊的情況下設置規則而非依靠大量的證明工作, 并且每個塊需要由塊添加者進行數字簽名. 只有區塊鏈由一組有定義的參與者簽署, 區塊鏈才有效且被接受. 這意味著為了重新創建區塊鏈, 你需要知道來自其他塊添加者的私鑰. 竊取這些密鑰對于工作量證明的哈希來說是一個非常不同的挑戰.

  小結

  如果你做了所有這些, 那么USB存儲器上的數據就會在內部保持一致并且看起來像一個有效的區塊鏈. 但這只限于對 那些無法對照區塊鏈的其他副本進行檢查的人而言.

  有多個副本的區塊鏈

  以上所有內容都假設記憶棒上的數據是監管機構所看到的 唯一版本. 假設你通過移除事務并重新創建全部都符合驗證條件的塊的哈希值來創建內部一致的區塊鏈.

  監管機構現在需要檢查區塊鏈的其他副本 - 并檢查某一個數字 - 最近區塊的散列值. 如果USB記憶棒上最近的一個塊的散列值與他們可以從任何其他( 非勾結的 )參與者發現的散列值不同, 那么監管機構可以立即發現有些事情正在發生, USB記錄棒上的數據不同于實時區塊鏈上的數據.

  監管機構甚至不需要 查看實時區塊鏈中的 數據. 他們只需要查看最近某個塊的散列值.

  換句話說, 嘗試創建虛假區塊鏈非常困難.

  更改一個區塊鏈

  如何嘗試更改你參與的區塊鏈中的現有數據? 你會如何嘗試得到在一個網絡中被其他人接受的修改區塊?

  由于“最長鏈”規則是大多數區塊鏈共識的基礎, 因此這依舊困難重重. 廣義地講, “最長鏈”規則就是作為一個參與者, 如果你看到多個有競爭力的有效鏈, 更愿意相信那個有更多塊的鏈.

  因此, 如果你重新播送一個修正后的區塊200,000, 你實際上會創建一個比真實鏈( 其長度為400,000 )短得多的區塊鏈“分支”. 現在有兩個互相競爭的區塊鏈, 一個是包含你的修改區塊的200,000個區塊的區塊鏈, 另一個區塊是400,000個區塊長的區塊鏈. 現有的節點會接受你的塊( 如果它是有效的 ), 但是很快就把它忽略了, 因為他們已經知道存在一個現有的更長的區塊鏈.

  唯一的辦法是做出改變并創建一個更長的鏈, 需要大量的計算能力或其他塊添加者的私鑰( 取決于誰可以添加塊, 以及如何添加 ), 并推出一個全新的區塊鏈, 比現有的更長. 你需要大量的計算能力才能勝過像比特幣這樣的現有工作證明鏈.

  即使你設法做到這一點, 雖然技術上你的新鏈條是有效的, 但實際上社區會注意到是否有一個區塊重新組織后比其他區塊鏈長; 這將會受到調查.

  結論

  在“離線”區塊鏈中更改數據非常困難, 更不用說實時區塊鏈了.

  當人們說區塊鏈是不可變的, 不是意味著數據不能改變, 他們意在表明在沒有合謀的情況下做出改變是非常困難的. 如果你試圖做出改變, 監管者將很容易檢測到你的企圖. 區塊鏈的這種屬性對于存儲的數據的安全性具有積極和消極的影響, 而其擴展性也對數據隱私也有影響.

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: av免费片| 欧美三级日本三级少妇99 | 精国产品一区二区三区四季综 | 99ri在线 | 海角在线观看91一区二区 | 高清做爰免费无遮网站挡 | 午夜激情视频网站 | 美国一级免费视频 | 特级无码毛片免费视频尤物 | 亚洲精品午夜电影 | 午夜在线观看视频网站 | 欧美人的天堂一区二区三区 | 欧美一级黄色片免费观看 | 九九看片 | 国产免费www | 黄网站免费观看视频 | 美国人成人在线视频 | 九九热这里只有精品8 | 欧美一区二区三区不卡免费观看 | 有色视频在线观看 | 欧美ab| 日本一区免费看 | 看片一区二区三区 | 久久免费观看一级毛片 | av黄色片网站 | 黄色成年在线观看 | 午夜视频久久 | 久草在线高清 | 丁香天堂网 | 国产亚洲欧美一区久久久在 | 欧美a视频在线观看 | 国产中出在线观看 | 在线97视频| 久久精品99北条麻妃 | 日本免费a∨| 国产婷婷一区二区三区 | 黄网免费看 | 国产精品久久久久久久久久久久久久久久 | 国产二三区 | 日本中文高清 | 国产免费小视频在线观看 |