區塊鏈技術

區塊鏈(blockchain) 技術是指利用去中心化和去信任的方式集體維護一個可靠分佈式數據庫的技術。
關鍵詞:去中心化(Decentralized)、去信任(Trustless)、集體維護(Collectively maintain)、可靠數據庫(Reliable Database)。程序員

0x01. 區塊鏈技術介紹  

區塊鏈技術是維護一個不斷增加的數據記錄的分佈式數據庫,這些數據經過密碼學的技術和以前被寫入的全部數據關聯,使得第三方甚至是節點的擁有者難以篡改。區塊(block)包含有數據庫中實際須要保存的數據,這些數據經過區塊組織起來被寫入數據庫。也能夠將其理解爲帳簿系統(ledger)。
它是比特幣的一個重要概念,任何發生在此比特幣網絡上的交易會被約定的算法記錄到區塊鏈上,且知足如下條件:
- 包含一個分佈式數據庫
- 分佈式數據庫是區塊鏈的物理載體,區塊鏈是交易的邏輯載體,全部核心節點都應包含該條區塊鏈數據的全副本
- 區塊鏈按時間序列化Block,且是整個網絡交易數據的主體
- 區塊鏈只對添加有效,對其餘操做無效
- 基於非對稱加密的公私鑰驗證
- 記帳節點要求拜占庭將軍問題可解/避免
- 共識過程(consensus progress)是演化穩定的,即面對必定量的不一樣節點的矛盾數據不會崩潰。
- 共識過程可以解決double-spending問題web

0x02. 區塊鏈技術原理

以比特幣的區塊鏈爲例,你能夠把區塊鏈想象成一個比特幣的公共帳本,這個帳本:
1.存放在互聯網的各個比特幣節點上,每一個節點都有一份完整的備份
2.裏面記錄着自比特幣誕生以來的全部比特幣轉帳交易
3.帳本是分區塊存儲的,每一塊包含一部分交易記錄。每個區塊都會記錄着前一區塊的id,造成一個鏈狀結構,於是稱爲區塊鏈
4.當你要發起一筆比特幣交易的時候只需把交易信息廣播到p2p網絡中,礦工把你的交易信息記錄成一個新的區塊連到區塊鏈上,交易就完成了。算法

0x03. 區塊鏈技術應用

目前區塊鏈技術大體分爲三類:
公開區塊鏈(public blockchain)
例子:比特幣,Ethereum Frontier。公開區塊鏈上的數據全部人均可以訪問,全部人均可以發出交易等待被寫入區塊鏈。共識過程的參與者(對應比特幣中的礦工)經過密碼學技術以及內建的經濟激勵維護數據庫的安全。公開區塊鏈是徹底的分佈式。
協做區塊鏈(federated blockchain)
例子:Hyperledger以及德勤等會計所嘗試的審計系統。參與區塊鏈的節點是事先選擇好的,節點間極可能是有很好的網絡鏈接。這樣的區塊鏈上能夠採用非工做量證實的其餘共識算法,好比有100家金融機構之間創建了某個區塊鏈,規定必須67個以上的機構贊成纔算達成共識。這樣的區塊鏈上的數據能夠是公開的也能夠是這些節點參與者內部。部分意義上的分佈式。
私有區塊鏈(private blockchain)
例子:Eris Industries。參與的節點只有用戶本身,數據的訪問和使用有嚴格的權限管理。近期部分金融機構公佈的內部使用的區塊鏈技術大都語焉不詳,不過極可能都在這個範圍內。數據庫

區塊鏈技術的應用領域
1. 銀行業
做爲一種數字化,安全防干擾的賬戶,區塊鏈實現了銀行業的核心功能:即價值的安全儲存和轉移中心。也就是說,在未來的幾年內,一波基於區塊鏈技術的公司或將影響到銀行業。
2. 支付和轉帳
區塊鏈技術可以避開繁雜的系統,在付款人和收款人之間創造更直接的付款流程,不論是境內轉帳仍是跨境轉帳,這種方式都有着低價、迅速的特色,並且無需中間手續費。
3. 網絡安全
雖然區塊鏈的系統是公開的,但其核驗、發送等數據交流過程卻採用了先進的加密技術。這種技術不只確保了數據的正確來源,也確保了數據在中間過程不被人攔截。若是區塊鏈技術的應用更爲普遍,那麼其遭受黑客襲擊的機率也可能會降低,所以人們認爲區塊鏈系統要比傳統系統更爲穩妥。區塊鏈系統之因此能下降傳統網絡安全風險,一大緣由就是它解除了對中間人的需求。
4. 選舉
你們的投票「毫不可能被咱們——即程序員,學校管理員或學生修改、刪除。」
5. 智能合同
智能合同其實是在另外一個物體的行動上發揮功能的電腦程序。和普通電腦程序同樣,智能合同也是一種「若是-而後」功能,但區塊鏈技術實現了這些「合同」的自動填寫,無需人工介入。這種合同最終可能會取代法律行業的核心業務,即在商業和民事領域起草和管理合同的業務。
6. 股票交易
許多年來,各個公司都在千方百計簡化股票的購買、銷售和交易過程,新興的區塊鏈技術創企認爲他們可以超越以往,實現整個流程的自動化,提升安全性和效率。安全

0x04. 區塊鏈技術發展歷史

區塊鏈1.0 貨幣
區塊鏈2.0 合約
區塊鏈3.0 超越貨幣,經濟和市場的公正應用、協做應用網絡