1. 程式人生 > >火熱的區塊鏈技術瞭解一下

火熱的區塊鏈技術瞭解一下

火熱的區塊鏈技術瞭解一下
一、 分散式儲存
分散式儲存是一種資料儲存技術,通過網路使用企業中的每臺機器上的磁碟空間,並將這些分散的儲存資源構成一個虛擬的儲存裝置,資料分散的儲存在企業的各個角落。
分散式賬本是一種在網路成員之間共享、複製和同步的資料庫。分散式賬本記錄網路參與者之間的交易,比如資產或資料的交換。

  1. 網路中的參與者根據共識原則來制約和協商對賬本中的記錄的更新。沒有中間的第三方仲裁機構(比如金融機構或票據交換所)的參與。
  2. 分散式賬本中的每條記錄都有一個時間戳和唯一的密碼簽名,這使得賬本成為網路中所有交易的可審計歷史記錄。分散式賬本技術的一種實現是開源HyperledgerFabric 區塊鏈。
    共享賬本
     區塊鏈是一種共享賬本技術允許業務網路中的各個參與方都可以看到賬本內容
     賬本提供了一種對所有成功狀態變化的可驗證的歷史。賬本有SHARED,REPLICATED 和PERMISSIONED。多個賬本對應多個加入的業務網路。
     Transactions –一種資產轉移在賬本上或是下了賬本,例如小王給小張一輛車
     合約–Transactions發生的的條件,例如,如果小張給小王錢,然後這個車就應該從小王那給小張。如果車不能用,錢不會到小王賬上。
    二、 共識演算法
    多人共同記賬,以誰記的為準?
    共識演算法名稱 中心化 延時/吞吐量 一致性 適用區塊鏈場景 備註
    實用拜占庭容錯(PBFT) 部分去中心化,預設了決策角色(無Leader) 低/較高 低/較高 N/A 後面所有協議本質上都是拜占庭容錯的改進。幾位將軍如何在有一定數量個叛徒的條件下達成一致決策,即分散式系統如何在部分信任環境下如果取得狀態一致
    Paxos/Raft Paxos允許有多個Leader,Raft有單一Leader 低/高 最終收斂 私有鏈、信任度高的聯盟鏈 簡化了拜占庭將軍問題,排除拜占庭節點的存在,僅考慮節點之間由於網路中斷、系統崩潰等原因導致無法正常溝通時的狀態一致性問題
    工作量證明
    Proof-of-Work(PoW) 完全去中心化 高/低 依概率收斂 公有鏈 首個在完全不信任的網路環境中可以達成狀態一致的共識演算法;需要消耗大量的計算資源,安全性依賴網路中誠實節點的計算資源總和
    股權持有證明
    Proof-of-Stake(PoS) 持有更多股份者有較大權利,可能有中心化傾向 中/依賴實現 依賴實現 公有鏈、聯盟鏈 克服了PoW浪費大量算力的缺點。PoS的基本原理是將區塊鏈系統內使用者的一部分資源作為其信用的憑證,讓其在一致性決策時擁有較大的話語權。例如和PoW結合可以依據資產降低挖礦難度;或者由資產最多的使用者選擇100位其它使用者作為代表決策投票;或每若干塊由持股人投票持久化分支;設計時考慮需短程攻擊、長程攻擊、無成本作惡等問題
    典型改進協議
    (Ripple、Stellar、Tendermint等) 依賴實現 低/高 最終收斂 聯盟鏈 Ripple是拜占庭容錯的一個實現,每個節點可以按照規則信任其它節點,每個共識週期中對尚未確認的Tx進行多輪投票來決定是否將其永久記錄;Tendermint可以看作是PoS和PBFT的結合;Stellar恆星協議是提供了更靈活信任容忍度的經典PBFT改進方案
    Intel PoET(Elapse Time) 去中心化 低/高 最終收斂 聯盟鏈 使用Intel的可信執行環境(TEE),根據晶片產生的等待時間隨機產生Leader,生成新的Block;所有節點必須使用Intel的晶片

三、智慧合約
智慧合約是由事件驅動的、具有狀態的、儲存和執行在區塊鏈上的程式。
區塊鏈技術
四、安全和隱私技術

  1. 如何防止分散式賬本的偽造?
    – 利用數字簽名,偽造一個他人的單個交易非常困難,除非能夠獲得他人數字證書的私鑰
    – 另外分散式賬本可以防止如下型別的篡改:
    • 刪除歷史交易
    • 偽造自己的歷史交易
  2. 如何保障私密?
    • 確保交易僅僅向有限的全體可見,不對非授權的全體公開
    • 簡單來看,分別使用授權使用者的“公鑰”加密“資料”,只有授權使用者能夠用自己的“私鑰”解密資料
    • 實際實現,則通過“對稱加密和公鑰加密”相結合的方式
  3. 如何既保障交易私密,又可以實現監管
    • “監管”是指無需交易方授權,監管者可以解密交易
    • 但監管不能侵犯“不可抵賴性”,即監管者不可以偽造別人的交易
    • 採用PKI體系的“雙金鑰對—簽名金鑰對和加密金鑰對”模式來實現:
    – 證書持有者有一對簽名用途的金鑰對
    – 證書持有者有一對加密用途的金鑰對
    – CA簽發證書時,對加密用途的金鑰對進行備案,交由金鑰管理中心存放
    特定的情況下,提取某使用者的解密私鑰,解密相關的交易資料
    – 簽名用途的金鑰對仍然在使用者端產生,不做備案
    無私鑰的情況下,無法偽造簽名,因此無法偽造別人的交易
    從證書申請,到證書生成,常規意義的CA/RA體系都可以保障簽名金鑰的使用者私密性
  4. 如何保障隱私?
    • 確保從交易中無法追溯交易建立者的資訊
    – 問題
    由於交易中存在簽名信息,而簽名信息攜帶可以關聯交易建立者證書的資訊
    證書中包含交易建立者的識別資訊
    如果不做實現特定的機制,交易中將可以追溯交易建立這的資訊
    • 交易方持有多種型別的證書,交易不同環節將使用如下這些型別的證書:
    E-Cert(Enrollment Cert)
    長期持有,攜帶或可以追溯使用者資訊
    用於身份認證
    T-Cert(Transaction Cert)
    每個交易時生成,用於交易的簽名
    TLS-Cert,長期持有,主要用於SSL/TLS通訊
    更多想知道的?速來點選:https://education.huaweicloud.com:8443/courses/course-v1:HuaweiX+CBUCNXP008+Self-paced/about

    來華為雲學院(edu.huaweicloud.com),體系化培訓課程,線上隨時隨地學習,帶你輕鬆上雲。