區(qū)塊鏈簡介

區(qū)塊鏈簡介·背景

互聯(lián)網(wǎng)上的貿(mào)易隙笆,幾乎都需要借助可資信賴的第三方信用機(jī)構(gòu)來處理電子支付信息。這類系統(tǒng)仍然內(nèi)生性地受制于“基于信用的模式”升筏。

區(qū)塊鏈技術(shù)是構(gòu)建比特幣區(qū)塊鏈網(wǎng)絡(luò)與交易信息加密傳輸?shù)幕A(chǔ)技術(shù)撑柔。它基于密碼學(xué)原理而不基于信用,使得任何達(dá)成一致的雙方直接支付您访,從而不需要第三方中介的參與铅忿。

區(qū)塊鏈簡介·定義

定義

區(qū)塊鏈?zhǔn)且粋€(gè)分布式賬本,一種通過去中心化灵汪、去信任的方式集體維護(hù)一個(gè)可靠數(shù)據(jù)庫的技術(shù)方案檀训。

從數(shù)據(jù)的角度來看

區(qū)塊鏈?zhǔn)且环N幾乎不可能被更改的分布式數(shù)據(jù)庫。這里的“分布式”不僅體現(xiàn)為數(shù)據(jù)的分布式存儲享言,也體現(xiàn)為數(shù)據(jù)的分布式記錄(即由系統(tǒng)參與者共同維護(hù))肢扯。

從技術(shù)的角度來看

區(qū)塊鏈并不是一種單一的技術(shù),而是多種技術(shù)整合的結(jié)果担锤。這些技術(shù)以新的結(jié)構(gòu)組合在一起蔚晨,形成了一種新的數(shù)據(jù)記錄、存儲和表達(dá)的方式。

區(qū)塊鏈簡介·特征

開放? 共識

任何人都可以參與到區(qū)塊鏈網(wǎng)絡(luò)铭腕,每一臺設(shè)備都能作為一個(gè)節(jié)點(diǎn)银择,每個(gè)節(jié)點(diǎn)都允許獲得一份完整的數(shù)據(jù)庫拷貝。節(jié)點(diǎn)間基于一套共識機(jī)制累舷,通過競爭計(jì)算共同維護(hù)整個(gè)區(qū)塊鏈浩考。任一節(jié)點(diǎn)失效,其余節(jié)點(diǎn)仍能正常工作被盈。

去中心? 去信任

區(qū)塊鏈由眾多節(jié)點(diǎn)共同組成一個(gè)端到端的網(wǎng)絡(luò)析孽,不存在中心化的設(shè)備和管理機(jī)構(gòu)。節(jié)點(diǎn)之間數(shù)據(jù)交換通過數(shù)字簽名技術(shù)進(jìn)行驗(yàn)證只怎,無需互相信任袜瞬,只要按照系統(tǒng)既定的規(guī)則進(jìn)行,節(jié)點(diǎn)之間不能也無法欺騙其它節(jié)點(diǎn)身堡。

交易透明? 雙方匿名

區(qū)塊鏈的運(yùn)行規(guī)則是公開透明的邓尤,所有的數(shù)據(jù)信息也是公開的,因此每一筆交易都對所有節(jié)點(diǎn)可見贴谎。由于節(jié)點(diǎn)與節(jié)點(diǎn)之間是去信任的汞扎,因此節(jié)點(diǎn)之間無需公開身份,每個(gè)參與的節(jié)點(diǎn)都是匿名的擅这。

不可篡改? 可追溯

單個(gè)甚至多個(gè)節(jié)點(diǎn)對數(shù)據(jù)庫的修改無法影響其他節(jié)點(diǎn)的數(shù)據(jù)庫澈魄,除非能控制整個(gè)網(wǎng)絡(luò)中超過51%的節(jié)點(diǎn)同時(shí)修改,這幾乎不可能發(fā)生仲翎。區(qū)塊鏈中的每一筆交易都通過密碼學(xué)方法與相鄰兩個(gè)區(qū)塊串聯(lián)一忱,因此可以追溯到任何一筆交易的前世今生。

區(qū)塊鏈簡介·分類

公有鏈

無官方組織及管理機(jī)構(gòu)谭确,無中心服務(wù)器帘营,參與的節(jié)點(diǎn)按照系統(tǒng)規(guī)則自由接入網(wǎng)絡(luò)、不受控制逐哈,節(jié)點(diǎn)間基于共識機(jī)制開展工作芬迄。

私有鏈

建立在某個(gè)企業(yè)內(nèi)部,系統(tǒng)的運(yùn)作規(guī)則根據(jù)企業(yè)要求進(jìn)行設(shè)定昂秃,修改甚至是讀取權(quán)限僅限于少數(shù)節(jié)點(diǎn)禀梳,同時(shí)仍保留著區(qū)塊鏈的真實(shí)性和部分去中心化的特性。

聯(lián)盟鏈

由若干機(jī)構(gòu)聯(lián)合發(fā)起肠骆,介于公有鏈和私有鏈之間算途,兼具部分去中心化的特性。

區(qū)塊鏈·科普

數(shù)字簽名

數(shù)字簽名涉及到一個(gè)哈希函數(shù)蚀腿、發(fā)送者的公鑰嘴瓤、發(fā)送者的私鑰扫外。數(shù)字簽名有兩個(gè)作用,一是能確定消息確實(shí)是由發(fā)送方簽名并發(fā)出來的廓脆。二是數(shù)字簽名能確定消息的完整性筛谚。

工作原理

發(fā)送報(bào)文時(shí),發(fā)送方用一個(gè)哈希函數(shù)從報(bào)文文本中生成報(bào)文摘要停忿,然后用自己的私鑰對摘要進(jìn)行加密驾讲,加密后的摘要將作為報(bào)文的數(shù)字簽名和報(bào)文一起發(fā)送給接收方,接收方首先用與發(fā)送方一樣的哈希函數(shù)從接收到的原始報(bào)文中計(jì)算出報(bào)文摘要席赂,接著再用發(fā)送方的公鑰來對報(bào)文附加的數(shù)字簽名進(jìn)行解密吮铭,如果這兩個(gè)摘要相同、那么接收方就能確認(rèn)該數(shù)字簽名是發(fā)送方的颅停。

Merkle Tree

一種哈希二叉樹谓晌,使用它可以快速校驗(yàn)大規(guī)模數(shù)據(jù)的完整性。在比特幣網(wǎng)絡(luò)中便监,Merkle 樹被用來歸納一個(gè)區(qū)塊中的所有交易信息,最終生成這個(gè)區(qū)塊所有交易信息的一個(gè)統(tǒng)一的哈希值碳想,區(qū)塊中任何一筆交易信息的改變都會使得使得Merkle樹改變烧董。

工作原理

非葉子節(jié)點(diǎn)value的計(jì)算方法是將該節(jié)點(diǎn)的所有子節(jié)點(diǎn)進(jìn)行組合,然后對組合結(jié)果進(jìn)行hash計(jì)算所得出的hashvalue胧奔。

時(shí)間戳服務(wù)器

大多用來進(jìn)行比對以及驗(yàn)證處理逊移,時(shí)間戳服務(wù)器是一款基于PKI(公鑰密碼基礎(chǔ)設(shè)施)技術(shù)的時(shí)間戳權(quán)威系統(tǒng),對外提供精確可信的時(shí)間戳服務(wù)龙填。它采用精確的時(shí)間源胳泉、高強(qiáng)度高標(biāo)準(zhǔn)的安全機(jī)制,以確認(rèn)系統(tǒng)處理數(shù)據(jù)在某一時(shí)間的存在性和相關(guān)操作的相對時(shí)間順序岩遗,為信息系統(tǒng)中的時(shí)間防抵賴提供基礎(chǔ)服務(wù)扇商。

區(qū)塊鏈·節(jié)點(diǎn)網(wǎng)絡(luò)

任何機(jī)器都可以運(yùn)行一個(gè)完整的比特幣節(jié)點(diǎn),一個(gè)完整的比特幣節(jié)點(diǎn)包括如下功能:

錢包宿礁,允許用戶在區(qū)塊鏈網(wǎng)絡(luò)上進(jìn)行交易案铺;完整區(qū)塊鏈,記錄了所有交易歷史梆靖,通過特殊的結(jié)構(gòu)保證歷史交易的安全性控汉,并且用來驗(yàn)證新交易的合法性;礦工返吻,通過記錄交易及解密數(shù)學(xué)題來生成新區(qū)塊姑子,如果成功可以賺取獎(jiǎng)勵(lì);路由功能测僵,把其它節(jié)點(diǎn)傳送過來的交易數(shù)據(jù)等信息再傳送給更多的節(jié)點(diǎn)街佑。

除了路由功能以外,其它的功能都不是必須的。

區(qū)塊鏈·交易過程

1舆乔,B以公鑰作為接收方地址

所有者A利用他的私鑰對前一次交易(比特貨來源)和下一位所有者B簽署一個(gè)數(shù)字簽名岳服,并將這個(gè)簽名附加在這枚貨幣的末尾,制作成交易單

2希俩,比特幣區(qū)塊確認(rèn)

A將交易單廣播至全網(wǎng)吊宋,比特幣就發(fā)送給了B,每個(gè)節(jié)點(diǎn)都將收到的交易信息納入一個(gè)區(qū)塊中

3颜武,答案并不唯一

每個(gè)節(jié)點(diǎn)通過解一道數(shù)學(xué)難題璃搜,從而去獲得創(chuàng)建新區(qū)塊權(quán)利,并爭取得到比特幣的獎(jiǎng)勵(lì)(新比特幣會在此過程中產(chǎn)生)

4鳞上,取中間值為時(shí)間戳

當(dāng)一個(gè)節(jié)點(diǎn)找到解時(shí)这吻,它就向全網(wǎng)廣播該區(qū)塊記錄的所有蓋時(shí)間戳交易,并由全網(wǎng)其他節(jié)點(diǎn)核對

5篙议,每個(gè)區(qū)塊生成需10分鐘

全網(wǎng)其他節(jié)點(diǎn)核對該區(qū)塊記賬的正確性唾糯,沒有錯(cuò)誤后他們將在該合法區(qū)塊之后競爭下一個(gè)區(qū)塊,這樣就形成了一個(gè)合法記賬的區(qū)塊鏈鬼贱。

數(shù)據(jù)結(jié)構(gòu)

區(qū)塊鏈

區(qū)塊鏈以區(qū)塊為單位組織數(shù)據(jù)移怯。全網(wǎng)所有的交易記錄都以交易單的形式存儲在全網(wǎng)唯一的區(qū)塊鏈中。

區(qū)塊

區(qū)塊是一種記錄交易的數(shù)據(jù)結(jié)構(gòu)这难。每個(gè)區(qū)塊由區(qū)塊頭和區(qū)塊主體組成舟误,區(qū)塊主體只負(fù)責(zé)記錄前一段時(shí)間內(nèi)的所有交易信息,區(qū)塊鏈的大部分功能都由區(qū)塊頭實(shí)現(xiàn)姻乓。

區(qū)塊鏈·區(qū)塊頭

版本號嵌溢,標(biāo)示軟件及協(xié)議的相關(guān)版本信息

父區(qū)塊哈希值,引用的區(qū)塊鏈中父區(qū)塊頭的哈希值蹋岩,通過這個(gè)值每個(gè)區(qū)塊才首尾相連組成了區(qū)塊鏈赖草,并且這個(gè)值對區(qū)塊鏈的安全性起到了至關(guān)重要的作用

Merkle 根,這個(gè)值是由區(qū)塊主體中所有交易的哈希值再逐級兩兩哈希計(jì)算出來的一個(gè)數(shù)值剪个,主要用于檢驗(yàn)一筆交易是否在這個(gè)區(qū)塊中存在

時(shí)間戳疚顷,記錄該區(qū)塊產(chǎn)生的時(shí)間,精確到秒

難度值禁偎,該區(qū)塊相關(guān)數(shù)學(xué)題的難度目標(biāo)

隨機(jī)數(shù)(Nonce)腿堤,記錄解密該區(qū)塊相關(guān)數(shù)學(xué)題的答案的值

區(qū)塊鏈形成過程

在當(dāng)前區(qū)塊加入?yún)^(qū)塊鏈后,所有礦工就立即開始下一個(gè)區(qū)塊的生成工作如暖。

1笆檀,把在本地內(nèi)存中的交易信息記錄到區(qū)塊主體中

2,在區(qū)塊主體中生成此區(qū)塊中所有交易信息的 Merkle樹盒至,把 Merkle 樹根的值保存在區(qū)塊頭中

3酗洒,把上一個(gè)剛剛生成的區(qū)塊的區(qū)塊頭的數(shù)據(jù)通過 SHA256算法生成一個(gè) 哈希值填入到當(dāng)前區(qū)塊的父哈希值中

4士修,把當(dāng)前時(shí)間保存在時(shí)間戳字段中

5,難度值字段會根據(jù)之前一段時(shí)間區(qū)塊的平均生成時(shí)間進(jìn)行調(diào)整以應(yīng)對整個(gè)網(wǎng)絡(luò)不斷變化的整體計(jì)算總量樱衷,如果計(jì)算總量增長了棋嘲,則系統(tǒng)會調(diào)高數(shù)學(xué)題的難度值,使得預(yù)期完成下一個(gè)區(qū)塊的時(shí)間依然在一定時(shí)間內(nèi)

核心問題

區(qū)塊鏈工作量證明

區(qū)塊頭包含一個(gè)隨機(jī)數(shù)矩桂,使得區(qū)塊的隨機(jī)散列值出現(xiàn)了所需的0個(gè)數(shù)沸移。節(jié)點(diǎn)通過反復(fù)嘗試來找到這個(gè)隨機(jī)數(shù), 這樣就構(gòu)建了一個(gè)工作量證明機(jī)制侄榴。

工作量證明機(jī)制的本質(zhì)是一CPU一票雹锣,“大多數(shù)”的決定表達(dá)為最長的鏈,因?yàn)樽铋L的鏈包含了最大的工作量癞蚕。如果大多數(shù)的CPU為誠實(shí)的節(jié)點(diǎn)控制蕊爵,那么誠實(shí)的鏈條將以最快的速度延長,并超越其他的競爭鏈條桦山。如果想要修改已出現(xiàn)的區(qū)塊攒射,攻擊者必須重新完成該區(qū)塊的工作量外加該區(qū)塊之后所有區(qū)塊的工作量,并最終趕上和超越誠實(shí)節(jié)點(diǎn)的工作量恒水。

區(qū)塊鏈核心問題

同一時(shí)間段內(nèi)全網(wǎng)不止一個(gè)節(jié)點(diǎn)能計(jì)算出隨機(jī)數(shù)会放,即會有多個(gè)節(jié)點(diǎn)在網(wǎng)絡(luò)中廣播它們各自打包好的臨時(shí)區(qū)塊(都是合法的)。

某一節(jié)點(diǎn)若收到多個(gè)針對同一前續(xù)區(qū)塊的后續(xù)臨時(shí)區(qū)塊寇窑,則該節(jié)點(diǎn)會在本地區(qū)塊鏈上建立分支鸦概,多個(gè)臨時(shí)區(qū)塊對應(yīng)多個(gè)分支箩张。該僵局的打破要等到下一個(gè)工作量證明被發(fā)現(xiàn)甩骏,而其中的一條鏈條被證實(shí)為是較長的一條,那么在另一條分支鏈條上工作的節(jié)點(diǎn)將轉(zhuǎn)換陣營先慷,開始在較長的鏈條上工作饮笛。其他分支將會被網(wǎng)絡(luò)徹底拋棄。

雙花论熙,即二重支付福青,指攻擊者幾乎同時(shí)將同一筆錢用作不同交易。

每當(dāng)節(jié)點(diǎn)在把新收到的交易單加入?yún)^(qū)塊之前脓诡,會順著交易的發(fā)起方的公鑰向前遍歷檢查无午,檢查當(dāng)前交易所用的幣是否確實(shí)屬于當(dāng)前交易發(fā)起方,此檢查可遍歷到該幣的最初誕生點(diǎn)(即產(chǎn)生它的那塊區(qū)塊源)祝谚。雖然多份交易單可以任意序的廣播宪迟,但是它們最終被加入?yún)^(qū)塊時(shí)必定呈現(xiàn)一定的順序。區(qū)塊之間以Hash值作為時(shí)間戳則區(qū)塊交惯,這決定了任意一筆交易資金來源都可以被確定的回溯

高能耗次泽,數(shù)據(jù)庫存儲空間穿仪,處理大規(guī)模交易的抗壓能力,安全性

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末意荤,一起剝皮案震驚了整個(gè)濱河市啊片,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌玖像,老刑警劉巖紫谷,帶你破解...
    沈念sama閱讀 218,525評論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異御铃,居然都是意外死亡碴里,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,203評論 3 395
  • 文/潘曉璐 我一進(jìn)店門上真,熙熙樓的掌柜王于貴愁眉苦臉地迎上來咬腋,“玉大人,你說我怎么就攤上這事睡互「停” “怎么了?”我有些...
    開封第一講書人閱讀 164,862評論 0 354
  • 文/不壞的土叔 我叫張陵就珠,是天一觀的道長寇壳。 經(jīng)常有香客問我,道長妻怎,這世上最難降的妖魔是什么壳炎? 我笑而不...
    開封第一講書人閱讀 58,728評論 1 294
  • 正文 為了忘掉前任,我火速辦了婚禮逼侦,結(jié)果婚禮上匿辩,老公的妹妹穿的比我還像新娘。我一直安慰自己榛丢,他們只是感情好铲球,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,743評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著晰赞,像睡著了一般稼病。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上掖鱼,一...
    開封第一講書人閱讀 51,590評論 1 305
  • 那天然走,我揣著相機(jī)與錄音,去河邊找鬼戏挡。 笑死芍瑞,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的增拥。 我是一名探鬼主播啄巧,決...
    沈念sama閱讀 40,330評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼寻歧,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了秩仆?” 一聲冷哼從身側(cè)響起码泛,我...
    開封第一講書人閱讀 39,244評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎澄耍,沒想到半個(gè)月后噪珊,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,693評論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡齐莲,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,885評論 3 336
  • 正文 我和宋清朗相戀三年痢站,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片选酗。...
    茶點(diǎn)故事閱讀 40,001評論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡阵难,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出芒填,到底是詐尸還是另有隱情呜叫,我是刑警寧澤,帶...
    沈念sama閱讀 35,723評論 5 346
  • 正文 年R本政府宣布殿衰,位于F島的核電站朱庆,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏闷祥。R本人自食惡果不足惜娱颊,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,343評論 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望凯砍。 院中可真熱鬧箱硕,春花似錦、人聲如沸果覆。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,919評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽局待。三九已至,卻和暖如春菱属,著一層夾襖步出監(jiān)牢的瞬間钳榨,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,042評論 1 270
  • 我被黑心中介騙來泰國打工纽门, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留薛耻,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,191評論 3 370
  • 正文 我出身青樓赏陵,卻偏偏與公主長得像饼齿,于是被迫代替她去往敵國和親饲漾。 傳聞我的和親對象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,955評論 2 355

推薦閱讀更多精彩內(nèi)容