區塊鏈解析(一)

1、區塊鏈的模型架構

                區塊鏈基礎模型架構分爲六層,自下而上包括數據層、網絡層、共識層、激勵層、合約層、應用層。每一層在完成一項

         核心功能的同時,與其他各層互相配合,從而實現一個去中心化的信息機制。

               

                數據層:封裝了底層數據區塊以及相關的數據加密和時間戳等技術;

                網絡層:包括分佈式組網機制、數據傳播機制和數據驗證機制等;

                共識層:主要封裝網絡節點的各類共識算法;

                激勵層:將經濟因素集成到區塊鏈技術體系中來,主要包括經濟激勵的發行機制和分配機制等;

                合約層:主要封裝各類腳本、算法和智能合約,是區塊鏈可編程特性的基礎;

                應用層:封裝了區塊鏈的各種應用場景和案例。

             

 

2、區塊鏈的五大模型

               目前,區塊鏈主要發展出了以下五種不同的類型:

             (一)公有鏈

                       公有鏈是指全世界任何人都能發送交易且交易能獲得有效確認,任何人都能參與它的共識過程的區塊鏈。

                公有鏈是最早產生、目前應用最廣泛的區塊鏈。

                        四個特點:

                               ①對使用端的保護在所有區塊鏈中最高

                               ②訪問門檻低

                               ③所有數據默認公開

                               ④完全去中心化的區塊鏈

         

              (二)私有鏈

                       私有鏈僅由某個組織、機構或者個人使用,使用者獨享寫入權限,該鏈的讀寫權限、參與記賬權限是否對外

                開放,由使用者決定。目前,私有鏈的應用場景主要是企業內部的應用,如數據庫管理、審計等。

                       四個特點:

                             ①部分去中心化

                             ②交易速度非常快

                             ③給隱私更好的保護

                             ④可以選擇沒有代幣的設計方案(記賬本來就是員工的職責)

             

              (三)聯盟鏈

                       聯盟鏈,又稱行業鏈,是指其共識過程受到預選節點控制的區塊鏈。預選節點就是從聯盟若干節點中指定的參與

                共識過程的節點,若干預選節點共同決定每個區塊的生成,其他節點可以參與交易,但不過問記賬過程。聯盟鏈的應

                用場景主要是機構之間的交易、結算或清算等B2B場景。

                       四個特點:

                            ①多中心化

                            ②對安全和性能的要求筆公有鏈高

                            ③可擴展性強,更適用於很大規模的交易

                            ④適用於產業或國家進行的清算、結算、容易進行權限控制
              

             (四) 跨鏈

                        跨鏈可以通過技術手段讓價值跨過鏈和鏈之間的障礙進行直接流通。跨鏈就像一座橋樑架在兩個賬本之間,

               使一條區塊鏈上存儲的價值轉移到另一條鏈,實現價值的流通。

                       目前出現的跨鏈技術主要有四種:公證人機制、側鏈/中鏈、哈希鎖定、分佈式私鑰控制。
 

             (五)互聯鏈

                       互聯鏈,就是各種不同的區塊鏈之間通過某種互聯互通協議鏈接起來的一個更大的生態區塊鏈。比如,電子商務

               公有鏈+物流公有鏈+物流聯盟鏈+銀行聯盟鏈+......它們之間進行互聯互通後,可以互相協作、通訊、共識,就形成了一

              個典型的互聯鏈。未來,國內區塊鏈之間,國外區塊鏈之間,國內與國外區塊鏈之間,都可以通過互聯互通協議進行

               互聯,最終形成區塊鏈全球網絡。

 

3、區塊鏈中的密碼學基礎

            (一)Hash算法和Hash函數

                       Hash(哈希或散列)算法能將任意長度的二進制明文串壓縮爲較短的(通常是固定長度的)二進制串(Hash值或散

              列值),並且不同的明文很難映射爲相同的Hash值。Hash算法通常用於實現數據完整性和實體認證,並且構成多種密碼

              體制和協議的安全保障。

                       Hash算法和Hash函數具有以下特性:

                                ①容易壓縮

                                ②容易計算

                                ③原像不可逆性

                                ④抗碰撞性

                                ⑤難題友好型

                                          沒有快捷的方法可以產生一個滿足特殊要求的哈希結果,這樣,通過哈希運算得出的符合特定要求的

                                哈希值,就可以作爲共識算法中的工作量證明。

           

            (二)加解密算法

                        1、加密解密編碼的基本概念

                                 ①明文:通信過程中,信息的發送方將要發送的信息成爲明文。

                                 ②加密:通過某種運算或變換將明文變爲表面上獲取不到任何有用的信息的隨機消息的過程。

                                 ③密文:在加密過程中產生的隨機序列成爲密文。

                                 ④解密:加密過程的逆過程,即由密文恢復出明文的過程成爲解密。

                                 ⑤密鑰:加密與解密的算法通常都需要一組密鑰參與控制。加密過程中使用的密鑰成爲加密密鑰,解密過程

                                     中使用的密鑰稱爲解密密鑰。

         

                       2、加解密算法

                                (1)對稱加密算法(私鑰加密或單鑰加密)

                                          加密和解密過程的密鑰相同。

                                                 優點:效率高、速度快、空間佔用小、加密強度高。

                                                 缺點:參與方都需要提前持有密鑰,一旦有人泄露則安全性被破壞。

                                          對稱加密根據明文加密方式的不同又分爲流密碼和分組密碼兩種。流密碼是指明文消息按字符逐位地

                                   加密,而分組密碼是將明文消息進行分組,逐組地進行加密。

                               (2)非對稱加密算法

                                        非對稱加密中,加密密鑰與解密密鑰不同,分別稱爲公鑰和私鑰。私鑰一般需要通過隨機數算法生成,

                                 公鑰可以根據私鑰生成。公鑰一般是公開的,是他人可獲取地,任何人可用其進行加密從而向特定地接收方

                                 傳送消息。私鑰一般是個人持有,用於解密過程。

                                        非對稱加密算法地優點是公私鑰分開,不安全通道也可使用。缺點是速度較慢,加密強度也不如對稱。

                       3、加解密算法地基本操作

                                  替換:用明文以外的其他字符以一定的規律去代替明文中出現的字符,從而生成密文來迷惑攻擊者。

                                  位移:在生成的密文中不增加明文以外的新的字符,通過改變明文中字符出現的順序來達到加密的效果。

                                  異或: 因爲在現代加密解密編碼中大多數是對於0和1的比特序列進行運算操作,所以引入異或概念。

           

             (三)消息驗證碼和數字簽名

                       1、消息驗證和消息驗證碼

                                 消息驗證是指驗證者驗證所接收到的消息是否確實來自真正的的發送方,並且消息在傳遞的過程中沒被修改 

                          的過程。消息認證是抗擊僞裝、內容篡改、序號篡改、計時篡改和信源抵賴的有效方法。

                                 加密技術和數字簽名可用來實現消息驗證,但更爲簡單的實現方法是利用消息驗證碼。

                                 消息驗證碼(MAC)是一種認證技術,是指消息被一密鑰控制的公開函數作用後產生的,用於認證的、固定

                          長度的數值,也成爲密碼校驗和。認證碼與通信中的檢錯碼不同,檢錯碼用來檢驗由於通信缺陷而導致消息發生

                          的錯誤,而認證碼用來防止攻擊者惡意篡改或僞造消息。

                       2、數字簽名

                                 對簽名的基本要求是無法僞造、容易認證和不可抵賴。在我國設立了電子簽名法,承認數字簽名和手寫簽名

                          具有同等的法律效應。如果一份消息附帶有某人的數字簽名,那麼可以確信該消息確實是從該用戶處發出的,因

                          此,數字簽名也可以說是連接加密技術和認證技術的橋樑。

                                一般而言,最簡單的數字簽名就是發送方將整個消息用自己的私鑰加密,接收方用發送方的公鑰解密,解密

                          成功就可驗證確實是發送方的簽名,但非常耗時。因此,一般是對消息用散列函數求消息摘要,然後發送方用私

                          鑰對消息摘要加密,這個加密的信息摘要就是發送方的數字簽名,將其附在文件後,一起發送給接收方。驗證籤

                          名時,接收方先用發送方的公鑰解密數字簽名,然後將提取到的散列值與自己計算該文件的散列值相比較,如果

                          相同就表明該簽名是有效的。

              

 

                                           

                       

 

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