區(qū)塊鏈是一種新型去中心化協(xié)議,能安全地存儲比特幣交易或其它數(shù)據(jù),信息不可偽造和篡改,可以自動執(zhí)行智能合約,無需任何中心化機(jī)構(gòu)的審核。交易既可以是比特幣這樣的數(shù)字貨幣,也可以是債權(quán)、股權(quán)、版權(quán)等數(shù)字資產(chǎn),區(qū)塊鏈技術(shù)解決了拜占庭將軍問題,大大降低了現(xiàn)實(shí)經(jīng)濟(jì)的信任成本與會計(jì)成本,重新定義了互聯(lián)網(wǎng)時(shí)代的產(chǎn)權(quán)制度。
一 、什么是區(qū)塊鏈?
區(qū)塊鏈(Blockchain)是由節(jié)點(diǎn)參與的分布式數(shù)據(jù)庫系統(tǒng)[1],它的特點(diǎn)是不可更改,不可偽造,也可以將其理解為賬簿系統(tǒng)(ledger)。它是比特幣的一個(gè)重要概念,完整比特幣區(qū)塊鏈的副本,記錄了其代幣(token)的每一筆交易。通過這些信息,我們可以找到每一個(gè)地址,在歷史上任何一點(diǎn)所擁有的價(jià)值。
區(qū)塊鏈?zhǔn)怯梢淮褂妹艽a學(xué)方法產(chǎn)生的數(shù)據(jù)塊組成的,每一個(gè)區(qū)塊都包含了上一個(gè)區(qū)塊的哈希值(hash),從創(chuàng)始區(qū)塊(genesis block)開始連接到當(dāng)前區(qū)塊,形成塊鏈。每一個(gè)區(qū)塊都確保按照時(shí)間順序在上一個(gè)區(qū)塊之后產(chǎn)生,否則前一個(gè)區(qū)塊的哈希值是未知的。這些特征使得比特幣的雙花(double-spending)非常困難。區(qū)塊鏈?zhǔn)潜忍貛诺暮诵膭?chuàng)新。
區(qū)塊鏈概念的出現(xiàn),首先是在中本聰?shù)谋忍貛虐灼鳾2]中提到的,但是以工作量證明鏈(proof-of-work chain)的形式而存在,以下是中本聰對區(qū)塊鏈概念的描述:
時(shí)間戳服務(wù)器通過對以區(qū)塊(block)形式存在的一組數(shù)據(jù),實(shí)施隨機(jī)散列而加上時(shí)間戳,并將該隨機(jī)散列進(jìn)行廣播,就像在新聞或世界性新聞組網(wǎng)絡(luò)(Usenet)的發(fā)帖一樣 。顯然,該時(shí)間戳能夠證實(shí)特定數(shù)據(jù)必然于某特定時(shí)間是的確存在的,因?yàn)橹挥性谠摃r(shí)刻存在了才能獲取相應(yīng)的隨機(jī)散列值。每個(gè)時(shí)間戳應(yīng)當(dāng)將前一個(gè)時(shí)間戳納入其隨機(jī)散列值中,每一個(gè)隨后的時(shí)間戳都對之前的一個(gè)時(shí)間戳進(jìn)行增強(qiáng)(reinforcing),這樣就形成了一條鏈(Chain)。
節(jié)點(diǎn)始終都將最長的鏈視為正確鏈,并持續(xù)工作和延長它。如果有兩個(gè)節(jié)點(diǎn)同時(shí)廣播不同版本的新區(qū)塊,那么其他節(jié)點(diǎn)在接收到該區(qū)塊的時(shí)間上,將存在先后差別。當(dāng)此情形,他們將在率先收到的區(qū)塊基礎(chǔ)上進(jìn)行工作,但也會保留另外一條鏈,以防后者變成最長鏈。該僵局(tie)的打破,要等到下一個(gè)工作量證明被發(fā)現(xiàn),而其中的一條鏈被證實(shí)為是較長的一條,那么在另一條分支鏈上工作的節(jié)點(diǎn)將轉(zhuǎn)換陣營,開始在較長的鏈上工作。
比特幣錢包的功能依賴于與區(qū)塊鏈的確認(rèn),一次有效檢驗(yàn)稱為一次確認(rèn)。通常一次交易要獲得數(shù)個(gè)確認(rèn)才能進(jìn)行。輕量級(SPV )[3]比特幣錢包, 其客戶端在本地只需保存與用戶可支配交易相關(guān)的數(shù)據(jù),而不會存儲完整的區(qū)塊鏈。
區(qū)塊鏈技術(shù)是眾多加密數(shù)字貨幣的核心,包括比特幣、以太坊、萊特幣、狗狗幣等。維護(hù)區(qū)塊鏈的方式,有工作量證明(proof-of-work)、權(quán)益證明(proof-of-stake)等。
二、區(qū)塊鏈系統(tǒng)核心優(yōu)勢
區(qū)塊鏈體系結(jié)構(gòu)的核心優(yōu)勢包括:
任何節(jié)點(diǎn)都可以創(chuàng)建交易,在經(jīng)過一段時(shí)間的確認(rèn)之后,就可以合理地確認(rèn)該交易是否為有效,區(qū)塊鏈可有效地防止雙花問題的發(fā)生。
對于試圖重寫或者修改交易記錄而言,它的成本是非常高的。
區(qū)塊鏈實(shí)現(xiàn)了兩種記錄:交易(transactions)以及區(qū)塊(blocks)。交易是被存儲在區(qū)塊鏈上的實(shí)際數(shù)據(jù),而區(qū)塊則是記錄確認(rèn)某些交易是在何時(shí),以及以何種順序成為區(qū)塊鏈數(shù)據(jù)庫的一部分。交易是由參與者在正常過程中使用系統(tǒng)所創(chuàng)建的(在加密數(shù)字貨幣的例子中,一筆交易是由bob將代幣發(fā)送給alice所創(chuàng)建的),而區(qū)塊則是由我們稱之為礦工(miners)的單位負(fù)責(zé)創(chuàng)建。
三、區(qū)塊鏈工作原理
3.1 什么是區(qū)塊?
數(shù)據(jù)通過稱之為區(qū)塊(block)的文件,永久記錄在數(shù)字貨幣網(wǎng)絡(luò)上。它們好比是一個(gè)股票交易賬本。新的區(qū)塊會被添加到記錄(區(qū)塊鏈)的末端,而且一旦書寫就很難修改或移除。
3.2 .區(qū)塊結(jié)構(gòu)
大小 | 字段 | 描述 |
---|---|---|
4字節(jié) | 區(qū)塊大小 | 用字節(jié)表示的該字段之后的區(qū)塊大小 |
80字節(jié) | 區(qū)塊頭 | 組成區(qū)塊頭的幾個(gè)字段 |
1-9 (可變整數(shù)) | 交易計(jì)數(shù)器 | 交易的數(shù)量 |
可變的 | 交易 | 記錄在區(qū)塊里的交易信息 |
3.3 區(qū)塊頭
區(qū)塊頭由三組區(qū)塊元數(shù)據(jù)組成。首先是一組引用父區(qū)塊哈希值的數(shù)據(jù),這組元數(shù)據(jù)用于將該區(qū)塊與區(qū)塊鏈中前一區(qū)塊相連接。第二組元數(shù)據(jù),即難度、時(shí)間戳和nonce,與挖礦競爭相關(guān) 。第三組元數(shù)據(jù)是merkle樹根[4](一種用來有效地總結(jié)區(qū)塊中所有交易的數(shù)據(jù)結(jié)構(gòu))。
3.4 區(qū)塊頭結(jié)構(gòu)
大小 | 字段 | 描述 |
---|---|---|
4字節(jié) | 版本 | 版本號,用于跟蹤軟件/協(xié)議的更新 |
32字節(jié) | 父區(qū)塊哈希值 | 引用區(qū)塊鏈中父區(qū)塊的哈希值 |
32字節(jié) | Merkle根 | 該區(qū)塊中交易的merkle樹根的哈希值 |
4字節(jié) | 時(shí)間戳 | 該區(qū)塊產(chǎn)生的近似時(shí)間(精確到秒的Unix時(shí)間戳) |
4字節(jié) | 難度目標(biāo) | 該區(qū)塊工作量證明算法的難度目標(biāo) |
4字節(jié) | Nonce | 用于工作量證明算法的計(jì)數(shù)器 |
?
3.4 創(chuàng)始區(qū)塊
比特幣區(qū)塊鏈的第一個(gè)區(qū)塊,創(chuàng)建于2009年,我們稱之為創(chuàng)世區(qū)塊。它是比特幣區(qū)塊鏈里所有區(qū)塊的共同祖先,這意味著你從任一區(qū)塊,循鏈向后回溯,最終都將到達(dá)創(chuàng)世區(qū)塊。
每一個(gè)節(jié)點(diǎn)都“知道”創(chuàng)世區(qū)塊的哈希值、結(jié)構(gòu)、被創(chuàng)建的時(shí)間和里面的一個(gè)交易。因此,每個(gè)節(jié)點(diǎn)都把該區(qū)塊作為區(qū)塊鏈的首區(qū)塊,從而構(gòu)建了一個(gè)安全的、可信的區(qū)塊鏈的根。
在chainparams.cpp里可以看到創(chuàng)世區(qū)塊被編入到比特幣核心客戶端里。
#FormatImgID_2#
創(chuàng)世區(qū)塊的哈希值為:
0000000000 19d6689c085ae165831e934ff763ae46a2a6c172b3f1b60a8ce26f
你可以在任何區(qū)塊瀏覽網(wǎng)站搜索這個(gè)區(qū)塊哈希值,如區(qū)塊元(blockmeta),你會發(fā)現(xiàn)一個(gè)用包含這個(gè)哈希值的鏈接來描述這一區(qū)塊內(nèi)容的頁面:
http://blockmeta.com/block/000000000019d6689c085ae165831e934ff763ae46a2a6c172b3f1b60a8ce26f
在命令行使用比特幣核心客戶端:
$ bitcoindgetblock 000000000019d6689c085ae165831e934ff763ae46a2a6c172b3f1b60a8ce26f{ "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"}
創(chuàng)世區(qū)塊包含一個(gè)隱藏的信息。在其Coinbase交易的輸入中包含這樣一句話“The Times 03/Jan/2009 Chancellor on brink of second bailout forbanks.”這句話是泰晤士報(bào)當(dāng)天的頭版文章標(biāo)題,引用這句話,既是對該區(qū)塊產(chǎn)生時(shí)間的說明,也可視為半開玩笑地提醒人們 , 一個(gè)獨(dú)立的貨幣制度的重要性,同時(shí)告訴人們隨著比特幣的發(fā)展,一場前所未有的世界性貨幣革命將要發(fā)生。該消息是由比特幣的創(chuàng)立者中本聰嵌入創(chuàng)世區(qū)塊中。
四、區(qū)塊鏈分叉
誠實(shí)礦工只創(chuàng)建最長有效鏈上的最新區(qū)塊。“長度”(Length)指區(qū)塊鏈的累計(jì)計(jì)算難度,而不是是區(qū)塊數(shù)目。當(dāng)包括在鏈中的所有區(qū)塊以及交易都有效,且是從創(chuàng)世區(qū)塊開始的鏈,才是被我們承認(rèn)的有效區(qū)塊鏈。
對于區(qū)塊鏈中的任意一個(gè)區(qū)塊,到達(dá)創(chuàng)世塊的路徑只有一條。然而,從創(chuàng)世塊開始,會有分叉的情況出現(xiàn)。當(dāng)創(chuàng)建兩個(gè)區(qū)塊的時(shí)間差只有幾秒時(shí),經(jīng)常會創(chuàng)建出一個(gè)分叉[5]區(qū)塊。當(dāng)發(fā)生這種情況時(shí),節(jié)點(diǎn)就會在他們最先接收到的那個(gè)區(qū)塊上創(chuàng)建區(qū)塊。無論哪一個(gè)區(qū)塊包含在下一個(gè)區(qū)塊中,它都會成為主鏈的一部分,因?yàn)檫@條鏈更長。
短鏈(無效鏈)中的區(qū)塊沒有什么作用。當(dāng)比特幣客戶端切換至另外一條更長的區(qū)塊鏈時(shí),短鏈中的所有有效交易區(qū)塊都重新添加到序列交易池中,且會包含在下一個(gè)區(qū)塊中。短鏈中的區(qū)塊獎(jiǎng)勵(lì)不會呈現(xiàn)在最長的區(qū)塊鏈中,因此實(shí)際上他們是有損失的,這就是為什么需要網(wǎng)絡(luò)強(qiáng)制的100個(gè)區(qū)塊的成熟時(shí)間來讓產(chǎn)生存在。
在短鏈中的區(qū)塊,我們通常稱之為“孤兒塊”(orphans)。這是因?yàn)椋陂L鏈中這個(gè)生成交易并沒有父系區(qū)塊,因?yàn)檫@些生成交易在交易PRC列表中顯示為孤兒。一些礦池誤解這些信息,聲稱他們的區(qū)塊是”孤兒“。事實(shí)上,這些區(qū)塊都有父系區(qū)塊,而且甚至可能有子系。
五、區(qū)塊鏈衍生概念
5.1 公鏈(public blockchain)
公鏈,是指全世界任何人都可讀取、發(fā)送交易且能獲得有效確認(rèn)的共識區(qū)塊鏈。公鏈的安全由工作量證明機(jī)制(pow)或權(quán)益證明機(jī)制(pos)等方式負(fù)責(zé)維護(hù)。它們是以經(jīng)濟(jì)獎(jiǎng)勵(lì)與加密數(shù)字驗(yàn)證相結(jié)合的方式而存在的,并遵循著一般原則:每個(gè)人從中可獲得的經(jīng)濟(jì)獎(jiǎng)勵(lì),與對共識過程作出的貢獻(xiàn)成正比。這些區(qū)塊鏈通常被認(rèn)為是“完全去中心化”的。
5.2 共同體區(qū)塊鏈:(Consortium blockchains)
共同體區(qū)塊鏈,是指其共識過程受到預(yù)選節(jié)點(diǎn)控制的區(qū)塊鏈;例如,有15個(gè)金融機(jī)構(gòu)組成一個(gè)共同體,每個(gè)機(jī)構(gòu)都運(yùn)行著一個(gè)節(jié)點(diǎn),而且為了使每個(gè)區(qū)塊生效需要獲得其中10個(gè)機(jī)構(gòu)的確認(rèn)。區(qū)塊鏈或許允許每個(gè)人都可讀取,或者只受限于參與者,或走混合型的路線,例如區(qū)塊的根哈希及其API(應(yīng)用程序接口)對外公開,API可允許外界用來作有限次數(shù)的查詢和獲取區(qū)塊鏈狀態(tài)的信息。這些區(qū)塊鏈可視為“部分去中心化”。
5.3 私鏈(private blockchain),又稱無代幣區(qū)塊鏈(Token-less blockchain)
完全私有的區(qū)塊鏈 , 是指其寫入權(quán)限僅在一個(gè)組織手里的區(qū)塊鏈。讀取權(quán)限或者對外開放,或者被任意程度地進(jìn)行了限制。相關(guān)的應(yīng)用囊括數(shù)據(jù)庫管理、審計(jì)、甚至一個(gè)公司,但在很多的情形下,公共的可讀性并非是必須的。
關(guān)于沒有原生代幣的系統(tǒng),是否能被稱為區(qū)塊鏈,仍然有著很大的爭議。一些人認(rèn)為,沒有代幣的區(qū)塊鏈,可以一種分布式多版本并發(fā)控制(MVCC)數(shù)據(jù)庫[6]的形式而存在。多版本并發(fā)控制,可防止兩筆交易在數(shù)據(jù)庫中修改一個(gè)單一列,而區(qū)塊鏈,則是阻止兩筆交易在區(qū)塊鏈中的單個(gè)輸出( output)。
六、 公鏈和私鏈的特點(diǎn)
共同體區(qū)塊鏈結(jié)合了公鏈的“低信任”和私鏈的“單一高度信任” , 提供了一種混合的模式,而私鏈可以更精確地描述為帶有一定程度數(shù)字加密功能,可管理(permissioned)的傳統(tǒng)中心化系統(tǒng)。
公鏈特點(diǎn):
私鏈特點(diǎn):
七、區(qū)塊鏈發(fā)展及應(yīng)用
區(qū)塊鏈技術(shù)作為數(shù)字貨幣的底層技術(shù),已引起了金融世界的高度重視,包括高盛、摩根大通、匯豐銀行、花旗銀行、紐約梅隆銀行、巴克萊銀行、瑞銀(UBS)、蘇格蘭皇家銀行、摩根士丹利在內(nèi)的眾多金融機(jī)構(gòu),均與區(qū)塊鏈公司進(jìn)行了合作,研究區(qū)塊鏈技術(shù)在金融市場的應(yīng)用。世界經(jīng)濟(jì)論壇更是大膽預(yù)測,到2027年世界GDP的10%將被存儲在區(qū)塊鏈網(wǎng)絡(luò)上[7]。
當(dāng)前,與區(qū)塊鏈相關(guān)的應(yīng)用及公司,包括但不限于:
公證防偽:公證通(factom)、Monegraph、Stampery、Bitproof、Uproov、Chronicled、Blockai;
智能合約:彩色幣(coloredcoin)、閃電網(wǎng)絡(luò)(lightning-network)、側(cè)鏈(sidechain)、Tendermint、Chronicled、SuperNET、Blocknet、Tezos、Openchain、Crypti、Rubix、MultiChain、超級賬本(hyperledger)、The DAO(the-dao)、WAVES、Synereo、WINGS、CyberMiles(cyber%e2%80%8b%e2%80%8bmiles);
物聯(lián)網(wǎng):ADEPT、Filament、Tilepay、Slock.it(slock-it);
身份驗(yàn)證:BlockScore、Shocard、LaunchKey、BitNation;
預(yù)測市場:Augur、Truthcoin、Futarchy;
資產(chǎn)交易:比原鏈(bytom)、量子鏈(qtum)、Medici、SETL、Symbiont、DAH、SETL、SWARM、Koinify、Lighthouse、Safe Cash(safe-cash)、t?(t0)、Linq、Colu、元界(metaverse)、瑞資鏈金融(reitschain)、OpenLedger;
電子商務(wù):OpenBazaar、Eris、BitXBay、Bitmarkets、Skuchain、Purse;
社交通訊:Gems、Codius、比特信(bitmessage)、Twister、Clucker、Diaspora;
文件存儲:MaidSafe、Enigma、Filecoin、公證通(factom)、Storj、Tau、Dfinity、BitCloud、IPFS、Mediachain;
數(shù)據(jù)API:Coinalytics、Blocktrail、BlockCypher、TradeBlock、Scorechain、Gem;
其它:Tierion、Safe Cash(safe-cash)、bitwage、Crypti、IPFS、DECENT、億書(ebookchain)、好撲區(qū)塊鏈(hoopox)、Energo、天算(delphy);
銀行結(jié)算:R3CEV、Corda;
區(qū)塊鏈金融:iCube;
操作系統(tǒng):亦來云(elastos);
規(guī)則易于修改(交易,余額等);
交易成本低(交易只需幾個(gè)受信節(jié)點(diǎn)驗(yàn)證即可);
讀取權(quán)限受限;
中立、開放、去中心化;
不可更改,不可撤銷;
擁有網(wǎng)絡(luò)效應(yīng)。
抗審查性高;
來源:挖鏈網(wǎng)
評論
查看更多