【區(qū)塊鏈】基本知識—大雜燴

定義:去中心化的分布式?賬本數(shù)據(jù)庫

比特幣區(qū)塊鏈的原理:

block(區(qū)塊、賬簿):記錄交易單的數(shù)據(jù)單元叫做block,一個block上回記錄很多單交易囚枪。

每個block只記錄比特幣全網(wǎng)10分鐘內(nèi)的交易信息发笔,大約每10分鐘產(chǎn)生一個新的block。

比特幣區(qū)塊鏈原理——挖礦

block由那些最誠實最勤勞的節(jié)點產(chǎn)生吝羞,中本聰引入了工作量證明機制(POW)兰伤。

疑問:區(qū)塊鏈金融中有沒有挖礦的概念

高度:區(qū)塊是每十分鐘的一個交易記錄打包在塊里,每個塊都有一個ID钧排,在區(qū)塊鏈中叫高度敦腔,以及交易紀(jì)錄和上一個塊的ID,每個區(qū)塊連起來形成鏈恨溜。

疑問:區(qū)塊鏈金融中高度也是10分鐘產(chǎn)生一次嗎

新產(chǎn)生的區(qū)塊需要快速廣播出去符衔,其他節(jié)點進(jìn)行對其驗證,以防造假糟袁,每個區(qū)塊存著上一個區(qū)塊的hash值判族,可以溯源到源頭,只有經(jīng)過驗證后才最終獲得區(qū)塊的打包權(quán)项戴。

每個塊的哈希是不一樣的形帮,10分鐘的交易量最多4200次,超過這個數(shù)字的就無法打包周叮,因此不同礦工挑手續(xù)費高的進(jìn)行打包辩撑。出現(xiàn)分叉后又定義一套規(guī)則,并不馬上確認(rèn)哪個區(qū)塊不合理则吟,但兩個塊總有匯合到一起的時候槐臀,最終以鏈長的區(qū)塊進(jìn)行確認(rèn),鏈短的將被自動拋棄氓仲。

比特幣存儲——錢包地址:

去中心化:

區(qū)塊鏈基礎(chǔ)架構(gòu):

一個區(qū)塊包含以下三部分:交易信息水慨、前一個區(qū)塊形成的哈希散列、隨機數(shù)敬扛。

從技術(shù)上來講晰洒,區(qū)塊是一種記錄交易的數(shù)據(jù)結(jié)構(gòu),反映了一筆交易的資金流向啥箭。

區(qū)塊鏈本質(zhì)上是一個去中心化的巨大賬本數(shù)據(jù)庫谍珊,作為比特幣的底層技術(shù),區(qū)塊鏈?zhǔn)怯梢淮褂妹艽a學(xué)相關(guān)聯(lián)所產(chǎn)生的數(shù)據(jù)塊組成急侥,每一個數(shù)據(jù)塊中包含了多次比特幣網(wǎng)絡(luò)有效確認(rèn)(一次有效交易檢驗被稱為一次確認(rèn))的信息砌滞。隨著交易不斷產(chǎn)生侮邀,礦工不斷驗證交易創(chuàng)造新的區(qū)塊來記錄最新的交易,這個帳本會一直增長延長贝润。這些區(qū)塊按照時間順序線性補充到原有的區(qū)塊鏈上绊茧。每一個節(jié)點(每臺通過錢包的客戶端口連接到區(qū)塊鏈網(wǎng)絡(luò)上的電腦)都有一份完整的已有區(qū)塊鏈備份記錄,而這些都是通過進(jìn)行數(shù)據(jù)驗證算法解密的礦工網(wǎng)絡(luò)自動完成打掘。區(qū)塊鏈上保留有所有關(guān)于每個節(jié)點和節(jié)點上比特幣余額的信息华畏,這些信息也被記錄在完整的區(qū)塊鏈上。公共式區(qū)塊鏈帳本完全對外公開尊蚁,這意味著區(qū)塊鏈信息可以通過特定地址在區(qū)塊鏈瀏覽器上(例如www.blockchain.info)進(jìn)行查詢亡笑。

新區(qū)塊的生成將獎勵礦工新的電子貨幣,還可以通過設(shè)置交易費用來獎勵挖礦這種提供算力的行為横朋,系統(tǒng)通過這樣的方式完成電子貨幣的發(fā)行仑乌,這也讓礦工有利可圖,成為了礦工挖礦的主要動機琴锭。

每個節(jié)點接收到交易信息以后绝骚,生成新的區(qū)塊并計算該區(qū)塊的隨機數(shù)答案,最快得到答案的節(jié)點將促成這筆交易的實現(xiàn)祠够,完成交易的區(qū)塊記錄压汪,并將該區(qū)塊廣播至所有節(jié)點。同時該節(jié)點將有可能獲得一枚新的電子貨幣作為獎勵古瓤。由于其過程很像礦工挖礦止剖,因此節(jié)點提供算力的過程也叫作挖礦。通過挖礦落君,可以強制性保證塊鏈中的數(shù)據(jù)按時間順序存儲穿香,保持比特幣網(wǎng)絡(luò)的中立性,且允許比特幣網(wǎng)絡(luò)上不同的計算機對系統(tǒng)狀態(tài)達(dá)成一致绎速。

可靠數(shù)據(jù)庫(Reliable Database):

系統(tǒng)中每一個節(jié)點都擁有最新的完整數(shù)據(jù)庫拷貝皮获,修改單個節(jié)點的數(shù)據(jù)庫是無效的,因為系統(tǒng)會自動比較纹冤,認(rèn)為最多次出現(xiàn)的相同數(shù)據(jù)記錄為真洒宝。

上圖為簡化起見,僅展示了6處保留數(shù)據(jù)庫副本的節(jié)點萌京;在3個交易序列中雁歌,前2個交易的數(shù)據(jù)和簽名得到了所有6個節(jié)點的驗證,但第三個交易的位置5沒有通過驗證知残,將被其它節(jié)點的“一致意見”更改靠瞎。

哈希散列

是密碼學(xué)里的經(jīng)典技術(shù),可以用來驗證有沒有人篡改數(shù)據(jù)內(nèi)容。

這時候我們再看對區(qū)塊鏈的原始定義就能理解了:區(qū)塊鏈?zhǔn)且环N分布式數(shù)據(jù)庫乏盐,是一串使用密碼學(xué)方法相關(guān)聯(lián)產(chǎn)生的數(shù)據(jù)塊佳窑,每個數(shù)據(jù)塊都包含了一次網(wǎng)絡(luò)交易信息,用于驗證其信息的有效性和生成下一個區(qū)塊父能。

問:什么是區(qū)塊鏈华嘹?

答:區(qū)塊鏈(Blockchain)是指通過去中心化和去信任的方式集體維護(hù)一個可靠數(shù)據(jù)庫的技術(shù)方案。通俗一點說法竞,區(qū)塊鏈技術(shù)就指一種全民參與記賬的方式。所有的系統(tǒng)背后都有一個數(shù)據(jù)庫强挫,你可以把數(shù)據(jù)庫看成是就是一個大賬本岔霸。那么誰來記這個賬本就變得很重要。目前就是誰的系統(tǒng)誰來記賬俯渤,微信的賬本就是騰訊在記呆细,淘寶的賬本就是阿里在記。但現(xiàn)在區(qū)塊鏈系統(tǒng)中八匠,系統(tǒng)中的每個人都可以有機會參與記賬絮爷。在一定時間段內(nèi)如果有任何數(shù)據(jù)變化,系統(tǒng)中每個人都可以來進(jìn)行記賬梨树,系統(tǒng)會評判這段時間內(nèi)記賬最快最好的人坑夯,把他記錄的內(nèi)容寫到賬本,并將這段時間內(nèi)賬本內(nèi)容發(fā)給系統(tǒng)內(nèi)所有的其他人進(jìn)行備份抡四。這樣系統(tǒng)中的每個人都了一本完整的賬本柜蜈。這種方式,我們就稱它為區(qū)塊鏈技術(shù)指巡。

問:什么是比特幣說的“挖礦”淑履?

答:比特幣中的“挖礦”實際上就是記賬的過程,比特幣的運算采用了一種稱為“工作量證明(Proof of Work藻雪,PoW)”的機制秘噪,系統(tǒng)為了找出誰有更強大的計算能力,每次會出一道數(shù)學(xué)題勉耀,只有最快解出這道題目的計算機才能進(jìn)行記賬指煎。而搶到記賬權(quán)的計算機會獲得25個比特幣的獎勵。通常把這個行為稱為“挖礦”便斥,把獲得的比特幣視為挖礦成功獲得的獎勵贯要。

問:所有的區(qū)塊鏈都需要挖礦嗎?

答:并非所有的區(qū)塊鏈項目都會采用類似于比特幣這樣的“工作量證明”方式椭住,這更多出現(xiàn)在早期的區(qū)塊鏈項目中崇渗。如果采取其他的證明機制,如“權(quán)益證明(Proof of Stake,PoS)”宅广、“股份授權(quán)證明機制(DPoS葫掉,Delegate Proof of Stake)”都是不需要采取這樣的挖礦方式。

問:什么是公有鏈跟狱?什么是私有鏈俭厚?什么是聯(lián)盟鏈?

答:公有鏈?zhǔn)侨魏喂?jié)點都是向任何人開放的驶臊,每個人都可以參與到這個區(qū)塊鏈中參與計算挪挤,而且任何人都可以下載獲得完整區(qū)塊鏈數(shù)據(jù)(全部賬本)。但是有些區(qū)塊鏈的應(yīng)用場景下关翎,并不希望這個系統(tǒng)任何人都可以參與扛门,任何人都可以查看所有數(shù)據(jù),只有被許可的節(jié)點才可以參與并且查看所有數(shù)據(jù)纵寝。那么這種區(qū)塊鏈結(jié)構(gòu)我們稱為私有鏈论寨。

聯(lián)盟鏈?zhǔn)侵竻⑴c每個節(jié)點的權(quán)限都完全對等,大家在不需要完全互信的情況下就可以實現(xiàn)數(shù)據(jù)的可信交換爽茴,R3組成的銀行區(qū)塊鏈聯(lián)盟要構(gòu)建的就是典型的聯(lián)盟鏈葬凳。

但是隨著區(qū)塊鏈技術(shù)的快速發(fā)展,不排除以后公有鏈和私有鏈的界限會變得比較模糊室奏。因為每個節(jié)點的可以有較為復(fù)雜的讀寫權(quán)限火焰,也許有部分權(quán)限的節(jié)點會向所有人開發(fā),而部分記賬或者核心權(quán)限的節(jié)點只能向許可的節(jié)點開放胧沫,那就會不再是純粹的公有鏈或者私有鏈荐健。

什么是“分叉”?

每一個子區(qū)塊都只有一個父區(qū)塊琳袄,但一個父區(qū)塊可以暫時擁有很多子區(qū)塊江场,這種情況被稱為區(qū)塊鏈分叉。這種只有當(dāng)不同的礦工在同一時刻發(fā)現(xiàn)不同的區(qū)塊時才會發(fā)生窖逗。這時解決的方法就是址否,每一個節(jié)點總是選擇并嘗試延長擁有最大工作量證明(最長或者最大難度)的區(qū)塊鏈。

舉個例子:

我們現(xiàn)在有一個區(qū)塊鏈-藍(lán)

(圖片來自《精通比特幣》碎紊,可愛的小姑娘來自我)

位于X地區(qū)的礦工與位于Y地區(qū)的礦工同時發(fā)現(xiàn)了兩個區(qū)塊佑附。

我們假設(shè):

礦工熊貓君A發(fā)現(xiàn)區(qū)塊-紅,

礦工兔子君B發(fā)現(xiàn)區(qū)塊-綠仗考。

當(dāng)熊貓君A,兔子君B節(jié)點分別在比特幣網(wǎng)絡(luò)廣播的時候音同,部分節(jié)點會先收到熊貓君A的廣播,部分會先收到兔子君B的廣播秃嗜,然后分為兩派陣營的節(jié)點會分別開始以他們接收到的區(qū)塊作為父區(qū)塊权均,進(jìn)行深一步的挖礦活動顿膨。(這里節(jié)點的地理意義指的是網(wǎng)絡(luò)拓?fù)渖系奈恢茫钦鎸嵉牡乩砦恢眠瓷蕖#?/p>

(圖片來自《精通比特幣》恋沃,可愛的小姑娘來自我)

就在大家如火如荼地緊張解題的關(guān)鍵時刻,一個接收到兔子君B所廣播的節(jié)點的兔子君C必指,優(yōu)先發(fā)現(xiàn)了下一個區(qū)塊-粉囊咏,也就是說綠色陣營的小兔子們的區(qū)塊鏈可以進(jìn)行下一步延伸,就會比紅色陣營的小熊貓們的長度長塔橡,紅色陣營小熊貓遺憾出局梅割。這樣的話分叉問題就得到了解決。

這里我們需要提到一個名詞葛家,“共識攻擊”户辞。一個很著名的場景就是“51%攻擊”。如果一群礦工擁有了全網(wǎng)51%的算力惦银,那么只要他們聯(lián)合起來就可以打擊整個比特幣網(wǎng)絡(luò)。他們可以認(rèn)為地去制造一個分叉的區(qū)塊鏈實現(xiàn)雙重支付末誓,拿我們上文的例子舉例扯俱,攻擊者在區(qū)塊-紅中進(jìn)行過了交易,結(jié)果他強行制造出區(qū)塊-綠喇澡,并且區(qū)塊-綠中將原本的交易替換成另一筆交易(把原本應(yīng)該給賣家的錢打入自己同伙的錢包中)迅栅,然后在區(qū)塊綠的基礎(chǔ)上再計算一個區(qū)塊-粉,這樣包含偽造的區(qū)塊的區(qū)塊鏈就比包含真實交易的區(qū)塊紅高出一個高度晴玖,此時读存,包含雙重支付的惡意區(qū)塊鏈將取代真實區(qū)塊鏈,從而實現(xiàn)詐騙呕屎。51%的概念并不是說攻擊者需要全網(wǎng)51%的算力才能進(jìn)行攻擊让簿,理論上來說不到51%也是可以實現(xiàn)攻擊的,我們只是說擁有超過51%的算力的攻擊幾乎我們就可以判定它一定會成功秀睛。

上面都是在比特幣場景下進(jìn)行的論述

merle樹是一種計算機算法尔当,用于完整性校驗,最簡單的方法就是對要校驗的整個的數(shù)據(jù)文件做個哈希運算蹂安,把得到的哈希值公布在網(wǎng)上椭迎,這樣我們把數(shù)據(jù)下載到手之后,再次運算一下哈希值田盈,如果運算結(jié)果相等畜号,就表示我們下載過程中文件沒有任何的損壞。因為哈希的最大特點是允瞧,如果你的輸入數(shù)據(jù)简软,稍微變了一點點蛮拔,那么經(jīng)過哈希運算,你得到的哈希值將會變得面目全非替饿。

你要真誠的告訴對方语泽,Merkles樹是現(xiàn)代計算機一個非常基礎(chǔ)的算法视卢,廣泛用于文件系統(tǒng)踱卵,操作系統(tǒng)內(nèi)存管理,大名鼎鼎的Git据过,BT下載這些都大量用到了merkle樹惋砂。

merle樹

每一個區(qū)塊中包含一個梅克爾樹根,這個樹根是很多交易的不斷重復(fù)hash計算得到的绳锅。

假設(shè)一個區(qū)塊中包含4比交易西饵,每個交易都可以生成一個hash值,這4個hash值兩兩結(jié)合生成2個hash鳞芙,然后這兩個hash在進(jìn)行一次hash計算救得到一個hash值眷柔,這個hash值就是梅克爾樹根。

如果你希望確定一筆交易的狀態(tài)原朝,只要要求對方提供一個梅克爾證明驯嘱,也就是得到特定的交易,交易的所在的梅克爾樹根就是就是區(qū)塊頭喳坠,上一次我已經(jīng)在題主的問題說明了鞠评,客戶端會不斷同步最新的交易數(shù)據(jù),spv只用同步區(qū)塊頭就可以了壕鹉,區(qū)塊頭里面包含區(qū)塊交易的梅克爾樹根剃幌。

只要本地能驗證交易所在的區(qū)塊頭根哈希和本地相應(yīng)的區(qū)塊的根哈希就可以確定。

merkle值計算方法

區(qū)塊頭的哈希值包含兩個重要要素:一是merkle根哈希值晾浴;二是父區(qū)塊哈希值负乡,因此,區(qū)塊頭哈希值是包含了本區(qū)塊所有交易信息和父區(qū)塊的信息的電子指紋脊凰,任何針對交易的修改都會通過merkle值的變化導(dǎo)致區(qū)塊哈希值的變化敬鬓;任何對父區(qū)塊信息的修改,都會導(dǎo)致父區(qū)塊哈希值的變化笙各,從而導(dǎo)致區(qū)塊頭哈希值的變化钉答。因此,通過哈希加密杈抢,任何針對某塊信息的修改(如277315塊)数尿,都會導(dǎo)致后續(xù)所有區(qū)塊數(shù)據(jù)的修改(不僅僅要修改277315塊,還要修改277316塊等所有后續(xù)塊)惶楼。由此右蹦,可見區(qū)塊鏈的加密方法是多么嚴(yán)格诊杆。

區(qū)塊頭哈希值鏈接merkle值計算方法

區(qū)塊頭的哈希值包含兩個重要要素:一是merkle根哈希值;二是父區(qū)塊哈希值何陆,因此晨汹,區(qū)塊頭哈希值是包含了本區(qū)塊所有交易信息和父區(qū)塊的信息的電子指紋,任何針對交易的修改都會通過merkle值的變化導(dǎo)致區(qū)塊哈希值的變化贷盲;任何對父區(qū)塊信息的修改淘这,都會導(dǎo)致父區(qū)塊哈希值的變化,從而導(dǎo)致區(qū)塊頭哈希值的變化巩剖。因此铝穷,通過哈希加密,任何針對某塊信息的修改(如277315塊)佳魔,都會導(dǎo)致后續(xù)所有區(qū)塊數(shù)據(jù)的修改(不僅僅要修改277315塊曙聂,還要修改277316塊等所有后續(xù)塊)。由此鞠鲜,可見區(qū)塊鏈的加密方法是多么嚴(yán)格宁脊。

區(qū)塊頭哈希值鏈接

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市贤姆,隨后出現(xiàn)的幾起案子榆苞,更是在濱河造成了極大的恐慌,老刑警劉巖庐氮,帶你破解...
    沈念sama閱讀 221,430評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件语稠,死亡現(xiàn)場離奇詭異宋彼,居然都是意外死亡弄砍,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,406評論 3 398
  • 文/潘曉璐 我一進(jìn)店門输涕,熙熙樓的掌柜王于貴愁眉苦臉地迎上來音婶,“玉大人,你說我怎么就攤上這事莱坎∫率剑” “怎么了?”我有些...
    開封第一講書人閱讀 167,834評論 0 360
  • 文/不壞的土叔 我叫張陵檐什,是天一觀的道長碴卧。 經(jīng)常有香客問我,道長乃正,這世上最難降的妖魔是什么住册? 我笑而不...
    開封第一講書人閱讀 59,543評論 1 296
  • 正文 為了忘掉前任,我火速辦了婚禮瓮具,結(jié)果婚禮上荧飞,老公的妹妹穿的比我還像新娘凡人。我一直安慰自己,他們只是感情好叹阔,可當(dāng)我...
    茶點故事閱讀 68,547評論 6 397
  • 文/花漫 我一把揭開白布挠轴。 她就那樣靜靜地躺著,像睡著了一般耳幢。 火紅的嫁衣襯著肌膚如雪岸晦。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,196評論 1 308
  • 那天帅掘,我揣著相機與錄音委煤,去河邊找鬼。 笑死修档,一個胖子當(dāng)著我的面吹牛碧绞,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播吱窝,決...
    沈念sama閱讀 40,776評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼讥邻,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了院峡?” 一聲冷哼從身側(cè)響起兴使,我...
    開封第一講書人閱讀 39,671評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎照激,沒想到半個月后发魄,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,221評論 1 320
  • 正文 獨居荒郊野嶺守林人離奇死亡俩垃,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,303評論 3 340
  • 正文 我和宋清朗相戀三年励幼,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片口柳。...
    茶點故事閱讀 40,444評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡苹粟,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出跃闹,到底是詐尸還是另有隱情嵌削,我是刑警寧澤,帶...
    沈念sama閱讀 36,134評論 5 350
  • 正文 年R本政府宣布望艺,位于F島的核電站苛秕,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏找默。R本人自食惡果不足惜艇劫,卻給世界環(huán)境...
    茶點故事閱讀 41,810評論 3 333
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望啡莉。 院中可真熱鬧港准,春花似錦旨剥、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,285評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至衩椒,卻和暖如春蚌父,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背毛萌。 一陣腳步聲響...
    開封第一講書人閱讀 33,399評論 1 272
  • 我被黑心中介騙來泰國打工苟弛, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人阁将。 一個月前我還...
    沈念sama閱讀 48,837評論 3 376
  • 正文 我出身青樓膏秫,卻偏偏與公主長得像,于是被迫代替她去往敵國和親做盅。 傳聞我的和親對象是個殘疾皇子缤削,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,455評論 2 359

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

  • 一、快速術(shù)語檢索 比特幣地址:(例如:1DSrfJdB2AnWaFNgSbv3MZC2m74996JafV)由一串...
    不如假如閱讀 15,997評論 4 87
  • 區(qū)塊鏈技術(shù)的典型應(yīng)用 1 偉大的開拓者-比特幣 1) 比特幣產(chǎn)生 2008年吹榴,中本聰(Satoshi Na...
    yrm23閱讀 6,281評論 0 23
  • 以太坊白皮書地址:https://github.com/ethereum/wiki/wiki/White-Pape...
    rectinajh閱讀 17,840評論 0 46
  • 接著上幾篇文章再來看下windows下安裝mysql亭敢。 我這里是windows7 64位, 安裝過程中還是遇到一些...
    Nic_ofh閱讀 758評論 0 0
  • 親愛的們图筹,你們還好嗎帅刀?大姐繼娟,二姐王娟远剩,三姐迎麗扣溺,四姐為之,五姐凡凡民宿,七婷婷娇妓,八萌萌像鸡!一年又快過去了活鹰,我們畢業(yè)多...
    5c47cc1da568閱讀 164評論 0 0