比特幣暴漲,到底什麼是區塊鏈?什麼是比特幣?

工作是這樣的,最近我的室友Hasaki一直在問我區塊鏈和比特幣的工作,我嘗試了許多種不通的姿勢以求簡略通俗形象生動地跟他解釋什麼是區塊鏈技能,可是最後都失利了。因而我萌生了要寫一篇BlockChain for Babies(又名:怎麼向你的弱智室友解釋區塊鏈)的主意,以求能簡略直觀生動形象地向對區塊鏈技能不瞭解可是想知道區塊鏈是什麼的人介紹區塊鏈技能或許比特幣。


因為面向的讀者是不想知道具體技能完成只想瞭解區塊鏈的人群,因而本文避開了一些底層和算法細節,選用比較片面的方法來展現筆者對區塊鏈技能的感性認識。假如你只是對區塊鏈感興趣,並沒有深化學習的計劃,或許只是想像我相同在他人問起來的時分裝逼,本文應該是一篇很好的“導論”。


總覽

區塊鏈本質上是一個去中心化的分佈式賬本數據庫(感謝

@程劍宇

指出:在與比特幣相關的區塊鏈應用中可運用這一術語,但區塊鏈技能或許並不包含“賬本”)。其自身是一串運用密碼學相關聯所發生的數據塊,每一個數據塊中包含了多次比特幣網絡買賣有效供認的信息。

這是區塊鏈的界說,因而要逐漸瞭解區塊鏈,咱們需要一步步瞭解如下東西。


去中心化

先來考慮一箇中心化集中式處理的進程。你要在某寶上買一部手機,買賣流程是:你將錢打給支付寶-支付寶收款後通知賣家發貨-賣家發貨-你供認收貨-支付寶把錢打給賣家。

比特幣暴漲,到底什麼是區塊鏈?什麼是比特幣?

比特幣暴漲,到底什麼是區塊鏈?什麼是比特幣?

圖1: 中心化集中式買賣形式

在這個進程中,儘管你是在和賣家買賣,可是這筆買賣還牽扯到了除了你和賣家的第三方,即支付寶,你和賣家的買賣都是環繞支付寶打開。因而,假如支付寶體系出了問題便會造成這筆買賣的失利。並且儘管你只是簡略的買了一個手機,可是你和賣家都要向第三方供給多餘的信息。因而考慮極點狀況,假如支付寶跑路了或許是拿了錢不卻不供認你的買賣或許是支付寶所在的城市因為開G20把一切人都趕走了(?),那麼你就悲慘劇了。


而去中心化的處理方法就要顯得簡略許多,你只需要和賣家交流錢和手機,然後兩邊都聲稱完成了這筆買賣,就OK了。


能夠看出在某些特定狀況下,去中心化的處理方法會更便捷,一起也無須憂慮自己的與買賣無關的信息走漏。


其實假如只考慮兩個人的買賣並不能把去中心化的優點徹底展現出來,想象假如有不計其數筆買賣在進行,去中心化的處理方法會節省許多資源,使得整個買賣自主化、簡略化,並且排除了被中心化署理控制的風險。


去中心化是區塊鏈技能的顛覆性特色,它無需中心化署理,完成了一種點對點的直接交互,使得高效率、大規模、無中心化署理的信息交互方法成為了實際。


當然,上述的比方有一個很大的潛在問題:沒有了威望的中心化署理,怎樣確保每筆買賣的精確性和有效性呢?比方:假如沒有了威望的中心化署理,張三某一天借了我100塊錢,可是不還錢還不供認怎樣辦?這兒就引出了區塊鏈的其它特性。


兩個根底難題

在去中心化今後,整個體系中沒有了威望的中心化署理,信息的可信度和精確性便會面臨問題。


問題1:類兩軍問題

第一次聽說這個問題居然是在TCP的課上,大致說的是有兩個相距很遠的戎行要傳遞信息,赤軍派遣一個信使去跟藍軍說:“你他孃的把意大利炮拿出來!”。藍軍收到信息後又派了一個信使去赤軍說:“收到指令!”。然後赤軍又派一個信使去藍軍說:“知道你收到指令了!”。然後藍軍又派一個信使去赤軍說:“知道你知道我收到指令了!”。然後赤軍又派一個信使去藍軍說:“知道你知道我知道你收到指令了!”……然後就沒完沒了了。

比特幣暴漲,到底什麼是區塊鏈?什麼是比特幣?

圖2:在分佈式計算中在異步體系和不可靠的通道上到達一致性是不或許的

在這種狀況下,因為是點對點的通信,兩邊不或許在這種狀況下到達信息的一致性。嚴謹一點,就是“在分佈式計算上,試圖在異步體系和不可靠的通道上到達一致性是不或許的”。


問題2:拜占庭將軍問題

拜占庭羅馬帝國在軍事行動中,採納將軍投票的戰略來決議是進攻仍是撤退,也就是說假如多數人決議進攻,就上去幹。可是戎行中假如有奸細(比方將軍現已反水故意亂投票,或許傳令官反叛擅自修改軍令),那怎樣確保最後投票的成果真正反映了忠實的將軍的意願呢?


拜占庭將軍問題反映到信息交流領域中來,能夠了解為在一個去中心的體系中,有一些節點是壞掉的,它們或許向外界播送錯誤的信息或許不播送信息,在這種狀況下怎麼驗證數據傳輸的精確性。


區塊鏈技能的誕生

現在讓咱們來一步一步在去中心化的體系中處理這些問題,見證區塊鏈技能雛形的誕生。


1

咱們先來樹立一個去中心化的體系,為了方便了解,咱們來看一個簡略的去中心化借貸模型:假如A借了B 100塊錢,這個時分,A在人群中大喊“我是A,我借給了B 100塊錢!”,B也在人群中大喊“我是B,A借給了我100塊錢!”,此時路人甲乙丙丁都聽到了這些消息,因而一切人都在心中靜靜記下了“A借給了B100塊錢”。你看,這個時分一個去中心化的體系就樹立起來了,這個體系中不需要銀行,也不需要借貸協議和收據,嚴格來說,乃至不需要人與人長久的信任聯繫(比方B忽然又改口說“我不欠A錢!”,這個時分人民群眾就會站出來說“不對,我的小本本上記載了你某天借了A100塊錢!”)。

比特幣暴漲,到底什麼是區塊鏈?什麼是比特幣?

比特幣暴漲,到底什麼是區塊鏈?什麼是比特幣?

圖3:去中心化借貸模型2

或許你現已發現了,在上述的模型中,所謂的“100塊錢”現已不重要了。換句話說,任何東西都能夠在這個模型中交流,乃至你能夠隨便臆造一個東西,只需咱們供認,你就能夠讓你臆造的東西流轉。比方:我在人群中高喊一聲“我發明了10個查克拉!”,我乃至不需要知道查克拉是什麼,也不需要關心世界上是不是真的有查克拉,只需咱們都聽到,然後在自己的小本本上記下“LaiW3n有10個查克拉”,所以我就真的有100個查克拉了。從此今後,我便能夠聲稱我給了某人1個查克拉,只需路人甲乙丙丁都收到並且供認了這一信息,那我就算完成了這次買賣,哪怕世界上沒有查克拉。


你現在腦海中是不是顯現出了三個字——“比特幣”?因為真正的區塊鏈和比特幣比我上述的模型複雜太多,細節也豐富太多,因而以下仍是以查克拉舉例,畢竟本文是Blockchain for Babies.(笑)

3

假設過了很長一段時刻,我隨便發明的查克拉現已在這個體系中流轉了起來,咱們都開端認可了查克拉。可是這個體系中總共就只要10個查克拉,所以有人動了壞心思,他在人群中高呼“我有10個查克拉!”怎樣辦?咱們是直接在本本上記下他有10個查克拉麼,這樣不是人人都能夠假造查克拉了麼?


為了防止這種現象發生,我決議在我發明查克拉的時分給我的查克拉打上標記(更精確地說,我是給我喊的那句“我發明了10個查克拉”打上標記,比方標記為001),這樣今後在每一筆買賣的時分,我在高喊“我給了某某1個查克拉!”的時分,會附加上額外的一句話:“這1個查克拉的來源是記為001的那條記載,我的這句話標記為002!”。咱們再抽象一點,某人喊話的內容的格式就變成了:“這句話編號xxx,上一句話的編號是yyy,我給了某某1個查克拉!”,這樣就處理了假造的問題。其實上述模型就變成一個簡化的中本聰第一版比特幣區塊鏈協議:

比特幣暴漲,到底什麼是區塊鏈?什麼是比特幣?

比特幣暴漲,到底什麼是區塊鏈?什麼是比特幣?

圖4:查克拉模型和中本聰第一版區塊鏈協議比照圖

好了,看到這兒你根本現已能夠生動形象又不涉及任何細節地向你的弱智室友解釋區塊鏈了。可是也許你的室友是一個有打破沙鍋問究竟精神求是學子,因而你最好持續準好答覆以下這幾個問題。


1. “憑啥?”

你室友或許會問:“憑啥你喊一句話我就幫你記?我的小本本不要錢麼?”。為了鼓勵咱們幫我傳話和記賬,我決議給第一個聽到我喊話並且記載在小本本上的人一些獎賞:第一個聽到我喊話並記載下來的人,你就隨便得到了1個查克拉,這個查克拉是整個體系對你幸苦記賬的酬勞,而你記載了這句話之後,要立刻奉告其它人你現已記載好了,讓他人拋棄持續記載這句話,並給你自己的記載編號讓他人有據可查,然後你再把我的話加上你的記載編號一起喊出來,供下一個人記賬。


當這個規矩定下今後,這個體系中一定會出現一批人,他們開端豎著耳朵監聽周圍發出的聲響,以搶佔第一個記賬的權利。對的,你腦海中是不是又顯現出了“比特幣挖礦”的字眼?


值得一提的是,關於比特幣挖礦,

@玲瓏邪僧

舉了一個很形象的比方:

獨身汪們要找女票,國民岳母說我有很多女兒,這樣吧我給你們出點標題,解出一個就給其間一個姑娘的微信號。

獨身汪們張狂競賽,想破腦袋去解題。只需其間一隻汪解出一道題,就立馬沾沾自喜地昭告天下,示威悉數獨身汪,這個姑娘是我的啦,你們拋棄吧。其他獨身汪們即便不服也沒有方法,惆悵沮喪也不是個事兒啊,仍是麻溜地立馬去解下一道標題吧。這隻喜贏姑娘的走運小汪被岳母認可後還能得到25個錢銀單位的彩禮,簡直人生贏家。


2. “聽誰的?”

在這個體系中,假如我和另一個人C簡直一起地喊出一句:“為了艾澤拉斯!”。因為聽眾所處的方位不同,一定會有人先聽到我說的那句話,而另外一些人則先聽到C的那句話,假如咱們規矩只能有一個人說出這句話,那究竟這句話是誰說的?


假如不加任何條件,那麼上述的狀況一定會這樣開展:一部分人以為這句話是我說的,在聽到這句話之後開端記賬,之後他們所做的一切工作都是根據這個事實,並且隨著這個信息一次次的傳下去,這條信息鏈會越來越深;而另外一群以為是C先說這句話的人,也會依照這樣的趨勢開展。這樣,原本是一條僅有的信息鏈,在咱們喊出“為了艾澤拉斯”這句話之後,分叉了!?

比特幣暴漲,到底什麼是區塊鏈?什麼是比特幣?

比特幣暴漲,到底什麼是區塊鏈?什麼是比特幣?

圖5:“區塊鏈”分叉


這會導致怎樣的狀況呢?依照咱們的想象,應該每個人的小本本上記載的東西都是相同的,都是一條能夠把一切信息串聯起來的鏈條。可是在這一刻,他們小本本上記載的東西不相同了!這還玩毛啊?今後還怎樣確定買賣和信息的真實性!?


為了處理這個問題,我又追加了新的規矩:每個人在記載小本本的時分,需要脫鞋然後用腳拿筆,在小本本上用正楷體書寫!有了這個規矩,因為用腳寫字難度很大,每個人至少需要10分鐘才能寫完,並且因為每個人用腳寫字的熟練度不通,寫完這句話所用的時刻也不同,因而一定會有人先寫完然後高呼“我寫完了!那句話是LaiW3n喊的!”,這樣其它正在寫這句話的人便會停筆,然後在小本本上重新開端寫“那句話是來文寫的,上一句的編號是xxx”。


假如你對上述我的處理方法感興趣,你能夠對照我上面的比喻去了解以下常識:

“聽誰的”——中本聰破解“拜占庭將軍問題”的算法

“在小本本上記載”——比特幣挖礦

“脫鞋用腳寫字”——比特幣挖礦難度

“脫鞋寫字速度”——算力

“新的規矩”——工作量證明鏈


3. “雙花”問題

這個時分你的室友或許又要問:假如我一起宣佈我給了A一個查克拉和我給了B一個查克拉,可是我只要一個查克拉,那咋整?是A和B都收到了查克拉仍是咋地?


這個時分你只需要托起他的下巴,溫柔地看著他的眼睛,用手刮刮他的鼻子,說:“小妖精,你把這種狀況帶到上面的規矩中去試試?”


--------------

一些私信問題討論:


1. 為何目前還鮮有區塊鏈和實體商業事務對接的案例?

從理論上:區塊鏈是一門新技能,保存群眾(包括我)還處在觀望階段,只要少數急進或許方針清晰的實體開端向區塊鏈進軍,而這些少數的實體在現階段發聲的強度還不夠。

從應用上:區塊鏈技能要與實體商業對接,在技能和規矩上還需要進一步開闢,區塊鏈處理的所謂“不信任”問題其對象也只侷限於區塊鏈上的數據。因而假如區塊鏈要與實體事務對接,還需要進一步推動實體與數據之間跨域的“遊戲規矩”的樹立。


2. 虛擬加密錢銀終究是否會走向龐氏騙局?

這個問題我也不太好答覆,畢竟我是一個技能人員而非這個領域的弄潮兒。我個人的觀點是:對於普通人,不建議長時間持有某種數字錢銀,應將數字錢銀作為法幣之間轉化的橋樑;對於投機者,“炒幣”需謹慎,應將風險控制在自己能夠接受的範圍內。PS:其實我真的不關心這個問題。


3. 為什麼聽你一講,感覺區塊鏈很弱智的樣子?

我在文中現已闡明,這只是一篇關於區塊鏈技能的新人導論,其目的在於幫助你快速對區塊鏈有一個感性的認識;假如真的想了解區塊鏈技能細節,請閱覽相關文獻或拜訪區塊鏈社區。


4. 工作機會

感謝各位熱情的HR,但我現在暫無換崗的計劃。


文章來源:www.xa756.com


分享到:


相關文章: