小白如何用“區(qū)塊鏈”優(yōu)雅地裝逼?
區(qū)塊鏈?zhǔn)鞘裁??有時(shí)候覺(jué)得這是個(gè)蠻無(wú)聊的問(wèn)題。因?yàn)?,這就好像一個(gè)人問(wèn)我“人活著是為了什么?”,我可能會(huì)這樣回答:???????
生活的意義需要參與到生活的細(xì)節(jié)過(guò)程中才能體會(huì),“區(qū)塊鏈?zhǔn)鞘裁?rdquo;只有實(shí)際參與到區(qū)塊鏈項(xiàng)目中才能回答。我想,有一類人能回答這個(gè)問(wèn)題。
這些人往往是穿著拖鞋短褲來(lái)上班、每天11點(diǎn)40準(zhǔn)時(shí)吃飯的二逼青年;這些人也是從不在微信群里爭(zhēng)論是否加班的佛系男女。這些人是誰(shuí)?這些人就是永遠(yuǎn)奮斗在一線、對(duì)著代碼就能高潮的程序猿。
但是,并不是每個(gè)人都是程序員,也不是每個(gè)人都能參與到區(qū)塊鏈項(xiàng)目中,比如我。我是一個(gè)采編,只想拿著區(qū)塊鏈的概念吹吹牛,那么,how?
1.定義
一般認(rèn)為,區(qū)塊鏈(blockchain)這個(gè)詞是從2008年10月31日署名為中本聰(Satoshi Nakamoto)的論文《比特幣:一種點(diǎn)對(duì)點(diǎn)的電子現(xiàn)金系統(tǒng)》開(kāi)始的。實(shí)際上,在這篇論文里并沒(méi)有出現(xiàn)blockchain,而只有區(qū)塊(block)和鏈(chain)。
隨著比特幣從社區(qū)、到暗網(wǎng)、然后發(fā)展到地面上,有人對(duì)炒幣感興趣,有人對(duì)比特幣的底層技術(shù)–區(qū)塊鏈感興趣,因此就形成了幣圈和鏈圈。在鏈圈里,一些技術(shù)專家和專業(yè)機(jī)構(gòu)嘗試給區(qū)塊鏈下定義:
“信任的機(jī)器。” ——2015年10月《經(jīng)濟(jì)學(xué)人》
“區(qū)塊鏈技術(shù)是指通過(guò)去中心化和去信任的方式集體維護(hù)一個(gè)可靠數(shù)據(jù)庫(kù)的技術(shù)方案。” ——2018維京研究院&甲子智院《區(qū)塊鏈行業(yè)詞典》
“區(qū)塊鏈?zhǔn)且粋€(gè)去中心化的分布式賬本數(shù)據(jù)庫(kù),該數(shù)據(jù)庫(kù)由一串使用密碼學(xué)方法產(chǎn)生的數(shù)據(jù)區(qū)塊有序鏈接而成,區(qū)塊中包含有一定時(shí)間內(nèi)產(chǎn)生的無(wú)法被篡改的數(shù)據(jù)記錄信息。” ——長(zhǎng)鋏、韓峰 等《區(qū)塊鏈:從數(shù)字貨幣到信用社會(huì)》
“狹義來(lái)講,區(qū)塊鏈?zhǔn)且环N按照時(shí)間順序?qū)?shù)據(jù)區(qū)塊以順序相連的方式組合成的一種鏈?zhǔn)綌?shù)據(jù)結(jié)構(gòu),并以密碼學(xué)方式保證的不可篡改和不可偽造的分布式賬本。”——《中國(guó)區(qū)塊鏈技術(shù)和應(yīng)用發(fā)展白皮書(shū)》(2016)
“廣義來(lái)講,區(qū)塊鏈技術(shù)是利用塊鏈?zhǔn)綌?shù)據(jù)結(jié)構(gòu)來(lái)驗(yàn)證與存儲(chǔ)數(shù)據(jù)、利用分布式節(jié)點(diǎn)共識(shí)算法來(lái)生成和更新數(shù)據(jù)、利用密碼學(xué)的方式保證數(shù)據(jù)傳輸和訪問(wèn)的安全、利用由自動(dòng)化腳本代碼組成的智能合約來(lái)編程和操作數(shù)據(jù)的一種全新的分布式基礎(chǔ)架構(gòu)與計(jì)算范式。”——《中國(guó)區(qū)塊鏈技術(shù)和應(yīng)用發(fā)展白皮書(shū)》(2016)
……
(對(duì)我們大多數(shù)人來(lái)說(shuō),對(duì)權(quán)威的依賴在很多事情上來(lái)說(shuō)是必需的,尤其是面對(duì)一些困難或復(fù)雜問(wèn)題的時(shí)候,比如什么是區(qū)塊鏈。)
顯然,區(qū)塊鏈有著各種各樣技術(shù)層面的定義,如果讓我來(lái)總結(jié)一下的話,我會(huì)這樣說(shuō):區(qū)塊鏈?zhǔn)且粋€(gè)技術(shù)方案,它以數(shù)據(jù)庫(kù)為核心,由分布式存儲(chǔ)、P2P傳輸、加密算法、共識(shí)機(jī)制等技術(shù)構(gòu)成,其特點(diǎn)是去中心化、鏈上信息不可篡改或偽造。
(我的這個(gè)定義嚴(yán)格來(lái)說(shuō),是比特幣區(qū)塊鏈)然后,這些技術(shù)是如何發(fā)揮作用的呢?
新手如何用“區(qū)塊鏈”優(yōu)雅地裝逼?
2.分布式數(shù)據(jù)庫(kù)
(1)分布式數(shù)據(jù)庫(kù)
講真的,雖然大學(xué)的時(shí)候?qū)W過(guò)計(jì)算機(jī)基礎(chǔ)和VB,但是由于從事的不是IT相關(guān)的工作,所以這些知識(shí)全都還給老師了。下面的關(guān)于分布式數(shù)據(jù)庫(kù)講解大多是基于《分布式數(shù)據(jù)庫(kù)系統(tǒng)原理(第三版)》這本書(shū)。
理論上,我們把分布式數(shù)據(jù)庫(kù)定義為一群分布在計(jì)算機(jī)網(wǎng)絡(luò)上、邏輯上相互關(guān)聯(lián)的數(shù)據(jù)庫(kù),如下圖。
新手如何用“區(qū)塊鏈”優(yōu)雅地裝逼?
使用數(shù)據(jù)庫(kù)系統(tǒng)的原因之一就是把企業(yè)的運(yùn)營(yíng)數(shù)據(jù)集成起來(lái),這樣就可以對(duì)數(shù)據(jù)進(jìn)行集中控制或隨時(shí)存取。
注意,數(shù)據(jù)庫(kù)最重要的目標(biāo)是集成,而不是集中。集成與集中的區(qū)別就在于有沒(méi)有邏輯上的聯(lián)系,集成有邏輯上的聯(lián)系,而集中沒(méi)有。只有彼此之間產(chǎn)生聯(lián)系才能一起工作。
為什么要使用分布式的數(shù)據(jù)庫(kù)呢?我找到了一個(gè)牛逼的答案:
面對(duì)現(xiàn)在的大規(guī)模數(shù)據(jù)管理問(wèn)題,如果能把復(fù)雜的問(wèn)題分割稱更小的部分,并把它們分配到不同的軟件群加以解決。這些軟件群在不同的計(jì)算機(jī)上工作,這樣它們就形成了一個(gè)系統(tǒng),運(yùn)行在多個(gè)處理單元上,共同完成一項(xiàng)任務(wù)。
通用、高效、自適應(yīng)…“中本聰”不使用分布式數(shù)據(jù)庫(kù),還能用什么庫(kù)呢??jī)?yōu)衣庫(kù)?
(2)拜占庭將軍問(wèn)題
我們平時(shí)談到籃球,就會(huì)馬上想到科比;談到區(qū)塊鏈,就會(huì)想到巴比特。而談到分布式數(shù)據(jù)庫(kù),“拜占庭將軍問(wèn)題”肯定是繞不開(kāi)的。
在繼續(xù)下文之前,我要首先聲明的是,“拜占庭將軍問(wèn)題”并不是一個(gè)真實(shí)的歷史事件,它是一個(gè)虛構(gòu)的故事。原因很簡(jiǎn)單:
故事容易被傳播。只要是個(gè)正常人,就會(huì)喜歡看故事。把計(jì)算機(jī)領(lǐng)域里抽象的問(wèn)題用故事的形式表現(xiàn)出來(lái),這樣能得到更多人的關(guān)注。關(guān)注的人越多,這個(gè)問(wèn)題就能更快地被解決。
新手如何用“區(qū)塊鏈”優(yōu)雅地裝逼?
“拜占庭將軍問(wèn)題”出現(xiàn)在1982年7月Leslie Lamport和Marshall Pease 、Robert Shostak合作發(fā)表的論文《The Byzantine Generals Problem》,故事是這樣的:
假設(shè)有幾支拜占庭軍隊(duì)現(xiàn)在正在一個(gè)敵城外扎營(yíng),每支軍隊(duì)由一個(gè)將軍指揮。將軍之間只能通過(guò)信使傳遞信息。觀察完敵情后,他們必須制定一份共同的行動(dòng)計(jì)劃。
然而,有些將軍可能是叛徒,他們會(huì)盡力阻止那些忠誠(chéng)的將軍達(dá)成一致的計(jì)劃。將軍們必須有一個(gè)算法來(lái)保證以下幾點(diǎn):
1.所有忠誠(chéng)的將軍必須達(dá)成相同的行動(dòng)計(jì)劃。
忠誠(chéng)的將軍會(huì)根據(jù)“算法”的要求來(lái)行動(dòng),而叛變的將軍想去哪兒就去哪兒,想干嘛就干嘛。不管叛軍做什么,算法必須保證所有忠誠(chéng)的將軍達(dá)成相同的行動(dòng)計(jì)劃忠誠(chéng)的將軍不僅要在行動(dòng)上達(dá)成一致,還要認(rèn)可可執(zhí)行的計(jì)劃。所以我們也要確保:
2.當(dāng)少數(shù)人是叛軍的時(shí)候,他們無(wú)法阻止忠誠(chéng)的將軍接收到可執(zhí)行的計(jì)劃。
這個(gè)故事是計(jì)算機(jī)科學(xué)中,研究分布式一致性(Distributed consensus)問(wèn)題的典型案例。
一般的,對(duì)這個(gè)問(wèn)題的研究是為了增加分布式系統(tǒng)的可靠性。比如Twitter、Facebook這樣的系統(tǒng),它們有很多服務(wù)器,同時(shí)記錄著系統(tǒng)上發(fā)生的所有行為。
因?yàn)槊恳粭l信息分別記錄在不同的后臺(tái)節(jié)點(diǎn)上,所以系統(tǒng)具有分布式的特點(diǎn)。一旦數(shù)據(jù)記錄不一致,就有可能發(fā)生用戶信息丟失的情況。在2008年10月31號(hào)之前,人們都還不知道如何使這樣的系統(tǒng)達(dá)成完美的一致性。
(3)中本聰
2018年10月31日下午2點(diǎn)10分,在一個(gè)密碼朋克的郵件組里,幾百個(gè)成員收到了一封署名為中本聰?shù)碾娮余]件,郵件里寫(xiě)到:“我一直在研究一個(gè)新的電子現(xiàn)金系統(tǒng),這完全是點(diǎn)對(duì)點(diǎn)的,無(wú)需任何可信的第三方參與。”,在這句話的下方,有白皮書(shū)的鏈接,其中描述了一個(gè)新的貨幣體系。
新手如何用“區(qū)塊鏈”優(yōu)雅地裝逼?
(在這里,我們假設(shè)中本聰是一個(gè)真實(shí)的人)中本聰優(yōu)雅地利用“工作量證明鏈”(proof-of-work chain)解決了“拜占庭將軍問(wèn)題”。詳情見(jiàn)《區(qū)塊鏈:重塑經(jīng)濟(jì)與世界》第一章,添加個(gè)人微信即可獲得PDF版電子書(shū),聯(lián)系方式在個(gè)人介紹里。
比特幣的白皮書(shū)里,除了工作量證明(共識(shí)機(jī)制)之外,還涉及到加密算法(非對(duì)稱加密、哈希函數(shù))、P2P傳輸、分布式存儲(chǔ)等技術(shù)。為了避免啰嗦,這些技術(shù)的細(xì)節(jié)我在這里就不寫(xiě)了,只講一下這些技術(shù)是如何配合的。
3.協(xié)議
我是今年1月中旬才知道區(qū)塊鏈的,至今已有3個(gè)月了。剛開(kāi)始接觸的時(shí)候,經(jīng)常聽(tīng)說(shuō)“區(qū)塊鏈?zhǔn)堑谒拇喂I(yè)革命”“區(qū)塊鏈將顛覆所有行業(yè)”之類的,覺(jué)得區(qū)塊鏈很神、很吊??墒牵佑|久了以后,我發(fā)現(xiàn)區(qū)塊鏈也許并沒(méi)有那么神奇,畢竟它是建立在互聯(lián)網(wǎng)技術(shù)的基礎(chǔ)之上的。
互聯(lián)網(wǎng)是一個(gè)通過(guò)TCP/IP協(xié)議進(jìn)行高效信息傳輸?shù)木W(wǎng)絡(luò),區(qū)塊鏈則是基礎(chǔ)現(xiàn)有互聯(lián)網(wǎng)協(xié)議架構(gòu)構(gòu)建出的新的基礎(chǔ)協(xié)議層。
“協(xié)議是指為了完成給定的任務(wù),進(jìn)程間通信所要用到的一組通用的規(guī)則和給事。協(xié)議的存在使得分布式系統(tǒng)的軟件能獨(dú)立地開(kāi)發(fā),能在代碼次序不一樣、數(shù)據(jù)表達(dá)不一樣的計(jì)算機(jī)上用不同的程序語(yǔ)言實(shí)現(xiàn)。”–《分布式系統(tǒng)概念與設(shè)計(jì)(第5版)》
新手如何用“區(qū)塊鏈”優(yōu)雅地裝逼?新手如何用“區(qū)塊鏈”優(yōu)雅地裝逼?
類似于TCP/IP協(xié)議的分層結(jié)構(gòu),區(qū)塊鏈的復(fù)雜性也體現(xiàn)在其組成的層級(jí)結(jié)構(gòu)。
“網(wǎng)絡(luò)軟件是按層的層次結(jié)構(gòu)開(kāi)發(fā)的,每一層都為上面的層提供了相應(yīng)的接口,并擴(kuò)展了下層通信系統(tǒng)的性質(zhì)。”–《分布式系統(tǒng)概念與設(shè)計(jì)(第5版)》
新手如何用“區(qū)塊鏈”優(yōu)雅地裝逼?新手如何用“區(qū)塊鏈”優(yōu)雅地裝逼?
數(shù)據(jù)層/ Data Layer
數(shù)據(jù)層主要描述區(qū)塊鏈的物理形式,是區(qū)塊鏈上從創(chuàng)世區(qū)塊起始的鏈?zhǔn)浇Y(jié)構(gòu),包含了區(qū)塊鏈的區(qū)塊數(shù)據(jù)、鏈?zhǔn)浇Y(jié)構(gòu)以及區(qū)塊上的隨機(jī)數(shù)、時(shí)間戳、公私鑰數(shù)據(jù)等,是整個(gè)區(qū)塊鏈技術(shù)中最底層的數(shù)據(jù)結(jié)構(gòu)。
網(wǎng)絡(luò)層/ Network Layer
網(wǎng)絡(luò)層主要通過(guò) P2P 技術(shù)實(shí)現(xiàn)分布式網(wǎng)絡(luò)的機(jī)制,網(wǎng)絡(luò)層包括 P2P 組網(wǎng)機(jī)制、數(shù)據(jù)傳播機(jī)制和數(shù)據(jù)驗(yàn)證機(jī)制,因此區(qū)塊鏈本質(zhì)上是一個(gè) P2P 的網(wǎng)絡(luò),具備自動(dòng)組網(wǎng)的機(jī)制,節(jié)點(diǎn)之間通過(guò)維護(hù)一個(gè)共同的區(qū)塊鏈結(jié)構(gòu)來(lái)保持通信。
共識(shí)層/ Consensus Layer
共識(shí)層主要包含共識(shí)算法以及共識(shí)機(jī)制,能讓高度分散的節(jié)點(diǎn)在去中心化的區(qū)塊鏈網(wǎng)絡(luò)中高效地針對(duì)區(qū)塊數(shù)據(jù)的有效性達(dá)成共識(shí),是區(qū)塊鏈的核心技術(shù)之一,也是區(qū)塊鏈社群的治理機(jī)制。目前至少有數(shù)十種共識(shí)機(jī)制算法,包含工作量證明、權(quán)益證明、權(quán)益授權(quán)證明、燃燒證明、重要性證明等。
數(shù)據(jù)層、網(wǎng)絡(luò)層、共識(shí)層是構(gòu)建區(qū)塊鏈技術(shù)的必要元素,缺少任何一層都不能稱之為真正意義上的區(qū)塊鏈技術(shù)。
激勵(lì)層/ Actuator Layer
激勵(lì)層主要包括經(jīng)濟(jì)激勵(lì)的發(fā)行制度和分配制度,其功能是提供一定的激勵(lì)措施,鼓勵(lì)節(jié)點(diǎn)參與區(qū)塊鏈中安全驗(yàn)證工作,并將經(jīng)濟(jì)因素納入到區(qū)塊鏈技術(shù)體系中,激勵(lì)遵守規(guī)則參與記賬的節(jié)點(diǎn),并懲罰不遵守規(guī)則的節(jié)點(diǎn)。
合約層/ Contract Layer
合約層主要包括各種腳本、代碼、算法機(jī)制及智能合約,是區(qū)塊鏈可編程的基礎(chǔ)。將代碼嵌入?yún)^(qū)塊鏈或是令牌中,實(shí)現(xiàn)可以自定義的智能合約,并在達(dá)到某個(gè)確定的約束條件的情況下,無(wú)需經(jīng)由第三方就能夠自動(dòng)執(zhí)行,是區(qū)塊鏈去信任的基礎(chǔ)。
應(yīng)用層/ Application Layer
區(qū)塊鏈的應(yīng)用層封裝了各種應(yīng)用場(chǎng)景和案例,類似于電腦操作系統(tǒng)上的應(yīng)用程序、互聯(lián)網(wǎng)瀏覽器上的門(mén)戶網(wǎng)站、搜尋引擎、電子商城或是手機(jī)端上的 APP,將區(qū)塊鏈技術(shù)應(yīng)用部署在如以太坊、EOS、QTUM 上并在現(xiàn)實(shí)生活場(chǎng)景中落地。未來(lái)的可編程金融和可編程社會(huì)也將會(huì)是搭建在應(yīng)用層上。
激勵(lì)層、合約層和應(yīng)用層不是每個(gè)區(qū)塊鏈應(yīng)用的必要因素,一些區(qū)塊鏈應(yīng)用并不完整包含此三層結(jié)構(gòu)。
基于互聯(lián)網(wǎng)構(gòu)建統(tǒng)一的價(jià)值傳輸層,即價(jià)值互聯(lián)網(wǎng)的誕生,將是區(qū)塊鏈發(fā)展及演進(jìn)的必然結(jié)果。價(jià)值互聯(lián)網(wǎng)的誕生將進(jìn)一步打破信息不對(duì)稱的壁壘,讓以貨幣、數(shù)字資產(chǎn)為代表的數(shù)字化價(jià)值無(wú)需借助大量的中介機(jī)構(gòu),就能在全球范圍內(nèi)自由流動(dòng),這將讓市場(chǎng)效率得到質(zhì)的飛躍,甚至徹底改變目前的金融與經(jīng)濟(jì)格局。
4.結(jié)語(yǔ)
所謂創(chuàng)新,只不過(guò)是過(guò)往技術(shù)的排列組合。
區(qū)塊鏈?zhǔn)且环N由分布式存儲(chǔ)、P2P傳輸、共識(shí)機(jī)制和加密算法結(jié)合的數(shù)據(jù)庫(kù),這其中的每一項(xiàng)技術(shù)都不是近幾年才出現(xiàn)的。但正是有了天才和天才idea的存在,區(qū)塊鏈這一天才的發(fā)明得以為人所知,而由它構(gòu)建的價(jià)值互聯(lián)網(wǎng)是一片廣袤的新大陸,是未曾探索的大海,是剛剛露出水面的冰山一角。不管是區(qū)塊鏈技術(shù),還是相關(guān)行業(yè),都有無(wú)限的精彩在前方等著我們?nèi)グl(fā)現(xiàn)和開(kāi)拓。
信息首發(fā):小白如何用“區(qū)塊鏈”優(yōu)雅地裝逼?
今日頭條:
- 2015深圳事業(yè)單位招聘460名工作人員公告 報(bào)名1
- 深圳駕駛?cè)顺?00萬(wàn) 約17萬(wàn)人駕駛證異常
- 深圳保姆曝陪睡內(nèi)幕月薪達(dá)八千
- 新版百元大鈔今發(fā)行 快速識(shí)別新版人民幣
- 允許普遍二孩 中共全會(huì)公報(bào)允許普遍二孩政策
- 習(xí)近平將出席G20峰會(huì)全部正式活動(dòng)
- 地下錢(qián)莊轉(zhuǎn)移贓款 7個(gè)月轉(zhuǎn)移8000億 銀行內(nèi)鬼頻
- 男童玩槍射穿手掌 父親被刑拘
- 北京迎來(lái)今冬初雪 部分公交停駛地鐵限速
- 大學(xué)光棍節(jié)新規(guī) 網(wǎng)友:光棍節(jié)單身狗福利