天天看點

區塊鍊是什麼區塊鍊是什麼?

區塊鍊是什麼?

一 、什麼是區塊鍊?

       區塊鍊(Blockchain)是由節點參與的分布式資料庫系統[1],它的特點是不可更改,不可僞造,也可以将其了解為賬簿系統(ledger)。它是比特币的一個重要概念,完整比特币區塊鍊的副本,記錄了其代币(token)的每一筆交易。通過這些資訊,我們可以找到每一個位址,在曆史上任何一點所擁有的價值。

      區塊鍊是由一串使用密碼學方法産生的資料塊組成的,每一個區塊都包含了上一個區塊的哈希值(hash),從創始區塊(genesis block)開始連接配接到目前區塊,形成塊鍊。每一個區塊都確定按照時間順序在上一個區塊之後産生,否則前一個區塊的哈希值是未知的。這些特征使得比特币的雙花(double-spending)非常困難。區塊鍊是比特币的核心創新。

      區塊鍊概念的出現,首先是在中本聰的比特币白皮書[2]中提到的,但是以工作量證明鍊(proof-of-work chain)的形式而存在,以下是中本聰對區塊鍊概念的描述:

      時間戳伺服器通過對以區塊(block)形式存在的一組資料,實施随機散列而加上時間戳,并将該随機散列進行廣播,就像在新聞或世界性新聞討論區網絡(Usenet)的發帖一樣 。顯然,該時間戳能夠證明特定資料必然于某特定時間是的确存在的,因為隻有在該時刻存在了才能擷取相應的随機散列值。每個時間戳應當将前一個時間戳納入其随機散列值中,每一個随後的時間戳都對之前的一個時間戳進行增強(reinforcing),這樣就形成了一條鍊(Chain)。

  節點始終都将最長的鍊視為正确鍊,并持續工作和延長它。如果有兩個節點同時廣播不同版本的新區塊,那麼其他節點在接收到該區塊的時間上,将存在先後差别。當此情形,他們将在率先收到的區塊基礎上進行工作,但也會保留另外一條鍊,以防後者變成最長鍊。該僵局(tie)的打破,要等到下一個工作量證明被發現,而其中的一條鍊被證明為是較長的一條,那麼在另一條分支鍊上工作的節點将轉換陣營,開始在較長的鍊上工作。

  比特币錢包的功能依賴于與區塊鍊的确認,一次有效檢驗稱為一次确認。通常一次交易要獲得數個确認才能進行。輕量級(SPV )[3]比特币錢包, 其用戶端在本地隻需儲存與使用者可支配交易相關的資料,而不會存儲完整的區塊鍊。

      區塊鍊技術是衆多加密數字貨币的核心,包括比特币、以太坊、萊特币、狗狗币等。維護區塊鍊的方式,有工作量證明(proof-of-work)、權益證明(proof-of-stake)等。

二、區塊鍊系統核心優勢

區塊鍊體系結構的核心優勢包括:

      任何節點都可以建立交易,在經過一段時間的确認之後,就可以合理地确認該交易是否為有效,區塊鍊可有效地防止雙花問題的發生。

對于試圖重寫或者修改交易記錄而言,它的成本是非常高的。

區塊鍊實作了兩種記錄:交易(transactions)以及區塊(blocks)。交易是被存儲在區塊鍊上的實際資料,而區塊則是記錄确認某些交易是在何時,以及以何種順序成為區塊鍊資料庫的一部分。交易是由參與者在正常過程中使用系統所建立的(在加密數字貨币的例子中,一筆交易是由bob将代币發送給alice所建立的),而區塊則是由我們稱之為礦工(miners)的機關負責建立。

三、區塊鍊工作原理

3.1 什麼是區塊?

     資料通過稱之為區塊(block)的檔案,永久記錄在數字貨币網絡上。它們好比是一個股票交易賬本。新的區塊會被添加到記錄(區塊鍊)的末端,而且一旦書寫就很難修改或移除。

3.2 .區塊結構

  大小                       字段               描述

     4位元組                     區塊大小        用位元組表示的該字段之後的區塊大小

     80位元組                   區塊頭            組成區塊頭的幾個字段

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

  可變的                    交易               記錄在區塊裡的交易資訊

3.3  區塊頭

      區塊頭由三組區塊中繼資料組成。首先是一組引用父區塊哈希值的資料,這組中繼資料用于将該區塊與區塊鍊中前一區塊相連接配接。第二組中繼資料,即難度、時間戳和nonce,與挖礦競争相關 。第三組中繼資料是merkle樹根[4](一種用來有效地總結區塊中所有交易的資料結構)。

3.4  區塊頭結構

     大小            字段                     描述

     4位元組          版本                     版本号,用于跟蹤軟體/協定的更新

     32位元組        父區塊哈希值         引用區塊鍊中父區塊的哈希值

     32位元組       Merkle根               該區塊中交易的merkle樹根的哈希值

     4位元組          時間戳                  該區塊産生的近似時間(精确到秒的Unix時間戳)

     4位元組          難度目标                該區塊工作量證明算法的難度目标

     4位元組          Nonce                   用于工作量證明算法的計數器

3.5  創始區塊

      比特币區塊鍊的第一個區塊,建立于2009年,我們稱之為創世區塊。它是比特币區塊鍊裡所有區塊的共同祖先,這意味着你從任一區塊,循鍊向後回溯,最終都将到達創世區塊。

      每一個節點都“知道”創世區塊的哈希值、結構、被建立的時間和裡面的一個交易。是以,每個節點都把該區塊作為區塊鍊的首區塊,進而建構了一個安全的、可信的區塊鍊的根。

      在chainparams.cpp裡可以看到創世區塊被編入到比特币核心用戶端裡。

創世區塊的哈希值為:

0000000000 19d6689c085ae165831e934ff763ae46a2a6c172b3f1b60a8ce26f

你可以在任何區塊浏覽網站搜尋這個區塊哈希值,如區塊元(blockmeta),你會發現一個用包含這個哈希值的連結來描述這一區塊内容的頁面:

http://blockmeta.com/block/000000000019d6689c085ae165831e934ff763ae46a2a6c172b3f1b60a8ce26f

在指令行使用比特币核心用戶端:

$ bitcoindgetblock000000000019d6689c085ae165831e934ff763ae46a2a6c172b3f1b60a8ce26f{   "hash":"000000000019d6689c085ae165831e934ff763ae46a2a6c172b3f1b60a8ce26f",   "confirmations":308321,   "size":285,    "height":0,   "version":1,   "merkleroot":"4a5e1e4baab89f3a32518a88c31bc87f618f76673e2cc77ab2127b7afdeda33b",  "tx":["4a5e1e4baab89f3a32518a88c31bc87f618f76673e2cc77ab2127b7afdeda33b"],   "time":1231006505,   "nonce":2083236893,   "bits":"1d00ffff",   "difficulty":1.00000000,   "nextblockhash":"00000000839a8e6886ab5951d76f411475428afc90947ee320161bbf18eb6048"}

      創世區塊包含一個隐藏的資訊。在其Coinbase交易的輸入中包含這樣一句話“The Times 03/Jan/2009 Chancellor on brink of secondbailout forbanks.”這句話是泰晤士報當天的頭版文章标題,引用這句話,既是對該區塊産生時間的說明,也可視為半開玩笑地提醒人們 , 一個獨立的貨币制度的重要性,同時告訴人們随着比特币的發展,一場前所未有的世界性貨币革命将要發生。該消息是由比特币的創立者中本聰嵌入創世區塊中。

四、區塊鍊分叉

      誠實礦工隻建立最長有效鍊上的最新區塊。“長度”(Length)指區塊鍊的累計計算難度,而不是是區塊數目。當包括在鍊中的所有區塊以及交易都有效,且是從創世區塊開始的鍊,才是被我們承認的有效區塊鍊。

       對于區塊鍊中的任意一個區塊,到達創世塊的路徑隻有一條。然而,從創世塊開始,會有分叉的情況出現。當建立兩個區塊的時間差隻有幾秒時,經常會建立出一個分叉[5]區塊。當發生這種情況時,節點就會在他們最先接收到的那個區塊上建立區塊。無論哪一個區塊包含在下一個區塊中,它都會成為主鍊的一部分,因為這條鍊更長。

       短鍊(無效鍊)中的區塊沒有什麼作用。當比特币用戶端切換至另外一條更長的區塊鍊時,短鍊中的所有有效交易區塊都重新添加到序列交易池中,且會包含在下一個區塊中。短鍊中的區塊獎勵不會呈現在最長的區塊鍊中,是以實際上他們是有損失的,這就是為什麼需要網絡強制的100個區塊的成熟時間來讓産生存在。

       在短鍊中的區塊,我們通常稱之為“孤兒塊”(orphans)。這是因為,在長鍊中這個生成交易并沒有父系區塊,因為這些生成交易在交易PRC清單中顯示為孤兒。一些礦池誤解這些資訊,聲稱他們的區塊是”孤兒“。事實上,這些區塊都有父系區塊,而且甚至可能有子系。

五、區塊鍊衍生概念

5.1 公鍊(public blockchain)

      公鍊,是指全世界任何人都可讀取、發送交易且能獲得有效确認的共識區塊鍊。公鍊的安全由工作量證明機制(pow)或權益證明機制(pos)等方式負責維護。它們是以經濟獎勵與加密數字驗證相結合的方式而存在的,并遵循着一般原則:每個人從中可獲得的經濟獎勵,與對共識過程作出的貢獻成正比。這些區塊鍊通常被認為是“完全去中心化”的。

5.2 共同體區塊鍊:(Consortium blockchains)

      共同體區塊鍊,是指其共識過程受到預選節點控制的區塊鍊;例如,有15個金融機構組成一個共同體,每個機構都運作着一個節點,而且為了使每個區塊生效需要獲得其中10個機構的确認。區塊鍊或許允許每個人都可讀取,或者隻受限于參與者,或走混合型的路線,例如區塊的根哈希及其API(應用程式接口)對外公開,API可允許外界用來作有限次數的查詢和擷取區塊鍊狀态的資訊。這些區塊鍊可視為“部分去中心化”。

5.3 私鍊(private blockchain),又稱無代币區塊鍊(Token-lessblockchain)

      完全私有的區塊鍊 , 是指其寫入權限僅在一個組織手裡的區塊鍊。讀取權限或者對外開放,或者被任意程度地進行了限制。相關的應用囊括資料庫管理、審計、甚至一個公司,但在很多的情形下,公共的可讀性并非是必須的。

      關于沒有原生代币的系統,是否能被稱為區塊鍊,仍然有着很大的争議。一些人認為,沒有代币的區塊鍊,可以一種分布式多版本并發控制(MVCC)資料庫[6]的形式而存在。多版本并發控制,可防止兩筆交易在資料庫中修改一個單一列,而區塊鍊,則是阻止兩筆交易在區塊鍊中的單個輸出( output)。

六、 公鍊和私鍊的特點

       共同體區塊鍊結合了公鍊的“低信任”和私鍊的“單一高度信任” , 提供了一種混合的模式,而私鍊可以更精确地描述為帶有一定程度數字加密功能,可管理(permissioned)的傳統中心化系統。

公鍊特點:

      中立、開放、去中心化;

      不可更改,不可撤銷;

      擁有網絡效應。

      抗審查性高;

私鍊特點:

      規則易于修改(交易,餘額等);

      交易成本低(交易隻需幾個受信節點驗證即可);

      讀取權限受限;

七、區塊鍊發展及應用

      區塊鍊技術作為數字貨币的底層技術,已引起了金融世界的高度重視,包括高盛、摩根大通、彙豐銀行、花旗銀行、紐約梅隆銀行、巴克萊銀行、瑞銀(UBS)、蘇格蘭皇家銀行、摩根士丹利在内的衆多金融機構,均與區塊鍊公司進行了合作,研究區塊鍊技術在金融市場的應用。世界經濟論壇更是大膽預測,到2027年世界GDP的10%将被存儲在區塊鍊網絡上[7]。

目前,與區塊鍊相關的應用及公司,包括但不限于:

公證防僞:公證通(factom)、Monegraph、Stampery、Bitproof、Uproov、Chronicled、Blockai;

智能合約:彩色币(coloredcoin)、閃電網絡(lightning-network)、側鍊(sidechain)、Tendermint、Chronicled、SuperNET、Blocknet、Tezos、Openchain、Crypti、Rubix、MultiChain、超級賬本(hyperledger)、The DAO(the-dao)、WAVES、Synereo、WINGS;

物聯網:ADEPT、Filament、Tilepay、Slock.it(slock-it);

身份驗證:BlockScore、Shocard、LaunchKey、BitNation;

預測市場:Augur、Truthcoin、Futarchy;

資産交易:比原鍊(bytom)、量子鍊(qtum)、Medici、SETL、Symbiont、DAH、SETL、小蟻(antshares)、SWARM、Koinify、Lighthouse、Safe Cash(safe-cash)、tØ(t0)、Linq、Colu、元界(metaverse)、瑞資鍊金融(reitschain)、公信寶(gxb)、萬維鍊(wanchain)、OpenLedger;

電子商務:OpenBazaar、Eris、BitXBay、Bitmarkets、Skuchain、Purse;

社交通訊:Gems、Codius、比特信(bitmessage)、Twister、Clucker、Diaspora;

檔案存儲:MaidSafe、Enigma、Filecoin、公證通(factom)、Storj、Tau、BitCloud、IPFS、Mediachain;

資料API:Coinalytics、Blocktrail、BlockCypher、TradeBlock、Scorechain、Gem;

其它:Tierion、Safe Cash(safe-cash)、bitwage、Crypti、IPFS、DECENT、億書(ebookchain)、好撲區塊鍊(hoopox)、Energo、天算(delphy);

銀行結算:R3CEV、Corda;

原文釋出時間為:2017年11月13日

本文作者:HelloMrR

本文來源:

CSDN

,如需轉載請聯系原作者。