上一篇文章是說(shuō)人工智能的,后續(xù)我想馬上講的先朦,可是我一看那些全是數(shù)學(xué)的和理論的東西犬缨,簡(jiǎn)直要了我的老命,正好最近一直在關(guān)注比特幣遍尺,那就先講講比特幣吧。只是科普一下哈。
我一直后悔三热,為何高中那會(huì)兒,我沒(méi)有買比特幣呐能,以至于抑堡,我錯(cuò)失了成為富豪的機(jī)會(huì)。不過(guò)后來(lái)又想了想首妖,那會(huì)兒也沒(méi)錢(qián)買,也就不傷心了有缆。哈哈哈
現(xiàn)在,比特幣真是瘋了杯矩,昨天看是17000美元一個(gè)袖外?很是震驚啊。
震驚但是不要一無(wú)所知曼验,我們看看比特幣是什么粘姜?我們盡量簡(jiǎn)單簡(jiǎn)單大白話的說(shuō)魄幕,這是相互理解的基礎(chǔ)。比特幣就是網(wǎng)絡(luò)貨幣纯陨,純粹的數(shù)字貨幣,簡(jiǎn)直就是無(wú)中生有咙轩。正應(yīng)了那句話阴颖,“假作真時(shí)真亦假”,還有那一句“三人成虎”量愧,以及“謠言可怕”。怎么能這樣說(shuō)那煞烫?因?yàn)楸忍貛啪褪沁@樣產(chǎn)生的累颂。
只要你振臂一呼滞详,我產(chǎn)生了一個(gè)比特幣紊馏,然后有人給你作證,有人給作證的人作證岸啡,就行赌朋,那么你就產(chǎn)生了一個(gè)比特幣。當(dāng)然沛慢,比特幣實(shí)際上是算法產(chǎn)生的。但是算法演化的表面就是“信用”的產(chǎn)生团甲。而,每一個(gè)看到的人都是一個(gè)區(qū)塊身腻,連接起來(lái)就是一個(gè)可以去信用的體系。
這就是區(qū)塊鏈:
區(qū)塊鏈本質(zhì)上是一個(gè)去中心化的分布式賬本數(shù)據(jù)庫(kù)
指出:在與比特幣相關(guān)的區(qū)塊鏈應(yīng)用中可使用這一術(shù)語(yǔ)嘀趟,但區(qū)塊鏈技術(shù)可能并不包含“賬本”)。其本身是一串使用密碼學(xué)相關(guān)聯(lián)所產(chǎn)生的數(shù)據(jù)塊牛隅,每一個(gè)數(shù)據(jù)塊中包含了多次比特幣網(wǎng)絡(luò)交易有效確認(rèn)的信息酌泰。
這是區(qū)塊鏈的定義,因此要逐步了解區(qū)塊鏈陵刹,我們需要一步步了解如下東西。
去中心化
先來(lái)考慮一個(gè)中心化集中式處理的過(guò)程也糊。你要在某寶上買一部手機(jī)羡宙,交易流程是:你將錢(qián)打給支付寶-支付寶收款后通知賣家發(fā)貨-賣家發(fā)貨-你確認(rèn)收貨-支付寶把錢(qián)打給賣家显设。
圖1: 中心化集中式交易模式
在這個(gè)過(guò)程中,雖然你是在和賣家交易瑟枫,但是這筆交易還牽扯到了除了你和賣家的第三方,即支付寶僻焚,你和賣家的交易都是圍繞支付寶展開(kāi)膝擂。因此虑啤,如果支付寶系統(tǒng)出了問(wèn)題便會(huì)造成這筆交易的失敗架馋。并且雖然你只是簡(jiǎn)單的買了一個(gè)手機(jī),但是你和賣家都要向第三方提供多余的信息萍启。因此考慮極端情況,如果支付寶跑路了或者是拿了錢(qián)不卻不承認(rèn)你的交易或者是支付寶所在的城市因?yàn)殚_(kāi)G20把所有人都趕走了(?)勘纯,那么你就悲劇了。
而去中心化的處理方式就要顯得簡(jiǎn)單很多淫奔,你只需要和賣家交換錢(qián)和手機(jī)堤结,然后雙方都聲稱完成了這筆交易,就OK了霍殴。
可以看出在某些特定情況下,去中心化的處理方式會(huì)更便捷妒蔚,同時(shí)也無(wú)須擔(dān)心自己的與交易無(wú)關(guān)的信息泄漏月弛。
其實(shí)如果只考慮兩個(gè)人的交易并不能把去中心化的好處完全展示出來(lái),設(shè)想如果有成千上萬(wàn)筆交易在進(jìn)行帽衙,去中心化的處理方式會(huì)節(jié)約很多資源,使得整個(gè)交易自主化恍飘、簡(jiǎn)單化谴垫,并且排除了被中心化代理控制的風(fēng)險(xiǎn)。
去中心化是區(qū)塊鏈技術(shù)的顛覆性特點(diǎn)翩剪,它無(wú)需中心化代理,實(shí)現(xiàn)了一種點(diǎn)對(duì)點(diǎn)的直接交互蚪缀,使得高效率恕出、大規(guī)模、無(wú)中心化代理的信息交互方式成為了現(xiàn)實(shí)剃根。
當(dāng)然,上述的例子有一個(gè)很大的潛在問(wèn)題:沒(méi)有了權(quán)威的中心化代理廉油,怎樣保證每筆交易的準(zhǔn)確性和有效性呢?比如:如果沒(méi)有了權(quán)威的中心化代理抒线,張三某一天借了我100塊錢(qián),但是不還錢(qián)還不承認(rèn)怎么辦抱慌?這里就引出了區(qū)塊鏈的其它特性眨猎。
兩個(gè)基礎(chǔ)難題
在去中心化以后,整個(gè)系統(tǒng)中沒(méi)有了權(quán)威的中心化代理寺渗,信息的可信度和準(zhǔn)確性便會(huì)面臨問(wèn)題兰迫。
問(wèn)題1:類兩軍問(wèn)題
第一次聽(tīng)說(shuō)這個(gè)問(wèn)題居然是在TCP的課上,大致說(shuō)的是有兩個(gè)相距很遠(yuǎn)的軍隊(duì)要傳遞信息汁果,紅軍派遣一個(gè)信使去跟藍(lán)軍說(shuō):“你他娘的把意大利炮拿出來(lái)!”鳄乏。藍(lán)軍收到信息后又派了一個(gè)信使去紅軍說(shuō):“收到指令棘利!”。然后紅軍又派一個(gè)信使去藍(lán)軍說(shuō):“知道你收到指令了!”不铆。然后藍(lán)軍又派一個(gè)信使去紅軍說(shuō):“知道你知道我收到指令了!”只洒。然后紅軍又派一個(gè)信使去藍(lán)軍說(shuō):“知道你知道我知道你收到指令了劳坑!”……然后就沒(méi)完沒(méi)了了。
在這種情況下,因?yàn)槭屈c(diǎn)對(duì)點(diǎn)的通信循帐,雙方不可能在這種情況下達(dá)到信息的一致性舀武。嚴(yán)謹(jǐn)一點(diǎn),就是“在分布式計(jì)算上瘪匿,試圖在異步系統(tǒng)和不可靠的通道上達(dá)到一致性是不可能的”寻馏。
問(wèn)題2:拜占庭將軍問(wèn)題
拜占庭羅馬帝國(guó)在軍事行動(dòng)中,采取將軍投票的策略來(lái)決定是進(jìn)攻還是撤退诚欠,也就是說(shuō)如果多數(shù)人決定進(jìn)攻,就上去干家乘。但是軍隊(duì)中如果有奸細(xì)(比如將軍已經(jīng)反水故意亂投票藏澳,或者傳令官叛變擅自修改軍令),那怎么保證最后投票的結(jié)果真正反映了忠誠(chéng)的將軍的意愿呢业崖?
拜占庭將軍問(wèn)題反映到信息交換領(lǐng)域中來(lái)蓄愁,可以理解為在一個(gè)去中心的系統(tǒng)中,有一些節(jié)點(diǎn)是壞掉的撮抓,它們可能向外界廣播錯(cuò)誤的信息或者不廣播信息,在這種情況下如何驗(yàn)證數(shù)據(jù)傳輸?shù)臏?zhǔn)確性站超。
區(qū)塊鏈技術(shù)的誕生
現(xiàn)在讓我們來(lái)一步一步在去中心化的系統(tǒng)中解決這些問(wèn)題乖酬,見(jiàn)證區(qū)塊鏈技術(shù)雛形的誕生。
1
我們先來(lái)建立一個(gè)去中心化的系統(tǒng)算撮,為了方便理解,我們來(lái)看一個(gè)簡(jiǎn)單的去中心化借貸模型:如果A借了B 100塊錢(qián)肮柜,這個(gè)時(shí)候,A在人群中大喊“我是A蔑赘,我借給了B 100塊錢(qián)预明!”,B也在人群中大喊“我是B酥馍,A借給了我100塊錢(qián)阅酪!”,此時(shí)路人甲乙丙丁都聽(tīng)到了這些消息术辐,因此所有人都在心中默默記下了“A借給了B100塊錢(qián)”。你看必孤,這個(gè)時(shí)候一個(gè)去中心化的系統(tǒng)就建立起來(lái)了瑞躺,這個(gè)系統(tǒng)中不需要銀行,也不需要借貸協(xié)議和收據(jù)赡勘,嚴(yán)格來(lái)說(shuō)捞镰,甚至不需要人與人長(zhǎng)久的信任關(guān)系(比如B突然又改口說(shuō)“我不欠A錢(qián)!”岸售,這個(gè)時(shí)候人民群眾就會(huì)站出來(lái)說(shuō)“不對(duì),我的小本本上記錄了你某天借了A100塊錢(qián)!”)甲雅。
圖3:去中心化借貸模型
2
可能你已經(jīng)發(fā)現(xiàn)了,在上述的模型中抛人,所謂的“100塊錢(qián)”已經(jīng)不重要了妖枚。換句話說(shuō),任何東西都可以在這個(gè)模型中交換绝页,甚至你可以憑空杜撰一個(gè)東西,只要大家承認(rèn)莱没,你就可以讓你杜撰的東西流通酷鸦。比如:我在人群中高喊一聲“我創(chuàng)造了10個(gè)查克拉!”臼隔,我甚至不需要知道查克拉是什么摔握,也不需要關(guān)心世界上是不是真的有查克拉,只要大家都聽(tīng)到盒发,然后在自己的小本本上記下“LaiW3n有10個(gè)查克拉”,于是我就真的有100個(gè)查克拉了拼卵。從此以后蛮艰,我便可以聲稱我給了某人1個(gè)查克拉,只要路人甲乙丙丁都收到并且承認(rèn)了這一信息即寡,那我就算完成了這次交易袜刷,哪怕世界上沒(méi)有查克拉。
你現(xiàn)在腦海中是不是浮現(xiàn)出了三個(gè)字——“比特幣”著蟹?由于真正的區(qū)塊鏈和比特幣比我上述的模型復(fù)雜太多梢莽,細(xì)節(jié)也豐富太多昏名,因此以下還是以查克拉舉例阵面,畢竟本文是Blockchain for Babies.(笑)
3
假設(shè)過(guò)了很長(zhǎng)一段時(shí)間,我憑空創(chuàng)造的查克拉已經(jīng)在這個(gè)系統(tǒng)中流通了起來(lái)样刷,大家都開(kāi)始認(rèn)可了查克拉。但是這個(gè)系統(tǒng)中一共就只有10個(gè)查克拉夫壁,于是有人動(dòng)了壞心思沃疮,他在人群中高呼“我有10個(gè)查克拉!”怎么辦邑茄?大家是直接在本本上記下他有10個(gè)查克拉么俊啼,這樣不是人人都可以偽造查克拉了么?
為了防止這種現(xiàn)象發(fā)生同木,我決定在我創(chuàng)造查克拉的時(shí)候給我的查克拉打上標(biāo)記(更準(zhǔn)確地說(shuō)跛十,我是給我喊的那句“我創(chuàng)造了10個(gè)查克拉”打上標(biāo)記,比如標(biāo)記為001)芥映,這樣以后在每一筆交易的時(shí)候,我在高喊“我給了某某1個(gè)查克拉坞嘀!”的時(shí)候惊来,會(huì)附加上額外的一句話:“這1個(gè)查克拉的來(lái)源是記為001的那條記錄,我的這句話標(biāo)記為002矢渊!”。我們?cè)俪橄笠稽c(diǎn)昆淡,某人喊話的內(nèi)容的格式就變成了:“這句話編號(hào)xxx昂灵,上一句話的編號(hào)是yyy舞萄,我給了某某1個(gè)查克拉!”倒脓,這樣就解決了偽造的問(wèn)題。其實(shí)上述模型就變成一個(gè)簡(jiǎn)化的中本聰?shù)谝话姹忍貛艆^(qū)塊鏈協(xié)議:
圖4:查克拉模型和中本聰?shù)谝话鎱^(qū)塊鏈協(xié)議對(duì)比圖
好了甘晤,看到這里你基本已經(jīng)能夠生動(dòng)形象又不涉及任何細(xì)節(jié)地向你的弱智室友解釋區(qū)塊鏈了饲做。但是也許你的室友是一個(gè)有打破沙鍋問(wèn)到底精神求是學(xué)子盆均,因此你最好繼續(xù)準(zhǔn)好回答以下這幾個(gè)問(wèn)題。
1. “憑啥泪姨?”
你室友可能會(huì)問(wèn):“憑啥你喊一句話我就幫你記?我的小本本不要錢(qián)么诀黍?”唇敞。為了激勵(lì)大家?guī)臀覀髟捄陀涃~,我決定給第一個(gè)聽(tīng)到我喊話并且記錄在小本本上的人一些獎(jiǎng)勵(lì):第一個(gè)聽(tīng)到我喊話并記錄下來(lái)的人咒精,你就憑空得到了1個(gè)查克拉旷档,這個(gè)查克拉是整個(gè)系統(tǒng)對(duì)你幸苦記賬的報(bào)酬,而你記錄了這句話之后范咨,要馬上告訴其它人你已經(jīng)記錄好了,讓別人放棄繼續(xù)記錄這句話渠啊,并給你自己的記錄編號(hào)讓別人有據(jù)可查,然后你再把我的話加上你的記錄編號(hào)一起喊出來(lái)贯溅,供下一個(gè)人記賬躲查。
當(dāng)這個(gè)規(guī)則定下以后,這個(gè)系統(tǒng)中一定會(huì)出現(xiàn)一批人姐霍,他們開(kāi)始豎著耳朵監(jiān)聽(tīng)周圍發(fā)出的聲音典唇,以搶占第一個(gè)記賬的權(quán)利。對(duì)的腌乡,你腦海中是不是又浮現(xiàn)出了“比特幣挖礦”的字眼夜牡?
值得一提的是,關(guān)于比特幣挖礦塘装,
單身汪們要找女票,國(guó)民岳母說(shuō)我有好多女兒僚碎,這樣吧我給你們出點(diǎn)題目阴幌,解出一個(gè)就給其中一個(gè)姑娘的微信號(hào)。
單身汪們瘋狂競(jìng)爭(zhēng)渊抽,想破腦袋去解題议忽。只要其中一只汪解出一道題,就立馬得意洋洋地昭告天下愤估,示威全部單身汪,這個(gè)姑娘是我的啦玩焰,你們放棄吧。其他單身汪們即使不服也沒(méi)有辦法荔棉,惆悵懊惱也不是個(gè)事兒啊蒿赢,還是麻溜地立馬去解下一道題目吧渣触。這只喜贏姑娘的幸運(yùn)小汪被岳母認(rèn)可后還能得到25個(gè)貨幣單位的彩禮,簡(jiǎn)直人生贏家皂冰。
2. “聽(tīng)誰(shuí)的养篓?”
在這個(gè)系統(tǒng)中,如果我和另一個(gè)人C幾乎同時(shí)地喊出一句:“為了艾澤拉斯舶胀!”碧注。由于聽(tīng)眾所處的位置不同,一定會(huì)有人先聽(tīng)到我說(shuō)的那句話轩端,而另外一些人則先聽(tīng)到C的那句話逝变,如果我們規(guī)定只能有一個(gè)人說(shuō)出這句話,那到底這句話是誰(shuí)說(shuō)的拱层?
如果不加任何條件态贤,那么上述的情況一定會(huì)這樣發(fā)展:一部分人認(rèn)為這句話是我說(shuō)的,在聽(tīng)到這句話之后開(kāi)始記賬箱吕,之后他們所做的所有事情都是基于這個(gè)事實(shí),并且隨著這個(gè)信息一次次的傳下去茬高,這條信息鏈會(huì)越來(lái)越深;而另外一群認(rèn)為是C先說(shuō)這句話的人丽猬,也會(huì)按照這樣的趨勢(shì)發(fā)展熏瞄。這樣,原本是一條唯一的信息鏈由桌,在我們喊出“為了艾澤拉斯”這句話之后邮丰,分叉了!娃循?
圖5:“區(qū)塊鏈”分叉
這會(huì)導(dǎo)致怎樣的情況呢斗蒋?按照我們的設(shè)想,應(yīng)該每個(gè)人的小本本上記錄的東西都是一樣的骤星,都是一條可以把所有信息串聯(lián)起來(lái)的鏈條爆哑。但是在這一刻,他們小本本上記錄的東西不一樣了队贱!這還玩毛疤陡ぁ?以后還怎么確定交易和信息的真實(shí)性1嗲稹?
為了解決這個(gè)問(wèn)題嘉抓,我又追加了新的規(guī)則:每個(gè)人在記錄小本本的時(shí)候抑片,需要脫鞋然后用腳拿筆,在小本本上用正楷體書(shū)寫(xiě)敞斋!有了這個(gè)規(guī)定,由于用腳寫(xiě)字難度很大衙解,每個(gè)人至少需要10分鐘才能寫(xiě)完焰枢,而且由于每個(gè)人用腳寫(xiě)字的熟練度不通,寫(xiě)完這句話所用的時(shí)間也不同,因此一定會(huì)有人先寫(xiě)完然后高呼“我寫(xiě)完了拟淮!那句話是LaiW3n喊的谴忧!”,這樣其它正在寫(xiě)這句話的人便會(huì)停筆沾谓,然后在小本本上重新開(kāi)始寫(xiě)“那句話是來(lái)文寫(xiě)的均驶,上一句的編號(hào)是xxx”。
如果你對(duì)上述我的解決方法感興趣妇穴,你可以對(duì)照我上面的比喻去了解以下知識(shí):
“聽(tīng)誰(shuí)的”——中本聰破解“拜占庭將軍問(wèn)題”的算法
“在小本本上記錄”——比特幣挖礦
“脫鞋用腳寫(xiě)字”——比特幣挖礦難度
“脫鞋寫(xiě)字速度”——算力
“新的規(guī)則”——工作量證明鏈
3. “雙花”問(wèn)題
這個(gè)時(shí)候你的室友可能又要問(wèn):如果我同時(shí)宣布我給了A一個(gè)查克拉和我給了B一個(gè)查克拉腾它,但是我只有一個(gè)查克拉,那咋整曲梗?是A和B都收到了查克拉還是咋地?
這個(gè)時(shí)候你只需要托起他的下巴虏两,溫柔地看著他的眼睛碘举,用手刮刮他的鼻子,說(shuō):“小妖精引颈,你把這種情況帶到上面的規(guī)則中去試試?”
--------------
一些私信問(wèn)題討論:
1. 為何目前還鮮有區(qū)塊鏈和實(shí)體商業(yè)業(yè)務(wù)對(duì)接的案例凌停?
從理論上:區(qū)塊鏈?zhǔn)且婚T(mén)新技術(shù)售滤,保守大眾(包括我)還處在觀望階段完箩,只有少數(shù)激進(jìn)或者目標(biāo)明確的實(shí)體開(kāi)始向區(qū)塊鏈進(jìn)軍,而這些少數(shù)的實(shí)體在現(xiàn)階段發(fā)聲的強(qiáng)度還不夠弊知。
從應(yīng)用上:區(qū)塊鏈技術(shù)要與實(shí)體商業(yè)對(duì)接秩彤,在技術(shù)和規(guī)則上還需要進(jìn)一步開(kāi)拓,區(qū)塊鏈解決的所謂“不信任”問(wèn)題其對(duì)象也只局限于區(qū)塊鏈上的數(shù)據(jù)漫雷。因此如果區(qū)塊鏈要與實(shí)體業(yè)務(wù)對(duì)接降盹,還需要進(jìn)一步推動(dòng)實(shí)體與數(shù)據(jù)之間跨域的“游戲規(guī)則”的建立。
2. 虛擬加密貨幣最終是否會(huì)走向龐氏騙局仅胞?
這個(gè)問(wèn)題我也不太好回答剑辫,畢竟我是一個(gè)技術(shù)人員而非這個(gè)領(lǐng)域的弄潮兒。我個(gè)人的看法是:對(duì)于普通人椎眯,不建議長(zhǎng)期持有某種數(shù)字貨幣,應(yīng)將數(shù)字貨幣作為法幣之間轉(zhuǎn)換的橋梁编整;對(duì)于投機(jī)者掌测,“炒幣”需謹(jǐn)慎,應(yīng)將風(fēng)險(xiǎn)控制在自己能夠承受的范圍內(nèi)汞斧。PS:其實(shí)我真的不關(guān)心這個(gè)問(wèn)題。
3.為什么聽(tīng)你一講竞端,感覺(jué)區(qū)塊鏈很弱智的樣子庙睡?
我在文中已經(jīng)說(shuō)明,這只是一篇關(guān)于區(qū)塊鏈技術(shù)的新人導(dǎo)論统台,其目的在于幫助你快速對(duì)區(qū)塊鏈有一個(gè)感性的認(rèn)識(shí)啡邑;如果真的想了解區(qū)塊鏈技術(shù)細(xì)節(jié),請(qǐng)閱讀相關(guān)文獻(xiàn)或訪問(wèn)區(qū)塊鏈社區(qū)。
本文轉(zhuǎn)自知乎?汪樂(lè)-LaiW3n大亨森缠,