比特幣

區(qū)塊鏈

什么是區(qū)塊鏈罕袋?

區(qū)塊鏈?zhǔn)且环N分布式的去中心化的數(shù)據(jù)庫(kù)台盯。

比特幣

什么是比特幣存筏?
比特幣本質(zhì)是一個(gè)記賬簿宠互。
它是一個(gè)去中心化的網(wǎng)絡(luò)味榛,每一個(gè)節(jié)點(diǎn)稱為礦工。
記賬的方式:
發(fā)生比特幣交易時(shí)予跌,需要加入這個(gè)比特幣網(wǎng)絡(luò)搏色,交易雙方為比特幣網(wǎng)絡(luò)的節(jié)點(diǎn),例如:A向B轉(zhuǎn)賬
這個(gè)轉(zhuǎn)賬申請(qǐng)加入?yún)^(qū)塊鏈網(wǎng)絡(luò)券册,因?yàn)檫@個(gè)網(wǎng)絡(luò)是由很多節(jié)點(diǎn)組成的频轿,需要一半以上的節(jié)點(diǎn)的同意,才可以加入網(wǎng)絡(luò)烁焙,也就是51%的節(jié)點(diǎn)的同意略吨。好,同意之后考阱,就可以在這個(gè)網(wǎng)絡(luò)記錄起來(lái)了。
那這個(gè)交易記錄存放在哪里了鞠苟,交易記錄存放在一個(gè)稱為區(qū)塊的地方乞榨,這個(gè)網(wǎng)絡(luò)每隔10分鐘就會(huì)產(chǎn)生一個(gè)新的區(qū)塊,存放這個(gè)區(qū)塊產(chǎn)生時(shí)間和上一個(gè)區(qū)塊產(chǎn)生時(shí)間內(nèi)的所有被同意的交易当娱,也就是這10分鐘的交易吃既。
問(wèn)題:如何產(chǎn)生第一個(gè)區(qū)塊

剛才講到,這個(gè)網(wǎng)絡(luò)由很多個(gè)節(jié)點(diǎn)組成跨细,那這個(gè)新的區(qū)塊到底是由哪個(gè)節(jié)點(diǎn)產(chǎn)生鹦倚?這是一個(gè)需要思考的問(wèn)題
事實(shí)上,所有的節(jié)點(diǎn)都想當(dāng)?shù)谝粋€(gè)冀惭,因?yàn)椋?br> 第一個(gè)生成新區(qū)塊的節(jié)點(diǎn)有一項(xiàng)特權(quán)震叙,可以在新生成的區(qū)塊中插入一條特殊交易記錄:憑空向一個(gè)地址轉(zhuǎn)入一定數(shù)額的比特幣。
“憑空”的意思是不需要輸入U(xiǎn)TXO散休,這些比特幣是憑空產(chǎn)生的媒楼,是作為產(chǎn)生新區(qū)塊的獎(jiǎng)勵(lì)。這個(gè)特殊交易稱為“創(chuàng)幣交易”戚丸,因?yàn)檫@一過(guò)程也是發(fā)行新比特幣的過(guò)程划址,這就是為什么產(chǎn)生新區(qū)塊被稱為“挖礦”。
那么獎(jiǎng)勵(lì)的數(shù)額有多大呢限府?創(chuàng)建新區(qū)塊的獎(jiǎng)勵(lì)數(shù)額是不定的:第一個(gè)區(qū)塊獎(jiǎng)勵(lì)的是50個(gè)比特幣夺颤,隨后每產(chǎn)生210000個(gè)區(qū)塊這一數(shù)字就遞減50%,直到變?yōu)?胁勺。目前區(qū)塊鏈的長(zhǎng)度已接近50W世澜,因此每次獎(jiǎng)勵(lì)12.5個(gè)比特幣。通過(guò)以下公式便可算出署穗,比特幣的上限是2100W個(gè)宜狐。  
除了創(chuàng)塊獎(jiǎng)勵(lì)外势告,創(chuàng)塊的收益還包括所有交易的交易費(fèi)。因?yàn)槊總€(gè)區(qū)塊記錄了這10分鐘內(nèi)的交易抚恒,交易的時(shí)候需要收取交易費(fèi)咱台,這些交易非也會(huì)給創(chuàng)建第一個(gè)區(qū)塊的節(jié)點(diǎn)。
那么俭驮,

如何才能創(chuàng)建一個(gè)新區(qū)塊呢回溺?通過(guò)解決一個(gè)問(wèn)題:即找到一個(gè)nonce值,使得新區(qū)塊頭的哈希值小于某個(gè)指定的值混萝,即區(qū)塊頭結(jié)構(gòu)中的“難度目標(biāo)”遗遵。
區(qū)塊頭中的信息,在挖礦前大部分已經(jīng)是固定下來(lái)的逸嘀,或者是可計(jì)算的车要。

image

版本號(hào)
跟隨比特幣客戶端而定,一段時(shí)間內(nèi)不會(huì)改變崭倘。即使要改變翼岁,也會(huì)有比特幣的核心開發(fā)人員來(lái)協(xié)調(diào)升級(jí)策略,這個(gè)可以理解為一個(gè)靜態(tài)常數(shù)司光。

前一區(qū)塊的哈希摘要

一次哈希即可琅坡。前一區(qū)塊已經(jīng)是打包好的。

默克爾樹的根

剛才已經(jīng)得到了結(jié)果残家,根據(jù)本次交易包含的交易列表得到榆俺。

時(shí)間

取打包時(shí)的時(shí)間。也不需要很精確坞淮,前后幾秒茴晋,幾十秒也都可以。

難度目標(biāo)

參考上兩周產(chǎn)生的區(qū)塊的平均生成時(shí)間而定回窘。兩周內(nèi)如果平均10分鐘產(chǎn)生一個(gè)區(qū)塊的話晃跺,兩周會(huì)產(chǎn)生2016個(gè)區(qū)塊,軟件會(huì)計(jì)算最新的2016個(gè)區(qū)塊生成的時(shí)間毫玖,然后做對(duì)比掀虎,隨之調(diào)整難度,使得接下來(lái)產(chǎn)生的區(qū)塊的預(yù)期時(shí)間保持在10分鐘左右付枫。因?yàn)樽罱?016個(gè)區(qū)塊已經(jīng)確定烹玉,所以這個(gè)數(shù)字也是確定的。

隨機(jī)數(shù)nonce

這個(gè)就是挖礦的目標(biāo)了阐滩。這是一個(gè)32位的數(shù)字二打。

隨機(jī)數(shù)可以變化,而且要從0試到最大值2^32掂榔。直到最后出現(xiàn)的hash結(jié)果继效,其數(shù)字低于難度目標(biāo)值症杏。不過(guò)以現(xiàn)在的計(jì)算機(jī)算力,一臺(tái)礦機(jī)用不了一秒就把全部的變化可能計(jì)算完了瑞信,所以還需要改變區(qū)塊內(nèi)部的創(chuàng)幣交易中的附帶消息厉颤,這樣就讓merkle root也發(fā)生了變化,從而有更多的可能去找到符合要求的nonce凡简。

block_header = version + previous_block_hash + merkle_root + time + target_bits + nonce

for i in range(0, 2**32):

     if sha256(sha256(block_header)) < target_bits:       

        break    

    else:        

       continue
 

比特幣的交易如何確認(rèn)

先講一個(gè)概念:UTXO逼友,指未花費(fèi)的交易輸出

比特幣的記賬模式跟傳統(tǒng)的中心化記賬模式有一個(gè)比較難理解的區(qū)別:比特幣沒(méi)有賬戶的概念。

具體來(lái)說(shuō)秤涩,比特幣的記賬系統(tǒng)帜乞,是通過(guò)記錄和確認(rèn)每一筆交易本身來(lái)記賬,是交易本身筐眷,是交易的行為本身黎烈,也就是A向B轉(zhuǎn)賬這個(gè)過(guò)程,而不是記錄A和B的余額變動(dòng)匀谣,而A及B的最終余額是通過(guò)掃描交易數(shù)據(jù)計(jì)算出來(lái)的照棋。

而傳統(tǒng)的記賬系統(tǒng)(銀行),是通過(guò)記錄和保存每個(gè)賬戶的余額變動(dòng)數(shù)據(jù)來(lái)驗(yàn)證交易的振定,也就是說(shuō),每一次交易由中心記賬系統(tǒng)把不同賬戶(一般是2個(gè))肉拓,的余額進(jìn)行相應(yīng)的調(diào)整并保存后频,完成了一個(gè)交易的記錄。A向B轉(zhuǎn)100萬(wàn)暖途,那么先把A的余額減少100萬(wàn)卑惜,同時(shí)把B的余額增加100萬(wàn),會(huì)計(jì)上說(shuō)的驻售,有借必有貸露久,借貸必相等。

為什么會(huì)這樣欺栗?為什么比特幣系統(tǒng)毫痕,不采取實(shí)時(shí)更新賬戶余額的方式來(lái)記賬?主要有兩個(gè)原因:

1.節(jié)省算力和儲(chǔ)存空間迟几。因?yàn)槿绻扇∮囝~模式消请,為了避免雙重支付,即使你的賬戶沒(méi)有發(fā)生變化类腮,比特幣系統(tǒng)里任何一個(gè)客戶端(錢包)發(fā)生一筆交易和變動(dòng)臊泰,所有的客戶端都有同步數(shù)據(jù),否則蚜枢,若B沒(méi)有同步更新整個(gè)系統(tǒng)中的所有賬戶余額信息缸逃,在A給B轉(zhuǎn)賬時(shí)针饥,B無(wú)法知道A的賬上是否有足夠的余額,甚至有可能需频,A把同一個(gè)比特幣同時(shí)轉(zhuǎn)給了B和C丁眼,而B和C由于都沒(méi)有更新A的余額信息,都不知道A的賬上其實(shí)沒(méi)有那么多錢贺辰。

而傳統(tǒng)的支付系統(tǒng)不一樣户盯,每一次交易,只有付款方和收款方的余額變動(dòng)饲化,頂多再加上中心化的服務(wù)器數(shù)據(jù)發(fā)生變動(dòng)莽鸭,所以只要同步很少的數(shù)據(jù)(這個(gè)是相對(duì)于區(qū)塊鏈來(lái)說(shuō)),事實(shí)上由于所有記賬都是中心服務(wù)器來(lái)完成吃靠,其實(shí)不需要額外同步硫眨,只需要在完成記錄的同時(shí)儲(chǔ)存數(shù)據(jù)就可以了。所以在數(shù)據(jù)儲(chǔ)存上中心化的系統(tǒng)是有優(yōu)勢(shì)的巢块,如果比特幣也采用這種余額思路礁阁,那么必定會(huì)失敗(雖然現(xiàn)在也還不好說(shuō)一定能成功)族奢。

2.如果采取記錄賬戶余額的方式姥闭,那么在不同節(jié)點(diǎn)更新存在時(shí)間差的時(shí)候,很容易出現(xiàn)雙重支付越走,簡(jiǎn)單來(lái)說(shuō)棚品,A把同1各比特幣轉(zhuǎn)給B和C,由于BC的地理位置不同廊敌,他們附近的節(jié)點(diǎn)不同铜跑,有可能都確認(rèn)為交易,雖然隨著時(shí)間的推移骡澈,比特幣系統(tǒng)會(huì)達(dá)成競(jìng)爭(zhēng)共識(shí)锅纺,只確認(rèn)一個(gè)交易,但肋殴,BC兩人都提供了商品給A囤锉,最后,肯定有一個(gè)人蒙受損失护锤。

那比特幣系統(tǒng)是怎么做的呢:那就是只確認(rèn)交易本身嚼锄,直記錄交易輸入和輸出:每筆比特幣交易都有輸入和輸出,別人付給你的錢是“交易輸入”(對(duì)你來(lái)說(shuō))蔽豺,你收到的錢如果被你支付出去了区丑,叫做“交易輸出”,你收到但是還沒(méi)有支付出去的錢叫做“未花費(fèi)交易輸出”(UTXO),這是一種待支付的狀態(tài)沧侥。

礦工們把每一次交易本身的數(shù)據(jù)(輸入和輸出)打包到區(qū)塊之中可霎,通過(guò)競(jìng)爭(zhēng)計(jì)算,確保不可串改宴杀,實(shí)際上如果得到6個(gè)區(qū)塊的確認(rèn)癣朗,那么全球的算力加起來(lái)都沒(méi)法串改。

如果需要確認(rèn)余額旺罢,那么就用客戶端(錢包)掃描某一個(gè)賬戶的輸入旷余、輸出數(shù)據(jù),就可以算出這個(gè)賬戶的余額扁达,相比更新所有賬戶的余額數(shù)據(jù)來(lái)說(shuō)正卧,簡(jiǎn)直太輕松,不到1秒鐘就可以搞定跪解。

說(shuō)完了比特幣系統(tǒng)記賬的方式炉旷,下面講講具體支付過(guò)程中,雙方如何確認(rèn)交易已經(jīng)完成了叉讥?還是先講一個(gè)關(guān)鍵概念:

SPV:簡(jiǎn)單支付驗(yàn)證窘行。我們?cè)谟帽忍貛沤灰椎臅r(shí)候,必須確定交易成功图仓,才會(huì)提供相應(yīng)的服務(wù)或者商品罐盔,也就是一手交錢一手交貨,確認(rèn)收到錢救崔,才交貨惶看。為什么說(shuō)是“簡(jiǎn)單驗(yàn)證”呢?因?yàn)檫@種驗(yàn)證方法帚豪,不需要下載所有的交易數(shù)據(jù)碳竟,只需要下載區(qū)塊頭數(shù)據(jù)就可以驗(yàn)證草丧。

那什么是區(qū)塊頭呢狸臣?

簡(jiǎn)單回顧一下,區(qū)塊鏈對(duì)交易的記錄昌执,是把一段時(shí)間內(nèi)的交易數(shù)據(jù)烛亦,打包到一個(gè)區(qū)塊中,然后隨著時(shí)間的推移懂拾,區(qū)塊不斷累積疊加煤禽,環(huán)環(huán)相扣,形成區(qū)塊鏈岖赋,區(qū)塊鏈越長(zhǎng)檬果,越難修改,一般來(lái)說(shuō)經(jīng)過(guò)6個(gè)區(qū)塊以后,全球的計(jì)算機(jī)加起來(lái)都無(wú)法修改选脊。

每個(gè)區(qū)塊頭信息代表著一個(gè)區(qū)塊杭抠,就像是區(qū)塊的身份證一樣,你看到我的身份證就知道我是誰(shuí)恳啥,就可以在腦海中浮現(xiàn)出我的身高偏灿、樣貌,甚至職業(yè)钝的、愛(ài)好等信息翁垂,在區(qū)塊鏈?zhǔn)澜缋铮到y(tǒng)通過(guò)區(qū)塊頭硝桩,可以識(shí)別出區(qū)塊信息的方方面面沿猜。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市亿柑,隨后出現(xiàn)的幾起案子邢疙,更是在濱河造成了極大的恐慌,老刑警劉巖望薄,帶你破解...
    沈念sama閱讀 219,490評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件疟游,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡痕支,警方通過(guò)查閱死者的電腦和手機(jī)颁虐,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,581評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)卧须,“玉大人另绩,你說(shuō)我怎么就攤上這事』ㄋ唬” “怎么了笋籽?”我有些...
    開封第一講書人閱讀 165,830評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)椭员。 經(jīng)常有香客問(wèn)我车海,道長(zhǎng),這世上最難降的妖魔是什么隘击? 我笑而不...
    開封第一講書人閱讀 58,957評(píng)論 1 295
  • 正文 為了忘掉前任侍芝,我火速辦了婚禮,結(jié)果婚禮上埋同,老公的妹妹穿的比我還像新娘州叠。我一直安慰自己,他們只是感情好凶赁,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,974評(píng)論 6 393
  • 文/花漫 我一把揭開白布咧栗。 她就那樣靜靜地躺著逆甜,像睡著了一般。 火紅的嫁衣襯著肌膚如雪致板。 梳的紋絲不亂的頭發(fā)上忆绰,一...
    開封第一講書人閱讀 51,754評(píng)論 1 307
  • 那天,我揣著相機(jī)與錄音可岂,去河邊找鬼错敢。 笑死,一個(gè)胖子當(dāng)著我的面吹牛缕粹,可吹牛的內(nèi)容都是我干的稚茅。 我是一名探鬼主播,決...
    沈念sama閱讀 40,464評(píng)論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼平斩,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼亚享!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起绘面,我...
    開封第一講書人閱讀 39,357評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤欺税,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后揭璃,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體晚凿,經(jīng)...
    沈念sama閱讀 45,847評(píng)論 1 317
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,995評(píng)論 3 338
  • 正文 我和宋清朗相戀三年瘦馍,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了歼秽。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,137評(píng)論 1 351
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡情组,死狀恐怖燥筷,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情院崇,我是刑警寧澤肆氓,帶...
    沈念sama閱讀 35,819評(píng)論 5 346
  • 正文 年R本政府宣布,位于F島的核電站底瓣,受9級(jí)特大地震影響谢揪,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜濒持,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,482評(píng)論 3 331
  • 文/蒙蒙 一键耕、第九天 我趴在偏房一處隱蔽的房頂上張望寺滚。 院中可真熱鬧柑营,春花似錦、人聲如沸村视。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,023評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至奶赔,卻和暖如春惋嚎,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背站刑。 一陣腳步聲響...
    開封第一講書人閱讀 33,149評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工另伍, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人绞旅。 一個(gè)月前我還...
    沈念sama閱讀 48,409評(píng)論 3 373
  • 正文 我出身青樓摆尝,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親因悲。 傳聞我的和親對(duì)象是個(gè)殘疾皇子堕汞,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,086評(píng)論 2 355

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

  • 虛擬存儲(chǔ)器概述 普通存儲(chǔ)器管理方式很難處理的兩個(gè)問(wèn)題 有些作業(yè)很大,其所要求的內(nèi)存容量超過(guò)了物理內(nèi)存的大小晃琳,所以該...
    傻傻傻瓜_d432閱讀 1,054評(píng)論 0 1
  • 綠葉片片都動(dòng)情卫旱,密密露紫又顯紅人灼, 纖細(xì)藤蔓好攀登,尋找依托向前行顾翼, 狂風(fēng)暴雨挺得住挡毅,氣度雅致笑無(wú)窮, 貧瘠荒野能忍...
    沃田源閱讀 483評(píng)論 7 10
  • 有存有取暴构,不要拒絕別人幫助跪呈,也要主動(dòng)去幫助別人,警惕無(wú)意識(shí)取款行為
    隔壁小志龍閱讀 195評(píng)論 2 2
  • 01 這個(gè)時(shí)代取逾,正如狄更斯100年前所說(shuō):這是最好的時(shí)代耗绿,這是最壞的時(shí)代。在這個(gè)時(shí)代里砾隅,我們享受著移動(dòng)互聯(lián)網(wǎng)帶來(lái)的...
    智慧的狐貍閱讀 403評(píng)論 0 1
  • 我不確定別人身上閃閃發(fā)光的東西是不是我想要的生活误阻。但我強(qiáng)大了許多,像混合著沙子晴埂、木屑的沙袋究反,卻沒(méi)人知道里面也放了柔...
    七公子steven閱讀 173評(píng)論 0 1