區塊鏈結構

2021-09-10 08:53:03 字數 894 閱讀 1587

位元幣是乙個專用資料庫,它只儲存一種型別的資料記錄 —— 交易,例如 張三轉給李四幾個幣,或者李四轉給王五幾個幣:

一旦涉及到資金,大家都會變得慎重了。因此交易記錄最好在技術上可以保證 是不能篡改的,這樣出了問題可以翻翻老賬,這就要求賬本必須值得信賴。

位元幣採用一種特殊的資料結構區塊鏈/blockchain來保障交易的不可篡改性, 每乙個包含一批交易資料的區塊,同時也包含了前乙個區塊的指紋:

在位元幣中,乙個區塊的指紋是使用密碼學中常見的雜湊函式來實現的。 雜湊函式可以將大塊資料壓縮成精簡的表示,而且可以保證如果精簡 的表示不同,那麼其對應的原始資料也不同。

例如,在上圖中如果12#區塊被攻擊者篡改,那麼它的雜湊結果將不同於在 13#區塊中儲存的其原始指紋,這使得識別篡改的區塊這一任務很容易,或者 說篡改的難度很大 —— 攻擊者必須同時修改12#之後的所有區塊才能保證 指紋校驗成功。

另一方面,如果攻擊者直接篡改14#區塊(我們假設這是最後乙個塊),那麼 顯然是可行的,因為它缺乏之後更多區塊的保護。這引入了在位元幣中常用 的乙個概念:交易的確認數/confirms

交易一旦被確認打包到區塊中,它的確認數就是1,之後每增長乙個區塊 則確認數加1。例如對於上圖中的標註交易,當鏈增長到14#塊時,該交易的 確認數就是3。

顯然乙個交易的確認數越多,意味著攻擊者篡改交易的可能性越小。在位元幣 中的應用當中,交易的接收者通常需要在六個確認之後,才可以將該筆 交易視為成功。

詳解python實現簡單區塊鏈結構

位元幣從誕生到現在已經10年了,最近接觸到了區塊鏈相關的技術,為了揭開其背後的神秘面紗,我就從頭開始構建乙個簡單的區塊鏈。從技術上來看 區塊是一種記錄交易的資料結構,反映了一筆交易的資金流向。系統中已經達成的交易的區塊連線在一起形成了一條主鏈,所有參與計算的節點都記錄了主鏈或主鏈的一部分。位元幣內部...

原型鏈結構

看圖之前我們首先來了解幾個物件原型的基本知識 例子 function fn fn為建構函式 var f1 new fn f1是fn建構函式建立出來的物件 建構函式的prototype屬性值就是物件原型。fn.prototype就是物件的原型 建構函式的prototype屬性值的型別就是物件 type...

區塊鏈結構模型

區塊鏈可分為公有鏈 私有鏈和聯盟鏈。1.公有鏈是指完全對外開放,任意節點都可加入,沒有身份認證,加入後可以進行資料讀取 新區塊的競爭 傳送確認交易等,其閱讀許可權公開,完全去中心化,沒有許可權的限定。區塊鏈節點在地域上分散 形態結構各異,因此需要維護共識機制執行和保證資料安全儲存。資料安全通過數字加...