區塊鏈是分布式數據存儲、點對點傳輸、共識機制、加密算法等計算機技術的新型應用模式。區塊鏈(Blockchain),它本質上是一個去中心化的數據庫,同時作為比特幣的底層技術,是一串使用密碼學方法相關聯產生的數據塊,每一個數據塊中包含了一批次比特幣網絡交易的信息,用於驗證其信息的有效性(防偽)和生成下一個區塊。
基本含義:
狹義來講,區塊鏈是一種按照時間順序將數據區塊以順序相連的方式組合成的一種鏈式數據結構, 並以密碼學方式保證的不可篡改和不可偽造的分布式賬本。
廣義來講,區塊鏈技術是利用塊鏈式數據結構來驗證與存儲數據、利用分布式節點共識算法來生成和更新數據、利用密碼學的方式保證數據傳輸和訪問的安全、利用由自動化腳本代碼組成的智能合約來編程和操作數據的一種全新的分布式基礎架構與計算方式。
區塊鏈系統與結構:
基礎架構模型:
一般說來,區塊鏈系統由數據層、網絡層、共識層、激勵層、合約層和應用層組成。
- 數據層封裝了底層數據區塊以及相關的數據加密和時間戳等技術;
- 網絡層則包括分布式組網機制、數據傳播機制和數據驗證機制等;
- 共識層主要封裝網絡節點的各類共識算法;
- 激勵層將經濟因素集成到區塊鏈技術體系中來,主要包括經濟激勵的發行機制和分配機制等;
- 合約層主要封裝各類腳本、算法和智能合約,是區塊鏈可編程特性的基礎;
- 應用層則封裝了區塊鏈的各種應用場景和案例。
該模型中,基於時間戳的鏈式區塊結構、分布式節點的共識機制、基於共識算力的經濟激勵和靈活可編程的智能合約是區塊鏈技術最具代表性的創新點
區塊結構:
大小 字段 描述
4字節 區塊大小 用字節表示的該字段之后的區塊大小
80字節 區塊頭 組成區塊頭的幾個字段
1-9 (可變整數) 交易計數器 交易的數量
可變的 交易 記錄在區塊里的交易信息
區塊鏈體系結構的核心優勢:
- 任何節點都可以創建交易,在經過一段時間的確認之后,就可以合理地確認該交易是否為有效,區塊鏈可有效地防止雙方問題的發生。
- 對於試圖重寫或者修改交易記錄而言,它的成本是非常高的。
- 區塊鏈實現了兩種記錄:交易(transactions)以及區塊(blocks)。交易是被存儲在區塊鏈上的實際數據,而區塊則是記錄確認某些交易是在何時,以及以何種順序成為區塊鏈數據庫的一部分。交易是由參與者在正常過程中使用系統所創建的(在加密數字貨幣的例子中,一筆交易是由bob將代幣發送給alice所創建的),而區塊則是由我們稱之為礦工(miners)的單位負責創建。
區塊鏈的基本特征:
- 去中心化:由於使用分布式核算和存儲,不存在中心化的硬件或管理機構,任意節點的權利和義務都是均等的,系統中的數據塊由整個系統中具有維護功能的節點來共同維護。
- 開放性:系統是開放的,除了交易各方的私有信息被加密外,區塊鏈的數據對所有人公開,任何人都可以通過公開的接口查詢區塊鏈數據和開發相關應用,因此整個系統信息高度透明。
- 自治性:區塊鏈采用基於協商一致的規范和協議(比如一套公開透明的算法)使得整個系統中的所有節點能夠在去信任的環境自由安全的交換數據,使得對“人”的信任改成了對機器的信任,任何人為的干預不起作用。
- 信息不可篡改:一旦信息經過驗證並添加至區塊鏈,就會永久的存儲起來,除非能夠同時控制住系統中超過51%的節點,否則單個節點上對數據庫的修改是無效的,因此區塊鏈的數據穩定性和可靠性極高。
- 匿名性:由於節點之間的交換遵循固定的算法,其數據交互是無需信任的(區塊鏈中的程序規則會自行判斷活動是否有效),因此交易對手無須通過公開身份的方式讓對方自己產生信任,對信用的累積非常有幫助。
區塊鏈分類:公有區塊鏈、私有區塊鏈、行業區塊鏈
公有區塊鏈((PublicBlockChains))是指:世界上任何個體或者團體都可以發送交易,且交易能夠獲得該區塊鏈的有效確認,任何人都可以參與其共識過程。
行業區塊鏈((ConsortiumBlockChains)):由某個群體內部指定多個預選的節點為記賬人,每個塊的生成由所有的預選節點共同決定(預選節點參與共識過程),其他接入節點可以參與交易,但不過問記賬過程(本質上還是托管記賬,只是變成分布式記賬,預選節點的多少,如何決定每個塊的記賬者成為該區塊鏈的主要風險點),其他任何人可以通過該區塊鏈開放的API進行限定查詢。
私有區塊鏈((privateBlockChains)):僅僅使用區塊鏈的總賬技術進行記賬,可以是一個公司,也可以是個人,獨享該區塊鏈的寫入權限,本鏈與其他的分布式存儲方案沒有太大區別。
區塊鏈的應用行業——物聯網:
應用場景分析:
1.通過 Transaction 產生對應的行為,為每一個設備分配地址 Address,給該地址注入一定的費用,可以執行相關動作,從而達到物聯網的應用。類似於:PM2.5監測點數據獲取,服務器 租賃,網絡攝像頭 數據調用,DNS服務器 等。
2. 隨着物聯網設備的增多,Edge 計算需求的增強,大量設備之間需要通過分布式自組織的管理模式,並且對容錯性要求很高。區塊鏈自身分布式和抗攻擊的特點可以很好地試用到這一場景中。
物流供應鏈:
供應鏈行業往往涉及到諸多實體,包括物流、資金流、信息流等,這些實體之間存在大量復雜的協作和溝通。傳統模式下,不同實體各自保存各自的供應鏈信息,嚴重缺乏透明度,造成了較高的時間成本和金錢成本,而且一旦出現問題(冒領、貨物假冒等)難以追查和處理。
——通過區塊鏈各方可以獲得一個透明可靠的統一信息平台,可以實時查看狀態,降低物流成本,追溯物品的生產和運送整個過程,從而提高供應鏈管理的效率。當發生糾紛時,舉證和追查也變得更加清晰和容易。
公共網絡服務:
現有的互聯網能正常運行,離不開很多近乎免費的網絡服務,例如域名服務(DNS)。任何人都可以免費查詢到域名,沒有 DNS,現在的各種網站基本就無法訪問了。因此,對於網絡系統來說,類似的基礎服務必須要能做到安全可靠,並且低成本。
區塊鏈技術恰好具備這些特點,基於區塊鏈打造的 DNS 系統,將不再會出現各種錯誤的查詢結果,並且可以穩定可靠的提供服務。
區塊鏈核心技術:
區塊鏈主要解決的交易的信任和安全問題,因此它針對這個問題提出了四個技術創新:
- 第一個叫分布式賬本,就是交易記賬由分布在不同地方的多個節點共同完成,而且每一個節點都記錄的是完整的賬目,因此它們都可以參與監督交易合法性,同時也可以共同為其作證。不同於傳統的中心化記賬方案,沒有任何一個節點可以單獨記錄賬目,從而避免了單一記賬人被控制或者被賄賂而記假賬的可能性。另一方面,由於記賬節點足夠多,理論上講除非所有的節點被破壞,否則賬目就不會丟失,從而保證了賬目數據的安全性。
- 第二個叫做對稱加密和授權技術,存儲在區塊鏈上的交易信息是公開的,但是賬戶身份信息是高度加密的,只有在數據擁有者授權的情況下才能訪問到,從而保證了數據的安全和個人的隱私。
- 第三個叫做共識機制,就是所有記賬節點之間怎么達成共識,去認定一個記錄的有效性,這既是認定的手段,也是防止篡改的手段。區塊鏈提出了四種不同的共識機制,適用於不同的應用場景,在效率和安全性之間取得平衡。以比特幣為例,采用的是工作量證明,只有在控制了全網超過51%的記賬節點的情況下,才有可能偽造出一條不存在的記錄。當加入區塊鏈的節點足夠多的時候,這基本上不可能,從而杜絕了造假的可能。
- 最后一個技術特點叫智能合約,智能合約是基於這些可信的不可篡改的數據,可以自動化的執行一些預先定義好的規則和條款。以保險為例,如果說每個人的信息(包括醫療信息和風險發生的信息)都是真實可信的,那就很容易的在一些標准化的保險產品中,去進行自動化的理賠。