標籤:技術分享 ssl 允許 min 使用 share 華為 網路環境 fabri
火熱的區塊鏈技術瞭解一下
一、 分布式儲存
分布式儲存是一種資料存放區技術,通過網路使用企業中的每台機器上的磁碟空間,並將這些分散的儲存資源構成一個虛擬存放裝置,資料分散的儲存在企業的各個角落。
分散式總帳是一種在網路成員之間共用、複製和同步的資料庫。分散式總帳記錄網路參與者之間的交易,比如資產或資料的交換。
- 網路中的參與者根據共識原則來制約和協商對賬本中的記錄的更新。沒有中間的第三方仲裁機構(比如金融機構或票據交換所)的參與。
- 分散式總帳中的每條記錄都有一個時間戳記和唯一的密碼簽名,這使得賬本成為網路中所有交易的可審計記錄。分散式總帳技術的一種實現是開源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的晶片
三、智能合約
智能合約是由事件驅動的、具有狀態的、儲存和運行在區塊鏈上的程式。
四、安全和隱私技術
- 如何防止分散式總帳的偽造?
– 利用數位簽章,偽造一個他人的單個交易非常困難,除非能夠獲得他人數位憑證的私密金鑰
– 另外分散式總帳可以防止如下類型的篡改:
? 刪除曆史交易
? 偽造自己的曆史交易
- 如何保障私密?
? 確保交易僅僅向有限的全體可見,不對非授權的全體公開
? 簡單來看,分別使用授權使用者的“公開金鑰”加密“資料”,只有授權使用者能夠用自己的“私密金鑰”解密資料
? 實際實現,則通過“對稱式加密和公開金鑰加密”相結合的方式
- 如何既保障交易私密,又可以實現監管
? “監管”是指無需交易方授權,監管者可以解密交易
? 但監管不能侵犯“不可抵賴性”,即監管者不可以偽造別人的交易
? 採用PKI體系的“雙金鑰組---簽名金鑰組和加密金鑰對”模式來實現:
– 認證持有人有一對簽名用途的金鑰組
– 認證持有人有一對加密用途的金鑰組
– CA簽發認證時,對加密用途的金鑰組進行備案,交由密鑰管理中心存放
特定的情況下,提取某使用者的解密私密金鑰,解密相關的交易資料
– 簽名用途的金鑰組仍然在使用者端產生,不做備案
無私密金鑰的情況下,無法偽造簽名,因此無法偽造別人的交易
從認證申請,到認證產生,常規意義的CA/RA體系都可以保障簽名密鑰的使用者私密性
- 如何保障隱私?
? 確保從交易中無法追溯交易建立者的資訊
– 問題
由於交易中存在簽名資訊,而簽名資訊攜帶可以關聯交易建立者認證的資訊
認證中包含交易建立者的識別資訊
如果不做實現特定的機制,交易中將可以追溯交易建立這的資訊
? 交易方持有多種類型的認證,交易不同環節將使用如下這些類型的認證:
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),體系化培訓課程,線上隨時隨地學習,帶你輕鬆上雲。
火熱的區塊鏈技術瞭解一下