區塊鏈技術最早應用於比特幣項目中,作為比特幣背後的分布式記帳平臺,在無集中式管理的情況下,比特幣網絡穩定運行了八年時間,支持了海量的交易記錄,並且從未出現嚴重的漏洞,這些都與巧妙的區塊鏈結構分不開。目前,區塊鏈技術自身仍然在飛速發展,相關規範和標準還在進一步成熟、完善中。狹義來講,區塊鏈是一種按照時間順序將數據區塊以順序相連的方式組合成的一種鏈式數據結構,並以密碼學方式保證的不可篡改和不可偽造的分布式帳本。廣義來講,區塊鏈技術是利用塊鏈式數據結構來驗證與存儲數據、利用分布式節點共識算法來生成和更新數據、利用密碼學的方式保證數據傳輸和訪問的安全、利用由自動化腳本代碼組成的智能合約來編程和操作數據的一種全新的分布式基礎架構與計算方式。
區塊鏈的定義
不同組織或機構給出的區塊鏈定義如下:
(1)維基百科給出的定義為:
A blockchain, originally block chain, is a continuously growing list of records, called blocks, which are linked and secured using cryptography. Each block typically contains a cryptographic hash of the previous block, a timestamp and transaction data. By design, a blockchain is inherently resistant to modification of the data. It is "an open, distributed ledger that can record transactions between two parties efficiently and in a verifiable and permanent way". For use as a distributed ledger, a blockchain is typically managed by a peer-to-peer network collectively adhering to a protocol for validating new blocks. Once recorded, the data in any given block cannot be altered retroactively without the alteration of all subsequent blocks, which requires collusion of the network majority.
簡而言之,區塊鏈是一個分布式的帳本,區塊鏈網絡系統無中心地維護著一條不停增長的有序的數據區塊,每一個數據區塊內都有一個時間戳和一個指針,指向上一個區塊,一旦數據上鏈之後便不能更改。該定義中,將區塊鏈類比為一種分布式資料庫技術,通過維護數據塊的鏈式結構,可以維持持續增長的、不可篡改的數據記錄。
(2)中國區塊鏈技術與產業發展論壇給的定義為:
區塊鏈是分布式數據存儲、點對點傳輸、共識機制、加密算法等計算機技術的新型應用模式。
(3)數據中心聯盟給出的定義為:
區塊鏈是一種由多方共同維護,使用密碼學保證傳輸和訪問安全,能夠實現數據一致存儲、無法篡改、無法抵賴的技術體系。典型的區塊鏈是以塊鏈結構實現數據存儲的。一般地,我們可以理解為,區塊鏈實質上是由多方參與共同維護的一個持續增長的分布式資料庫,是一種分布式共享帳本(Distributed Shared Ledger)區塊鏈通過智能合約維護著一條不停增長的有序的數據鏈,讓參與的系統中任意多個節點,通過密碼學算法把一段時間系統內的全部信息交流數據計算和記錄到一個數據塊(Block)中,並且生成該數據塊的指紋用於連結(Chain)下一個數據塊和校驗,系統中所有的參與節點共同認定記錄是否為真,從而保證區塊內的信息無法偽造和更改。其核心也就在於通過分布式網絡、時序不可篡改的密碼學帳本及分布式共識機制建立交易雙方之間的信任關係,利用由自動化腳本組成的智能合約來編程和操作數據,最終實現由信息互聯向價值互聯的進化。
區塊鏈的特點
區塊鏈作為一個可以引領信任的機器,能夠通過運用哈希算法、數字籤名、時間戳、分布式共識和經濟激勵等手段,在節點無需互相信任的分布式系統中建立信用,實現點對點交易和協作,從而為中心化機構普遍存在的高成本、低效率和數據存儲不安全等問題提供了解決方案。近年來,伴隨著國內外研究機構對區塊鏈技術的研究與應用,區塊鏈的應用前景受到各行各業的高度重視,被認為是繼大型機、個人電腦、網際網路、移動社交網絡之後計算範式的第五次顛覆式創新,是人類信用進化史上繼血親信用、貴金屬信用、央行紙幣信用之後的第四個裡程碑。它被視為下一代雲計算的雛形,有望徹底重塑人類社會獲得形態,並實現從現在的信息網際網路到價值網際網路的轉變。
區塊鏈技術具有分布式、去中心化、可靠資料庫、開源可編程、集體維護、安全可信、交易準匿名等諸多特點,可由以下漸進逼近的方式加以定義:
①一個分布式的連結帳本,每個帳本就是一個區塊;
②基於分布式的共識算法來決定記帳者;
③帳本內交易由密碼學籤名和哈希算法保證不可篡改;
④帳本按產生時間順序連結,當前帳本含有上一個帳本的哈希值,帳本間的連結保證不可篡改;
⑤所有交易在帳本中可追溯。
分布式(去中心化)結構
區塊鏈數據的存儲、傳輸、驗證等過程均基於分布式的系統結構,與傳統集中記帳方式不同,整個網絡不依賴一個中心化的硬體或管理機構。區塊鏈的帳本不是存儲於某一個資料庫中心,也不需要第三方權威機構來負責記錄和管理,而是分散在網絡中的每一個節點上,每個節點都有一個該帳本的副本,全部節點的帳本同步更新。作為區塊鏈的一種部署模式,公有鏈中所有參與節點的權利和義務都是均等的,系統中的數據塊由整個系統中具有維護功能的節點來共同維護,任一節點停止工作都不會影響系統整體的運作。
集體維護
區塊鏈系統的資料庫採用分布式存儲,任一參與節點都可以擁有一份完整的資料庫拷貝,任一節點的損壞或失去都不會影響整個系統的運作,整個資料庫由所有具有記帳功能的節點來共同維護。一旦信息經過驗證並添加至區塊鏈,就會永久地存儲起來,除非能夠同時控制住系統中超過51%的節點,否則單個節點上對數據的修改是無效的。參與系統的節點越多,資料庫的安全性就越高。
時序不可篡改
區塊鏈採用了帶有時間戳的鏈式區塊結構存儲數據,從而為數據添加了時間維度,具有極強的可追溯性和可驗證性;同時又通過密碼學算法和共識機制保證了區塊鏈的不可改性,進一步提高了區塊鏈的數據穩定性和可靠性。
開源可編程
區塊鏈系統通常是開源的,代碼高度透明公共鏈的數據和程序對所有人公開,任何人都可以通過接口查詢系統中的數據。區塊鏈平臺還提供靈活的腳本代碼系統,支持用戶創建高級的智能合約、貨幣和去中心化應用。例如,以太坊平臺提供了圖靈完備的腳本語言,供用戶來構建任何可以精確定義的智能合約或交易類型。
安全可信
區塊鏈技術採用非對稱密碼學原理對交易進行籤名,使得交易不能被偽造;同時利用哈希算法保證交易數據不能被輕易篡改,藉助分布式系統各節點的工作量證明等共識算法形成強大的算力來抵禦破壞者的攻擊,保證區塊鏈中的區塊以及區塊內的交易數據不可改和不可偽造,因此具有極高的安全性。通過數學原理和程序算法,確保系統運作規則公開透明,實現交易雙方在不需要藉助第三方權威機構信用背書下通過達成共識,能夠在去信任的環境自由安全地交換數據,使得對人的信任改成了對機器的信任,任何人為的幹預不起作用。
開放性
區塊鏈是一個開放的、信息高度透明的系統,任何人都可以加入區塊鏈,除了交易各方的私有信息被加密外,所有數據對其上每個節點都公開透明,每個節點都可以看到最新的完整的帳本,也能查詢到帳本上每一次交易。
準匿名性
由於節點之間的交換遵循固定的算法,其數據交互是無需信任的(區塊鏈中的程序規則會自行判斷活動是否有效),因此交易對手無須通過公開身份的方式讓對方對自己產生信任,對信用的累積非常有幫助。區塊鏈系統採用與用戶公鑰掛鈎的地址來做用戶標識,不需要傳統的基於PKI( Public Key Infrastructure)的第三方認證中心(Certificate Authority,a)頒發數字證書來確認身份。通過在全網節點運行共識算法,建立網絡中城市節點對全網狀態的共識,間接地建立了節點間的信任。用戶只需要公開地址,不需要公開真實身份,而且同一個用戶可以不斷變換地址。因此,在區塊鏈上的交易不和用戶真實身份掛鈎,只是和用戶的地址掛鈎,具有交易的準匿名性。
正是因為有以上特點,區塊鏈才不同於傳統集中記帳方式,並將得到金融領域更大的關注,甚至引起了各個領域的相關機構和行業的濃厚興趣。