不是你不懂區(qū)塊鏈,是沒(méi)人能講的這么清楚
看了那么多區(qū)塊鏈文章,聽(tīng)了太多區(qū)塊鏈講座,結(jié)果不少人還是懵逼狀態(tài),但是今天這篇文章,絕對(duì)會(huì)讓你的思路立刻清晰起來(lái)。
如何確定是否擁有一枚電子貨幣?
這個(gè)問(wèn)題也是中本聰遇到的***個(gè)問(wèn)題,而他***的解決方案是利用非對(duì)稱密碼學(xué)。
什么是非對(duì)稱密碼學(xué)?
其實(shí),最初的密碼是對(duì)稱的,就像一把鎖,上鎖和解鎖都是同一把鑰匙,但是不安全。到70年代時(shí),非對(duì)稱密碼學(xué)就發(fā)展起來(lái)了,這種密碼學(xué)有兩個(gè)鑰匙,一個(gè)是私鑰,另一個(gè)是公鑰,它們之間有某種數(shù)學(xué)關(guān)聯(lián),有私鑰就能計(jì)算出公鑰;但有公鑰,并不能算出私鑰。
虛擬貨幣就是通過(guò)這個(gè)算法來(lái)解決所有權(quán)的問(wèn)題,開(kāi)始你可以隨機(jī)生成一個(gè)私鑰,然后由這個(gè)私鑰生成一個(gè)公鑰,公鑰再經(jīng)過(guò)確定性的格式變化,***產(chǎn)生一個(gè)地址。
所以,證明這是自己資產(chǎn)的唯一方法就是要有這個(gè)地址的私鑰,當(dāng)你想把地址上面的資產(chǎn)轉(zhuǎn)走時(shí),必須用私鑰做數(shù)據(jù)簽名,簡(jiǎn)單理解就是要蓋個(gè)章或者按個(gè)手印。
怎么解決雙重支付的問(wèn)題?
雙重支付是什么?
簡(jiǎn)單來(lái)說(shuō),就是用一個(gè)數(shù)字貨幣重復(fù)購(gòu)買(mǎi)不同的東西。
因?yàn)樵趥鹘y(tǒng)的貿(mào)易中,一手交錢(qián)一手交貨,是很公平的。但是在去中心化的區(qū)塊鏈中,所有的支付方式都是點(diǎn)對(duì)點(diǎn),而電子貨幣就是一段數(shù)據(jù),如果某個(gè)人拿這個(gè)數(shù)據(jù)買(mǎi)了杯子,然后他用同樣的數(shù)據(jù)又去買(mǎi)水果,這時(shí)就出現(xiàn)了雙重支付。
該如何解決呢?
中本聰?shù)姆椒ň褪欠植际接涃~。
比如屋子里有10個(gè)人,一開(kāi)始,每個(gè)人手里都拿著1000塊錢(qián)。當(dāng)小胡給小王轉(zhuǎn)了10塊錢(qián)后,同時(shí)又把這個(gè)行為告訴所有人,那么每個(gè)人都會(huì)記下來(lái),小胡手里只有990塊錢(qián),小王有1010塊錢(qián);如果下次小胡再告訴大家,他又給小王轉(zhuǎn)了1000塊錢(qián),所有人都會(huì)拒絕記錄這筆交易,為什么?因?yàn)樗麄兌贾溃『掷镏挥?90塊錢(qián)。
區(qū)塊鏈也一樣,每個(gè)人都可以記賬,每個(gè)人都非常清楚地知道每個(gè)賬號(hào)有多少錢(qián),來(lái)自哪里,所以當(dāng)發(fā)生交易的時(shí)候,就可以去驗(yàn)證。
但是,這時(shí)又出現(xiàn)一個(gè)問(wèn)題,因?yàn)榻灰椎捻樞虿煌總€(gè)人的信息也不同,如果所有人都來(lái)記賬,會(huì)變得非常混亂。那到底該由誰(shuí)來(lái)記賬?為什么是你而不是我?
其實(shí),這中間就存在一個(gè)競(jìng)爭(zhēng)關(guān)系,所有人都能記帳本,但為了實(shí)現(xiàn)統(tǒng)一,一定要選出來(lái)記得***的那個(gè)。
那么如何區(qū)分出這個(gè)數(shù)據(jù)塊是***的呢?
中本聰引入了一個(gè)算力,一個(gè)區(qū)塊是否合格,就看它能否達(dá)到一定的難度,如果達(dá)到了,才能算合格的區(qū)塊。
那么這個(gè)難度是由什么來(lái)界定的?
實(shí)際上跟哈西算法有關(guān)。
簡(jiǎn)單來(lái)說(shuō),就像是拋硬幣,當(dāng)連續(xù)出現(xiàn)正面的硬幣達(dá)到某一個(gè)值,就算合格。如果是一枚硬幣,正面朝上的概率是1/2;如果是兩枚硬幣,都是正面的概率是1/4;如果三枚的話,概率就更低了。如果比特幣要你同時(shí)拋256枚,每一枚都有編號(hào),要求前200枚全部都是正面朝上,你想想這得拋多少次?是非常巨大的工作量,所以找一個(gè)合格的區(qū)塊也就變得越來(lái)越難。
我們經(jīng)常會(huì)說(shuō),現(xiàn)在挖礦做的都是無(wú)用功,實(shí)際上他們做的就是這種哈希運(yùn)算。
當(dāng)你能找到了一個(gè)合格的區(qū)塊,那意味著什么?一定是做了很多運(yùn)算,所以這就是大家經(jīng)常聽(tīng)到的工作量證明(POW)。
在現(xiàn)實(shí)生活中有很多這樣的場(chǎng)景,比如大學(xué)讀了四年,***拿到畢業(yè)證書(shū),這個(gè)證書(shū)就是工作量證明,說(shuō)明你有了四年的努力,雖然沒(méi)辦法跟蹤證明這個(gè)過(guò)程,但是看到證書(shū),就知道讀完了大學(xué)。
什么叫共識(shí)機(jī)制?
實(shí)際上,整個(gè)區(qū)塊鏈系統(tǒng)就是一套共識(shí)機(jī)制。
比如剛才說(shuō)的POW(工作量證明),就是一種共識(shí)機(jī)制,所有人都約好了,只要拿到這個(gè)數(shù)據(jù)塊,哈希值滿足一定難度,那么它就是合格的。
除了POW,POS也是一套共識(shí)機(jī)制,它的基本核心理念,不像POW比拼算力,而是看系統(tǒng)里誰(shuí)擁有的虛擬貨幣多。擁有越多,鍛造區(qū)塊的概率也就越大,維護(hù)這套系統(tǒng)的責(zé)任也就越重。
之所以會(huì)有POS的出現(xiàn),是因?yàn)镻OW在整個(gè)社區(qū)里,引起廣泛討論,其中指責(zé)最多的就是做了太多無(wú)用功,浪費(fèi)大量能源。在這個(gè)基礎(chǔ)上,有人不斷探索其他共識(shí)機(jī)制,到2012年的時(shí)候,POS就出來(lái)了。
構(gòu)建一個(gè)區(qū)塊,POW對(duì)所有人來(lái)說(shuō),難度一樣;但是POS是一種權(quán)益或者利益模式,到目前為止,有很多的區(qū)塊鏈用了這種機(jī)制。但這兩種機(jī)制,到底誰(shuí)優(yōu)誰(shuí)劣,目前整個(gè)社區(qū)還在討論之中。
區(qū)塊鏈資產(chǎn)的安全存儲(chǔ)
在非對(duì)稱密碼學(xué)中,私鑰是非常重要的,如果你的私鑰被別人知道,那么地址上的資產(chǎn)也就不是你的了。
這個(gè)行業(yè)發(fā)展到現(xiàn)在,丟幣行為時(shí)有發(fā)生,尤其是很多大型交易平臺(tái),非常多的幣都被偷了。
但不管什么情況,最根本原因就是私鑰被別人獲取了。所以,目前最核心的問(wèn)題,是如何來(lái)管理私鑰。
現(xiàn)在,有很多錢(qián)包可以用來(lái)管理私鑰,大體上可以分為熱錢(qián)包和冷錢(qián)包。所謂的熱錢(qián)包,就是接觸互聯(lián)網(wǎng)的錢(qián)包;而冷錢(qián)包則不會(huì)接觸互聯(lián)網(wǎng)。
到目前為止,大家已經(jīng)有一個(gè)共識(shí),冷錢(qián)包存儲(chǔ)私鑰是***的選擇,但是不同方式,也存在不同弊端。
比如寫(xiě)在紙上,就是紙錢(qián)包,這種方式確實(shí)比較安全,但用的時(shí)候非常麻煩;有的人把私鑰存在電腦上,再拔掉網(wǎng)線,但是只要這臺(tái)電腦聯(lián)網(wǎng),瞬間就變成熱錢(qián)包,還是很危險(xiǎn)。
這種情況下,該如何解決呢?
回答這個(gè)問(wèn)題之前,我們先來(lái)看看在區(qū)塊鏈中,一筆交易的發(fā)生過(guò)程。
-
***步:生成地址。生成一個(gè)私鑰,然后獲得一個(gè)地址。
-
第二步:接收。有了地址,任何人就可以給你轉(zhuǎn)幣。
-
第三步:查詢。可以在區(qū)塊鏈上查詢,誰(shuí)給你發(fā)的幣,數(shù)量是多少。
-
第四步:構(gòu)建交易。當(dāng)你要轉(zhuǎn)走幣的時(shí)候,要構(gòu)建交易,指定發(fā)給誰(shuí),發(fā)多少。
-
第五步:簽名。用你的私鑰進(jìn)行數(shù)字簽名。
-
第六步:廣播。把簽名之后的數(shù)據(jù),廣播到區(qū)塊鏈中,等待礦工驗(yàn)證,一旦驗(yàn)證通過(guò),納入某個(gè)區(qū)塊也就確認(rèn)了。
所以,無(wú)論是一代還是二代區(qū)塊鏈,上面這幾步都應(yīng)該有。
同時(shí),大家可以發(fā)現(xiàn)一個(gè)特點(diǎn),上面的6步,只有其中的2步需要私鑰,一是通過(guò)私鑰獲得地址,另外就是簽名。所以,只有保證這兩步的安全,整個(gè)地址就是安全的。
學(xué)霸他們就針對(duì)這個(gè)特點(diǎn),設(shè)計(jì)了庫(kù)神錢(qián)包,這是一個(gè)獨(dú)立的硬件,也是一個(gè)冷錢(qián)包。它唯一的輸入設(shè)備就是攝像頭,輸出設(shè)備是屏幕,而且絕對(duì)不聯(lián)網(wǎng)。
很多人會(huì)問(wèn),不聯(lián)網(wǎng)的話,是如何發(fā)揮作用的呢?
學(xué)霸他們的理念,就是把需要私鑰的地方,放在一個(gè)獨(dú)特的硬件里,也就是冷端;其他功能放在手機(jī)的一個(gè)APP里,叫熱端。
那么冷端和熱端是如何交互的的?
目前他們用的是二維碼,因?yàn)槎S碼是圖片,是一種非電磁波信號(hào),是不能被監(jiān)聽(tīng)的,絕對(duì)不會(huì)用wifi、藍(lán)牙,這樣就保證了私鑰的安全,而且使用起來(lái)還很便捷。
所以,在安全存儲(chǔ)這一環(huán)節(jié),冷儲(chǔ)存是***的選擇,尤其是對(duì)于擁有大量幣的人。
還有一種情況是,有人擁有很多區(qū)塊鏈資產(chǎn),是不是每一種資產(chǎn)都要一個(gè)錢(qián)包?每一個(gè)鏈都要一個(gè)密碼?每個(gè)地址都要一個(gè)密鑰?
學(xué)霸說(shuō),不是的,現(xiàn)在的錢(qián)包已經(jīng)可以存放多資產(chǎn)。只要兩個(gè)密碼就夠了,一個(gè)叫種子密碼,一個(gè)叫支付密碼。
開(kāi)始的時(shí)候,可以隨機(jī)地讓用戶生成一個(gè)種子密碼,當(dāng)有了種子密碼之后,要求用戶再設(shè)置一個(gè)支付密碼,這個(gè)密碼必須記在腦子里,然后由這兩個(gè)密碼通過(guò)確定性的算法,就能算出來(lái)1號(hào)地址的私鑰,2號(hào)地址的私鑰……,所以,通過(guò)兩個(gè)密碼就可以管理很多私鑰,進(jìn)而管理很多地址。
通過(guò)上面對(duì)區(qū)塊鏈知識(shí)的講解,大家很可能明白一個(gè)道理,什么事情都是雙刃劍,區(qū)塊鏈技術(shù)讓你的私有財(cái)產(chǎn)變得神圣不可侵犯的同時(shí),對(duì)人們的要求也變的越來(lái)越高。