a级片国产-a级片免费-a级片免费播放-a级片免费观看-亚洲一区二区免费在线观看-亚洲一区二区免费视频

愛采購

發(fā)產(chǎn)品

  • 發(fā)布供應(yīng)
  • 管理供應(yīng)

區(qū)塊鏈是什么,簡單易懂介紹區(qū)塊鏈

   2018-03-05 互聯(lián)網(wǎng)貿(mào)易之家1060
導(dǎo)讀

隨著比特幣的暴漲暴跌,其底層技術(shù)——區(qū)塊鏈再度進入大家視野,令我等不得不加以關(guān)注。區(qū)塊鏈到底是什么,緣何號稱為顛覆性的技術(shù),對未來將產(chǎn)生什么影響?本文將以極其通俗的方式,對區(qū)塊鏈進行展開講解。先擺結(jié)論,區(qū)塊鏈的顛覆在人們找到了一個低成本解決信任問題的方案。不少回答舉例不懂TCP/IP照樣打王者榮耀,照樣淘

隨著比特幣的暴漲暴跌,其底層技術(shù)——區(qū)塊鏈再度進入大家視野,令我等不得不加以關(guān)注。區(qū)塊鏈到底是什么,緣何號稱為顛覆性的技術(shù),對未來將產(chǎn)生什么影響?本文將以極其通俗的方式,對區(qū)塊鏈進行展開講解。

先擺結(jié)論,區(qū)塊鏈的顛覆在人們找到了一個低成本解決信任問題的方案。

不少回答舉例不懂TCP/IP照樣打王者榮耀,照樣淘寶購物,道理沒錯,區(qū)塊鏈技術(shù)確實很復(fù)雜,未來的區(qū)塊鏈技術(shù)非專業(yè)人士確實相當難完全理解。但是為了體會區(qū)塊鏈的魅力,我們可以了解最簡單的區(qū)塊鏈技術(shù)版本,就是號稱區(qū)塊鏈1.0的比特幣。因為轉(zhuǎn)賬系統(tǒng)是最直接需要彼此不信任的個體之間解決信任問題的應(yīng)用場景,了解了比特幣,也就能一窺區(qū)塊鏈在解決信任問題中的魅力,也就能理解未來可能落地的應(yīng)用場景。因此本回答以講解比特幣來盡量幫助大家理解區(qū)塊鏈技術(shù)。

二、比特幣的誕生

話說2008年,正值美國金融危機肆虐全球,美國央行帶頭量化寬松,就是瘋狂印鈔票,然后把這些綠色紙片片借給大家,讓大家去消費投資,讓經(jīng)濟這潭水活起來。不難想象,經(jīng)濟體里錢突然多了起來,我們的錢是不是就不值錢了?原來經(jīng)濟體總共有一萬塊錢,你的一塊錢值多少錢,如果央行多印了一萬塊錢,簡單理解是不是你一塊錢的購買力就縮水一半?這就是所謂的通貨膨脹。

央行所擁有的這種發(fā)行紙幣的權(quán)力、這種任性,掌握了經(jīng)濟體的生殺大權(quán)、更掌控了我們私房錢的實際價值,這令互聯(lián)網(wǎng)極客很不滿,他們不喜歡這種中心權(quán)力,他們喜歡互聯(lián)網(wǎng)這種去中心化的機構(gòu),他們想用互聯(lián)網(wǎng)技術(shù)來顛覆目前的中心化貨幣、甚至顛覆整個世界。于是乎,中本聰橫空出世,一篇奇文誕生了比特幣。

讓我們再聽聽他文章的名字:Bitcoin:A Peer-to-Peer Electronic Cash System。先了解一下,啥叫個Peer-to-Peer。Peer啥意思,Peer就是對等的人,大家都是對等的、是身份相同的,咱們直接Peer-to-Peer,不要經(jīng)過任何中間實體,咱們直接對話、直接操作,這就是Peer-to-Peer,根本就不要中介、不需要中心,此所謂P2P技術(shù)(對等計算)。其實,我倒覺將P2P理解為person-to-person更加直觀,就是我們作為一個人、做為平等的人,咱就直接對話,person-to-person,不要任何中介,這樣就不會有任何中心,大家都在互相person-to-person。簡而言之,在 P2P技術(shù)中,網(wǎng)絡(luò)中的參與者既是服務(wù)器(Server),又是客戶(Client),既是資源提供者,又是資源獲取者。

我們中國習(xí)慣上將Peer-to-Peer 翻譯成“點對點”,仿佛是point-to-point一般,多少有些歪曲。如此一來,中本聰?shù)拇笞骶头g成了《比特幣:一種點對點的電子現(xiàn)金系統(tǒng)》,這個系統(tǒng)的目的就是要去中心化。那我們看看中心和點對點有什么區(qū)別呢?我們現(xiàn)有的支付體系是中心化的,體現(xiàn)在兩個方面:第一,貨幣政策是由各個國家中央銀行規(guī)定的,這就導(dǎo)致了可能的貨幣濫發(fā),中本聰想要建立一個沒有中心機構(gòu)、并且規(guī)則明確的貨幣供應(yīng)方式;第二,現(xiàn)有的支付體系是中心化的,比如說在淘寶上購物,錢是打進支付寶的,當我們收貨以后錢再由支付寶打入賣家賬戶。支付寶所扮演的就是中心化的機構(gòu),因為買家與賣家彼此的不信任,必須要一個中心化的機構(gòu)來扮演信用中心,大家都與信任中心發(fā)生聯(lián)系,陌生人的買賣就實現(xiàn)了,淘寶成功了。但是這樣做有兩個缺點:一是信任中心權(quán)力越來越大,如果馬云異想天開、給自己的支付寶賬戶多添幾個零,我們能知道嗎?二是,這些信用中心是要收費的,我們要為這種信用提供費用。中本聰想要建立的支付體系,就是要克服上述這些弊病,所以比特幣網(wǎng)絡(luò)最重要的特點就是:去中心化、公開透明,從技術(shù)上解決點對點的信任問題;并且將比特幣的總量恒定在2100萬枚,從而避免可能的通脹。

三、比特幣的轉(zhuǎn)賬

去中心化,意味著陌生人之間的轉(zhuǎn)賬支付是直接進行的,沒有第三方提供信用擔保,這怎么可能呢?nothing is impossible,中本聰就設(shè)計出來了,當然技術(shù)上很復(fù)雜。我們這里先打個比方介紹一下,感受一下這根蔥的厲害。

比如Alice要向Bob轉(zhuǎn)賬,注意兩人互相不認識,毫無信任感,那如何直接轉(zhuǎn)賬呢?在我們目前的具有中心的網(wǎng)絡(luò)下,Alice向Bob轉(zhuǎn)賬100元,銀行收到Alice請求,并檢查Alice賬戶余額,如果大于100,便減少100,同時Bob賬戶增加100余額。所有人的賬戶都是非公開的,權(quán)力掌握在中心機構(gòu)手中。但在本聰?shù)脑O(shè)計中,在一個去中心化的網(wǎng)絡(luò)中,每一個用戶自己都有一個賬本,這個賬本記錄了從第一枚比特幣誕生以來的所有交易記錄,Alice要向Bob轉(zhuǎn)賬5個btc,會在村口喊一句“Alice要轉(zhuǎn)賬5btc給Bob”,村口居民張三聽到Alice的聲音,掏出自己的小本子,檢驗了一下Alice的賬戶,發(fā)現(xiàn)Alice有5個btc,便寫下Alice向Bob轉(zhuǎn)賬5個btc。同時也喊出“Alice要轉(zhuǎn)賬5btc給Bob”,這樣村民一傳十十傳百,直到每個村民都把這筆交易記錄在自己的賬本上。這樣,每一個村民的賬本都是一樣的,這就是所謂的去中心化賬本。在去中心化的網(wǎng)絡(luò)中,剛才說的各個村民就是體系中的各個節(jié)點。這個去中心化的體系中每個節(jié)點的賬本都是一樣的,所以它幾乎不可能摧毀。傳統(tǒng)網(wǎng)路中,如果銀行體系被破壞了,那么大家的賬目就混亂了。但是在比特幣網(wǎng)絡(luò)中,每個節(jié)點都明確的記錄了本聰開比特幣以來的所有賬目,即使節(jié)點幾乎都炸毀了,只要還剩一個節(jié)點、就可以還原出所有記錄,除非瞬間摧毀整個互聯(lián)網(wǎng)。

我們要記住,在去中心化網(wǎng)絡(luò)中,所有人都是不可信任的,這是我們的前提,上述例子中,居民自發(fā)記賬,有沒有可能記錯呢?當然可能,張三如果跟Alice有仇,給人家肆意篡改,到時候我們該相信哪個賬本呢?在大家都不互相信任的體系如何做到這點呢?首先要做的是要先驗證這條消息是不是Alice本人發(fā)出的,這里用的辦法就是簽名,Alice廣播這條信息的時候要在信息下簽個名,當然網(wǎng)絡(luò)上要數(shù)字簽名了,大家收到這個信息以后要對照一下字跡,發(fā)現(xiàn)確實是Alice發(fā)送的,就承認這條信息是真的,驗證數(shù)字簽名的算法叫橢圓曲線數(shù)字簽名算法,是一種非對稱加密算法。

非對稱加密算法,聽著都很可怕,這里只能舉個例子,聽聽氣質(zhì),聽完氣質(zhì)長精神。什么叫非對稱加密呢?那要先明白啥叫對稱加密。在傳統(tǒng)的對稱加密過程中,比如我要傳遞一個秘密數(shù)字給佐爾格,加密方式就是給這個數(shù)字加上33。當然佐爾格要知道這個加密方式,當他看到寫著223這個數(shù)字的紙條的時候,他就會用223減去33,等于190。這個190就是我想傳遞給佐爾格的數(shù)字;佐爾格看后非常震驚,馬上通過秘密渠道告知斯大林:德軍要用動用190個師閃擊蘇聯(lián)。

這種加密方式的關(guān)鍵在于、雙方要實現(xiàn)約定加密方式,但如果事先無法約定怎么辦,或者這種加密方式被敵方所竊取或者所破解了怎么辦?這就是我們在很多諜戰(zhàn)片里的情景,一旦密碼本丟失,整套密碼系統(tǒng)就完蛋了。

那么,有沒有一種辦法,即使對方知道了加密方式也破解不了信息?這個可以有,這就是非對稱加密。

你知道了我的加密方式,竟然都破解不了我的信息,這個非對稱加密要滿足如下條件:有一個解密方式A與加密方式B,我要傳遞信息M,使用加密方式B進行運算,得到加密信息X=F(M,B),這個過程的好處在于,即使你知道我的加密方式B和加密后得到的信息X,你依然無法算出我的原始信息M,而原始信息M=F(X,A),即原始信息必須使用解密方式A算出。這里的A稱為私鑰,B稱為公鑰——意思就是私人密鑰和公開密鑰,比如特工小孫需要接受情報,他大可以放心的把公鑰在網(wǎng)絡(luò)上公布,任何想要給他發(fā)送信息的人只要按照公鑰B的方式進行加密,得到加密信息X,小孫只需要對X使用自己的私鑰解密即可,這樣就避免了對稱加密中加密方式的傳遞和破解問題,只要小孫保管好自己的私鑰,這個體系幾乎很完美,但是大家基本沒聽懂,對吧?

所以這里必須要舉一個例子,一個非常簡化的例子,簡直就是一個小游戲、小魔術(shù)。大家提提神,我們一起小游戲。你現(xiàn)在隨便想一個三位數(shù),但你別告訴我,因為怕被旁人聽見,你加密后告訴我,你把你想好的這個三位數(shù)乘以91,然后告訴我最后三位就行了;然后呢?然后我就知道你想的那個三位數(shù)是多少了,辦法很簡單,就是我把你告訴我的最后三位再乘以11,所得到數(shù)字的最后三位就是你想的數(shù)字。

那我們試一下,假定你想好的數(shù)字是321,想把這個數(shù)字加密后告訴我,于是你用91乘以321,等于29211,然后你告訴我最后三位是211,隨后我用211乘以11,得到數(shù)字2321,這個數(shù)字的最后三位不正是你想告訴我的321嗎?哇塞,好神奇。

或許有朋友覺得,是不是碰巧了啊。你321這個數(shù)字太特殊了啊。Ok,我們再來一次。這回你想好的三位數(shù)是598,然后你乘以91,這個乘以91就是公鑰;598乘以91=54418,其最后三位是418,所以你把418告訴了我。于是我拿出了我的私鑰11,乘以418,得到了數(shù)字4598,其最后三位是598,不正是你真正想要給我傳遞的598嗎?我乘以11就是解密的過程。此所謂:公鑰加密、私鑰解密。就算別人偷聽到了你秘密告訴我的418、并且也知道這是經(jīng)過公鑰加密的——也就是乘以91了,但他只要不知道我的私鑰、也就是不知道乘以11,那他看著418照樣無法解密,只能看著418干瞪眼,無法破解出598這個真正信息。

這就是非對稱加密的牛逼之處——“公鑰加密,私鑰破解”,而傳統(tǒng)的對稱加密就是加密和破解用的是同樣的密鑰,而非對稱用的兩套密鑰——“公鑰加密,私鑰破解”。

此時此刻,估計有盆友覺得震驚了,為什么我一乘11,直接就解密了呢?因為91乘以11等于1001,任何三位數(shù)乘以1001的后三位就是三位數(shù)本身。

大家注意,剛才這個例子只是一個極其簡單的非對稱加密。人家比特幣所用的非對稱加密那是相當?shù)膹?fù)雜,叫什么橢圓曲線數(shù)字簽名算法。我們在剛才的例子里面,我們只說了單向的公鑰加密、私鑰解密,比特幣世界里的橢圓曲線算法更神奇,不但有公鑰加密、私鑰解密,還有私鑰加密、公鑰解密,私鑰可以推出公鑰,但公鑰推不出私鑰。有了這點公鑰和私鑰的概念,我們可以講述一下比特幣系統(tǒng)下Alice向Bob轉(zhuǎn)賬的過程。

你作為一個比特幣的用戶,自然會有一個錢包,這個錢包下面可以生成一大堆的地址和對應(yīng)的密碼,由用戶自主選擇一個,甚至每一筆交易都使用一個新的公鑰(當然只能是收款),這樣可以避免任何人對你的追查,如果你頻繁使用一個公鑰,這些交易記錄大家還可以推出一些有限信息,比如頻繁程度,額度大小等,可以對你的財富做一些推測,你的隱私會受到威脅。在比特幣的世界里我們把錢包里的地址叫公鑰,把對應(yīng)的密碼叫私鑰。我們可以簡單理解公鑰就是我們銀行卡賬號,私鑰就是銀行卡密碼。我們每一個人在比特幣世界里可以有茫茫多的銀行卡,而且每張銀行卡并不與你本人任何身份信息綁定,這就是比特幣的匿名性。任何人只要有這個私鑰,也就是密碼,就可以操縱對應(yīng)銀行卡,也就是公鑰里的比特幣。

現(xiàn)在Alice要向Bob轉(zhuǎn)賬5btc,Alice會把這條信息用自己的私鑰加密并發(fā)送到Bob的地址,也就是Bob的公鑰,其實就是Alice先使用Bob的公鑰加密一層信息,把這條加密后的信息再使用Alice自己的私鑰加密一層,這時信息已經(jīng)被加密了兩層,一層是Bob公鑰,一層是Alice私鑰。大家收到這條信息以后,會用Alice的公鑰來驗證加密信息是不是Alice發(fā)送的,其實就是用公鑰解密了Alice這層信息,從而驗證了這條信息確實來自于Alice,但是這條信息還使用了Bob的公鑰加密,Bob再用自己的私鑰對這條信息進行解密,也就是用自己的密碼打開了銀行賬號,也就是用自己的私鑰打開了自己的公鑰。

理論上如果你找到了一個私鑰,那么你就是可以操縱其余額的,因為私鑰是可以推出對應(yīng)的公鑰的,然后你就可以像上述一樣對這個地址的記錄進行數(shù)字簽名,相當于就掌握了這個地址。反過來說,如果你的私鑰丟了,那這個地址上的整個錢也就消失了,你想申訴?申訴個nothing,整個比特幣世界是去中心化的,就沒有中心機構(gòu)可以申訴。

早期有很多用戶不知道其中厲害,還將私鑰保存在電腦里,結(jié)果被黑客入侵,私鑰被盜,其中的比特幣就全沒了。所以,千萬不要把私鑰存在聯(lián)網(wǎng)的電腦,可以寫在紙上,再把紙放在鞋墊下面,這樣不但安全、還能增高。或許有人擔心,既然私鑰是隨機生成的,那么有沒有可能大家生成了相同的私鑰呢?有可能,nothing is impossible,但這種可能性有多小呢?小到了只有零可以與其媲美,所以大家不用擔心私鑰重合的問題。

現(xiàn)在要談另一個重要問題,就是如何驗證廣播信息的真實性。也就是Alice廣播說她要給Bob轉(zhuǎn)5個幣,但有可能她在騙人,因為她只有3個幣,怎么能給Bob轉(zhuǎn)5個?對呀,如何確認Alice的話是真的呢?以下我會把Alice當做你來說,這樣你更有感覺、更有feeling。

如果要是有中心機構(gòu)銀行,那就好辦了,就只要統(tǒng)計你的余額就好了;而比特幣只儲存交易記錄,只驗證這筆交易中涉及比特幣的來源與去向,并不是對于你的余額進行檢驗。比如你要轉(zhuǎn)賬兩枚比特幣,這兩枚的編號分別是1和2;系統(tǒng)并不關(guān)心你總共有多少枚比特幣,而是檢驗編號1的比特幣上次發(fā)送到了你的公鑰,而且并沒有再被發(fā)送出去,那這個比特幣就可以被轉(zhuǎn)賬發(fā)送出去;編號2也同理,如果你只轉(zhuǎn)賬2btc,那么系統(tǒng)到此就判定結(jié)束了,如果你需要轉(zhuǎn)賬3枚,那么你就必須再援引一個btc的交易記錄,我們說過,它記錄了比特幣誕生以來的所有交易記錄,每一項資產(chǎn)和交易記錄都是公開可查的!這就是公開透明的特點。別忘了,我們是與陌生人打交道,時時刻刻都是不信任。

事實上,Alice傳達的信息中:我要給Bob轉(zhuǎn)賬5個btc。這5個btc都是有編號的,我們可以查這5個btc上一次是從哪里轉(zhuǎn)到Alice這里的?這5個幣有沒有從Alice這里轉(zhuǎn)走?如果都滿足,那就表明Alice可以轉(zhuǎn)走這5個幣。所以比特幣是一種去中心化的賬本大家聽出點意思了吧,比特幣世界算你的余額,是算從你這個賬戶誕生開始每一筆收支,加減到現(xiàn)在你的正值,由于每一筆交易都是全網(wǎng)驗證過的,每一筆交易的比特幣都是有來龍去脈的,所以可以說它是相當安全的。當你在電腦上下載比特幣客戶端的時候,系統(tǒng)會一次性的下載所有交易記錄,而且會驗證一遍,一般需要一天一夜的時間,好麻煩啊;不過只要驗證一次、就一勞永逸了。

四、比特幣的制造:區(qū)塊鏈與挖礦

大家聽到這里,比特幣轉(zhuǎn)賬的方式有了大體的感覺。大家此刻心中一定憋了一個問題、大問題,貨幣是各國央行發(fā)行的,而比特幣是去中心化的,那誰來發(fā)行比特幣呢?也就是說,比特幣是怎么創(chuàng)造出來的。比特幣是挖出來的,使勁在網(wǎng)絡(luò)里挖,就能挖出金礦比特幣,簡稱“挖礦”。挖礦,這當然是很形象的說法,到底啥是個挖礦呢?這里就必須要引入我們的主題概念——區(qū)塊鏈。

在比特幣的世界里,每時每刻,都會發(fā)生很多比類似Alice轉(zhuǎn)賬Bob的交易,把每十分鐘內(nèi)的交易記錄打包在一起,就叫區(qū)塊——block。把比特幣一誕生就開始的所有交易記錄都鏈接起來,也就是把這些區(qū)塊連接起來,就構(gòu)成了區(qū)塊鏈——Block chain。那比特幣怎么產(chǎn)生的呢?沒有比特幣,你交易個nothing,估計有人都急了。別急,馬上到關(guān)鍵所在了。

卻說每十分鐘的交易信息被打包記錄,這就是一個區(qū)塊;整個網(wǎng)絡(luò)上的電腦都在搶奪這個區(qū)塊的記賬權(quán)利,誰搶到這個記賬的權(quán)利,誰就可以獲得這個區(qū)塊創(chuàng)造出來的比特幣。2009年,中本聰創(chuàng)造了第一個區(qū)塊,被稱為“創(chuàng)世區(qū)塊”,其本人就獲得了第一個區(qū)塊獎勵的50枚比特幣,這也是比特幣世界的第一筆交易記錄,永遠載入這個區(qū)塊里。(每一枚比特幣都是追根溯源有據(jù)可查的)。

所謂挖礦,就是搶奪記賬權(quán)利,從而獲得獎勵,獎勵就是比特幣。為什么會有人不停的挖,因為比特幣世界里每十分鐘生成一個區(qū)塊,哪個電腦搶到了記賬權(quán)、構(gòu)建了這個區(qū)塊,哪個電腦就獲得該區(qū)塊的獎勵,這就是挖礦。既然可以不停的挖,那比特幣這種虛擬礦產(chǎn)就是“取之不盡用之不竭”的嘍?NO,絕非如此,比特幣的數(shù)量是有最高限額的——2100萬枚比特幣。所以比特幣這種礦是越挖越少,中本聰設(shè)計的特別妙,就是每個區(qū)塊的獎勵每四年減半。我們剛說了,中本聰造出第一個區(qū)塊的時候、獲得50枚的獎勵,四年后,就是到了2013年、獎勵就減半了,2017年再次減半。所以當下每個區(qū)塊的獎勵是12.5枚比特幣,等到了2140年比特幣產(chǎn)量就將趨于0,從而將比特幣的總量恒定在2100萬枚。截止目前,網(wǎng)絡(luò)世界已經(jīng)創(chuàng)造出1500w枚比特幣。

簡而言之,挖礦就是搶奪生成區(qū)塊的權(quán)利、搶奪記賬的權(quán)力,也就是搶奪為全網(wǎng)服務(wù)的權(quán)力。一旦搶到這個權(quán)利,所獎勵的比特幣就寫在得到的區(qū)塊上,然后系統(tǒng)告知整個區(qū)塊鏈的所有節(jié)點,獲得全網(wǎng)確認后,這個區(qū)塊便成為合法的新增區(qū)塊,整個區(qū)塊鏈又多了一個區(qū)塊。

現(xiàn)在大家關(guān)心的是,既然那么多電腦都爭奪記賬權(quán),那系統(tǒng)是如何決定誰來記賬的呢?中本聰真的很本聰,他的設(shè)計是出一道很難的數(shù)學(xué)題,誰最先算出來,誰就創(chuàng)立了這個區(qū)塊,誰就獲得獎勵。這可不是一般的數(shù)學(xué)題,是一種很傻很傻的數(shù)學(xué)題,名字叫hash算法。

這個hash算法聽著很harsh,這會兒先打住,我們再回顧一下剛才的概念,再繼續(xù)。

五、公鑰 私鑰 錢包 比特幣之間的關(guān)系

剛才說到比特幣世界里的公鑰和私鑰。公鑰就是地址,私鑰是密碼。公鑰就是銀行卡賬號,私鑰就是銀行卡密碼。所謂錢包就是一種電腦軟件,它可以幫你生成一系列配套的私鑰公鑰,你可以隨意選擇一個公鑰作為收款地址,并且使用配套的私鑰繼續(xù)使用它。比特幣只有交易記錄,所以你的每一個公鑰上所謂的余額就是賬本上顯示的誰向這個地址轉(zhuǎn)賬了,私鑰作為密碼的作用就是可以援引這個公鑰的交易記錄并對其簽名。一個公鑰,如果沒有私鑰與之配套,那就不能對這個公鑰進行簽名,也就無法發(fā)送從這個公鑰向外轉(zhuǎn)賬的交易記錄了。

比特幣的公鑰是公開的,任何人都可以查看關(guān)于這個公鑰的所有交易記錄。也就可以知道這個公鑰有多少“余額”;每一枚比特幣原則上是可以跟隨其交易記錄一直向上追索的。不過這是這比較麻煩的,因為比特幣的最小單位是10的-8次方,這個最小單位還有個名字——聰,中本聰?shù)穆敗1忍貛诺膯挝蝗绱诵。幻侗忍貛趴赡苁呛芏喔?shù)字組成的,比如是0.005 、0.78、0.215之和,所以其來源可能會非常細小,但所有交易記錄都擺在這里,誰想去追蹤這些所有的細分的來源都沒有問題。舉個具體的例子,你的某一枚比特幣并非是一個人給你轉(zhuǎn)過來的,可能是三個人給你轉(zhuǎn)的,比如張三給你轉(zhuǎn)了0.3個比特幣,李四轉(zhuǎn)了0.5個比特幣,王二麻子轉(zhuǎn)了0.2個比特幣,然后這三者湊成在一起、形成了你手頭的這一枚比特幣,這些交易記錄都是公開的,任何人都是可以檢索的。甚至你還可以檢索張三轉(zhuǎn)來的那0.3個比特幣是誰給他的,反正是可以一直向前追,最終追到中本聰?shù)膭?chuàng)始區(qū)塊。

六、比特幣——賬本而已

這里必須要明確指出,在比特幣世界里是沒有實體存在,沒有那種類似于鈔票這種實體的存在,有人在網(wǎng)頁看到了比特幣的樣子、跟金幣似的,那是忽悠人的。比特幣——無影無形,我們可以將之想象一個賬本,系統(tǒng)里每個節(jié)點都有的賬本。這個賬本記錄了從創(chuàng)世到現(xiàn)在的轉(zhuǎn)賬記錄而已,你的所謂財富其實就是每個條目一條一條的累計。賬本的第一條是:創(chuàng)世區(qū)塊,比特幣系統(tǒng)轉(zhuǎn)賬給中本聰50btc。你說中本聰收到任何實體的money了嗎?完全沒有!但是在比特幣系統(tǒng)里,中本聰已經(jīng)在賬目上擁有了50個比特幣,以后中本聰想要給別人轉(zhuǎn)賬,他就可以援引一下這條交易記錄,證明自己接受過50個比特幣,然后再寫一條交易記錄要把這個轉(zhuǎn)給誰。明白了嗎?整個比特幣系統(tǒng)就是一個賬本,沒有任何實體支撐。

就好比小朋友之間拿一個本子寫上Alice給Bob5枚可愛幣,Bob給Alice玩一會游戲機。明天Bob又寫上我付給Alice5枚可愛幣,借她漫畫書看一看。這中間沒有任何所謂的可愛幣,但是Alice和Bob煞有介事的寫在賬本上,而且二人都當真的時候,這可愛幣就成真了。比如我們假設(shè)Bob賬目上富裕5個可愛幣,有一天Bob看上了同桌Tom的一根棒棒糖,但是Bob并沒有現(xiàn)金支付。他就對Tom說,能不能把這根棒棒糖給我,我在小本子上給你記賬5個可愛幣。Tom說你有病吧?你拿個本子神叨叨的給我記錄一下我就給你糖吃?Bob說,你別看這記一下,這條記錄表明你就擁有了我的五個可愛幣,你可以去找Alice借漫畫游戲機,不信你去試試。Tom將信將疑的答應(yīng)了,隨后帶著小本子去找Alice,在上面記錄一條Tom轉(zhuǎn)賬5可愛幣給Alice。Alice欣然同意,并借給Tom游戲機玩了一天。第二天Tom對Bob說,太神奇了!你這可愛幣還有嗎,能不能再跟我換一點?Bob呵呵一笑,這可愛幣,看不見摸不著,就在這個帳本里。而且很遺憾,我并不能偽造,我收到的可愛幣必須是別人寫記錄給我的!Tom小朋友并沒有見到所謂的可愛幣,但他似乎感受到了那個賬本的魔力,好像真的就有像棒棒糖形狀的可愛幣藏在其中。

是的,比特幣就有這個魔力,雖然只是個賬本,但仿佛就是一枚一枚的金幣。好了,大家現(xiàn)在應(yīng)該已經(jīng)理解了,比特幣就是一個去中心化的記賬,而且是公開透明的賬本,任何隨時都可以查賬。

七、比特幣轉(zhuǎn)賬——簽名認證:hash算法

關(guān)于比特幣的轉(zhuǎn)賬的問題,我們先前已經(jīng)說過,但很粗略,尤其是在簽名認證這個點上,幾乎是一嘴帶過,現(xiàn)在好好說一說。

比特幣是如何轉(zhuǎn)賬的呢?我們還是以Alice向Bob轉(zhuǎn)賬5個btc為例,Alice需要聲明一下她要轉(zhuǎn)賬的這筆錢是哪來的,比特幣其實沒有余額的概念、只是一堆交易記錄,首要需要聲明要轉(zhuǎn)賬的五個btc是哪里來的、是誰轉(zhuǎn)給你的。那里Alice可以胡亂聲明嗎?不行,因為她所聲明的這些交易記錄都會被檢驗,系統(tǒng)會自動對之進行核對,一旦發(fā)現(xiàn)有沖突就會拒絕這個聲明。假設(shè)這5個btc分別來自兩筆交易,張三轉(zhuǎn)賬2btc給Alice,李四轉(zhuǎn)賬3btc給Alice。然后Alice要寫明,我將這5個btc轉(zhuǎn)賬給Bob。交易其實就算完成了。但是其它節(jié)點要對這個交易做兩點驗證:其一、這條信息是否Alice是所發(fā),其二、Alice所聲明的交易記錄是否為真。后者比較容易,就是系統(tǒng)的自動核對。但前者如何進行?

現(xiàn)在就是要好好講講:如何驗證信息是否為Alice本人所發(fā)的。不妨想想生活中我們使用信用卡也需要簽名來確認是否為本人所使用一樣,這里需要的是數(shù)字簽名。具體流程是結(jié)合了第一集提到的的非對稱加密和hash算法的。

這個hash算法是只能驗證不能求解,什么意思?我們舉個簡單的例子,體會一下hash算法的精神;比如根號17202這個數(shù)的后幾位小數(shù)是9291430,系統(tǒng)只發(fā)送9291430這個數(shù),有沒有可能猜到是哪個數(shù)的開平方后的后幾位小數(shù)呢?這就太難了。但也有辦法,那就是窮舉法,一個數(shù)一個數(shù)去嘗試,說個最笨的方式,你就從1開始嘗試,最后終于嘗試到了17202,驚喜地發(fā)現(xiàn),這位仁兄、的開根號、的后幾位、就是9291430,然后你就很激動地告訴大家:這個數(shù)就是17202。大家一算果然是,你好牛啊,你是花魁啊!

咋樣,這就是hash算法,它的加密規(guī)則是公開的,就是將原本的數(shù)字開根號取后幾位小數(shù),但你很難靠這幾位小數(shù)推測出來原本的數(shù)字,唯一的方案就是暴力破解、窮舉法,最終可以將原本的數(shù)字驗證出來,這就叫hash算法。注意,剛才只是說的一個簡單的例子,真正的hash肯定是很harsh的,是很復(fù)雜的,但都是這個氣質(zhì)。

現(xiàn)在我們把hash算法這個過程抽象為h,我們要加密的信息記為M1,則hash值為h(M1)。我們知道hash值是不能反推出來的,而且也不存在說另外一條信息M2,使得h(M2)=h(M1)。

Alice向Bob轉(zhuǎn)賬這個過程中,Alice要需要發(fā)送兩部分內(nèi)容:一是援引的之前的交易記錄,二是此番Alice要向Bob轉(zhuǎn)賬的交易記錄,此兩者構(gòu)成了Alice要向Bob發(fā)送的整體信息,我們將之記做M1,可以想象這些信息都已經(jīng)數(shù)字化了,即便Alice和Bob這兩個人也是以公鑰或者說是地址來代替的,雙方都是匿名的嘛;我們只是為了表達方便,才直接說成Alice和Bob,其實是Alice用她這個地址給Bob的那個地址轉(zhuǎn)賬。

如果Alice只發(fā)送這個整體信息M1,別人怎么確定就是Alice發(fā)送的呢?這一切必須要獲得比特幣世界所有人的認可啊。所以Alice在發(fā)送M1之前,還要對之簽名。怎么簽?簽什么?那就是Alice要對整體信息M1 hash一下,你就可以簡單地認為、對M1進行了開根號,然后得到最后三位是369,也就是h(M1)=369。然后我們以第一集所講的91×11為例,Alice私鑰為11,公鑰為91。那么Alice就會把這個h(M1),也就是369乘上11的后三位059,連同信息本身發(fā)送出去。這就是Alice完成了數(shù)字簽名。

Alice周圍各個節(jié)點收到信息以后呢?首先使用Alice的公鑰也就是91對這個059進行解密,也就是059×91=5369,取后三位還原出信息為369。然后再對Alice發(fā)送的原文信息M1進行hash,發(fā)現(xiàn)結(jié)果也為369,這不就驗證成功了嗎?這信息的確是Alice所發(fā)送的。

再略微展開一下,這里使用了跟Alice私鑰配對的公鑰,因為只有配對的公鑰私鑰才能解密,所以這個解密成功表明了確實是Alice發(fā)送的信息;其次,對Alice發(fā)送的原文進行了hash計算,發(fā)現(xiàn)也是369,也說明了Alice發(fā)送的信息沒有被別人篡改。所以這些從哪里轉(zhuǎn)來的又轉(zhuǎn)到哪里去的信息確確實實是Alice發(fā)送的,然后大家再核對這些交易記錄跟已有的賬本是否沖突;如果不沖突,我們就確認了這條交易記錄。即Alice的地址向Bob地址轉(zhuǎn)賬5btc這個記錄有效。等到Bob想要花掉這5個btc時候,他就需要援引這條交易記錄,同時對內(nèi)容進行hash,再用這個公鑰地址配對的私鑰進行簽名,同時發(fā)送信息,周而復(fù)始,妙不可言。中本聰,你是大蔥中最聰明的那根蔥。

現(xiàn)在我要把剛才的驗證過程再簡單地梳理一下:ALICE在發(fā)送整體信息M1之前,先對M1進行了hash,發(fā)現(xiàn)結(jié)果是369,于是用私鑰處理了369,也就是乘以11,將后三位059連同信息本身發(fā)送出去。這就是Alice完成了數(shù)字簽名。Alice周圍各個節(jié)點收到信息以后,先用Alice的公鑰也就是91對這個059進行解密,即就是059×91=5369. 又發(fā)現(xiàn)將Alice原文信息M1進行hash,發(fā)現(xiàn)結(jié)果也是369,從而確認這天信息的確是ALICE發(fā)送的。你們說妙不妙,眾妙之門,此門最妙。

八、區(qū)塊、hash、挖礦

好了,明白了轉(zhuǎn)賬過程,我們要進一步講解區(qū)塊、區(qū)塊鏈,只有這樣我們才能真正明白“挖礦”的原理,了解比特幣是如何創(chuàng)造出來的。

我們先前是這樣簡單描繪的:在比特幣的世界里,每時每刻都會發(fā)生很多類似Alice轉(zhuǎn)賬Bob的交易,我們把每十分鐘內(nèi)的交易記錄,就叫做區(qū)塊。把比特幣一誕生就開始的所有交易記錄都鏈接起來,也就是把這些區(qū)塊連接起來,就構(gòu)成了區(qū)塊鏈——Block chain。整個網(wǎng)絡(luò)上的電腦都在搶奪新生區(qū)塊的記賬權(quán)利,誰搶到這個記賬的權(quán)利,誰就可以獲得這個區(qū)塊創(chuàng)造出來的比特幣。現(xiàn)在要對此深入解讀。

我們可以這樣想象,每一個區(qū)塊就是一個塊、一個方方的區(qū)塊;每個區(qū)塊都有自己的標記、也就是有自己ID。這個ID可不是隨便定的,而是整個區(qū)塊的hash值,也就是將這個區(qū)塊的所有信息hash之后所得的那個數(shù)字,這個hash值是唯一的,并且與此區(qū)塊綁定;

每個區(qū)塊的第一層是上一個區(qū)塊的hash值,表明這個區(qū)塊排在上個區(qū)塊后面,然后中間層是這一個區(qū)塊的交易記錄,底層是一個隨機數(shù)。一到三層的內(nèi)容會生成區(qū)塊的hash值,即本區(qū)塊的id。所謂挖礦,就是去猜底層的隨機數(shù),一旦才對了隨機數(shù),也就解出來這個區(qū)塊的hash值。為什么呢?因為本區(qū)塊的前兩層信息是公開已知的,而只有底層隨機數(shù)是不公開的,所以誰猜到了隨機數(shù),也就可以解出本層的hash值。

那這個隨機數(shù)又是怎么猜的呢?是用暴傻方式猜的,又暴力又傻逼的方式,此所謂窮舉暴力嘗試法。就是各位礦工一個數(shù)字一個數(shù)字地試,直到有人到率先找到第一個符合這個規(guī)則的hash值。簡單地說,就是新區(qū)塊的hash值已被網(wǎng)絡(luò)所確定,而礦工在不斷計算、并核對,一旦哪位算對了,網(wǎng)絡(luò)就給予確認,然后獎勵他比特幣。更確切地說,是網(wǎng)絡(luò)事先定下了一個規(guī)則、一個公開的規(guī)則,比如說:要求這個hash值前面有15個0開頭,哪個礦工率先找到第一個符合這個規(guī)則的隨機數(shù)、就算猜出了這個hash值,他就會向全網(wǎng)廣播“各位挖礦的labor們,你們不用算了,我算出來了,這個隨機數(shù)是xx,這個hash值是xxx”,正在埋頭苦干的礦工們一驗算,發(fā)現(xiàn)這貨算出來的hash值果然滿足規(guī)則,嘴里嘟囔了一句shit,趕緊把這個hash值作為本區(qū)塊的表示,并在這個區(qū)塊的基礎(chǔ)上繼續(xù)計算下一個區(qū)塊的hash值,心中默念:下回就該我搶先一次了。

由于hash值是這個區(qū)塊的唯一標識,而且隨意更改一點信息就會顯著改變這個hash值,所以比特幣世界的歷史交易記錄是不可能被篡改的。具體來說,每一個區(qū)塊的hash值=上一個區(qū)塊hash值 本區(qū)塊的交易記錄+本區(qū)塊的隨機數(shù)。如果我們篡改了交易記錄,這個hash值就會改變,這就不被認證,就不允許了。所以一旦生成一個區(qū)塊,其配套的hash值成為唯一標識,且不可更改。

估計很多朋友更關(guān)心區(qū)塊底層的隨機數(shù),那到底起了一個什么作用。首先當然是讓礦工去猜去計算、去暴力嘗試,另外它還起到一個作用,就是去平衡算力,從而保證是平均每10分鐘產(chǎn)生一個區(qū)塊。如果礦工的設(shè)備變得先進了,引進了什么阿爾法狗呀、貓呀的都來了,那全網(wǎng)算力就提高了;那怎么辦?很簡單,就會增大隨機數(shù)的難度,還是能平衡在每10分鐘左右產(chǎn)生一個區(qū)塊。比如,本來系統(tǒng)要求hash值前面有15個0開頭,但如果算力上升,系統(tǒng)就要求尋找hash值開頭必須有20個0,難度就陡然加大了;反正是不能讓你上房揭瓦,好好挖礦,就是10分鐘一個區(qū)塊。

九、區(qū)塊鏈的形成及小總結(jié)

我們從頭梳理一下比特幣的運行過程。2009年1月3日,中本聰創(chuàng)立了比特幣系統(tǒng),當時全網(wǎng)沒有算力,只有他在挖礦,所以很順利,它計算出了滿足第一個區(qū)塊hash條件的隨機數(shù),并計算出了此區(qū)塊的hash值,同時得到這個區(qū)塊的獎勵,50個btc。

最初幾個月,幾乎沒人來參與,漸漸地人一點點的變多,每個時刻開始有交易產(chǎn)生,隨著全網(wǎng)算力的提升,系統(tǒng)要平衡hash值的計算難度,為了保證有人記錄10min左右的交易記錄,因為10分鐘的交易記錄不多不少剛剛好。如果hash值太簡單,一秒鐘就被人破解出來,所生成區(qū)塊的交易記錄就存儲得太少;反之,如果計算難度太大,那每個區(qū)塊需要打包的交易記錄又太多,所以就要用合適隨機數(shù)難度、將之平衡到十分鐘一個區(qū)塊。

現(xiàn)在,這個系統(tǒng)有一定的礦工維系這記賬的責任,有一定的玩家有日常的交易需求,礦工們開始辛勤的挖礦即不斷嘗試每個區(qū)塊的隨機數(shù)直到嘗試出來符合當前hash值規(guī)則所要求的hash值,當嘗試出一個隨機數(shù)并成功時,會馬上向全網(wǎng)廣播“我成功啦,我得到獎勵了,兄弟們趕緊在我后頭繼續(xù)挖啊”,大家會將他公布的隨機數(shù)進行驗證,發(fā)現(xiàn)基于這個隨機數(shù)所求得的hash值確實所要求的hash值規(guī)則,那大家就認可了,并這個區(qū)塊的標題就定為這個hash值。基于這個hash值,大家再去奮力計算一個區(qū)塊的hash值,如此go on and on,區(qū)塊鏈就形成了。

區(qū)塊鏈,它到底是怎么鏈在一起的呢?難道一個區(qū)塊和一個區(qū)塊之間真有一條鏈子嗎?是這樣的,區(qū)塊就是每10min的交易記錄,區(qū)塊鏈就是區(qū)塊連接起來的整體,這就記錄了所有的交易信息,所以中本聰09年的那個區(qū)塊叫創(chuàng)世區(qū)塊。每個區(qū)塊所包含的信息是:上一個區(qū)塊hash值(表明連接關(guān)系) 本區(qū)塊的hash值(id) 本區(qū)塊交易記錄 本區(qū)塊隨機值(用以調(diào)整本區(qū)塊hash值難度)。

這下子大家明白了,區(qū)塊之間為什么能鏈起來,就是因為每個區(qū)塊都包含了上一個區(qū)塊的hash值,那當然就鏈接了起來,仿佛區(qū)塊在排隊,一個跟著一個,誰也別插隊。這也保證了,誰也無法篡改交易記錄,因為一旦更改區(qū)塊內(nèi)容,會改變此區(qū)塊hash值,導(dǎo)致鏈接關(guān)系發(fā)生混亂了,那就會被大家所發(fā)現(xiàn)。注意,hash值對初值極其敏感,隨意修改一點點就會造成完全迥異的hash值,會產(chǎn)生混沌,發(fā)生蝴蝶效應(yīng)。誰敢篡改,就會飛蝴蝶,蝴蝶一飛,系統(tǒng)發(fā)生大地震,誰人不知呢?

如下圖就是區(qū)塊鏈,其中省略了交易記錄和隨機值

FIG1這個圖是一個block的樣子

區(qū)塊鏈是什么,如何簡單易懂地介紹區(qū)塊鏈?

 

FIG2

有了這個區(qū)塊鏈,意味著網(wǎng)絡(luò)的每一個節(jié)點都存儲了本聰開創(chuàng)比特幣以來的所有交易記錄,每一條信息誰都可以查。這個系統(tǒng)可真是太棒了。但它有沒有漏洞呢?還真有,nothing is perfect。

十、雙花問題

這個漏洞就是雙花,double spending,不是double flower。

既然有人在搶著記賬、記好的賬本又不能篡改,我們還可以驗證每條消息的真?zhèn)危@似乎很完美了啊,但為何還有什么double spending呢?我們舉例說明之。

比如我只有5個比特幣,我先向老張轉(zhuǎn)賬5btc,同時再向老趙轉(zhuǎn)賬5btc。這就是雙花,我把5個比特幣化了兩次。這就是所謂的雙花問題,這是一種詐騙行為,如何預(yù)防?

正常情況下,一定是先有一條信息被大家打包,然后第二條信息由于與第一條信息沖突而無效。但是,我如果是同時雙花的,也就是一邊廣播:我向老張轉(zhuǎn)賬5btc,與此同時又廣播:我向老趙轉(zhuǎn)賬5btc。這樣,就會有兩個礦工分別打包了這兩筆記錄,這就叫做分叉,即同時有兩個區(qū)塊生成了。如果要真是如此,大家都去雙花了,5個比特幣能化兩次5個比特幣,豈不就亂套了,比特幣系統(tǒng)成了騙子橫行的世界了。

比特幣的規(guī)則是只有最長的區(qū)塊鏈得到確認,最長的區(qū)塊鏈才會有挖礦獎勵。所以正常大家都會切換到長鏈上挖礦而將短鏈廢棄掉,這樣就會有一筆交易作廢了。所以一般轉(zhuǎn)賬之后比特幣網(wǎng)絡(luò)建議大家等到一個區(qū)塊確認了,此時再發(fā)貨就比較安全。

我們再以Alice給Bob轉(zhuǎn)賬來說明。假設(shè)Alice只有5個比特幣,但她有兩個地址,地址1和地址2,她先用地址1向Bob支付5個比特幣去購買一杯咖啡,與此同時,Alice又用地址1給自己的地址2轉(zhuǎn)賬了這五個比特幣,必須注意,一定是同時、非常的同時。如果Alice得逞了,她就等于白喝了一杯咖啡。她可以得逞嗎?假設(shè)Alice是很強,她能讓這兩筆交易同時打包在兩個區(qū)塊,Bob看到一個區(qū)塊確認了,就給發(fā)送咖啡了。這時候,Alice為了讓Bob這筆轉(zhuǎn)賬失效,就必須讓包含轉(zhuǎn)賬給自己地址那條交易記錄的區(qū)塊成為主鏈,那么她就要在那個區(qū)塊后面不斷的生成區(qū)塊使這條鏈越來越長。Alice要實現(xiàn)雙花,其實很不容易,她必須要實現(xiàn)雙花所形成的兩個鏈條都不廢掉,一直要堅持到拿到Bob的咖啡為止。因為任何有一條區(qū)塊鏈廢了、就意味著雙花也就不存在了。比如給自己轉(zhuǎn)賬的那條鏈失效了,那就意味這Alice真就正轉(zhuǎn)賬給Bob了。如果給Bob轉(zhuǎn)賬的那條鏈接廢了,Bob沒收到btc也就不會提供服務(wù)、不會給Alice發(fā)送咖啡。所以Alice策略應(yīng)該是先讓Bob那條鏈成為主鏈,這樣Bob就發(fā)貨了;Alice一看Bob發(fā)貨,于是開始努力加長給自己轉(zhuǎn)賬的那條鏈,一旦鏈條長度超過了Bob那條鏈,給自己轉(zhuǎn)賬的就成了主鏈,從而廢掉了Bob那條鏈,這意味著Bob的交易記錄作廢,也就是Bob最終沒有拿到比特幣。

Bob若想萬無一失,就不能急著發(fā)貨,要等到自己的鏈條足夠長的時候才發(fā)貨。一般來說再等上六個區(qū)塊的形成,就已經(jīng)很保險了。Alice想廢掉已經(jīng)又加長了六個區(qū)塊的長鏈,就必須自己加長自己的短鏈,來超越那個長鏈。為什么非要自己加上呢?因為礦工都會在長鏈上挖礦,只有最長的區(qū)塊鏈才能得到確認,才會有挖礦獎勵。Alice要憑一己之力,讓自己的短鏈超過長鏈,有肯能嗎?nothing is impossible。雙花is possible,但前提是Alice的計算能力強大無比,因為區(qū)塊由誰所生成,決定于誰最先算出Hash值,也就是要決定于算力——計算的能力。

如果Alice掌握了全網(wǎng)51%的算力,那么她有51%的概率搶奪到下一個區(qū)塊的記賬權(quán),當她在對自己有利的那個區(qū)塊后繼續(xù)生成區(qū)塊的時候,她就會讓Bob收不到那5個btc,這就是所謂的“51%攻擊”。這似乎是可行的?但是,Bob聽了我們的節(jié)目,他變聰明了,他不是等一個區(qū)塊就發(fā)貨,而是等了六個區(qū)塊的確認才發(fā)貨,因為已經(jīng)生成了六個區(qū)塊,那這一定是主鏈,關(guān)鍵是礦工也都相信這是主鏈,所以都會在這個鏈上繼續(xù)挖礦來獲得獎勵。

Alice為了使Bob的這筆轉(zhuǎn)賬失效,她必須在對自己有利的那個鏈上連續(xù)生成區(qū)塊而且趕上主鏈。與全網(wǎng)斗爭搶奪記賬權(quán)連續(xù)六次,如果算力一般這幾乎不可能,如果算力超強倒是有可能實現(xiàn)。不過如果Alice只為了喝一杯咖啡就如此消耗巨額算力成本似乎不值得。可能發(fā)動雙花攻擊的原因是大額轉(zhuǎn)賬,但是我們可以發(fā)現(xiàn),只要區(qū)塊鏈越靠后,安全性越高,比如我等這個區(qū)塊鏈確認了10次,那么想要追上主鏈就必須連續(xù)搶奪十次記賬權(quán),這個難度是幾何級數(shù)上升的。一般而言六次就已經(jīng)很安全了,所以比特幣系統(tǒng)也認為一筆交易如果確認了六次就算有效了。由于每一個區(qū)塊是十分鐘生成,確認六個區(qū)塊也就是一個小時,相比于普通幾秒到賬的銀行轉(zhuǎn)賬,這個確實慢了好多。

我們對雙花問題再說一遍。Alice先有目的的向網(wǎng)絡(luò)兩邊散布兩條交易記錄(當然是網(wǎng)絡(luò)拓撲結(jié)構(gòu)的兩邊而不是地理結(jié)構(gòu)的兩邊),當兩個區(qū)塊2與2a都形成了以后,Bob覺得交易記錄被確認,開始發(fā)貨,此時Alice為了讓這條信息失效,必須在對自己轉(zhuǎn)賬的那個鏈上開始搶奪記賬權(quán)力,每一個區(qū)塊的生成必須基于上一個區(qū)塊的hash值(回顧一下?lián)寠Z記賬權(quán)力就是暴力嘗試隨機數(shù)算出復(fù)合規(guī)律的hash值),所以Alice就要連續(xù)搶奪若干次直到對她有利的這條鏈成為主鏈,使得向Bob轉(zhuǎn)賬的鏈條成為短鏈,所有短鏈上的交易信息返回待打包的池子,挖礦挖出的比特幣也會返回,也就是吃進去的比特幣再要吐出來。也就是說,一旦對Alice獲得了coffee,然后又將對自己有利的鏈條長度、超過向Bob轉(zhuǎn)賬的鏈條,那么Bob所獲得的5btc就會被收回,也即是這個交易記錄作廢了因為比特幣規(guī)則只對最長鏈挖礦有獎勵。

但是如果Bob等了六個區(qū)塊后、依然處于長鏈狀態(tài),然后再發(fā)貨就沒有問題了,因為全網(wǎng)算力都會集中在長鏈,一旦長鏈至少有6個區(qū)塊的領(lǐng)先,Alice再想要追趕這個長鏈、以便讓這些交易記錄作廢就會非常非常難。即便Alice神通廣大到掌握了全網(wǎng)51%的算力,搶奪記賬權(quán)的幾率就是51%,連續(xù)六次都成功的概率就是0.51^6=1.7%,這就是所謂51%攻擊,如果僅僅掌握三成算力,那么這個概率就是0.07%了。

FIG3

十一、2140年后,記賬沒有獎勵了,系統(tǒng)如何進行

反正是,雙花這個漏洞可以通過交易的等待來阻止。但比特幣系統(tǒng)似乎還有一個漏洞,就是到了2140年,比特幣的總量已經(jīng)到達了事先規(guī)定的上線——2100萬枚,那么搶奪到記賬權(quán)也沒有比特幣可以獎勵了,那誰還會去記賬呢?這個本聰早就想到了。到那時,比特幣世界的每一筆交易就需要交一定的手續(xù)費,交給誰呢?交給了搶奪區(qū)塊記賬權(quán)的人。也就是說,挖礦從過去的獲得比特幣的獎勵,變成了獲取交易的手續(xù)費,所以照樣有礦工去挖礦。

現(xiàn)在大家都清楚了,所謂比特幣挖礦,實質(zhì)就是中本聰巧妙地設(shè)計了一個激勵機制,給維護這個去中心網(wǎng)絡(luò)的人的獎勵,同時也解決了貨幣如何分配的問題,因為每個人都有挖礦的權(quán)力,至少從理論上這是相對平等的說法,人人都有機會去挖礦,去獲得比特幣。

十二、區(qū)塊鏈技術(shù)引領(lǐng)未來

到現(xiàn)在為之我們基本講述完了比特幣的前世今生。不得不承認,比特幣的技術(shù)構(gòu)想很美,像一個沒有強權(quán),沒有管制完全自由的新世界。尤其是去中心化的賬本,資產(chǎn)公開透明可查的性質(zhì),吸引了大批人開始關(guān)注比特幣的底層技術(shù)——區(qū)塊鏈技術(shù)。在一個去中心化網(wǎng)絡(luò)里,相互不信任的節(jié)點之間,誰能解決信任問題呢?區(qū)塊鏈技術(shù)可以解決。

區(qū)塊鏈技術(shù)就是我們運行比特幣的這套系統(tǒng),大家明白這種氣質(zhì)就好,就是一個資產(chǎn)公開透明可查的、匿名的、去中心化的記錄,是一個無法作弊的網(wǎng)絡(luò)運行協(xié)議。光聽字面意思大家有點迷惑?又公開透明又匿名,這好矛盾啊!這里非常不矛盾,在區(qū)塊鏈或比特幣世界的玩家,每個人的身份是匿名的,你可以有多重身份、也就是有多個公鑰、也就是有多個地址,這就很好地保障了你的匿名性,人家只知道你的地址,但根本不知道你是誰,你只有一個,但一個你可以有很多地址。你的匿名性雖然很好,但區(qū)塊鏈的游戲規(guī)則卻讓你無法作假,你在其上的每筆交易都是公開透明的、無法作弊的。此所謂又匿名、有公開透明。這個公開透明和匿名共同保障了去中心化的信仰——freedom自由!一個完全沒有壓力、又公平的自由世界。

正因為如此,雖然很多業(yè)界人士不看好比特幣、但非常看好區(qū)塊鏈技術(shù),各個國家央行紛紛成立區(qū)塊鏈技術(shù)的研究所,華爾街的大銀行也都開始涉足區(qū)塊鏈技術(shù)的創(chuàng)業(yè)與投資項目,可以說是風頭最盛的金融科技項目了。

中本聰發(fā)明的比特幣系統(tǒng)其實就是發(fā)明了區(qū)塊鏈技術(shù),可以認為比特幣是區(qū)塊鏈技術(shù)的1.0版本,或者說支付系統(tǒng)非常適合區(qū)塊鏈技術(shù)的應(yīng)用。區(qū)塊鏈的2.0版本是智能合約,電腦里的合約使用程序編寫的,這種合約不能作假,執(zhí)行明確。而傳統(tǒng)合約一般需要第三方公正,而且自然語言存在模糊性,才有各種機構(gòu)的司法解釋和律師的必要,同時很難保證執(zhí)行力度,很多官司贏了的人也很難得到履約。智能合約就很大程度解決了這個問題,規(guī)則清晰,強制執(zhí)行,智能合約是一種圖靈完備語言,它可以構(gòu)建任何一套符號系統(tǒng)來規(guī)定任何一項合約,而且這項合約同比特幣一樣是存在于整個peer-to-peer網(wǎng)絡(luò)里的,我們不需要誰來保證這個合約是否履約,也不用擔心第三方機構(gòu)出現(xiàn)問題。合約一旦簽訂就會像比特幣一樣全網(wǎng)公正,而且合約規(guī)定的資產(chǎn)都像比特幣一樣是可以追索來源與去向的,執(zhí)行的機構(gòu)則是冷冰冰的機器與電腦,規(guī)則明確。

比如你準備和隔壁老王賭球,老王發(fā)誓中國隊進不了世界杯,如果進世界杯老王給你100萬,沒進世界杯你給老王一萬。但是你害怕老王耍賴,為了進行賭局,很可能需要找一個第三方機構(gòu),兩邊都把錢打進第三方,由第三方托管,金融行業(yè)很多時候就是干這個中間人行業(yè)的。問題是中間人不是沒有代價的,一方面,比如一百萬的賭局,中間人抽1%就是一萬塊錢啊!或者中間人直接來個卷包會,帶著賭資跑了。如果有智能合約,兩邊都將錢打入指定賬戶,然后電腦根據(jù)人民日報的信息來自動執(zhí)行,兩邊都沒有賴賬的可能。同時這個合約就像比特幣的交易信息一樣,無法篡改,全網(wǎng)備份,無法銷毀。

簽訂合約這件事有多重要呢?這太重要了,看看整個世界最掙錢的幾個行業(yè),律師,保險,銀行等等,這些行業(yè)公司的大樓一般也都占據(jù)了最豪華的商業(yè)CBD,是什么讓他們這么賺錢呢?信用!包括金融行業(yè)里的子行業(yè)——信托,其英文就是trust,很多時候都在干我們上述中間人的職能,人們把錢給保險公司本質(zhì)上就是對這個保險公司的trust,這就是你對大機構(gòu)信任所付出的溢價。如果智能合約普及開來,我們就無需為這種信任付費,我們買賣股票,存貸款,一紙合約不需要第三方發(fā)起,不需要監(jiān)管機構(gòu)解釋、背書等等增信工作。我們只需要在peer-to-peer的網(wǎng)絡(luò)里發(fā)起,只要有人愿意與你簽訂,那么這個合約就是有效的并且是清晰且可以被執(zhí)行的。

大家想象,光在金融領(lǐng)域的信任就催生了這么富有的產(chǎn)業(yè),那整個人類社會的信任問題擁有多大的市場?如果區(qū)塊鏈技術(shù)能夠解決這些信任問題,那人類社會將會發(fā)生多么巨大的改變,真是不敢想。

所以區(qū)塊鏈技術(shù)最開始解決的是支付問題,隨后的智能合約也即是2.0版本大家都能想到的就是未來應(yīng)用在金融行業(yè)各個領(lǐng)域上,而且這個可以說是最接近落地的項目了。幾乎金融行業(yè)所有需要中間人的信任問題,比如交易所,比如傳統(tǒng)機構(gòu)扮演的中間信用增級服務(wù),都是可以被區(qū)塊鏈技術(shù)取代的。比如我們熟悉的支付寶解決淘寶買賣服務(wù),就是買家與賣家的互不信任轉(zhuǎn)化為大家對支付寶這個中心機構(gòu)的信任,商業(yè)銀行很多中間業(yè)務(wù)比如信用證,都是在解決類似的問題,這些都幾乎肯定會被區(qū)塊鏈技術(shù)革命。

到了區(qū)塊鏈技術(shù)的3.0版本,我們可以暢想一下所有需要解決彼此陌生互不信任的個體之間的信任問題的地方都可以使用區(qū)塊鏈技術(shù)。

首先區(qū)塊鏈技術(shù)的不可篡改,可以追查的特性,非常適合存在性證明。現(xiàn)實生活中我們經(jīng)常會遇到房產(chǎn)證明,個人學(xué)歷證明等等信息證明問題,區(qū)塊鏈的不可篡改特性完美解決這個問題。每個人的身份標識一旦被全網(wǎng)公證,那么這個信息就是可以追查,可以證明的,目前這方面應(yīng)用已經(jīng)有不少創(chuàng)業(yè)項目了。

其次,政府可以用于投票,同樣利用了匿名,不可篡改,全網(wǎng)公證的特點。澳大利亞政府正在落地這個項目。

最后,所有的去中心化系統(tǒng),比如共享經(jīng)濟,如共享單車,共享租車,共享公寓等等,都是非常適合結(jié)合區(qū)塊鏈技術(shù)的,對于每一樣共享產(chǎn)品的歷史信息都可查,很契合解決陌生人之間共享的信任問題。

其實,區(qū)塊鏈這個底層技術(shù)未來到底能解決多少問題,是一個人類想象力的問題,我堅信,還是那句話,但凡涉及到解決彼此陌生互不信任的個體之間的信任問題的地方都可以使用區(qū)塊鏈技術(shù)。

 
舉報收藏 0打賞 0評論 0
免責聲明
本文為貿(mào)易之家原創(chuàng)作品,作者: 貿(mào)易之家。歡迎轉(zhuǎn)載,轉(zhuǎn)載請注明原文出處:http://www.533s.cn/news/show-2271.html 。本文僅代表作者個人觀點,本站未對其內(nèi)容進行核實,請讀者僅做參考,如若文中涉及有違公德、觸犯法律的內(nèi)容,一經(jīng)發(fā)現(xiàn),立即刪除,作者需自行承擔相應(yīng)責任。涉及到版權(quán)或其他問題,請及時聯(lián)系我們。
 
更多>同類資訊頭條

入駐

企業(yè)入駐成功 可尊享多重特權(quán)

入駐熱線:13884739666

企業(yè)微信客服

小程序

小程序更便捷的查找產(chǎn)品

為您提供專業(yè)幫買咨詢服務(wù)

請用微信掃碼

公眾號

微信公眾號,收獲商機

微信掃碼關(guān)注

頂部

主站蜘蛛池模板: 91免费在线视频观看 | ye321夜色资源网站 | 国产精品热久久毛片 | 日韩在线播放中文字幕 | 91在线免费公开视频 | 九九香蕉网 | 在线视频免费国产成人 | 国产欧美亚洲三区久在线观看 | 午夜欧美性欧美 | www.91免费视频| 亚洲香蕉网综合久久 | 亚洲第一区精品观看 | 亚洲精品www久久久久久 | 玖玖国产在线 | 久久香蕉网 | 伊人网站在线 | 视频一区二区三区自拍 | 风间由美一区二区播放合集 | 五月婷婷六月丁香激情 | 免费视频色 | 色综合狠狠干 | 亚洲第一页在线观看 | 亚洲国产成人久久 | 欧美在线a | 性天堂网 | 亚洲小色网 | 国产igao激情在线观看 | 色综合天天综合给合国产 | 亚洲欧美另类精品久久久 | 国产欧美一区二区精品性色99 | 中文字幕成人免费视频 | 丝袜诱惑一区二区 | 国产一区美女 | 欧美激情15p| 国产精品成人免费视频99 | 国产中的精品一区的 | 成人免费网址在线 | 91精品国产高清久久久久久91 | 手机天堂 | 久久综合成人 | 香蕉成人999视频 |