區塊鏈技術基礎學習(一)

區塊鏈技術基礎學習(一)

目錄:

  1. 區塊鏈和比特幣
  2. 區塊鏈的特點
  3. 區塊鏈的類型
  4. 區塊鏈的底層架構
  5. 區塊鏈的關鍵技術點
  6. 區塊鏈存在問題

1、區塊鏈和比特幣:

(1)區塊鏈(Block Chain):

  • 多個節點間,基於加密鏈式區塊結構、分佈式節點共識協議、P2P網絡通信技術和智能合約等技術,組合而成的一種去中心化的分佈式數據庫,任何一方都無法完全控制這些數據,只能按照嚴格的規則和共識進行更新,從而實現了可信的多方間的信息共享和監督,對等的價值傳輸。
  • 密碼學技術實現數據的不可篡改性和不可僞造性,如非對稱加密方式的橢圓曲線密碼算法
  • 解決問題:多方間的信任問題。
  • 本質:區塊鏈源自於比特幣的底層技術,是一種分佈式數據庫。

(2)比特幣(Bitcoin):一種基於點對點支付的、由分佈式網絡系統生成的數字貨幣。

    • PoW共識過程俗稱:挖礦,每個結點稱爲礦工。
      • 發行:
        • 礦工貢獻自己的計算資源來競爭解決一個難度可動態調整的數學問題,成功解決該數學問題的礦工將獲得該區塊的記賬權,並將當前時間段的所有比特幣交易打包記入一個新的區塊,按照時間順序鏈接到比特幣主鏈上,比特幣系統同時會發行一定數量的比特幣以獎勵該礦工,並激勵其他礦工繼續貢獻算力。
        • 部分礦工可能會相互合作建立收益共享的礦池,以便彙集算力來提高獲得比特幣的概率。
      • 流通:
        • 比特幣的流通過程依靠密碼學方法保障安全。
        • 持幣人可以通過比特幣軟件平臺向商家支付比特幣來購買商品和服務。
      • 市場:
        • 每一次比特幣交易都會經過特殊算法處理和全體礦工驗證後記入區塊鏈,同時可以附帶具有一定靈活性的腳本代碼(智能合約)以實現可編程的自動化貨幣流通。

2、區塊鏈的特點:

  • 去中心化:
    • 傳統數據庫:部署於同一集羣,由單一機構管理和維護。
    • 區塊鏈:不存在任何中心節點,由多方參與者共同管理和維護,每個參與者都可提供節點並存儲鏈上的數據,從而實現了完全分佈式的多方間信息共享。
  • 去信任化:
    • 在整個系統中的多個參與方無須互相信任就能夠完成各種類型的交易和協作。
    • 區塊鏈數據的驗證、記賬、存儲、和傳輸等過程均基於分佈式系統結構,採用純數學方法而不是中心機構來建立分佈式節點間的信任關係,從而形成去中心化的可信任的分佈式系統
  • 不可篡改:
    • 區塊間哈希指針 + 區塊內默克爾樹 + 非對稱加密算法 -> 鏈上數據不可篡改。
      • 數字簽名 + 驗證
        • 公鑰:標識和區分一個用戶的唯一方法,如應用於比特幣中,公鑰用於驗證簽名的有效性,用於驗證其哈希值是否和前一筆交易輸出腳本中的比特幣地址一致,以保證發送者確實擁有這些比特幣。
        • 簽名算法:橢圓曲線數字簽名算法。
    • 共識算法形成的強大算力 -> 單一節點非法篡改無法影響到全網的其他節點。
  • 集體維護:
    • 採用特定的激勵機制來保證分佈式系統中所有節點均可參與數據區塊的驗證過程。(如比特幣的“挖礦”過程)。系統中的數據塊由系統中所有具有維護功能的節點來共同維護,而這些具有維護功能的節點是開源的,任何人都可以參與。
    • 通過共識機制,來選擇特定的節點將新區塊添加到區塊鏈。
  • 可追溯:
    • 區塊鏈上存儲着系統運行以來的所有交易數據,基於不可篡改的日誌類型數據,可方便的進行還原和追溯歷史操作。
  • 時序數據:
    • 區塊鏈採用帶有時間戳的鏈式區塊結構存儲數據,從而爲數據增加了時間維度,具有極強的可驗證性和可追溯性。
  • 匿名性:
    • 除非有法律規範要求,單從技術上來講,各區塊節點的身份信息不需要公開或驗證,信息傳遞可以匿名進行。

3、區塊鏈的類型:

  • 公有鏈:完全對外公開,用戶可自由訪問區塊網絡,在鏈上廣播交易數據和即時參與網絡共識。
    • 特點:採用P2P網絡實現去中心化,交易信息不可篡改
    • 常見應用:比特幣
    • 常見開發平臺:以太坊
      • 以太坊(Etherrum):基於內置的以太幣實現數字貨幣交易,首次將智能合約應用到區塊鏈
  • 聯盟鏈:僅聯盟成員可加入,按照聯盟規則設置讀寫權限和記賬權限。指定多個預選的節點爲記賬人,每個塊的生成由所有的預選節點共同決定(預選節點參與共識過程),其他接入節點可以參與交易,但不過問記賬過程,可以通過該區塊鏈開放的API進行限定查詢。
    • 特點:一般採用權益證明
    • 常見應用:金融機構的交易、結算或清算
    • 常見開發平臺:FISCO金盟鏈、超級賬本
  • 私有鏈:僅在私有組織內部使用,按照私有組織規則設置讀寫權限和記賬權限。私有鏈中各個節點的寫入權限收歸內部控制,而讀取權限可視需求有選擇性地對外開放。仍然熱具備區塊鏈多節點運行的通用結構,適用於特定機構的內部數據管理與審計。
    • 特點:安全性高,可有效防範來自內部或外部對數據的安全攻擊
    • 常見應用:企業內部的數據庫管理和審計

4、區塊鏈的底層架構:

  • 數據層:數據區塊(區塊頭 + 區塊體) + 默克爾樹 + 哈希函數 + 非對稱加密
    • 數據結構:
      • 區塊頭:版本號、父區塊哈希值、時間戳、隨機數、默克爾樹根
      • 區塊體:以默克爾樹爲組織形式的交易數據
    • 數據存儲:
      • 文件存儲:方便日誌形式的追加操作
      • LevelDB數據庫:以太坊的區塊鏈與索引都存儲在LevelDB數據庫,同時存儲賬戶餘額或業務狀態數據
      • 常用關係型數據庫
    • 默克爾樹:用於快速校驗區塊數據的存在性和完整性
    • 數據模型:
      • 基於交易:每筆交易由表明交易來源的輸入和表明交易去向的輸出組成,所有交易通過輸入與輸出鏈接在一起,似的每一筆交易都可追溯
      • 基於賬戶:可快速查詢到當前餘額或狀態
  • 網絡層:對等網絡 + 數據驗證機制 + 消息傳播機制
    • P2P對等網絡:每個節點承擔相同角色,具備路由發現、驗證交易信息、廣播交易信息和發現新節點等功能
      • P2P特點:
        • 完全分佈式、可容忍單點故障
        • 網絡節點平等、自治、分佈
    • 數據驗證機制:簽名 + 時間戳
    • 消息傳播機制:廣播,通過驗證的節點進行存儲並繼續轉發廣播
  • 共識層:共識機制:工作量證明機制(Proof of Work,PoW) + 權益證明機制(Proof of Stake,PoS) + 股份授權證明機制(Delegated Proof of Stake,DPoS) + 分佈式一致性算法(Paxos和Raft算法)
    • PoW共識協議:通過算力證明,存在51%攻擊問題。(犧牲性能換取數據的一致性和安全性)
      • 要求只有完成一定計算工作量並提供證明的節點纔可生成區塊,每個網絡節點利用自身計算資源進行哈希運算以競爭區塊記賬權
      • 51%:只要全網可信節點所控制的計算資源高於51%,即可證明整個網絡是安全的。
      • 51%攻擊問題:若要篡改和僞造鏈中的某一區塊,就必須針對該區塊及其後的每個區塊重新尋找塊頭的隨機數,並且計算速度還要超過主鏈,這需要至少掌握全網51%以上的算力,才能使攻擊成爲可能。
      • 常見應用:如比特幣
    • PoS共識協議:權益證明(幣齡和代幣數量),挖礦難度隨擁有資源數量增多而減小
      • 區塊生成難度與節點所佔股權成反比
      • 常見應用:如點點幣
    • DPoS共識協議:節點將權益授予節點代表,節點代表輪流記賬的形式生成新區塊,能實現秒級共識驗證
      • 獲股東投票數最多的幾位代表按既定時間段輪流產生區塊
      • 常見應用:如比特股
  • 激勵層:發行機制 + 分配機制​​​​​​​
    • 發行機制:
      • 比特幣系統中每個區塊發行比特幣的數量是隨着時間階梯性遞減的。比特幣穩定的上限數量:2100萬。
      • 交易過程產生手續費,手續費默認:萬分之一個比特幣,這部分費用也會記入區塊並獎勵給記賬者。
        • 記賬者:成爲節點的所有人共同搶奪記賬權,搶到的人記賬,廣播給其他節點。接到廣播的節點一起記錄發生的所有交易,不管自己是否參與。
    • 分配機制:
      • 比特幣系統中,大量的小算力節點通常會選擇加入礦池,通過相互合作彙集算力來提高挖到新區塊的概率,並共享該區塊的比特幣和手續費獎勵。
      • 分配方式:
        • 每N股支付
        • 每股支付
        • 按比例支付
  • 合約層:智能合約 + 算法機制,區塊鏈底層的商業邏輯和算法
    • 智能合約:用算法和程序編寫的商業合約、部署在區塊鏈上且可按照規則自動執行的數字化協議,在預定條件滿足時,能夠自動強制的執行合同條款,爲數據層的數據賦予可靈活編程的機制,擔任機器代理的角色
    • 可同時運行在全網節點,任何機構和個人都無法將其強行停止
  • 應用層:可編程貨幣 + 可編程金融 + 可編程社會
    • 區塊鏈1.0:可編程數字加密貨幣體系,支持虛擬貨幣相關應用,如比特幣等去中心化電子貨幣應用
    • 區塊鏈2.0:可編程金融系統,增加智能合約,可廣泛應用於金融行業
    • 區塊鏈3.0:可編程社會,去中心化思想配置全球資源,如醫療等

5、區塊鏈的關鍵技術點:

  • 公共的區塊鏈賬本
  • 分佈式的點對點網絡系統
  • 共識機制:去中心化的共識算法
  • 適度的經濟激勵機制
  • 智能合約:可編程的腳本代碼

6、區塊鏈存在問題:

  • 安全問題。PoW共識協議中,51%攻擊問題,掌握51%算力可篡改或僞造區塊
  • 隱私問題。每次交易使用不同的數字證書和賬戶地址,但在數據傳輸時仍然給出了一個地址,可能被識別和定位
  • 吞吐效率。交易驗證、數據驗證、區塊的哈希運算
  • 資源浪費。算力證明導致出現大量礦池。搜索隨機數消耗算力
  • 去中心化的自治組織。目前本質上未達到完全的去中心化,只是一種弱中心化或多中心化。

參考文獻:

[1]譚營. 人工智能知識講座. [M]北京:人民出版社,2018.04;
[2]孫善勇、張玉清. 區塊鏈技術. 期刊文獻:首都師範大學學報(自然科學版),2020年4月;
[3]邵奇峯、金澈清、張召、錢衛寧、周傲英. 區塊鏈技術:架構及進展. 期刊文獻:計算機學報,2018年5月;
[4]袁勇、王飛躍. 區塊鏈技術發展狀況與展望. 期刊文獻:自動化學報,2016年4月;

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章