區(qū)塊鏈的概念
區(qū)塊鏈?zhǔn)且粋€去中心化的分布式賬本數(shù)據(jù)庫路鹰,交易記錄以區(qū)塊鏈的形式存儲在所有礦工節(jié)點(diǎn)上,而區(qū)塊鏈?zhǔn)褂眉夹g(shù)手段而不需要銀行一膨、支付寶等中介機(jī)構(gòu)來保證交易可信座泳、可靠惠昔。
全世界每10分鐘只會產(chǎn)生一個新區(qū)塊幕与,記錄下10分鐘內(nèi)全世界發(fā)生的交易,新區(qū)塊連接到歷史區(qū)塊鏈上形成更長的區(qū)塊鏈镇防。礦工事先存儲區(qū)塊鏈啦鸣,然后費(fèi)勁計算力尋找新區(qū)塊并期待鏈接到歷史區(qū)塊鏈,因?yàn)橐坏╂溄觿t獲得10個比特幣的激勵来氧。給礦工的激勵實(shí)際上是因?yàn)樗鎯α藚^(qū)塊鏈诫给,而區(qū)塊鏈上包含了有價值、可信的資產(chǎn)信息啦扬,就像銀行收你的賬戶管理費(fèi)和商家的抽成一樣中狂。區(qū)塊鏈技術(shù)解決什么問題
如果說互聯(lián)網(wǎng)技術(shù)解決了人類的信息獲取問題考传,那邊區(qū)塊鏈技術(shù)則解決了人類之間的信任問題吃型。傳統(tǒng)人與與人之間的交易证鸥,一般都通過一個權(quán)威的中心進(jìn)行僚楞,如通過銀行轉(zhuǎn)賬,通過中介枉层,政府的介入才能進(jìn)行房屋買賣泉褐。而區(qū)塊鏈讓全網(wǎng)所有的節(jié)點(diǎn)共同維護(hù)一個賬本,每個節(jié)點(diǎn)都有一份賬本鸟蜡,交易記錄一旦確定就無法修改等特點(diǎn)保證了交易記錄的真實(shí)可靠膜赃,無法篡改。所以陌生人之間可以基于區(qū)塊鏈技術(shù)直接進(jìn)行各種交易揉忘,并保證交易的真實(shí)可靠和完全可信
區(qū)塊鏈與比特幣
比特幣的底層技術(shù)是區(qū)塊鏈跳座。比特幣是一種P2P形式的數(shù)字貨幣。但數(shù)量有限泣矛、上限是2100萬疲眷,目前已經(jīng)挖出1500萬個左右。所以比特幣本質(zhì)上類似黃金您朽,總的數(shù)量有限狂丝,每年新增的數(shù)量很少,挖取的難度不斷加大哗总,全世界不同國家的人都認(rèn)可接受(當(dāng)然現(xiàn)在比特幣的認(rèn)可程度比黃金要差很多)几颜,沒有人可以完全控制它。
使用區(qū)塊鏈技術(shù)的還有萊特幣讯屈、以太幣蛋哭、側(cè)鏈。
區(qū)塊鏈與密碼學(xué)
數(shù)字簽名
數(shù)字簽名是對紙上手寫簽名的數(shù)字模擬涮母。它的特性包括:第一谆趾,只有你可以制作自己的簽名准颓,但任何看到它的人都可以驗(yàn)證其有效性;第二棺妓,我們希望簽名只與某一特定文件發(fā)生聯(lián)系攘已,因此該簽名不能用于表明你同意或者支持另一份不同的文件內(nèi)容。
數(shù)字簽名由一下三個算法構(gòu)成:
- 生成秘鑰怜跑。產(chǎn)生公鑰和私鑰样勃。私鑰自己保存,用來簽名一段消息性芬;公鑰人人都可以找到峡眶,通過它可以驗(yàn)證你的簽名。
- 簽名過程植锉。是把一段消息和私鑰作為一個輸入辫樱,對于消息輸出是簽名。
- 驗(yàn)證過程俊庇。通過把一段消息狮暑、簽名消息、公鑰作為輸入辉饱,返回真或者假搬男,真表示簽名消息為真,否則為假彭沼。
數(shù)字簽名的公鑰用作公開身份
公鑰加密體制雖然很好缔逛,但是也有很多潛在的問題。一個最大的問題就是姓惑,每個人的公鑰都是無意義的一串類似隨機(jī)數(shù)的東西褐奴,在加密的時候,加密者怎么知道一個公鑰就是接受者的公鑰呢于毙?如果加密過程中公鑰使用錯誤敦冬,密文就不能被正確的接收者所解密。
有沒有一種可能望众,可以讓公鑰就是用戶的身份呢匪补?所謂身份,就是指一串跟用戶相關(guān)的有意義的數(shù)字烂翰,比如身份證號夯缺,姓名,郵箱地址等等甘耿。加密者在加密的過程中踊兜,不需要使用一堆無意義的數(shù)字組作為公鑰了,而是使用接收者的身份進(jìn)行加密佳恬。舉個例子捏境,比如使用郵箱xxx@126.com于游,有人想給我發(fā)送加密密文的話,使用xxx@126.com作為公鑰進(jìn)行加密垫言。這樣一來贰剥,加密者就不需要像可信第三方詢問接收者的公鑰了,這為公鑰信息的管理提供了極大的便利筷频。
既然這樣蚌成,那么就可以創(chuàng)建多個公鑰作為公開的身份。由于身份多了凛捏,也就無法辨別誰是誰便實(shí)現(xiàn)了匿名担忧。
描述大部分參考:https://www.zhihu.com/question/26533817/answer/33165735。
需詳細(xì)了解基于身份的密碼體制坯癣,請移步到此文瓶盛。
去中心化身份管理
基于公鑰即身份這樣一個策略,無需向任何一個中央結(jié)構(gòu)注冊身份而可以隨時發(fā)布多個身份(公鑰)示罗,需要的時候用私鑰來證明真實(shí)身份就可以了惩猫。
比特幣就是利用公鑰即身份的機(jī)制來實(shí)現(xiàn)去中心化的身份管理和匿名性○睦眨看起來這是一個完美的方案帆锋,但身份雖然不可識別,行為模式本身可以別識別禽额,還是有可能暴露你的行蹤。
區(qū)塊鏈如何做到去中心化
要做到去中心化:
- 沒有中心化的服務(wù)器皮官;如何存儲交易數(shù)據(jù)脯倒?
- 沒有中心化的授信機(jī)構(gòu),對身份和交易做授信捺氢;如何實(shí)現(xiàn)相互信任藻丢?
- 數(shù)據(jù)安全保證?
比特幣如何解決去中心化的問題:
- 誰在維護(hù)交易賬本摄乒?
所有礦工
- 誰有權(quán)利批準(zhǔn)哪個交易是正當(dāng)有效的悠反?
大于等于51%的礦工
- 誰在制造新的比特幣?
礦工
- 誰在制定系統(tǒng)變化規(guī)則馍佑?
有一個開發(fā)者社區(qū)
- 比特幣是如何取得交易價值的斋否?
每筆交易會扣除交易費(fèi)獎勵給產(chǎn)生區(qū)塊的礦工。
礦工挖得一個新區(qū)塊拭荤,就會獲得若干個比特幣的獎勵茵臭。而挖到區(qū)塊的前提是必須先保持歷史的區(qū)塊鏈。而挖到的區(qū)塊只有鏈到新區(qū)塊上(這個過程需要51%礦工認(rèn)可)舅世,才能算是獎勵到手旦委。
分布式共識
我們知道奇徒,每個挖礦節(jié)點(diǎn)都豎起耳朵聽交易廣播,但由于點(diǎn)對點(diǎn)網(wǎng)絡(luò)下存在較高的網(wǎng)絡(luò)延遲缨硝,各個節(jié)點(diǎn)所觀察到的事務(wù)先后順序不可能完全一致摩钙。因此區(qū)塊鏈系統(tǒng)需要設(shè)計一種機(jī)制對在差不多時間內(nèi)發(fā)生的事務(wù)的先后順序進(jìn)行共識。這種對一個時間窗口內(nèi)的事務(wù)的先后順序達(dá)成共識的算法被稱為“共識機(jī)制”查辩。
目前主要有幾大類共識機(jī)制:Pow腺律、Pos、DPos宜肉、Pool匀钧、PBFT
共識機(jī)制-工作量證明(PoW)
誰先找到一個指定范圍的隨機(jī)數(shù),誰就被公認(rèn)為挖到了新的區(qū)塊谬返。
工作量證明的過程
- 每個礦工已知前區(qū)塊的哈希值之斯;
- 當(dāng)前區(qū)塊的交易列表由礦工選取,由于10分鐘內(nèi)每個礦工監(jiān)聽到的交易不一樣遣铝,所有交易列表不一樣佑刷;
- 礦工要解的謎題就是找到一個臨時隨機(jī)數(shù),聯(lián)合前區(qū)塊的哈希值和當(dāng)前區(qū)塊的交易列表經(jīng)過HASH酿炸,得到的輸出HASH值正好落在指定范圍內(nèi)瘫絮;
- 由此可知,解題的過程就是找臨時隨機(jī)數(shù)的過程填硕,而輸出HASH值的范圍就是謎題的難度麦萤。
-
另外,每個礦工的當(dāng)前區(qū)塊交易列表不一樣扁眯,以最先找到區(qū)塊的那個為最終結(jié)果壮莹,這就是所謂的共識。
工作量證明的過程
通過控制輸出HASH值的范圍從而控制達(dá)成共識的時間姻檀,時間越長達(dá)成共識的可信度越高而耗費(fèi)的算力也越大命满,目前平均每10分鐘產(chǎn)生一個區(qū)塊。
比特幣的總數(shù)量
全世界每10分鐘產(chǎn)生一個區(qū)塊绣版,需要計算10的20次方個哈希值胶台。挖得新區(qū)塊獎勵起初是50個比特幣,每4年獎勵減半杂抽。用數(shù)學(xué)方法可算出比特幣總量是2100萬個诈唬。截止目前已經(jīng)挖出了80%的比特幣,到2040年2100萬個將全部被挖出默怨。正因?yàn)楸忍貛诺臄?shù)量有限讯榕,越挖越少導(dǎo)致價格不斷攀升。
為什么是2100萬個,請參考:http://www.8btc.com/21million00