區塊鏈學習之一:區塊鏈技術與基本原理

區塊鏈是分佈式數據存儲、點對點傳輸、共識機制、加密算法等計算機技術的新型應用模式。區塊鏈(Blockchain),它本質上是一個去中心化的數據庫,同時做爲比特幣的底層技術,是一串使用密碼學方法相關聯產生的數據塊,每個數據塊中包含了一批次比特幣網絡交易的信息,用於驗證其信息的有效性(防僞)和生成下一個區塊。html

基本含義算法

狹義來說,區塊鏈是一種按照時間順序將數據區塊以順序相連的方式組合成的一種鏈式數據結構, 並以密碼學方式保證的不可篡改和不可僞造的分佈式帳本。數據庫

廣義來說,區塊鏈技術是利用塊鏈式數據結構來驗證與存儲數據、利用分佈式節點共識算法來生成和更新數據、利用密碼學的方式保證數據傳輸和訪問的安全、利用由自動化腳本代碼組成的智能合約來編程和操做數據的一種全新的分佈式基礎架構與計算方式。編程

區塊鏈系統與結構:安全

基礎架構模型:服務器

通常說來,區塊鏈系統由數據層、網絡層、共識層、激勵層、合約層和應用層組成。 網絡

  • 數據層封裝了底層數據區塊以及相關的數據加密和時間戳等技術;
  • 網絡層則包括分佈式組網機制、數據傳播機制和數據驗證機制等;
  • 共識層主要封裝網絡節點的各種共識算法;
  • 激勵層將經濟因素集成到區塊鏈技術體系中來,主要包括經濟激勵的發行機制和分配機制等;
  • 合約層主要封裝各種腳本、算法和智能合約,是區塊鏈可編程特性的基礎;
  • 應用層則封裝了區塊鏈的各類應用場景和案例。

該模型中,基於時間戳的鏈式區塊結構、分佈式節點的共識機制、基於共識算力的經濟激勵和靈活可編程的智能合約是區塊鏈技術最具表明性的創新點數據結構

區塊結構:架構

大小                           字段                描述 分佈式

4字節                       區塊大小    用字節表示的該字段以後的區塊大小 

80字節                     區塊頭       組成區塊頭的幾個字段 

1-9 (可變整數)   交易計數器  交易的數量 

可變的                    交易            記錄在區塊裏的交易信息

 

區塊鏈體系結構的核心優點:

  1. 任何節點均可以建立交易,在通過一段時間的確認以後,就能夠合理地確認該交易是否爲有效,區塊鏈可有效地防止雙方問題的發生。 
  2. 對於試圖重寫或者修改交易記錄而言,它的成本是很是高的。 
  3. 區塊鏈實現了兩種記錄:交易(transactions)以及區塊(blocks)。交易是被存儲在區塊鏈上的實際數據,而區塊則是記錄確認某些交易是在什麼時候,以及以何種順序成爲區塊鏈數據庫的一部分。交易是由參與者在正常過程當中使用系統所建立的(在加密數字貨幣的例子中,一筆交易是由bob將代幣發送給alice所建立的),而區塊則是由咱們稱之爲礦工(miners)的單位負責建立。

區塊鏈的基本特徵:

  1. 去中心化:因爲使用分佈式覈算和存儲,不存在中心化的硬件或管理機構,任意節點的權利和義務都是均等的,系統中的數據塊由整個系統中具備維護功能的節點來共同維護。
  2. 開放性:系統是開放的,除了交易各方的私有信息被加密外,區塊鏈的數據對全部人公開,任何人均可以經過公開的接口查詢區塊鏈數據和開發相關應用,所以整個系統信息高度透明。
  3. 自治性:區塊鏈採用基於協商一致的規範和協議(好比一套公開透明的算法)使得整個系統中的全部節點可以在去信任的環境自由安全的交換數據,使得對「人」的信任改爲了對機器的信任,任何人爲的干預不起做用。
  4. 信息不可篡改:一旦信息通過驗證並添加至區塊鏈,就會永久的存儲起來,除非可以同時控制住系統中超過51%的節點,不然單個節點上對數據庫的修改是無效的,所以區塊鏈的數據穩定性和可靠性極高。
  5. 匿名性:因爲節點之間的交換遵循固定的算法,其數據交互是無需信任的(區塊鏈中的程序規則會自行判斷活動是否有效),所以交易對手無須經過公開身份的方式讓對方本身產生信任,對信用的累積很是有幫助。

區塊鏈分類:公有區塊鏈、私有區塊鏈、行業區塊鏈

公有區塊鏈((PublicBlockChains))是指:世界上任何個體或者團體均可以發送交易,且交易可以得到該區塊鏈的有效確認,任何人均可以參與其共識過程。

行業區塊鏈((ConsortiumBlockChains)):由某個羣體內部指定多個預選的節點爲記帳人,每一個塊的生成由全部的預選節點共同決定(預選節點參與共識過程),其餘接入節點能夠參與交易,但不過問記帳過程(本質上仍是託管記帳,只是變成分佈式記帳,預選節點的多少,如何決定每一個塊的記帳者成爲該區塊鏈的主要風險點),其餘任何人能夠經過該區塊鏈開放的API進行限定查詢。

私有區塊鏈((privateBlockChains)):僅僅使用區塊鏈的總帳技術進行記帳,能夠是一個公司,也能夠是我的,獨享該區塊鏈的寫入權限,本鏈與其餘的分佈式存儲方案沒有太大區別。

區塊鏈的應用行業——物聯網

應用場景分析:

1.經過 Transaction 產生對應的行爲,爲每個設備分配地址 Address,給該地址注入必定的費用,能夠執行相關動做,從而達到物聯網的應用。相似於:PM2.5監測點數據獲取,服務器 租賃,網絡攝像頭 數據調用,DNS服務器 等。

2. 隨着物聯網設備的增多,Edge 計算需求的加強,大量設備之間須要經過分佈式自組織的管理模式,而且對容錯性要求很高。區塊鏈自身分佈式和抗攻擊的特色能夠很好地試用到這一場景中。

物流供應鏈:

供應鏈行業每每涉及到諸多實體,包括物流、資金流、信息流等,這些實體之間存在大量複雜的協做和溝通。傳統模式下,不一樣實體各自保存各自的供應鏈信息,嚴重缺少透明度,形成了較高的時間成本和金錢成本,並且一旦出現問題(冒領、貨物假冒等)難以追查和處理。

——經過區塊鏈各方能夠得到一個透明可靠的統一信息平臺,能夠實時查看狀態,下降物流成本,追溯物品的生產和運送整個過程,從而提升供應鏈管理的效率。當發生糾紛時,舉證和追查也變得更加清晰和容易。

公共網絡服務:

現有的互聯網能正常運行,離不開不少近乎免費的網絡服務,例如域名服務(DNS)。任何人均可以避免費查詢到域名,沒有 DNS,如今的各類網站基本就沒法訪問了。所以,對於網絡系統來講,相似的基礎服務必需要能作到安全可靠,而且低成本。

區塊鏈技術剛好具有這些特色,基於區塊鏈打造的 DNS 系統,將再也不會出現各類錯誤的查詢結果,而且能夠穩定可靠的提供服務。

區塊鏈核心技術:

區塊鏈主要解決的交易的信任和安全問題,所以它針對這個問題提出了四個技術創新:

  • 第一個叫分佈式帳本,就是交易記帳由分佈在不一樣地方的多個節點共同完成,並且每個節點都記錄的是完整的帳目,所以它們均可以參與監督交易合法性,同時也能夠共同爲其做證。不一樣於傳統的中心化記帳方案,沒有任何一個節點能夠單獨記錄帳目,從而避免了單一記帳人被控制或者被賄賂而記假帳的可能性。另外一方面,因爲記帳節點足夠多,理論上講除非全部的節點被破壞,不然帳目就不會丟失,從而保證了帳目數據的安全性。
  • 第二個叫作對稱加密和受權技術存儲在區塊鏈上的交易信息是公開的,可是帳戶身份信息是高度加密的,只有在數據擁有者受權的狀況下才能訪問到,從而保證了數據的安全和我的的隱私。
  • 第三個叫作共識機制,就是全部記帳節點之間怎麼達成共識,去認定一個記錄的有效性,這既是認定的手段,也是防止篡改的手段。區塊鏈提出了四種不一樣的共識機制,適用於不一樣的應用場景,在效率和安全性之間取得平衡。以比特幣爲例,採用的是工做量證實,只有在控制了全網超過51%的記帳節點的狀況下,纔有可能僞造出一條不存在的記錄。當加入區塊鏈的節點足夠多的時候,這基本上不可能,從而杜絕了造假的可能。
  • 最後一個技術特色叫智能合約,智能合約是基於這些可信的不可篡改的數據,能夠自動化的執行一些預先定義好的規則和條款。以保險爲例,若是說每一個人的信息(包括醫療信息和風險發生的信息)都是真實可信的,那就很容易的在一些標準化的保險產品中,去進行自動化的理賠。
相關文章
相關標籤/搜索
本站公眾號
   歡迎關注本站公眾號,獲取更多信息