一、什麼是區塊鏈?
簡而言之,區塊鏈就是由許多包含資訊的區塊組成的鏈條。區塊鏈技術通過給數字資訊標記時間戳
,使其無法回溯或篡改。區塊鏈不需要銀行或政府第三方機構的參與,用於金錢、產權、合同等的安全交易,當資料記錄到區塊鏈上後,幾乎不可更改。
區塊鏈是一種軟體協議(類似於email使用的SMTP
),但區塊鏈必須執行在網際網路之上,由於對其它技術的影響,因此也被成為元技術。區塊鏈由資料庫、軟體應用、互相連線的計算機等部分組成。
區塊鏈有時候被用於指比特幣區塊鏈,以太坊區塊鏈,或其它虛擬貨幣、數字代幣,但通常情況下是指分散式賬本
。
二、區塊鏈不是比特幣!
- 區塊鏈不是比特幣,是比特幣使用了區塊鏈技術
- 比特幣是數字代幣,區塊鏈是跟蹤記錄數字代幣擁有者的
賬本
- 沒有區塊鏈就沒有比特幣,但是沒有比特幣照樣能有區塊鏈
三、區塊鏈的結構
接下來,我們通過理解區塊鏈的組成部分來學習它的結構
3.1 什麼是區塊?
區塊鏈是包含資訊的區塊組成的鏈條,儲存在區塊中的資料取決於區塊鏈的型別。例如,一個比特幣區塊含有傳送者、接收者、交易的比特幣數量資訊。
鏈上的第一個區塊被稱為創世區塊
,其後的每一個區塊都與前一個區塊相連線。
3.2 理解SHA256 - Hash
每一個區塊都有一個獨一無二的雜湊(Hash)值
,可以理解成一個指紋,用於鑑定區塊及其中所有資訊的唯一性。所以當區塊建立之後,區塊中任何資訊的更改都會造成雜湊值發生改變。
因此,當你想檢測各區塊中資訊是否發生改變時,雜湊值是非常有用的。如果區塊的雜湊值改變,那就不是原來的區塊了。每一個區塊都含有:
- 資料
- Hash值
- 上一個區塊的Hash值
舉例如下,假設有一個三個區塊的區塊鏈,第一個區塊沒有上一個區塊,即創世區塊
,第二次區塊含有第一個區塊的雜湊值,第三個區塊含有第二個區塊的雜湊值。
因此,除創世區塊
外,所有區塊均含有上一個區塊的雜湊值,這是保證區塊鏈安全的關鍵技術,下面將講解它的工作原理。
假設攻擊者可以更改區塊2中的資料,區塊2的雜湊值對應發生改變,但是區塊3依然包含原區塊2雜湊值,這會造成區塊3以及所有後續區塊失效,因為沒有上一個區塊正確的雜湊值。
因此,更改一個區塊會使得後續所有區塊都失效。
3.3 工作量證明
雜湊是防止篡改的良好機制,但如今高速計算機每秒鐘能計算出成千上萬個雜湊值,攻擊者在幾分鐘之內就能篡改一個區塊,然後重新計算所有區塊的雜湊值使得整個區塊鏈失效。
為了避免這個問題,區塊鏈使用了作量證明
的概念,一種降低區塊建立速度的機制。工作量證明是一個計算問題,需要花費一定資源來解決,而驗證這個問題的答案所需要的時間比解決起來花費的資源要少得多。
在比特幣網路中,新增一個新的區塊到區塊鏈上需要花大概10分鐘計算出所需的工作量。在上例中,如果攻擊者更改了區塊2中的資料,就需要花10分鐘計算出區塊2的工作量,然後才能更改區塊3以及後續區塊中的資料。
工作量證明機制讓篡改區塊變得非常困難,篡改鏈上一個區塊則需要計算後續所有區塊的工作量,因此,雜湊計算和工作量證明機制保證了區塊鏈的安全。
3.4 分散式P2P網路
另外,還有一種保證區塊鏈安全的方法,那就是分散式。區塊鏈使用了分散式的點對點網路,所有人都可以加入,而不是通過中心化的實體來管理。當有人加入到這個網路中時,他會獲得區塊鏈的完整副本,每一臺計算機稱之為一個節點。
我們來看下,如果有人建立了新的區塊會發生什麼。新的區塊會被髮送給網路中的所有人,每個節點都需要驗證這個區塊,確保它沒有被篡改,驗證完成之後,每個節點將此區塊新增到各自的區塊鏈上。
網路中的所有節點有了共識機制
,他們對區塊是否有效達成一致,節點會拒絕被篡改過的區塊。
因此,如果想成功的篡改區塊鏈:
- 需要篡改鏈上的所有區塊
- 重新計算所有區塊的工作量
- 控制區塊鏈網路中至少50%以上的
算力
以上都完成之後,篡改的區塊才能被網路中其它節點接受,這幾乎是一項不可能完成的任務,所以區塊鏈是相當安全的。
四、區塊鏈交易是如何執行的?
步驟一 有人發起一筆交易,該交易可能涉及加密貨幣,合同,記錄或其他資訊;
步驟二 在節點的幫助下,該交易被廣播到P2P網路中;
步驟三 藉助已知的演算法,網路中節點驗證交易的合法性和使用者狀態;
步驟四 交易一旦完成,新的區塊被新增到區塊鏈上,從此永久不可篡改。
五、為什麼需要區塊鏈技術?
以下列舉了區塊鏈技術如此受歡迎的原因
彈性恢復 區塊鏈通常是冗餘型的架構,即便在系統遭受大規模攻擊的情況下,多數節點依然可用。
高效率 在金融行業中,區塊鏈由於不需要冗長的驗證,結算和清算過程,可以通過更快地結算交易來發揮重要作用,因為一個對資料達成一致的共享賬本版本對所有持有者可用。
高可靠性 區塊鏈證明並驗證相關方的身份,移除了重複的記錄,降低費率並加速交易。
交易不可篡改 通過按時間順序註冊交易,區塊鏈證明了所有操作的不可更改性,這意味著任何新的區塊被新增到區塊鏈賬本後,都不能被刪除或更改。
阻止欺詐 共享資訊和共識的概念可防止由於欺詐或貪汙造成的可能損失。在以物流為基礎的行業中,區塊鏈作為一種監督機制,可以降低成本。
安全性 攻擊傳統資料庫會直接導致特定目標奔潰。有了分散式賬本技術,由於任何節點都有原區塊鏈的完整拷貝,即便大部分節點當機,系統依然可用。
透明性 公有鏈的更改會對所有人可見,這提供了更高的透明度,並且所有交易都是不可篡改的。
協作性 每個節點如何交換區塊鏈資訊都有標準規則,由此來保證所有交易的合法性,合法的交易會被逐筆新增到區塊鏈上。
去中心化 不需要第三方中介的介入,允許參與方之間直接交易。
六、區塊鏈的版本
區塊鏈 1.0:貨幣
DLT(分散式賬本技術)
的使用產生了第一個也是最明顯的應用:貨幣。它允許基於區塊鏈技術的金融交易,被用於貨幣和支付。比特幣便是這一領域最突出的例子。
區塊鏈 2.0:智慧合約
區塊鏈2.0時代的核心概念是智慧合約
,即“存活”在區塊鏈上的小型計算機程式,它是能自動執行的自由計算機程式,通過檢查預先定義好的條件,如簡化、驗證、實施,用於替代傳統的合同。
區塊鏈 3.0 Dapps
Dapp是Decentralized application
的縮寫,即執行在去中心化的點對點網路中的後端程式碼。和傳統的網際網路App一樣,Dapp也有前端程式碼和使用者介面,可使用任何能與後端互動的程式語言實現。
七、區塊鏈的種類
公有鏈
在公有鏈中,賬本對網路中所有人可見,它允許所有人驗證區塊,將包含交易資訊的區塊新增到區塊鏈中。公共網路鼓勵人們加入並自由使用,任何人都能使用公共區塊鏈網路。
私有鏈
私有鏈存在於某一機構中,它只允許該機構特定的人驗證和新增交易區塊,但允許網路中所有人檢視。
聯盟鏈
對於聯盟鏈,它只允許組織中的機構成員驗證和新增交易區塊,賬本可以公開或開放給部分組員。聯盟鏈用於多個機構之間,僅被已授權的節點控制。
八、區塊鏈的應用場景
如下表所示,區塊鏈技術在許多領域被廣泛使用
行業/領域 | 使用場景 |
---|---|
市場 | 1. 賬單資料監控和傳輸 2. 供應鏈網路中的配額管理 |
政府 | 1. 跨國個性化治理服務 2. 投票選舉,P2P債券 3. 檔案與合同的數字化,所有權的轉讓證明 4. 登記與鑑定 5. 遠端律師服務 6. 智慧財產權登記與匯率 7. 稅收收據公證服務和檔案登記 |
物聯網 | 1. 農業與無人機感測網路 2. 智慧家居網路 3. 綜合型智慧城市 4. 智慧家庭感測器 5. 無人駕駛汽車 6. 個性化機器人,機器人部件 7. 個性化無人機 8. 數字助理 |
健康 | 1. 健康資料管理 2. 通用EMR健康資料庫 3. 量化生活資料共享 4. 健康大資料流分析 5. 健康代幣 6. 個人發展合約 |
科學與藝術 | 1. 超級計算 2. 人群分析 3. P2P資源 4. 數字思維健康服務 |
金融與會計 | 1. 數字貨幣支付 2. 付款和匯款 3. 使用區塊鏈網路的去中心化資本市場 4. 部門間會計 5. 清算和交易及衍生品 6. 簿記 |
九、區塊鏈的重要實際使用案例
9.1 杜拜 - 智慧城市
聰明的杜拜政府在2016年引入了區塊鏈戰略,使用區塊鏈技術,企業家和開發人員將能夠與投資者和領先公司建立聯絡,目標是建設有利於各行各業發展的區塊鏈基礎系統,使杜拜成為世界上最幸福的城市。
9.2 提升客戶留存率
這是一個靠譜的專案,基於區塊鏈技術的CRaaS(客戶留存即服務)
,它基於為相關網路附屬的業務生成代幣。在這個系統中,區塊鏈上的交易是即時的,它可以儲存在使用者手機的數字投資組合中或通過瀏覽器訪問。
9.3 區塊鏈用於人道主義援助
2017年1月,聯合國世界糧食計劃啟動了一個名為人道主義援助的專案,該專案是在巴基斯坦信德的偏遠地區開發的。通過使用區塊鏈技術,被援助人員接收到的錢,食物和所有型別的交易都註冊在區塊鏈上,以此確保了過程的安全性和透明度。
十、加密貨幣比特幣:最流行的區塊鏈應用
什麼是加密貨幣?
和傳統貨幣美元一樣,加密貨幣是交易的媒介,但它旨在通過某些密碼學原理所實現的過程來交換數字資訊。加密貨幣是一種數字貨幣,被視為替代貨幣和虛擬貨幣的一種。
加密貨幣是一種基於數字加密技術的承載工具,貨幣持有人擁有所有權,沒有其他記錄保留所有者的身份。1998年,魏岱發表了“B-Money”,這是一個匿名的分散式電子現金系統。
什麼是比特幣?
比特幣是由一個化名中本聰
的人在2009年推出的,是一種不被任何中心機構或銀行管理的點對點技術。如今,發行比特幣和管理交易都在網路上集中進行,比特幣也是目前世界上主流的加密貨幣。比特幣是開源和為公眾設計的,沒人具有控制權,發行量總共2100萬枚,目前比特幣市值為120億美元。
任何人都可以使用比特幣而無需支付任何手續費,當你交易比特幣時,傳送者和接收者直接交易而不需要第三方參與。
區塊鏈和比特幣
比特幣是使用了區塊鏈技術的數字代幣,區塊鏈是跟蹤記錄代幣持有者的賬本。沒有區塊鏈就沒有比特幣,而沒有比特幣照樣能有區塊鏈。其它主流的加貨幣:
- 以太坊
- 位元現金
- 瑞波幣
- 萊特幣
十一、區塊鏈 vs 分散式資料庫
比較引數 | 區塊鏈 | 分散式資料庫 |
---|---|---|
操作性 | 插入 | 增刪改查 |
冗餘性 | 所有節點的完整拷貝 | 主從複製或多主備 |
共識 | 大部分節點對交易結果達成一致 | 分散式交易分提交和確認兩步進行 |
有效性 | 全域性規則在整個區塊鏈系統上實施 | 僅提供本地完整性約束 |
有無中介 | 無 | 必須有 |
機密性 | 完全保密 | 不完全保密 |
穩健性 | 完全穩健 | 不完全穩健 |
十二、關於區塊鏈的誤解
誤解 | 正解 |
---|---|
能解決所有問題 | 只是一個分散式資料庫 |
無需信任的技術 | 可以改變並傳遞信用 |
絕對安全 | 重點是完整性和機密性 |
智慧合約一定合法 | 只執行合法合同中的一部分 |
絕對不可變 | 從概率的角度講不可變 |
無需浪費電力 | 需要,但新興的區塊鏈會更節能 |
本質上不可售賣 | 是的,但新興的區塊鏈會提供更好的擴充套件性 |
十三、區塊鏈技術的侷限性
交易費過高 節點會優先完成獎勵更高的交易,這是由商業中供需關係原則決定的
交易確認慢 由於節點會優先完成獎勵更高的交易,交易量會積壓
賬本太小 資料量過大是獲取區塊鏈的完整副本是不可能的,這可能會影響不變性,共識機制等
交易成本,網路速度 在最初幾年被吹捧為“幾乎免費”之後,比特幣的交易成本變得相當高
錯誤風險 只要涉及人為因素,總會存在錯誤風險。區塊鏈用作資料庫,則所有傳入資料必須具有高質量。雖然人為干預可以迅速解決錯誤
資源浪費 所有執行在區塊鏈上的節點必須達成共識,這使得當機時間非常短暫,儲存在區塊鏈上的資料永久不可篡改。但是這些都是資源浪費,因為每個節點為達成共識不斷重複同一任務。
總結
- 區塊鏈是由包含資訊的區塊組成的鏈條
- 區塊鏈不是比特幣,是比特幣使用了區塊鏈技術
- 所有區塊都有唯一的雜湊值
- 每一個區塊都包含上一個區塊的雜湊值
- 向區塊鏈(這裡指比特幣)中新增區塊需要工作量證明
- 區塊鏈的資料庫分佈在多個節點,不是中心化的
- 區塊鏈技術具有彈性恢復、去中心化、高效率、高可靠和交易不可篡改的特點。
- 區塊鏈的三個版本,區塊鏈1.0:貨幣,區塊鏈2.0:智慧合約,區塊鏈3.0:去中心化應用。
- 區塊鏈的三種型別:公有鏈、私有鏈、聯盟鏈
- 使用區塊鏈技術的不好之處包括交易費過高,交易確認慢,賬本太小,錯誤風險
- 區塊鏈的重要實際使用案例有:杜拜智慧城市,提升客戶留存率,聯合國人道主義救援專案
- 比特幣使用了區塊鏈技術,不被任何中心機構和銀行控制