更新時間:2018-04-20 來源:黑馬程序員 瀏覽量:
當(dāng)下,要問最火爆的概念是什么,那么這個桂冠必定被”區(qū)塊鏈”摘得,自正月以來,“比特幣”、“區(qū)塊鏈”、“ICO”等等概念鋪天蓋地,占據(jù)了各大版面,刷爆了我們的朋友圈,幣市井噴式的爆發(fā)讓很多傳統(tǒng)行業(yè)的人驚掉了下巴,同時又匪夷所思的發(fā)問:比特幣到底是什么?區(qū)塊鏈又是什么?兩者有什么關(guān)系?比特幣在哪里?能拿在手里么?...
從時間順序講,是先有比特幣,后有區(qū)塊鏈;從從屬關(guān)系講,區(qū)塊鏈?zhǔn)菑谋忍貛派铣殡x出來的概念,比特幣是區(qū)塊鏈上的應(yīng)用,由于比特幣是區(qū)塊鏈的始祖,雖然其與時下區(qū)塊鏈概念有一些區(qū)別,但它仍極具代表性,所以,在這里我們主要介紹比特幣(BTC,bitcoin),我們將用一系列文章,從最基本的概念聊起,細(xì)數(shù)一下比特幣的前世今生,從多個角度看看比特幣,從比特幣入手,逐步開啟認(rèn)知區(qū)塊鏈的大門。
關(guān)于區(qū)塊鏈,我們聽到最多的描述是:區(qū)塊鏈?zhǔn)且粋€去中心化的,不可偽造,匿名的,基于密碼學(xué)的分布式賬本, 這里面涵蓋的信息比較多,我們先了解一下比特幣的基本信息,如下圖:
說說中本聰:
比特幣的創(chuàng)始人“中本聰”是一個神秘人士,至今無法確定其身份,他是“密碼朋克”組織成員之一,“密碼朋克”一個匯集精英IT極客的加密郵件系統(tǒng),維基解密網(wǎng)創(chuàng)始人阿桑奇、萬維網(wǎng)發(fā)明者Tim-Berners Lee爵士等都是其成員。在2008年金融危機(jī)爆發(fā)之后,政府和銀行管理經(jīng)濟(jì)的能力遭到各方質(zhì)疑,信用降入谷底,政府隨意增發(fā)美元,導(dǎo)致物價飛速上漲,中本聰對這種中心機(jī)構(gòu)隨意影響市場的現(xiàn)象十分不滿,他想建立一個無需中心機(jī)構(gòu)參與的金融系統(tǒng),重塑金融秩序,即將貨幣去中心化,所以他在2008年10月31日發(fā)布了比特幣白皮書,即《比特幣:一種點(diǎn)對點(diǎn)的現(xiàn)金支付系統(tǒng)》, 并在次年(2009年1月3日)發(fā)布了首個比特幣系統(tǒng)客戶端,公諸于世,最初比特幣系統(tǒng)僅有幾個人共同使用,且由中本聰自己負(fù)責(zé)維護(hù)代碼,后期隨著比特幣社區(qū)人才的加入,中本聰逐漸隱退,從此銷聲匿跡,將所有維護(hù)工作交給社區(qū)人員,現(xiàn)在比特幣有一個專業(yè)的核心開發(fā)團(tuán)隊維護(hù),社區(qū)良性發(fā)展。
說說比特幣系統(tǒng):
比特幣系統(tǒng)是一個開源的軟件,它對所有人都是開放的,每個人都可以下載并運(yùn)行,只要在上面創(chuàng)立賬號,每個人都可以參與到比特幣的交易中來,包括接收和發(fā)送比特幣。
我們都知道比特幣系統(tǒng)是一個電子交易系統(tǒng),既然存在交易,那么就一定需要貨幣媒介,在比特幣系統(tǒng)里面,起到流通媒介的貨幣我們稱之為比特幣(BTC),那么它從哪里來呢?比特幣系統(tǒng)是去中心化的,沒有中心發(fā)行貨幣機(jī)構(gòu),那它到底如何產(chǎn)生呢? 對此,比特幣系統(tǒng)有一個獨(dú)特的發(fā)行比特幣機(jī)制,即挖礦,挖礦使得比特幣從無到有的產(chǎn)生,并且比特幣系統(tǒng)制定了一個挖礦產(chǎn)生BTC數(shù)量的遞減規(guī)則,隨著挖礦的進(jìn)行,貨幣持續(xù)發(fā)行量逐漸減少,最終完成全部比特幣的發(fā)行工作,使系統(tǒng)內(nèi)比特幣數(shù)量穩(wěn)定在一個2100萬這個數(shù)值,且永不增發(fā)。
至此我們了解到比特幣的產(chǎn)生來自于挖礦,挖礦又是什么?誰負(fù)責(zé)挖礦?想深入了解比特幣網(wǎng)絡(luò),我們需要先了解幾個概念。
說說比特幣的相關(guān)概念:
節(jié)點(diǎn):每一個運(yùn)行比特幣客戶端的設(shè)備都是一個節(jié)點(diǎn),節(jié)點(diǎn)與節(jié)點(diǎn)間互聯(lián),同步數(shù)據(jù),從而構(gòu)成整個比特幣網(wǎng)絡(luò)
礦工:每個擁有強(qiáng)大計算能力的節(jié)點(diǎn)都可以成為礦工,他們通過運(yùn)行比特幣的挖礦程序進(jìn)行挖礦
挖礦:由礦工執(zhí)行挖礦,礦工在設(shè)備上(也可能是專業(yè)的挖礦設(shè)備)上運(yùn)行一個程序,這個程序會拼命的找一個滿足要求的數(shù)字,如果找到了,那么這個礦工就有會爭取到記賬的權(quán)利,有權(quán)對網(wǎng)絡(luò)中存在的轉(zhuǎn)賬交易進(jìn)行打包,并且記錄到賬本中,進(jìn)而得到比特幣獎勵,這個過程很像開采埋藏在地底下礦物的過程,所以我們稱之為挖礦,并且該過程沒有捷徑可走,從而有效避免了作弊的可能
算力:算力即計算的能力,上面說了,挖礦要運(yùn)行計算程序,找到目標(biāo)數(shù)字,這個算力就是礦工設(shè)備的計算能力,即每秒鐘能做多少次運(yùn)算查找,查找這個數(shù)字的過程是運(yùn)行一個哈希算法(一個密碼學(xué)算法),我們稱之為“哈希碰撞”,算力的單位是hash/s,即每秒種能碰撞多少次,算力越強(qiáng),計算速度越快,獲得記賬權(quán)的幾率就越大
共識機(jī)制:是指被整個區(qū)塊鏈網(wǎng)絡(luò)共同認(rèn)可的、能夠讓陌生節(jié)點(diǎn)間達(dá)成共同認(rèn)可的規(guī)則,只要節(jié)點(diǎn)按照這個規(guī)則做事,做出來的結(jié)果就會得到對方的認(rèn)可,從而達(dá)到彼此信任的目的。比特幣網(wǎng)絡(luò)使用的共識機(jī)制是POW(Proof of Work,工作量證明),上述所說的比特幣挖礦過程就是POW共識機(jī)制,共識機(jī)制還有很多其他的方式,如POS(Proof of stake,權(quán)益證明),DPOS(Delegated Proof of stake,股份授權(quán)證明機(jī)制)等等
區(qū)塊,區(qū)塊鏈:所謂區(qū)塊就是賬本的一頁,里面記錄了在一個時間段內(nèi)(比特幣系統(tǒng)10分鐘出一個區(qū)塊)整個比特幣系統(tǒng)產(chǎn)生的所有交易,每個區(qū)塊被打上時間戳(時間戳就是把產(chǎn)生這個區(qū)塊的具體時間),按照嚴(yán)格的先后順序,連接起來,形成一個賬本,這個賬本就是”區(qū)塊鏈“
介紹的概念比較多,我們整理一份導(dǎo)圖,梳理一下:
現(xiàn)在我們模擬一下整個交易流程,以方便大家理解比特幣系統(tǒng):
Alice是一個客戶,她想買一杯咖啡,向Bob支付0.1個比特幣,具體過程如下:
Alice登錄自己的錢包(比特幣客戶端,或者其他比特幣錢包),輸入對方Bob的地址(相當(dāng)于銀行卡號),輸入轉(zhuǎn)賬金額0.1BTC,選擇交易手續(xù)費(fèi)(手續(xù)費(fèi)可以為零,那么這條交易被寫入?yún)^(qū)塊鏈的優(yōu)先級會降低,轉(zhuǎn)賬就會被延遲),點(diǎn)擊發(fā)送,那么這條交易就會被發(fā)送到比特幣網(wǎng)絡(luò)中去,當(dāng)某個礦工收到這筆交易之后,會先校驗一下這筆交易的有效性(校驗過程我們后續(xù)再講),當(dāng)確定這是一筆有效的交易之后,會把這筆交易暫存到本地的“待確認(rèn)交易池”中,同時將這筆交易廣播到其他節(jié)點(diǎn),每一個節(jié)點(diǎn)都可以獨(dú)立驗證這筆交易的有效性,然后再向外傳播,通過這種P2P網(wǎng)絡(luò),這筆交易迅速的在整個網(wǎng)絡(luò)中發(fā)布。當(dāng)一個新的挖礦周期開始時(10分鐘),礦工會從“待確認(rèn)交易池”中取出合適的交易,將交易打包,隨即開始挖礦,即做哈希碰撞,試圖最先找到那個符合條件的目標(biāo)數(shù)字,一旦某個礦工A算出這個數(shù)值,礦工A便向整個網(wǎng)絡(luò)公布結(jié)果,所有其他礦工收到這條消息后,立刻停止運(yùn)算,驗證這個數(shù)值是否有效,當(dāng)其他節(jié)點(diǎn)確認(rèn)該數(shù)值有效后,礦工A得到記賬權(quán),將他打包的區(qū)塊添加到區(qū)塊鏈上,同時獲得新生的比特幣獎勵,整個網(wǎng)絡(luò)同步最新的賬本,隨即進(jìn)入下一輪挖礦競爭中去,循環(huán)往復(fù)。
當(dāng)包含Alice的這筆轉(zhuǎn)賬的區(qū)塊被礦工寫入到區(qū)塊鏈之后,Bob的賬戶中便會收到Aclie的轉(zhuǎn)賬。實(shí)際網(wǎng)絡(luò)中,需要6個區(qū)塊確認(rèn)之后,Bob才能使用這筆轉(zhuǎn)賬,這是比特幣系統(tǒng)為了安全而設(shè)置的限制,我們后續(xù)再講。
同樣,我們畫一個圖,便于理解: