區塊鏈是什麼,如何簡單易懂地介紹區塊鏈?


更新:將私信問答放在了最後


-----正文-----


事情是這樣的,最近我的室友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,但我現在暫無跳槽的打算。


5. 轉載

個人可以轉載,請註明來源並告知我一聲;商業組織或作為商業用途,請私信。


首先要搞清一個問題——比特幣是區塊鏈,但是區塊鏈並不是比特幣。

於是,在區塊鏈的這個問題回答里,提到「礦工」,「挖礦」,「最長鏈」,「分叉」等等詞的,其實都不準確。

寫一點上個月講課的內容——個人覺得大部分的回答,包括google搜出來的或者wiki的,都不能很好地解釋區塊鏈是個什麼東西。因為講比特幣的人很多,懂比特幣的人也很多,但是具體到區塊鏈,現在並沒有一個很清楚的定義說什麼是區塊鏈,基本上所有的介紹里都是這樣的:

比特幣——〉區塊鏈是比特幣的底層技術。

或者

比特幣——〉比特幣是一種區塊鏈。

具體到什麼是區塊鏈的問題,目前沒有看到很好的定義和介紹,更多的是大而化之地講區塊鏈的意義在哪裡的空泛文章,要不然就是一水的礦工和挖礦。所以我來從純理論角度說一下我個人對區塊鏈的定義:

1,區塊鏈是一個放在非安全環境中的分散式資料庫(系統)。

2,區塊鏈採用密碼學的方法來保證已有數據不可能被篡改。

3,區塊鏈採用共識演算法來對於新增數據達成共識。

具有以上三個性質的系統,就是區塊鏈。

1,區塊鏈是一個放在非安全環境中的分散式資料庫(系統)。

這裡的要點有兩個:(1)分散式,(2)非安全環境。

首先,這是一個分散式的,去中心化的系統。所以,有一個中心伺服器或者節點的,不是區塊鏈。節點都是安全的,無惡意的,那這不是區塊鏈。同理,從應用的角度講,如果你的應用必須要使用中心節點(例如要用超級計算機做深度學習)或者沒必要考慮節點不安全的情況(例如某個安全的工廠里的感測器),那麼並不需要考慮區塊鏈技術。

至於後面的詞「資料庫」,目前大部分成熟的區塊鏈都是資料庫,例如比特幣就是一個分散式賬本,而賬本其實就是數據。然後,根據數據的格式,又可以分三種——1,數據是完全不相關的,只是達成的共識,沒有有效無效之分;2,數據有某些邏輯結構,例如賬本中,一筆交易實際上除了金額,還有輸入和輸出,連接到之前的交易,這些數據需要通過邏輯驗證(例如交易中,節點需要驗證輸入的交易是否有效);3,數據擁有圖靈完備的邏輯,而驗證的時候需要通過節點使用算力運算,每筆交易可以有不同的輸出和狀態,每個節點要做的不僅僅是驗證交易的真實性和輸入的正確性,還要根據交易里的邏輯讀入數值,進行驗算然後再驗證結果。

比特幣的系統就是第二種,又叫分散式賬本;以太坊是第三種。第三種可以支持智能合約。

用比特幣舉例的話,1,它是一個完全去中心化的系統,2,它放在一個非安全的環境,它並不要求所有使用比特幣的人都沒有惡意。


2,區塊鏈採用密碼學的方法來保證已有數據不可能被篡改。

這個是誤解最多的部分,因為很多人一提到區塊鏈就只覺得是這個。誠然,這部分很重要,而且確實區塊鏈也因此得名,但這只是區塊鏈的定義的一部分。

這個部分的兩個核心要點是:(1)密碼學哈希函數,(2)非對稱加密。

兩個都是密碼學的基礎概念,網上都有非常清晰的定義,我只簡單說下:

(密碼學)哈希函數:一個函數Y=H(X),有如下性質:1,有X可以很容易算出Y;2,有Y不可能算出X;3,有Y不可能找到另一個X"使得H(X")=Y;3.5,如果X和X"相差很小,H(X)和H(X")則完全不相關。

這東西主要用於驗證信息完整性——在一個信息後面放上這個信息的哈希值,這個值很小,例如256bit,而且計算方便。收到信息之後收信人再算一遍哈希值,對比兩者就知道這條信息是否被篡改過了。如果被篡改過,哪怕只有一bit,整個哈希值也會截然不同。而根據哈希函數的性質,沒有人能夠偽造出另一個消息具有同樣的哈希值,也就是說篡改過的數據完全不可能通過哈希校驗。

非對稱加密:這東西很好理解——對稱加密就是有個密鑰,可以理解成保險箱鑰匙,你把消息加密變成密文,沒有人能看懂這是啥,然後同一把鑰匙解密成原來的消息。

非對稱加密就是有兩把鑰匙,一把叫公鑰,一把叫私鑰,用其中一把加密的話,只能用另一把解密,反之亦然。另一個重要的性質是,給你密文,明文和其中一把鑰匙,你還是解不出來另一把鑰匙是啥。原理基本上是基於一些困難數學問題,例如因數分解和離散對數,常用的有RSA,Diffie-Hellman和ECC(橢圓曲線),比特幣用的是橢圓曲線。

非對稱加密除了和對稱加密一樣用於信息加密之外,還有另一個用途,就是身份驗證。因為通常情況我們假設一對公私鑰,公鑰是公開的,而私鑰只有本人有,於是一個人如果有對應的私鑰,我們就可以認定他是本人。其中一個重要的應用就是數字簽名——某個消息後面,發信人對這個消息做哈希運算,然後用私鑰加密。接著收信人首先對消息進行哈希運算,接著用相應的公鑰解密數字簽名,再對比兩個哈希值,如果相同,就代表這個消息是本人發出的而且沒有被篡改過。


以上是基礎知識,至於區塊鏈怎麼實現的,很簡單:

交易(數據)寫在區塊里。

第一個區塊叫創世區塊,寫啥都行。

從第二個區塊開始,每個區塊的第一部分有前一區塊的哈希值。此外,區塊里的每一筆交易(數據),都有發起人的數字簽名來保證真實性和合法性。於是,先前區塊里的任何數據都不可被篡改,原因見上。


到這為止有人可能會問:為什麼要弄個鏈啊?直接所有數據加個哈希值不就行了?

因為——這個資料庫並不是靜止的啊。

資料庫的數據是會增加的,而每次增加的數據,就是一個區塊,於是這些生成時間不同的區塊,就以這種形式鏈在一起了。

至於如何增加區塊,就涉及到第三個部分——共識演算法。


3,區塊鏈採用共識演算法來對於新增數據達成共識。


共識演算法的目的,就是讓所有節點對於新增區塊達成共識,也就是說,所有人都要認可新增的區塊。對於有中心的系統,這事很簡單,中心說什麼大家同意就好了,但是放到去中心化系統里,尤其是當有些節點有惡意的時候,這東西非常複雜,計算機科學裡有個相應的問題,叫做「拜占庭將軍問題」或者「拜占庭容錯」(BFT)。

有很多用Lamport給出的那個例子來講BFT的東西,我在這裡換一個角度。

Lamport大神當年提出這個問題的時候在斯坦福研究中心給NASA做項目,他提出這個問題的原因並不是考慮類似比特幣的應用場景(整個互聯網成千上萬個用戶),而是考慮特殊背景下的一個簡單的系統——

太空梭的控制系統。

如果有航空背景的同學可能知道,飛機有三套獨立的控制系統,為什麼呢?因為任何系統都不可能完全不出故障,就算飛機控制系統的故障率已經極低了,還是有飛到一半這東西壞了的可能。於是我們可以弄兩套獨立的系統,同時壞掉的幾率就會大大降低。

可是兩套獨立的系統還是不足以容下一個系統的錯誤——一架飛機迎面飛來,兩套系統一個說要躲,一個說不躲,那到底是躲還是不躲呢?所以我們需要三台獨立的系統,這樣,如果有一個系統有故障了,還有兩台能正常工作,能少數服從多數給出正確的結果。學過糾錯碼的同學對這個應該不陌生,這個系統的輸出之間的漢明間距是3,所以可以糾正一位的錯誤。

然而,對於太空梭,在冷戰的背景下,萬一某個系統不是壞掉了,而是被敵人控制了呢?三套系統還夠嗎?

答案是否定的,因為不同於單純只是壞掉的節點,惡意節點可以做一些別的事來阻止整個系統達成共識。

這個部分略複雜要講的話要單開一帖,所以我們只說最簡單的情況(無簽名同步系統)。

我們管三個系統叫ABC,正常工作流程是三個人每次得出結果就互相告訴一下,然後每個人選多數人同意的結果。這是個沒有中央節點的分散式系統,也就是說三人不能聚在一起開個會啥的,仨人只能兩兩通信。這個時候,假設C有惡意,它的目標是破壞這個系統。於是,假設正確的讀數是1,A和B都得出了1這個結果,這個時候C這個小婊砸告訴A說「我的結果是0,B也覺得是0」,同時打個電話跟B說「哎我覺得是0,A也這麼說」,於是A和B就懵逼了。假設你是A,你聽到了兩個不同版本的B的答案,B說自己選了1,C說B選了0,可是A這個時候沒法知道B和C誰才是那個騙了自己的小婊砸,因為如果B真的告訴A選了1然後告訴C是0,他聽到的結果和現在是一模一樣的。

於是結論是,拜占庭容錯,也就是需要容下一個惡意系統而非錯誤系統,需要4個獨立系統。

(當然,簽名可以解決這個問題,但是這只是同步系統的情況,在非同步系統里這問題會變得更加複雜,原因是正常節點的回答有延遲,而惡意節點可以不回復,所以,正常節點一方面要等另一個節點的回復,但是它又不知道對方會不會回復因為對方有可能會有惡意,而在收到回復之前,它完全沒法判斷對方是正常節點還是惡意節點,這個問題叫非同步BFT,也是BFT的最複雜的情況,這裡不再做更多的解釋,下文提到的BFT演算法,其實都是非同步BFT的演算法)

Lamport提出這個問題之後,有無數的演算法被提出來,統稱BFT(拜占庭容錯)演算法,其中最有代表性的叫PBFT,然後由於最近區塊鏈的熱度,無數針對區塊鏈應用場景優化過的BFT演算法也湧現出來,但是一個重要的問題是,所有目前的BFT演算法,都只能應用在小型網路里。原因很簡單——因為BFT這個問題是設計給類似於太空梭控制系統這樣的場景的,早期的演算法考慮的也主要是這種場景。PBFT論文里考慮的就是一個5個節點的系統。就算算上新提出的BFT演算法,也最多應用在不超過100個節點的網路里。

這個問題被擱置了很久,直到比特幣的誕生——中本聰從某種意義上簡化了這個問題,在比特幣中,同樣是共識問題,中本聰引入了一個重要的假設——獎勵,他之所以能這樣做的原因是,他考慮的是一個數字貨幣,也就是說共識這個東西是有價值的。

於是在這樣的系統上,他提出了工作證明機制。

所有挖礦,礦工,最長鏈,分叉等等等等,都可以歸結為一句話:

說話是要有代價的,說真話是有好處的,說假話是要扣錢的……

這就是目前兩類共識演算法的核心區別:

BFT共識模型:惡意節點可以干任何事。

比特幣共識模型:模型中有公認的「價值」,每個節點說話都需要一定代價,誠實節點會受到獎勵,而惡意節點由於只付出代價而收不到獎勵,變相受到了懲罰。

也就是說,BFT共識模型其實涵蓋了比特幣共識模型的場景,比特幣共識其實放寬了BFT共識模型的限制。

比特幣共識對於BFT的優勢在於,由於給惡意節點的能力做了限制,惡意節點所能造成的破壞大大降低了,尤其是對於非同步系統——BFT共識里惡意節點可以一直拒絕相應而誠實節點還需要一直等它(因為不知道它是不是惡意的),而對於比特幣共識,隨你便,你不響應就沒有獎勵可拿。於是,比特幣共識演算法可以應用於成千上萬個節點,而且,任何人隨時都可以加入,不需要預先在網路里註冊自己的身份(而BFT演算法里,網路中節點的數量和身份都必須是已知的)。

但比特幣共識的缺陷在於,首先,得有個有價值的東西,也就是說放在比特幣里這東西還行,以太坊的話現在可能也湊合,但是其他數字貨幣嘛……BFT共識有個嚴格的限定,就是惡意節點不能超過總數的1/3,然而其實比特幣共識沒有這樣的限制,唯一的限制就是假定大部分節點都是理性的,是逐利的,也就是會採用最佳的策略來賺取最大的價值。所以,嚴格來說,自私挖礦這種行為在比特幣共識里是允許的,而多數攻擊,其實也算不上一種攻擊,因為這些都沒有突破比特幣共識的框架——如果這個價值無限大,比特幣共識是非常可靠的。然而這並不是事實,因為並不是每個虛擬貨幣都和比特幣一樣值錢,而在價值不高的情況下,比特幣共識的前提就站不住腳了——當損失可能是幾千上萬塊錢的時候,假定每個人都是理性的是合理,但是如果損失就幾分錢這個假設就相當扯淡了,事實上也發生過一個比特幣礦池跑到另一個貨幣惡意挖礦搞垮對手的情況。

此外,比特幣共識是最長鏈共識,也就是說最長鏈--&>大多數--&>理性,於是分叉是允許的。於是導致了一些附帶的問題,例如,如果網路有延遲,你怎麼知道你手裡那條鏈是整個網路里當前的最長鏈呢?於是,如果需要傳輸的數據多,那麼延遲加大。延遲加大,那麼越多的人手裡的鏈並不是全網路的最長鏈。於是,全網路的最長鏈,就沒法代表大多數。這就打破了比特幣共識的根本,這也是為什麼比特幣區塊頻率是10分鐘一塊的原因。比特幣目前有個著名的7幣交易每秒的上限,而現在擴容鬧得很厲害,以太坊的交易格式不同,也用了新的工作證明,想要改成權益證明,但這些都不本質。真正本質的是,在目前的網路條件下,如果適用全網的話,比特幣共識的交易量基本上超不過100筆交易每秒這個量級。

上面這幾段有可能太深了,簡單來說,BFT共識和比特幣共識的區別可以這麼理解:


BFT共識:來,大家開個會討論一下集思廣益啊,討論出大家都滿意的結果為止。

問題:開會的效率大家都懂,人越多越不容易出結果。只能用於少數節點,用於上千個節點的話……大家想像一下一天開一次人大的場景。


比特幣共識:你的詩念得不錯,組織已經決定了,今天就你來當領導了,做得好有獎,做不好扣錢。

問題:獎勵幾千塊錢還好,獎勵幾分錢誰好好乾?

而區塊鏈也就因此被分成了涇渭分明的兩類,很多人都聽過什麼公有鏈私有鏈聯盟鏈,但是,如果你們以為這是根據應用區分的就大錯特錯,其實,這兩種區塊鏈最本質的區別,還是因為共識模型或者說演算法不同——BFT演算法沒法應用於大量節點,所以用BFT演算法的就沒法做公有鏈。而比特幣共識得有個價值體系,這東西去做私有鏈聯盟鏈就很不靠譜,因為一個單純逐利的人的假設還算靠譜,但是如果對象是公司的話,公司的利益就太複雜了,不能簡單認為他們只追逐區塊鏈上那點價值。

1,公有鏈,以比特幣,以太坊和所有虛擬貨幣為代表,都採用比特幣共識,共識演算法基本上都採用工作證明機制,也就是挖礦那些,這種機制其他回答里已經講得夠清楚了,就略過。工作證明一切都好,除了費電……費多少電呢?比特幣的話,差不多和一個百萬人級別的城市那麼多。此外以太坊的創始人特別喜歡權益證明,似乎很快要小範圍投入使用(100個區塊里一個用權益證明)。但是目前為止,大家對這東西的可靠性還持觀望態度。

2,私有鏈和聯盟鏈。以IBM的hyperledger-fabric,以及一大堆其他的類似於tendermint,甚至R3 corda和ripple為代表,都用BFT共識。其實這方面的應用已經很多了,問題是,1,目前基本上所有應用給人的感覺都還是為了做區塊鏈而區塊鏈,真的覺得這東西好到不可或缺的應用還基本沒有。2,由於為了區塊鏈而區塊鏈,其實很多場景的安全性和可靠性還值得懷疑,這點經常被被公有鏈的支持者詬病。


嘛,以上就是個人定義的區塊鏈了,順帶概述一下現在區塊鏈領域的發展。

之所以寫這個帖子,就是因為發現明明是問區塊鏈的問題,所有人都在講比特幣,都在講挖礦,都在講工作證明……工作證明不能說過時,也的確是現在公有鏈唯一可靠的共識演算法,但是這東西確實是業界除了比特幣死忠之外誰都不想要的東西好嗎……


區塊鏈就是把加密數據(區塊)按照時間順序進行疊加(鏈)生成的永久、不可逆向修改的記錄。

想像一個封閉島國的房地產市場,只允許島民購買和出售島上房屋;所有交易記錄都有島國唯一的地產中介進行列印和保存(因為其他人沒有印表機)。每座房子的產權交易記錄都是一條信息鏈;房子過往每一次交易的信息按照時間順序形成了一個鏈條。假如每份紀錄都被鎖在一個獨立的信箱里,只有房屋所有人擁有鑰匙;新的交易記錄可以被塞進信箱里,成為信息鏈的最新一環,但是一旦塞進信箱里,紀錄就不可以再被取出丟棄,或者被修改。

此時,這所有信箱合起來就是一個非數字化的區塊鏈--信息加密,每個秘鑰持有人僅可以看到或者授權他人看到自己房屋的交易信息;而每次給房屋添加交易信息都是永久不可逆的過程。不會丟失,不能修改。

再想像:如果島上並沒有中介,而是每家各有一個印表機和一面對應島上所有房產的信箱牆,各家人依然只可以打開自家牆上跟自己房產有關的信箱。如果每次有一座房子被交易,交易人要跑遍島上所有人家,給對應的信箱里添一頁紀錄。那這時候,即使有幾家發生了火災,丟掉了交易紀錄,或者有人偷偷把自己家信箱里的紀錄撤換掉,整體交易記錄也不會出現偏差--居民只要在每次交易之前拿出每個人那裡保存的交易記錄副本,根據多數原則確定統一的交易歷史,並糾正錯誤的副本,就可以在無監督的情況下運行區塊鏈。這也就是常常被與區塊鏈混為一談的另一技術:分散式賬本(distributed ledger)。

區塊鏈是一種可以完全改變金融系統底層設計的技術,因為可以實現所有市場參與人對市場中所有資產的所有權與交易記錄的無差別記錄,所以可以完全消滅掉清算和託管這些在交易前中後進行所有權確認的中間環節;另外,區塊鏈作為一種電子信息記錄,可以結合計算機演算法實現交易的自動化,即智能合約。區塊鏈結合其他金融技術有許多衍生應用,每種均可以將一類市場中介替代。區塊鏈之於金融服務,如同TCP/IP之於互聯網:一旦底層標準得到認可與普及,類似比特幣和R3的具體應用將會出現在金融服務的每個角落裡。


以下全部是個人對區塊鏈的認知,為了避免廣告嫌疑,很多的地方我只能寫的模糊點啦。因為自己發過一篇類似的文章,結果被舉報是有廣告嫌疑,唉,真心的分享,希望知乎大哥大姐明察。

最近一直在研究區塊鏈,之前做了3年的php開發,感覺最近區塊鏈來的有點猛啊,太火了,很多美國知名大學把區塊鏈技術加入課程列表。現在各領域湧現出對區塊鏈專業知識的需求,區塊鏈可以應用在金融行業、徵信系統、供應鏈、在線音樂、房地產、醫療等等各個行業。關鍵現在是沒有相關區塊鏈人才啊,弄的自己都想去學習區塊鏈了,現在國內國外很多的公司都是百萬年薪招區塊鏈人才。

為什麼會出現這樣的用工荒,其實原因很簡單,就是懂區塊鏈的太少了,先給大家普及一下區塊鏈的知識。區塊鏈技術是指通過去中心化和去信任的方式集體維護一個可靠資料庫的技術,可以用4個關鍵詞去形容:去中心化(Decentralized)、去信任(Trustless)、集體維護(Collectively maintain)、可靠資料庫(Reliable Database)。

區塊鏈又分為以下幾種:

1、公開區塊鏈(public blockchain) 例子:比特幣,Ethereum Frontier。公開區塊鏈上的數據所有人都可以訪問,所有人都可以發出交易等待被寫入區塊鏈。共識過程的參與者(對應比特幣中的礦工)通過密碼學技術以及內建的經濟激勵維護資料庫的安全。公開區塊鏈是完全的分散式。

2、協作區塊鏈(federated blockchain) 例子:Hyperledger以及德勤等會計所嘗試的審計系統。參與區塊鏈的節點是事先選擇好的,節點間很可能是有很好的網路連接。這樣的區塊鏈上可以採用非工作量證明的其他共識演算法,比如有100家金融機構之間建立了某個區塊鏈,規定必須67個以上的機構同意才算達成共識。這樣的區塊鏈上的數據可以是公開的也可以是這些節點參與者內部。部分意義上的分散式。

3、私有區塊鏈(private blockchain) 例子:Eris Industries。參與的節點只有用戶自己,數據的訪問和使用有嚴格的許可權管理。近期部分金融機構公布的內部使用的區塊鏈技術大都語焉不詳,不過很可能都在這個範圍內。

關於區塊鏈本身的知識就說到這裡吧,網上和知乎上有很多的文章在介紹,我就不在此累贅了。因為自己最近也在學習研究區塊鏈,接下來就給大家分享一下自己關於區塊鏈學習的一些經驗。以下共3種學習的方式,大家可以根據自己的實際情況去選擇:(1)看書;(2)看視頻;(3)找人帶或者參加培訓

第一:看書

給大家說一些自己曾經看過的,感覺比較有價值的書目

(1).《精通比特幣》原版名《Mastering Bitcoin》,了解比特幣的最佳之選。在線閱讀:介紹 | 精通比特幣

(2).《區塊鏈——從數字貨幣到信用社會》 了解區塊鏈概念的不錯的一本書,多位行業大咖傾力合作而成。

(3).《深入淺出以太坊》 對以太坊研究較深的汪曉明所做,可以系統了解和學習以太坊。

(4).《區塊鏈開發者指南(待出版)》 期待已久,由申屠青春和汪曉明兩位行業大牛主編,可以盯著,出版買一本學習學習。

除了看書,再給大家推薦一些文章

(1)【區塊鏈之菜鳥入門】系列文章

1)親,你淘的區塊鏈到了!

2)區塊鏈發展史:從拜占庭將軍問題到智慧契約

3)來來來,這篇科普告訴你「區塊鏈」到底是個啥?

4)區塊鏈——顛覆式創新技術

(2)【區塊鏈之技術進階】系列文章

1)區塊鏈:通往互聯網第二紀元的革命

2)金融的未來,區塊鏈將用於何方?

3)讓這篇技術貼告訴你區塊鏈是怎麼運行的

4)扒一扒某乎上面對於區塊鏈的理解(一)

5)扒一扒某乎上面對於區塊鏈的理解(二)

6)從技術現實理解區塊鏈:基於SQL模型創建BQL

7)掰一掰區塊鏈共識機制與分散式一致性演算法

8)Attention please!區塊鏈技術的風險!

(3)【區塊鏈之技術實戰】系列文章

1)群雄激辯區塊鏈

2)顛覆銀行基礎架構的區塊鏈

3)在金融領域,區塊鏈該咋用呢?

4)區塊鏈開源項目合集:Hello,BlockChain!

5)有了區塊鏈做公益,再也不用擔心我的捐款啦

4)【區塊鏈與未來】系列文章

1)區塊鏈只與互聯網+金融有關?讓法律人和你聊聊

2)「區塊鏈+」火花四濺的未來

3)amp;quot;公共記賬簿amp;quot;?哼,區塊鏈遠比你想像的強大的多

4)區塊鏈技術將重塑我們的世界

第二:看視頻

(1)火幣網李林的區塊鏈是什麼

http://m.youku.com/video/id_XMTQwODE4NDAyNA==.html?spm=a2h0j.8191439.Recommend.1~3!2~A

(2)比特幣原理概要–非技術版

http://video.8btc.com/video/34555

(3)比特幣底層原理

http://video.8btc.com/video/31288

(4)以太坊技術視頻系列(汪曉明)

http://ethcast.com/

(5)小蟻的價值體現在哪裡

https://m.v.qq.com/x/page/c/m/v/c0319zih9mv.html?ptag=v.qq.com%23v.play.adaptor%232amp;amp;mreferrer=http%3A%2F%2Fv.qq.com%2Fvplus%2Fbec429068169e2ea1599f137e94888bc%3F_wv%3D1031

第三:找人帶或者參加培訓

(1)小蟻開發學院

技術出身的可以去小蟻開發學院https://www.antsh.org/school,適合有一定基礎的開發工作者去學習。

(2)朵朵學院

老蘑菇獨撐的朵朵學院http://www.wanbizu.com/p/37467.html,在淘寶可以買到系列教程,課程不貴,對大家還是比較有用的。

(3)海綿學堂

海綿學堂www.51haimian.cn是最近剛發現的一所線下培訓機構,號稱是全國首家做區塊鏈培訓的機構,比較適合系統的學習一下區塊鏈,找個老司機帶,上手會快一些,入行容易些。

以上就是自己總結的學習區塊鏈技術的一些方法和手段,自己自學了有3個月,發現自學是一件非常痛苦的事情,關鍵是自己的自控力差啊,希望找個志同道合一起學習交流,相互督促,有想法的和小窗私我。


@陳劍 IBM中國開發中心創新技術研究院區塊鏈和認知計算高級架構師,幫著回答了該問題:)

———————————————————————————————————————————

區塊鏈究竟是什麼呢?簡而言之,區塊鏈是一種分散式賬本技術(DLT, Distributed Ledger Technology)。

談到「區塊鏈」這個概念,繞不開的一個話題就是比特幣。比特幣大家都知道,是近年非常火的一個「加密貨幣」,也是這幾天被製造勒索病毒的黑客所要求的支付貨幣。近期比特幣的單價甚至已經被炒高到突破一萬人民幣的水平。區塊鏈究竟是個什麼東西呢?區塊鏈跟比特幣是什麼關係呢?

區塊鏈其實是比特幣底層的一種技術,比特幣這個網路之所以存在,網路上互相不認識的人,能通過比特幣網路進行數字貨幣的轉賬和交易,在底層就是通過區塊鏈這個技術來驅動的。所有比特幣的交易都是記錄在區塊鏈這個賬本上的。從某種意義上來說,在比特幣這個應用中,區塊鏈就相當於現在銀行交易系統的底層資料庫。其目的都是在於「記賬」。雖然把區塊鏈直接稱為「資料庫」不是特別的嚴謹,但是為了大家理解方便,我們還是姑且稱它為一種去中心化的、共享和加密的資料庫。區塊鏈用比較嚴謹的術語來講,是一種分散式賬本技術。它有如下幾個非常顯著的特點:1.去中心化、2.可追溯、3.不可篡改。當然,要實現這些特徵需要用到很多相關的技術,包括:P2P、密碼學、智能合約、共識演算法。

我們下面通過一個實際的案例,給大家解說一下區塊鏈在實際項目落地中的一些情況。比如IBM最近公布的一個區塊鏈項目,就是和全球最大的跨國遠洋船運公司馬士基合作利用區塊鏈來提升跨境供應鏈的效率、節省成本、降低風險。馬士基是全球最大的船運公司。其主要業務就是把貨物從一個國家運到另一個國家。大家經常都看到在大洋上漂泊的那些萬噸巨輪,上面是成千上萬個集裝箱。馬士基的工作就是把一個集裝箱從一個國家運到另一個國家,雖然聽起來商業模式非常簡單,但是要完成這件事情,其中牽涉的參與方是非常多的。最近馬士基和IBM一起用區塊鏈做了試驗項目,其內容就是利用區塊鏈來追蹤記錄非洲和歐洲之間的鮮花進出口貿易。

在肯亞的蒙巴薩,很多花農以種花為生。而大家知道全球最大的花卉交易市場是在荷蘭。肯亞的花農種出的話,就需要通過馬士基的遠洋貨運郵輪,從肯亞運到荷蘭去銷售。從花種出來到能夠上市銷售,在這整個過程中,除了馬士基的海運服務之外還有很多的相關參與方。比如:這個鮮花能夠被種出來出口,花農和出口商勢必要跟銀行貸款,通過融資來支撐這個業務;鮮花出口前需要經過檢驗檢疫部門的檢驗;要通過當地的海關的驗關。在這個過程中,鮮花需要經過第三方物流公司、陸上的貨運公司、到達蒙巴薩港。只有等集裝箱運到港口裝船後,馬士基才開始大顯身手。它們的萬噸巨輪滿載裝滿鮮花的集裝箱從肯亞的蒙巴薩港出發,經過十多二十天的海上航行,途經紅海、地中海等海域,最後到達荷蘭鹿特丹港上岸。上岸以後,之前在肯亞發生的一系列事件還要再發生一次,只是這次換成了荷蘭的海關、荷蘭的檢驗檢疫和荷蘭的運輸和物流公司以及荷蘭的銀行等參與方。

據統計,在這個歷時近二十天的跨國供應鏈流程中,相關的不同參與方近10個、不同的參與角色大概有30個,而且相關的文檔不管是紙質的還是電子的,大概有200多個。所以這中間的參與方和環節非常多,這是一個非常經典的跨境貿易的案例。

在這個鮮花貿易的產業鏈和物流體系中,非常重要的一個方面是作為貨物的鮮花本身的流動。伴隨鮮花的流動,還有相應的這些文檔的流動,這就是我們常講的物流和信息流。當然,因為牽涉銀行的貸款融資,還有現金流。這就是物流、信息流和資金流的三流合一。在傳統的解決方案中,所有的相關參與方(生產商、銷售商、銀行、港口、海關、物流公司、運輸公司、海運公司馬士基),各家基本都有自己的業務系統,相關的數據和信息都存放在自己的資料庫。由於其對業務的極端重要性,在像金融這樣的行業里,這類系統甚至被稱為核心系統。在我們這個鮮花跨國貿易過程中,跟鮮花相關的信息和文檔,它可能會存在與不同參與方的各自不同的資料庫。這些資料庫和業務系統,在一定的程度上有部分的對接和整合。但是,在傳統資料庫和B2B場景中,這類跨系統的整合相對來講是比較鬆散的,而且也存在著一些不可避免的缺點,比如:流程周期比較長、環節多、透明性差;有些環節可能還沒有數字化,甚至需要人工操作,效率很低;數據存在於不同參與方的資料庫中,容易出現數據不一致導致的爭議;數據本身的安全性和被篡改的風險較大,導致參與方之間出現信任問題。區塊鏈技術的引入,就是通過利用密碼學保護的共享和同步的賬本,以 「去中心」或者 「弱中心」的方式,使得數據和資產在不同的實體之間的共享和流動過程做到透明、可追溯和不可篡改。

在上面提到的鮮花跨境貿易的案例中,鮮花出口要有相應的檢驗檢疫的文件和各種進出口證明文件,只有這些齊備以後,海關和檢疫部門才能批准它的出口。鮮花在貨運公司被裝上集裝箱,會生成相應的貨單、經過海關的通過程序,又有相關的報關文件等等,所以之前我們提到:這個流程中會有兩三百種不同的文檔要跟蹤處理。很多文件在整個跨國供應鏈流程裡面可能是多方都會去用到的,不管是去跟蹤、去查看,還是去審批。在傳統技術實現中,這種多方參與的場景不是說完全無法實現。但是常常實現效率比較低、參與方之間的信任比較難以建立、數據的的隱私性、安全性保障得也不是特別好,安全顧慮和隱患都比較大。引入區塊鏈技術以後,相當於大家一起來維護和更新同一個共享的資料庫賬本。所有的參與方,都擁有和更新自己的一個Copy,相關的數據和文檔都會寫入共享賬本。P2P技術保證了這些賬本的內容同步、密碼學的機制保證了數據的隱私性和不可篡改、智能合約機制提供了業務邏輯的自動執行機制。

回到我們的例子,在整個貫穿近20天的跨國物流運輸的過程中,由於所有與貨物相關的數據和文檔都是隨時寫入區塊鏈的,而區塊鏈的各個參與節點的數據又是保持同步的,因此相關的參與方,不管是生產商、銷售商,還是海關、銀行等,都能隨時隨地了解掌握貨物的位置、狀態、甚至是溫度、濕度等信息(可能需要GPS、RFID、物聯網等技術)。在交貨以後,相應的支付、結算工作,可以利用區塊鏈上的智能合約自動實現,這樣,就能比傳統方式相對更高效的實現,做到賬期的大大壓縮,甚至可以做到接近實時的支付結算。這些區塊鏈技術帶來的好處,正是馬士基選用該技術來開發新一代跨境供應鏈系統的根本的原因。

通過以上這個例子,大家可以看到區塊鏈在商業應用中的價值。正是基於這樣的原因,區塊鏈技術在全球範圍內的發展如火如荼,影響力和關注度都非常高,未來的發展前景一片光明。除了供應鏈場景,區塊鏈技術還可以廣泛應用於金融、身份認證、數字版權、公證和醫療等眾多應用領域。


看到一些爭論區塊鏈定義的回答, 突然意識到自己這篇解釋原理的回答其實是一直是對著比特幣擼的, 介於區塊鏈的定義業界並沒有一個特別明確和唯一的回答, 這裡先給出個人根據所讀論文而總結出的「區塊鏈」應有特質:

  • 使用了具有 "哈希鏈" (下文有解釋) 形式的數據結構保存基礎數據
  • 有多個結點參與系統運行(分散式)
  • 通過一定的協議或演算法對於基礎數據的一致性達成共識(共識協議/演算法)。

介於比特幣目前是區塊鏈最典型且最有影響力的應用之一理解比特幣如何使用區塊鏈後, 再去理解其他形式各樣的區塊鏈應用就會容易很多。

---------------------2017.07.25 更

看到這麼多答案,不管是懂的人還是不懂的人,感覺沒有一個能夠把外層的複雜性剝離, 只談簡單本質的,如下答案,給大家一個真正通俗易懂的區塊鏈解釋。 本文提到的區塊鏈技術細節,為了通俗, 就只能說的比較簡略,難免有不嚴謹之處,歡迎大家指正有傷大雅的問題

在談應用之前,最重要的是先理解它的技術本質是什麼, 所有介紹區塊鏈的答案里, 都最先提到了區塊鏈不可篡改的特性, 所以第一個要理解的是它到底是怎麼實現不可篡改性的。

  • 先修知識;
    • 密碼學Hash()函數的單向性: Hash(x) =y , 通過y很難找到x
    • 哈希鏈: 假如現在有順序產生的數據塊 A, B , C 。 那麼我們可以這樣計算一個hash 。 注意 「||」 表示拼接

h0= Hash(A)
h1 = Hash(B || h0)
h2 = Hash(C || h1)

  • h2是我們計算的hash頭部,現在來看, 為什麼我們管這個東西叫Hash鏈, 因為h2 的值依賴於之前一系列數據的內容和計算順序。 假如說現在你知道了h2 , 別人拿著A,B, C, 他不管是修改A,B, C的任一點內容還是A,B, C的出現順序,你都無法再次計算出正確的h2
  • 好的, 其實到這裡區塊鏈的概念就有點感覺了不是嗎, 它其實就是一個哈希鏈的變種。 怎麼變? 添加一個隨機數(Nonce)
    • 假如現在有順序產生的數據塊 A, B , C 。 我們來這樣計算hash頭。 注意 「||」 表示拼接

h0= Hash(A || Nonce1)
h1 = Hash(B || h0 || Nonce2)
h2 = Hash(C || h1 || Nonce3)

  • 這裡我們還添加一個額外的要求, 就是 h0, h1, h2 必須都得是以指定數目的0 bit開頭的,例如要求每個哈希值都必須以5個0開頭,則h0,h1,h2都應該是這樣的形式(00000*****************)
  • 添加了這個要求以後, h0, h1, h2就都不是那麼容易計算的了, 因為你不能根據輸出的形式來反推輸入是什麼, 而A, B, C又是給定的, 那隻能不斷更改Nonce來窮舉計算, 然後找到一個可以滿足要求的Nonce值 ,使得h0, h1, h2符合要求
  • 到這裡大家就知道所謂的礦工是在幹什麼了, 就是接受廣播出來的數據塊,然後計算當前最新的哈希鏈的頭部, 當成功計算出了一個符合要求的Hash後, 就告訴所有人,自己找到了, 讓別人再去計算下一個哈希頭部。
  • 其實到這裡, 區塊鏈的本質就已經差不多了, 假如網路中大家都默認遵守協議, 只在最長的哈希鏈後計算新的頭部,那麼一切都很好, 但是如果有人想搞不一樣,那他就得擁有更強的計算能力, 在誠實者都遵守規則的情況下, 自己能夠計算出一個鏈條分叉甚至說直接計算出一個新的鏈條,讓大家都承認。
  • 至於這個難度的證明,中本聰就是建立了一個泊松分布的概率模型, 假設了誠實結點計算出新的哈希頭的概率p和不誠實結點計算出新的Hash頭的概率q後,算出了一個N值。
    • 這個N值的含義是給出了當一個新的哈希頭部 h1 計算出來後,其後追加N個頭部(h2,h3,h4....)後,網路才應該承認這個新的頭部 h1. 因為此時, 攻擊者要想成功發動攻擊, 至少需要計算出一個長度大於N的分支, 這個概率在攻擊者沒有掌握全網算力50%的時候是很小很小的

所以到這裡, 區塊鏈就已經清楚了,就是一個密碼學工具的一種巧妙應用而已, 沒什麼神奇的 。

那這裡思考一下, 不可篡改性其實並不是一個什麼神奇的特性,密碼學的簽名技術就能提供不可篡改性呀, 區塊鏈到底解決了一個什麼問題。答案是

  • 信任問題
    • 區塊鏈提供了一種方案, 讓一個網路中,所有的結點都可以用計算能力投票, 從而保證了得到承認的結果是大多數人公認的結果, 不會因為少數結點作惡,而修改結果
    • 傳統的交易建立在什麼基礎上, 我們對於金融機構的信任, 對於中央銀行的信任, 或者對於交易對手的信任, 對於第三方中間人的信任。
  • 這裡其實就引出了很多安全技術應用,或者說很多制度建立的本質:信任越多, 需要做的工作就越少。
  • 區塊鏈就是因為不想信任網路中的任意一個單一結點, 所以讓大多數人具有公平的投票權利, 而這個投票權利,不是按人頭算的, 是按CPU算的, 每個CPU有一票。
  • 區塊鏈(採用工作量證明方式維護的公有鏈)最難以克服的缺點1: 效率問題
    • 前面說過, 當你信任的越多, 需要做的工作越少, 就好比你和一個人做生意, 如果你完全信任對方, 那麼合同都不用簽, 口頭約定就行。 如果不太信任, 簽一個簡單的合同, 規定最重要的事項。 如果特別不信任, 讓律師對交易中所有存在風險的地方列出條款,規定責任, 簽一個大大的合同。
    • 所以看出來了吧, 信任越多, 效率越高。 信任越少, 效率越低。
    • 區塊鏈也是一樣,因為沒有單一結點可以信任,通過計算來換取信任。 所以簡單的一個承認交易的操作, 需要大量的計算參與進來, 結果是什麼, Bitcoin平均交易速度只有7筆每秒。
  • 比特幣(公有區塊鏈應用)的最難以克服的缺點2: 宏觀金融的適應性
    • 金融學和經濟學作為人類多年來發展出來的科學具有不可替代的地位, 比特幣的流通貨幣量是存在上限且增加速度基本固定的, 這符合經濟規律嗎? 顯然不符合。 因為學過經濟的人都知道, 貨幣只是對實物財富的衡量, 貨幣增長速度快於商品增長數量, 則發生通脹, 貨幣增長速度慢於商品增長速度則發生通縮。
  • 比特幣(公有區塊鏈應用)的最難以克服的缺點3: 匿名引發的安全性
    • 想一想匿名對於罪犯的好處,就不難理解比特幣的洗錢風險
    • 比特幣作為信息安全學者的發明產物, 現在常被應用於黑客入侵之後勒索的交易手段, 想起來也真是諷刺
  • 比特幣(公有區塊鏈應用)的最難以克服的缺點4: 用戶的易用性
    • 比特幣的技術是基於密碼學簽名技術的, 你的賬戶安全由你的私鑰保護, 如果不添加別的手段,比如在別人那裡備份, 或者在別的地方備份, 你丟失了密鑰, 賬戶里的 錢是沒有人能給你找回來的。 想想人們丟銀行卡, 忘記密碼的頻率, 這個問題有多大, 不用我說大家也懂

說了這麼多缺點, 區塊鏈技術和比特幣技術就不行了嗎? 顯然不是,不然那些國際金融機構也不會下大功夫研究它, 但是, 和其他所有的技術一樣, 大家都只是在尋找一種能夠更高效解決信任問題的手段而已。 金融機構的核心是什麼, 交易投資與風險控制唄。 其實也都是圍繞信任問題展開的。信任問題的解決在金融機構本來就是耗費了大量的成本的, 只不過很多成本在後台, 或者在人工的耗費上, 很多人看不到而已。

總結 :

區塊鏈的技術有望以一個更低的成本解決更廣泛的信任問題所以被受人關注

最後說點閑話, 本人是碩士階段出來留學的, 對比國內外,發現中國人的技術分享氛圍真的比國外差很多, 不是國內的人水平沒有,懂的人都自己掖著 , 或者說也懶得做清晰的分享, 我想這一點也不能怪我們國人自己, 畢竟是由於人太多, 資源匱乏導致的競爭心態過於強烈。 但是衷心希望, 隨著國家實力的進步, 咱們中國人可以有一天不需要再把英語當成學習技術道路上的必須逾越的坎。


區塊鏈是什麼好解釋,樓上那麼多不明覺厲的好答案呢。

但難在「簡單易懂」啊!

小菜雞自告奮勇,帶大家從簡單的常識出發了解一下很有前途的區塊鏈。

看完你就能知道為什麼比特幣價格能從年內最低4876暴漲到最高20500元,半年漲幅逾400%……


首先,我們了解下市場中的「信任」。

就像人們很容易忽略看不見卻倏忽不可或缺的氧氣一樣,人們也經常會忽略市場經濟中一樣至關重要的東西,這就是「信任」。

假如沒有信任,任何交易都不可能成立。你到菜場買菜,如果你懷疑蔬菜中農藥含量過高,你就不會跟那個菜販子交易;你到小店買瓶水,假如店員質疑你給的是假鈔,就不會把水賣給你。

傳統小農經濟是熟人經濟,交易規模僅限於村鎮範圍內比較熟悉的人們之間,出了交通因素外,「信任」也是很大的因素。一旦超出熟人範圍,信任成本急劇增大,將阻礙交易的發生,限制交易範圍的擴大。此外,不同種族、民族、文化、宗教信仰等等,都會形成信任的鴻溝。

陌生人之間由於缺乏相互了解,缺乏必要的信任,交易難於發生。市場經濟卻是大量發生在陌生人之間。市場經濟之所以發生、發展,在於誕生了新的機制,解決了陌生人間的信任問題。

到目前為止,解決信任問題的最重要的機制,就是「信任中介」機構和模式。你和陌生人間都信任的第三者是信任中介,政府是信任中介,銀行是信任中介。你把辛苦生產出來的商品賣給一個陌生人,收到幾張花花綠綠的紙鈔,如果沒有發鈔銀行的信用、政府權威的保證,你是不會接受的。

到了如今全球村時代、互聯網時代,你把商品賣給甚至永遠不會見面、千里之外的陌生人,沒有信任中介的保證,交易更是不可能發生。支付寶承擔起信任中介作用,所以淘寶等電商在短短十幾年間快速繁榮起來。

信任中介在整個龐大的交易體系中,扮演著一種中心化的重要角色。這是一種中心化的機制或模式,已經存續了幾千年,幫助人際間降低信任成本,從而促進交易的發生、交易頻率的增加、交易範圍的擴大。

然而,信任中介本身也是需要成本的,而且常常還很巨大。設想一下:每年交給政府的稅收,佔到一般人收入的30~40%;如今最賺錢的行業是哪個?金融服務業;擁有支付寶的螞蟻金服年利潤超過百億,馬雲成了中國首富。所有這些現象反過來想,對於普通人來說,就意味著極為龐大的信任成本。(當然交易成本中不全是信任成本,但信任成本佔了很大一塊。)

如果有什麼辦法,能取消或者大幅降低這種信任成本,那麼普通大眾的交易費用可減少,可享受的福利可大幅增加。在互聯網時代,區塊鏈技術上場了。

是的,區塊鏈可以替代傳統信任中介、大幅降低信任成本。

區塊鏈的概念最早於2008年在比特幣創始人,中本聰的論文《比特幣:一種點對點的電子現金系統(Bitcoin: A Peer-to-Peer Electronic Cash System)》中首次提出。

區塊鏈可以理解為一種公共記賬的技術方案,其基本思想可以這樣理解:通過建立一個互聯網上的公共賬本,由網路中所有參與的用戶共同在賬本上記賬與核賬,每個人(計算機)都有個一樣的賬本,系統會自動比較,會認為相同數量最多的賬本是真的賬本,少部分和別人數量不一樣的賬本是虛假的賬本。

在這種情況下,任何人篡改自己的賬本是沒有意義的,除非你能夠篡改整個系統裡面大部分節點。同時,所有的數據都是公開透明的,並不需要一個中心伺服器作為信任中介。因此,區塊鏈技術在技術層面就能保證信息的真實性、不可篡改性,也就是可信性。

這段話很生澀吧?看不懂沒關係,我們來打個比方。

設想每個人有個神奇的小本本。當兩個人間一筆交易發生時,這筆交易記錄在你兩個的小本本上,不需要任何中介,包括公證機構。最神奇的是,這筆交易記錄將會很快自動複製到所有人的小本本上,大家都能看到。當超過一半的小本本上都有這筆交易記錄時,交易便正式生效了。

交易生效後,你無法私自篡改記錄。哪怕你能夠塗改你自己的小本本上的記錄,除非你能同時篡改大多數人小本本上的記錄(而這幾乎是完全不可能的事情),否則交易依然有效。

所以不需要第三方信任中介,這樣的交易就可以放心地展開,因為所有其他人都在自動地為交易公證。你買了東西後想賴帳?沒門。同樣,你也不用擔心對方賴賬。

因為區塊鏈有可大規模擴展、數據公開透明、數據不可纂改等特點,特別是能有效解決陌生人間的信任問題,所以可以推廣到所有可以數字化的領域,比如數字貨幣、支付清算、數字票據、權益證明、徵信、政務服務、醫療記錄等。

想想看,區塊鏈技術如果大規模推廣,未來的生活將會發生怎樣翻天覆地的變化!

而比特幣作為區塊鏈技術的第一個現實應用,已經在全世界廣泛接受和使用,數百萬用戶、數以萬計的商戶接受了比特幣這種數字貨幣的支付,其作為貨幣的交換價值在增長,甚至由於其總量固定,長期價值看漲的共識,成為類似黃金的避險資產,其價格輪番炒作攀升也就不足為怪了。

不過這種瘋狂的市場,暴跌也是分分鐘會發生的事情,心臟不好的普通人別去瞎湊熱鬧哦~


以上。有用點讚唄~


本文內容首發於微信公眾號「無馬識財」(ID:wumajinrong)

未經許可嚴禁轉載,違者沙包大的小拳拳捶你後腦勺~


分兩塊,你是想知道技術的還是金融的?
金融的不好答。
技術稍微講一下,首先知道一點bitcoin的背景和金融背景是最好的。
這裡推薦張洋的博客的一篇文章來了解,傳送門:CodingLabs - 一個故事告訴你比特幣的原理及運作機制

A想給D付錢,需要經過下圖這麼個流程,必須經過中心機構O。

現在有了區塊鏈:

這裡看到了一個公共總賬本對不對?這個的技術實現就叫做區塊鏈,其中中心機構O也不見了對不對?其實不是不見了,是公權力下放到每個人手裡了。
第一張圖的中心機構O它是有大家的總賬的,對不對?我們把機構去掉,賬本留下,並且改成每個人都有這本賬本,共同維護。以交易者身份使用它,以礦工的身份維護它。
大致是這麼個意思,渣圖將就看吧。另外附我的一篇介紹文章(Jan 21st 更新網址):
區塊鏈(BlockChain)的深入介紹--blockchaindev.org


關於這個問題,大家技術層面上已經說了不少,網上也有很多文章,但對於普羅大眾來說,要理解這個技術性問題還是比較難。在這裡我嘗試從經濟學和常識的角度說一下自己的理解,看能不能讓外行人明白個大概:

區塊鏈:一個顛覆舊模式的新技術


就像人們很容易忽略看不見卻倏忽不可或缺的氧氣一樣,人們也經常會忽略市場經濟中一樣至關重要的東西,這就是「信任」。

假如沒有信任,任何交易都不可能成立。你到菜場買菜,如果你懷疑蔬菜中農藥含量過高,你就不會跟那個菜販子交易;你到小店買瓶水,假如店員質疑你給的是假鈔,就不會把水賣給你。

傳統小農經濟是熟人經濟,交易規模僅限於村鎮範圍內比較熟悉的人們之間,出了交通因素外,「信任」也是很大的因素。一旦超出熟人範圍,信任成本急劇增大,將阻礙交易的發生,限制交易範圍的擴大。此外,不同種族、民族、文化、宗教信仰等等,都會形成信任的鴻溝。

陌生人之間由於缺乏相互了解,缺乏必要的信任,交易難於發生。市場經濟卻是大量發生在陌生人之間。市場經濟之所以發生、發展,在於誕生了新的機制,解決了陌生人間的信任問題。

到目前為止,解決信任問題的最重要的機制,就是「信任中介」機構和模式。你和陌生人間都信任的第三者是信任中介,政府是信任中介,銀行是信任中介。你把辛苦生產出來的商品賣給一個陌生人,收到幾張花花綠綠的紙鈔,如果沒有發鈔銀行的信用、政府權威的保證,你是不會接受的。

到了如今全球村時代、互聯網時代,你把商品賣給甚至永遠不會見面、千里之外的陌生人,沒有信任中介的保證,交易更是不可能發生。支付寶承擔起信任中介作用,所以淘寶等電商在短短十幾年間快速繁榮起來。

信任中介在整個龐大的交易體系中,扮演著一種中心化的重要角色。這是一種中心化的機制或模式,已經存續了幾千年,幫助人際間降低信任成本,從而促進交易的發生、交易頻率的增加、交易範圍的擴大。

然而,信任中介本身也是需要成本的,而且常常還很巨大。設想一下:每年交給政府的稅收,佔到一般人收入的30~40%;如今最賺錢的行業是哪個?金融服務業;擁有支付寶的螞蟻金服年利潤超過百億,馬雲成了中國首富。所有這些現象反過來想,對於普通人來說,就意味著極為龐大的信任成本。(當然交易成本中不全是信任成本,但信任成本佔了很大一塊。)

如果有什麼辦法,能取消或者大幅降低這種信任成本,那麼普通大眾的交易費用可減少,可享受的福利可大幅增加。在互聯網時代,區塊鏈技術上場了。

是的,區塊鏈本質上是一種解決信任問題、降低信任成本的信息技術方案。區塊鏈技術的應用,可以取締傳統的信任中介,顛覆傳統上存在了幾千年的中心化舊模式,在不需要中心化信任中介的情況下,解決陌生人間的信任問題,大幅降低信任成本。

這也是通常幾乎所有關於區塊鏈的介紹文章中,都會提到的「去中心化、去信任」的意思。但是「去信任(trustless)」的說法容易誤導,會讓普通人感到莫名其妙,因為任何時候的交易都必須基於信任。實際上,把「去中心化、去信任」,理解成「去除信任中介」,就會容易明白得多。

區塊鏈技術所改變的,不是去除信任,而是將傳統上交易中對中心化信任中介的信任,變成對區塊鏈系統本身、對於記錄在區塊鏈上的數據的信任。基於區塊鏈技術的交易模式中,不存在任何中心機構,不存在中心伺服器。所有交易都發生在每個人的電腦或手機上安裝的客戶端應用程序中。

假如未來普遍使用區塊鏈技術,今後你不用再跑去銀行證明你的收入和資產,也不用跑去派出所證明你是否已婚,不用讓單位人事證明你的僱傭關係,也不用再去敲沒完沒了的紅色公章和看各種難看的臉色……所有這些都記錄在不可篡改的區塊鏈上,在你需要和授權的時候,似乎全世界都能成為你的證人。

這是如何實現的?這涉及到技術層面,說來話長,但簡單地說,從區塊鏈技術的第一個應用(所謂的區塊鏈1.0),也就是大眾比較熟悉的比特幣(Bitcoin)的工作原理可以大致明了。

區塊鏈的概念最早於2008年在比特幣創始人,中本聰的論文《比特幣:一種點對點的電子現金系統(Bitcoin: A Peer-to-Peer Electronic Cash System)》中首次提出。區塊鏈可以理解為一種公共記賬的技術方案,其基本思想可以這樣理解:通過建立一個互聯網上的公共賬本,由網路中所有參與的用戶共同在賬本上記賬與核賬,每個人(計算機)都有個一樣的賬本,所有的數據都是公開透明的,並不需要一個中心伺服器作為信任中介,在技術層面就能保證信息的真實性、不可篡改性,也就是可信性。

數據的不可篡改性至關重要。因為系統會自動比較,會認為相同數量最多的賬本是真的賬本,少部分和別人數量不一樣的賬本是虛假的賬本。在這種情況下,任何人篡改自己的賬本是沒有意義的,除非你能夠篡改整個系統裡面大部分節點。對於一個由成千上萬個、分布在全球各個角落的客戶端組成的區塊鏈系統,除非某個人能控制世界上大多數的電腦,否則不太可能篡改這樣大型的區塊鏈。

在這種情況下,在區塊鏈上記錄的每一筆交易,都保持真實可靠,同時公開透明,能夠被其他人查看(但交易者個人或機構可以是匿名的),所以就形成了一種不需要對陌生交易對手了解和信任,只需看到區塊鏈上交易對手的貨幣、資產等本身是可信的,就可以放心地交易。這裡不需要任何信任中介,也就是所謂的「去信任」的真實含義。

因為區塊鏈具有可大規模擴展、數據公開透明、以及因為每個客戶端數據一致,即使部分客戶端被毀也不影響數據安全的可靠性等技術特點,特別是能有效解決陌生人間的信任問題,所以這個技術可推廣到所有可以數字化的領域,比如數字貨幣、支付清算、數字票據、權益證明、徵信、政務服務、醫療記錄等。可以說,區塊鏈技術如果發展起來,將來會跟每個人息息相關。


這是近期一篇長文章中的第二節科普內容。全文請見鏈接: 22歲輟學生,創下全球最高眾籌記錄,他會是下一個扎克伯格?


先講個小故事。說有這麼一個島,叫做雅浦島(Yap),位於太平洋西部加羅林群島中,這個島上一共只有數千人,這個島估計沒幾個普通人知道,然而對於經濟學家來說,這個島上的貨幣體系則相當有啟發意義。

這個島上的貨幣叫做「費幣」,不是「廢」,而是「費」。這種幣有個什麼樣的特點呢:都是又大又厚的石輪,從 1 英尺 到 12 英尺不等(感謝 @lixin liu 大佬的指正),中間有孔洞。

就像這樣。

這種幣,我猜沒法放在口袋裡兜著到集市上買東西,但實際上島上的居民有很頻繁的交易,他們是怎麼使用這種幣的呢:通過在幣上記賬。交易過程一般都是債務互相低效的過程,賬款通常留待以後的交易中進行轉結。

即使到了最後的清算時刻,也幾乎沒人會去搬這個幣,畢竟吃飽了也不能瞎干。當地人只是在上面做標記,以顯示所有權的轉移,卻無須持有(搬到自己家門口)。

甚至有的幣偶爾需要運輸被掉進海里,人們也承認這塊石幣的價值不應該受到影響,William Henry Furness 講了一個例子,說有一家人,比較有錢,不過他家的幣爺爺輩就丟了,孫子都沒見過這個幣,但依然自信地認為自己家就是這麼有錢。

這個故事說明了什麼呢,「也許貨幣不是一種商品,而是信用和清算構成的一套記賬體系」。

而區塊鏈,就相當於這個賬本,區塊就相當於這個賬本的一頁,區塊中所承載的信息,就是這一頁上記載的交易內容。

以比特幣為例,大約每十分鐘就行一次「算力競賽」來競爭這個記賬的權利。就好比說,你的算力牛逼,算得多,就像肌肉更結實,更會打,我們都服你,讓你來記這個帳,即向區塊鏈這個總賬本寫入一個區塊(注意不是區塊里的內容)的權利。

不過需要說明的一點是,計算能力只能決定贏得競爭的概率。就好比說,一共有若干張彩票,算力多的可以買更多張提高中獎概率,然而買得多的人,也不一定最後就中獎了,畢竟就像太極能夠一打十嘛(滑稽)。

算力競爭通過工作量證明機制(Proof of Work,PoW)來判定。另外還有權益證明(Proof of Stake,PoS)、沉澱證明(Proof of Deposit,PoD)等。

然後,根據比特幣的設計,每輪競爭勝出的人就可以獲得一定數量的比特幣獎勵。這就把競爭記賬機制和貨幣的發行結合在一起了,哇,是真的優美。

所以說區塊鏈其實不等同於虛擬貨幣,更精確的說法是:由於在創造比特幣時,並沒有現成的、可以支持比特幣系統運行的底層技術架構,所以中本聰創造了區塊鏈。所以說,虛擬貨幣只是區塊鏈的一種應用。

而這個公開、透明、幾乎不可能篡改的去中心化大賬本其實還有很多其他的應用,比如媒體、社交、交易,甚至醫療出版等等。

最後借 Robert Wolinsky 的話給我們學經濟學的吹一波NB:要了解區塊鏈(比特幣)的內在優雅,不是軟體使得比特幣如此有效,而是經濟學。(逃


比方說,一個圈子裡有10個人,每個人都有一台電腦和一個自己的簽名,每台電腦里都有一個賬本,裡面記錄了這10個人的餘額和交易;每次圈子裡的人做了一筆交易(轉賬)的時候,就要更新所有電腦上的賬本(10份賬本),10份賬本時時同步來確認交易完成。


這個賬本就是區塊鏈

賬本是一頁一頁的,每一頁寫滿了交易記錄,一頁頁堆在一起成了一本本子就是賬本;區塊鏈是一塊一塊的,每一塊寫滿了交易記錄,連在一起成了一條鏈就是區塊鏈

比方說,甲轉給乙100元,就在10台電腦里的賬本上都寫上:XXXX年XX月XX日甲和乙做了這麼一筆交易,甲轉給乙100元。這樣一來,圈子裡的人都知道了甲的錢少了100,乙的錢多了一百。

每個人想要知道甲還有多少錢,不需要去銀行查賬,只需要查自己那本帳就知道了;兩個人想要交易,不需要銀行,直接可以轉賬,等待圈子裡的每個賬本同步就行了。不需要通過中心權威機構確認和查詢,這叫去中心化

每個人都能通過電腦看到所有人的交易記錄(轉賬記錄),這叫透明性;


圈子外的人可以看到賬本,只要你複製了他們的賬本並且有一個自己獨有的簽名就可以加入圈子了,這叫開放性

如果誰想耍賴,比方說甲硬說自己沒給乙匯100元,還把自己的賬本給改了,這沒用,其他9本賬本都說他匯了。除非甲篡改了6本賬本,不然他就無法抵賴,這就是信息的不可篡改

人跟人之間的交易,不需要相互的姓名、身份證號等等一堆個人隱私的東西,只要你的簽名就行了(這個簽名只是一串獨一無二的數字字母組合,跟個人信息無關),這就是匿名性

目前最大的圈子是比特幣圈子。還有一些比較大的圈子,如以太坊、萊特幣等。


自打2015年十月參加了萬向組織的《區塊鏈-新經濟藍圖》以後,感覺幣圈子逐漸變得涇渭分明起來,一邊是看不慣區塊鏈的比特幣死守派,另一邊是不帶比特幣玩的新區塊鏈派,某種意義或者某種程度上來說,都互相覺得對方是low逼,慢慢形成新一層級鄙視鏈,恩……我站中間。

開刷之前,先拋幾個觀點:

  • 比特幣當前市值約為30億美金,成長空間還很大。
  • 區塊鏈技術的成長性會遠遠高於比特幣。
  • 我愛比特幣,如果要加一個期限的話,我希望是……

區塊鏈技術從本質上來說,是從比特幣中脫離出來的產物,就像孵化小孩子的胎…咳…紫河車類似。在男神中本聰的設想里,他不過是比特幣的底層加密協議,而隨著2013年11月過山車事件以後,天朝大肆對比特幣妖魔化,主流媒體紛紛禁言,比特幣相關都會划上了反社會主義的符號。

要怎麼才能讓比特幣找到第二春呢?這個問題困惑了幣圈兩年之久。冰凍期來臨後,大家縮成一團,靠著信念和意念為自己的信仰買單。2013年11月之前,幣圈人氣一直都是一個很可怕的暴漲態勢,而隨著這一波的元氣大傷,逐漸拋出局留下來的,要麼是有著堅定信念,要麼是憑著無懈可擊的商業模式,當兩者都有時,恩,就成就了比特大陸。狠狠甩開同行,傲雪寒梅,一枝獨秀。

原諒我插播的小廣告。我不打,誰打。哦哈哈哈哈。

就在幣圈遲遲未能等到破冰期,此時,區塊鏈這一概念彷彿瞬息之間,吹遍了大江南北,大家奔走相告,這無疑也給比特幣帶來了一絲暖意。

  • 講真,區塊鏈這一陣妖風究竟是怎麼刮起來的呢?

這還得從2015年10月份說起。

當時《The Economist》一篇名為 The great chain of being sure about things 一文。文中舉了個例子,大意是:

艾女士居住在宏都拉斯,她住在自家房子很多年,某天,艾女士遭到法院傳訊。C向法院申請驅逐艾女士,原來國家產權局登記的是C的名字,而後房屋被拆毀。但後來經過法院查證,房子其實就是人家艾女士的,但不動產已經毀了,艾女士只能默默流淚……

新經濟學人用這個簡單的例子來深刻刻畫了當前社會的現狀,記錄可以隨意被篡改的事實,而剛好,比特幣能解決這個疑難雜症,那麼靠什麼技術來保證這樣的記錄,真實、唯一且不可更改呢?

答案呼之欲出。

(對文章感興趣的朋友可以閱讀:經濟學人:重塑世界的區塊鏈技術 。當然英文好的盆友,牆裂建議大家查看原文,因為譯者雖然不會對文章觀點願意進行改動,但翻譯時是會有情緒傾向。)

2015年10月萬向集團在上海召開了一場《區塊鏈-新經濟藍圖》的全球區塊鏈峰會。確實到場了許多之前玩比特幣的圈內人士,很多壯士從比特幣的泥潭裡掙扎而出,搖身一變,成了區塊鏈技術專家。洗白效果給五星,當然這裡沒有貶義。

確實大眾看待某個行業的眼光,是很容易【被導向】,正如即使區塊鏈發展的如何欣欣向榮,比特幣依舊抹不掉自身的銹跡斑斑。

時間來到2015年11-12月,在北京的金融博物館舉辦了幾次區塊鏈峰會。內容涉及到區塊鏈或將顛覆傳統保險模式?演講者是保監會的副主席等,當然還有比特幣屆一哥,豆瓣知乎紅人:李笑來。

答主私下也得知了銀聯其實很早就關注了比特幣,並積極加入區塊鏈的研討。後來某司出借銀聯幾台比特幣礦機S7和U3,用於研究比特幣挖礦技術。

區塊鏈數據處理伺服器】長這樣,你們感受下:

2015年12月16日 麥肯錫發表一份針對」區塊鏈技術」的研究報告,該份報告語言區塊鏈在金融領域的創新和應用需渡四個大劫:聯合實驗、固體實驗、小型網路、規模效應。

2016年1月德勤和萬向區塊連實驗室在上海聯合舉辦了一場Blockchain Hackathon 區塊鏈黑客馬拉松圓滿落幕。

2016年1月20日 央媽在京召開了一堂數字貨幣研討會,有消息稱要推出央行數字貨幣。

這條新聞讓我喜憂參半,喜的是終於央麻麻肯正視我們多年來的努力了,撒花~(不得不推算,比特幣的幣齡已經7年了!7年啊,同志們,孩子小學都該畢業上初一了!)真是不得不鞠一把淚。央麻正視了數字貨幣的意義:降低貨幣發行和流通成本、提升經濟交易活動的便捷性和透明度,同時提出要抑制洗錢、偷逃稅等違法犯罪行為。

醬紫一來,答主夜觀天象掐指一算,數字貨幣監管還會遠么? 喝喝。

讓我憂的是,比特幣本身是一種去中心化的支付系統,是不需要可信第三方的,而當下最大的交易可信第三方不就是央麻么?她怎麼會做這種自打臉的事情呢?所以結論是,要麼該新聞證偽,要麼則推斷此貨幣絕不可能是去中心化的數字貨幣。
2016年1月29日 普華永道宣布與比特幣公司blockstream 進行戰略合作,旨在提供區塊鏈技服務。而blockstream 正是近日來擴容之爭的風暴中心。

  • so,區塊鏈技術到底是什麼鬼?

Blockchain 是一種利用去中心化和去信任方式集體維護一本數據簿的可靠性的技術方案。該方案要讓參與系統中的任意多個節點,通過一串使用密碼學方法相關聯產生的數據塊(block)每個數據中都包含了一定時間內的系統全部信息交流的數據,並生成數據指紋用於驗證其信息的有效性和鏈接下一個資料庫塊。

說人話!

┗|`O′|┛ 嗷~~

好吧~區塊鏈技術其實是一類技術解決方案的集合,是,一種基於計算機加密技術的無可替代的信用憑證。

從技術上來說呢,它是一個分散式儲存的數據塊,每一個塊上面都會包含一整條區塊鏈的信息。這也就決定了區塊鏈可以在沒有可信第三方的條件下,自證其罪,阿布,自證其信!解決兩個陌生人之間如何建立信任機制的問題。

要解決陌生人之間的信任,首先得解決信息或合約的特性,以此對應區塊鏈妥妥的療效:

  1. 隨時提取 ——去中心化特性
  2. 不可偽造 ——集體維護監督
  3. 不可撤銷 ——開源及匿名性
  4. 可驗證性 ——可分數據存儲

首先,因為整個網路沒有中心統治者系統依靠的是網路上多個參與者的公平約束,所以任意每幾個節點的權利和義務都是均等的,而且每一個節點都會儲存這個區塊鏈上所有數據。即使該節點被損壞或遭受攻擊,仍然不會對賬簿造成任何威脅。

也就是說,每個小孩手裡,都會有一本完完整整的數據記錄。即使某個人忘記或丟失了,除它以外的ABCD任意一個人都能完整的還原出整本數據記錄。隨時提取的最佳方案是人手一份。torrent就是P2P優加的方案,當我需要時,我可以從最近的節點提取,暢通無阻,當我不需要時,你就安安靜靜的躺在區塊鏈做你的美……

其次,得確保信息或合約無法偽造。賬簿在某個人或某幾人手上,造假的可能性就非常高,但每個人手裡都有一本賬簿,除非你說服了整個遊戲里超過51%的人都更改某一筆賬目,否則你的篡改都是無效的,這也是大眾玩家集體維護和監督的優越性。

中本聰的做法非常聰明,無法阻止別人花樣目的式的偽造,就讓偽造成本最大化,這樣就極大的規避了大家造假的風險。當然這種風險規避並非100%。(當然不排除未來的傻逼們,出於某種目的,不去在乎偽造成本而去偽造信息。)只是由於比特幣或區塊鏈的節點越來越多,偽造的可能性就越來越小。因此,只要區塊鏈上的節點越多,算力越強,那麼該系統中的數據就會越安全。

所以目前全球五大礦池目前有三大礦池,蟻池、國池、魚池都在中國,所以海外有些小擔心……喝喝。

再而,區塊鏈上的信息必須不可撤銷,不能隨意銷毀。
比特幣的系統是開源的,整個系統都必須是公開透明的,因此某筆交易被全網廣播以後,達到6個確認以上就成功記錄在案了,且不可逆轉不可撤銷。所以你打出去的錢,即使後來發現地址打錯了,你想要重新重新撤回來,是不可行的。

最後,區塊鏈信息必須是可驗證的。我可以經過信息提取來判定你的該筆記錄是真實的還是偽造的。

  • 看上去屌炸了の工作原理

區塊鏈的機制目前在主要分為兩類:pos(proof of stake)權益證明 機制和pow(proof of work ) 工作量證明機制。

中本聰要在這個支付系統中自證其信首先要解決的問題,就是雙花,即重複支付的問題。正如現在的法幣系統中,如何杜絕假幣的問題,主流社會的做法是:通過國家的制定法律法規,通過強制力迫使人杜絕製造假幣,而中本聰則用區塊鏈系統本身杜絕了人為因素,完全依靠技術解決雙花問題。

艾瑪→_→中本聰這傢伙太壞了!一點也不給人腐敗的機會。

比特幣採用的pow工作量證明機制,即按照做工作量的多少來獲得獎勵。這一點帶來的弊端是算力很容易集中化。

比特幣的交易機制是十分鐘產生一個區塊,意思就是每隔十分鐘計算機就打包全網交易進入一個區塊。而礦工就是在打包遊戲中爭奪區塊鏈記賬權的人,誰能最快准狠解開SHA256這個數學命題的值,誰就贏得了這個十分鐘區塊的打包記賬權。而這十分鐘里的每一筆交易,都會被蓋上一個 timestamp —時戳,當然了,礦工的工作不是白辛苦的,一旦誰贏得了打包權,誰就將獲得25個比特幣作為獎勵。

所以你也可以將比特幣看做是維護公平正義的籌碼。

中本聰如何做到自證其信的呢?這取決於區塊鏈的工作原理:

  1. 廣播比特幣網路中的每一筆交易,使每個參與者(指礦工)都記錄下這筆交易。
  2. 每個參與者接收到交易信息後,都要將該筆交易蓋上時戳,收入區塊。
  3. 由於每個礦工都做了工作,誰贏了獲得獎勵呢?此時參與者們要通過一個計算遊戲,誰能最快解出SHA256運算的值,誰就將贏得打包區塊的權利,並獲得系統的25個比特幣獎勵。這個數量的設定是每四年減半。(比特幣已經到了第七個年頭了,這不是玩笑……)
  4. 獲得記賬權的礦工將向全網廣播這十分鐘內區蓋了時戳的交易,其他參與者將核對這些賬目
  5. 當其他參與者都確認無誤後,該區塊就確認合法,就進入了下一輪的區塊爭奪戰。多個區塊逐漸形成區塊鏈。

  • 萬能的區塊鏈—之用途?

  1. 跨境支付。
  2. 數字背書。

當前接入區塊鏈數字背書的行業:

  • 鑽石證明—Everledger 這是一個用於鑽石證明和交易的賬簿。
  • 房地產證明—International Bitcoin Real Estate Association國際比特幣房地產協會為不動產權提供區塊鏈解決方案。
  • 股權證明—小蟻,國內項目,由達鴻飛牽頭成立,首家使用區塊鏈技術為公司及企業提供股權證明服務。
  • 醫療行業—飛利浦與Tierion合作,為病人提供隱私及敏感數據的區塊鏈解決方案。
  • 娛樂業—PeerTracks 提供音樂使用權的區塊鏈解決方案,用戶支付和產權人的收入以數字貨幣計價。
  • 智慧城市—Factom 公正通與軟通動力的合作項目:旨在提供全方位的數據儲存、審計和驗證服務,內容包括:審計系統、醫療信息、供應鏈管理、投票系統、財產契據、法律應用、金融系統等等。

  • 區塊鏈的掣肘

所以,區塊鏈技術雖然紅火,但在區塊鏈金融上,還是有些掣肘。

  • 比如區塊鏈作為一個記賬系統,如何解決金融體系的底層線下摩擦。
  • 比如比特幣在支付方面,當前比特幣網路確認的交易是每秒最多7筆,而支付寶每秒則達到上萬筆的交易確認。便捷性上來看,的確不如微信和支付寶,這個毋庸置疑,不過側鏈和閃電網路正在攻克這些技術問題。
  • 比如銀行開戶的成本是比較高昂的,但也無法避免,因為涉及到跨境支付,像目前對於不同的機構,做賬對不上這些問題,其實都會cover到支付成本上去。而區塊鏈要怎麼給出實際的解決方法,都是很現實的問題。


答知乎友問。

所以比特幣憑什麼背書?它和Q幣有什麼區別?

加入幣圈行業以後,身邊就有無數的小夥伴找我辯論。題目往往讓我無話可說,比如,為啥比特幣有價值,比特幣憑什麼背書?它和Q幣有什麼區別?

就比特幣這種虛擬的加密貨幣而言,為啥跟Q幣有著本質的區別呢,因為比特幣不是由某一家企業或某個機構的信用背書的。

比特幣的價值來自於基於數學體系的自證其信,恰恰是粉碎了傳統金融業信用需要別人背書的基石。這一點也是為什麼別人會說區塊鏈(或比特幣)解決了拜占庭將軍問題。其核心意義就是解決了,在匿名情況下的雙方如何在戰爭中不依靠第三方媒介達成信任共識。

要理解到這一點,我們得先看看銀行的起源。一般認為最早的銀行是義大利威尼斯在1407年成立的首家銀行,而後,荷蘭的阿姆斯特丹、德國的漢堡、英國倫敦相繼出現,18世紀末19世紀初,銀行才得以發展起來。

這裡有個很形象的故事說明:

在十七世紀,一些平民通過經商致富,有一些剩餘財富,他們為了安全,就把金子存在國王的金庫里。彼時是沒有紙幣的,所謂存錢就是指存放黃金。因為那時實行「自由鑄幣」(Free coinage)制度,任何人都可以把金塊拿到鑄幣廠里,鑄造成金幣,所以鑄幣廠允許顧客存放黃金。 但是很不幸,這些商人沒意識到,鑄幣廠是屬於國王的,如果國王想動用鑄幣廠里的黃金,根本無法阻止。1638年,英國的國王是查理一世(Charles I),他同蘇格蘭貴族爆發了戰爭,為了籌措軍費,他就徵用了鑄幣廠里平民的黃金,貸款給國王。後來1649年,他被克倫威爾砍了頭,這就是著名的英國資產階級革命,詳細情況可以參照《英國史筆記(四)》

雖然,被徵用的黃金最終都還給了原來的主人,但是商人們感到,鑄幣廠不再安全了。於是,他們把錢存到了金匠(Goldsmith)那裡。金匠就為存錢的人開立了憑證,以後拿著這張憑證,就可以取出黃金。很快地,商人們就發現了,需要用錢的時候,根本不需要取出黃金,只要把黃金憑證交給對方就可以了。

再後來,金匠恍然大悟,原來自己開立的憑證,居然具有貨幣的效力!他們抵抗不了誘惑,就開始開立「假憑證」。但是神奇的是,只要所有客戶不是同一天來取黃金,「假憑證」就等同於「真憑證」。這就是現代銀行中「準備金制度」的起源,也是「貨幣創造」機制的起源。銀行體系可以將信用貨幣的數量放大,實物貨幣就做不到這一點。

至此,銀行已經誕生了600年了,雖然古代銀行和現代銀行業務上有差別,但本質上就是一個可信任的第三方中介,而這裡的可信任是需要打問號的。

我們暫且分析下銀行業發展的大歷史背景,工業革命後,人類進入了工業時代,逐漸的從農業社會進入工業社會,此時社會的生產力是處於一個相對高速發展的階段,人與人之間的聯繫還不是那麼緊密。當前我們處於21世紀,通過互聯網將人與人之間的聯繫變得緊密,這種聯繫是質的飛躍。

那首歌是這麼唱的:以前車馬很遠,書信很慢,一生只夠愛一個人。

而現在呢,生產力得到大大解放,人工智慧和科技每天都在有新的突破。從1969年美國國防部高級研究計劃書ARPA建立ARPANet起,至今互聯網發展已經過了47年了。而我們依舊生活在過去600年前的金融體系之中,體制的建立和瓦解是逐步的,但在互聯網之後,不得不承認這個觸點正在以爆點的方式替代傳統體制的更迭。

頹然瓦解,或許能成為一個歷史意義的辭彙。

正如上面故事所提及,以及前文中新經濟學人艾女士的案例說明:人性是無法違背的。不管作為第三方的信任機構,你是國王也好,金匠也好,還是後來出現的銀行也好,在某段時期內,通過制度可以制約人性。但權利帶來的後果,必然是無法治癒和根除的人性與貪婪。但對巨大的財富誘惑,人性、貪婪就像滲透在大樹里的螻蟻,一點一點慢慢將制度和信用啃食乾淨……

銀行如是,國家亦如是。

從當前的技術發展來看,也許智能合同或者人工智慧能夠讓技術來約束人性的臃腫和貪婪,但未來如果發生了區塊鏈黑科技,更加放大和膨脹人性和貪婪,也是要淡定,畢竟人類永遠是神秘的且充滿了奧秘。

所以,區塊鏈技術粉碎的正是信用需要別人背書這個事實,從而自證其信。所以你們不要再問我為什麼比特幣會有價值了……


區塊鏈是為了解決這麼一個問題:如何建立一個不受中央控制的記錄方式

首先,我們明確兩點:

(1) 區塊鏈不是比特幣,只是比特幣將這個概念普及了世人。

(2) 區塊鏈只是一種記錄方式。人類最早的記錄方式有結繩,而後有了羊皮、木片,後來又有了筆和紙,到了現代又有了電腦、資料庫,究其本質,區塊鏈只是人類記錄方法的演變到現在的一個新形態,它依然是一種記錄數據的方法。

以下,節點代表某個人、某個機構、某台電腦等一切具有計算能力的個體。

區塊鏈要解決的問題是讓這個記錄方式能被所有節點共享的同時不被任何節點所控制,所謂控制,意味著擁有隨意添加、修改、刪除記錄的能力。而一旦任何存儲的數據擁有了這個屬性,則就有了很多想像空間。譬如說大家的賬本記到一塊兒,誰也沒法賴賬。

以下,我們著重用通俗易懂的方式解釋區塊鏈如何具備「不被任何節點所控制」的屬性。

大家都知道超級計算機的概念,正如F1方程式賽車一樣,超級計算機的榜單就是很多國家或者企業秀自己計算能力肌肉的地方。

擁有超級計算能力意味著什麼?大家都聽說過鄧稼先那個年代造原子彈演算出來的草稿紙都是一屋子一屋子的。而擁有超級計算能力意味著可以更快地模擬原子彈爆炸、大飛機製造中的空氣動力等等很多「大場景」,從而更快地得到計算結果並進行下一步工程迭代。

任何一個國家、企業、組織的計算能力都是有限的,要不然,大家還比什麼比?

既然世界上的國家、企業、組織等的數目是有限的,那麼這個計算能力的總和也是有限的

那麼,我們總有辦法創造一道足夠難的"算術題",使得這道「算術題」不能很快被全球的所有節點解開。因為「算術題」可以任意難度,而全球的計算能力是有限的。大家解題的速度快了,咱就提升題目難度,如此反覆。硬體的發展速度再快,也跟不上調整題目難度的速度,畢竟這個調整隻是參數的改變。

提升算術的複雜度是件簡單事,那麼有沒有辦法使得這個難度提升的過程是可控的呢?

如果有,那麼意味著,如果全網算出上個題的時間是5分鐘,若想下一個題解出的時間變為10分鐘,參數一改即可。當然,10分鐘是個預估的時間,畢竟你無法保證是不是某個節點突然運氣變好,或是網路上又加入了新的節點。

答案,有。

讓題目難度可控還有另一個要素,即:每個節點都得苦苦計算才能得到正解,運氣成分降到最低。畢竟一個題預估10分鐘完成但是因為各種因素的影響全網算力只花了9分鐘是可以容忍的,但是因為某個節點的運氣變得「過好」而變成1分鐘或者幾秒鐘那就不能接受了。

運氣成分降到最低換做另一句話就是:「隨機性最大」。

稍微懂點密碼學常識的人知道,密碼學是構建在隨機性理論基礎上的密碼學的基石是單向函數(One-Way Function)。所謂單向函數是指一個方程Y=F(X),若知道X,能很快算出Y;但知道了Y,確很難算出X。而若要反推X,只能靠「死算」。

密碼學的一切都是假設單向函數的存在,而應用密碼學的通用辦法是構造一個「非常靠近」單向函數的函數,「非常靠近」即指當前沒有任何人能通過Y很快知道X,但是誰也無法保證將來有沒有人能。

MD5、SHA1、SHA2都是這樣的函數。在密碼學發展的各個時期充當了單向函數的使命,他們都曾經無法破解,而後因為巧妙的數學方法及算力的提升得到破解(MD5 和 SHA-1 不是已經早被王小雲破解了嗎,為什麼現在仍然通行?)。

下面回到正題。

單向函數因為無法反推,只能靠死算,故而在區塊鏈上充當了這個「算術題」的使命。那麼算術的難度如何規定的呢?

假設單向函數Y=F(X),Y的取值範圍是0-99999,考慮下面兩道題的難度大小:

(1) 尋找X,使得Y落到範圍0-99內

(2) 尋找X,是的Y落到範圍0-9內

兩道題誰更難?答案 (2)

難度相差多少?因為從X反推Y是不可能的,只能隨機挑選X來計算Y。從期望上來說題(2)是題(1)難度的十倍。

區塊鏈即為一個個用這樣的計算力保障的數據塊鏈條。從第一塊開始,每一個區塊依照一定規則收集數據,然後將這些數據附上一個值,使得形成的數據塊經過類似的單向函數計算後的結果落到一定範圍內。通過估算全網的算力以及控制結果範圍的大小,來保障符合要求數據塊在足夠長的時間內才能被找到。這個計算結果會被下一個區塊包含,而這樣形成的鏈式數據結構則稱為區塊鏈。

為何這樣的記錄方式很難被篡改呢?

就具體一個區塊來說,因為該區塊經由龐大的計算網路一起計算得出,背後有強大的算力保障。因為區塊鏈講究「先到先得」,誰先算到區塊,誰就決定區塊。任何一個想篡改數據的節點必須至少擁有同樣大小的計算力。所以篡改不是沒有可能,你要幹得過所有加入網路的計算節點,當這個網路越來越龐大,篡改的難度就越大。

另外一個,當區塊形成鏈式,並被當前計算網路接受。此時,越是想篡改舊的區塊,難度越大。因為你得把後面計算的區塊一併計算掉,因為區塊鏈除了「先到先得」,還遵循「越長越好」,因為越長的鏈條得到的算力保障越大,也就越不容易被推翻掉,也就越安全。

至於如果網路上的區塊鏈出現分叉,如何抉擇出誰是主幹,誰是分支,這就是後話,本文不想繞暈大家,而是想告訴大家:區塊鏈沒有什麼神秘性,僅僅是記錄數據的一種方法,它的出現是為了讓記錄的數據更加安全,而這個安全性是由密碼學來保障的,所以用區塊鏈構建的貨幣系統又稱密碼學幣。


1、區塊鏈的定義是什麼?

概括來說,區塊鏈就是一個去中心化的信任機制。

具體來說,區塊鏈技術是指一種全民參與記賬的方式。所有的系統背後都有一個資料庫,可以把資料庫看成是就是一個大賬本,目前是各自記各自的賬。

2、各自記各自的賬那到底聽誰的?

在區塊鏈系統中,每個人都可以來進行記賬,系統會選擇記賬最快最好的人,把他記錄的內容寫到賬本,並將這本賬本的內容發給系統內的所有人備份。

3、全民參與記賬有什麼好處?

①安全

沒有中央大賬本,所以無法銷毀

不是一台電腦可以控制的,所以無法作弊,每個人都有相同的賬本,能確保賬本記錄過程是公開透明的。

②全民記賬效率也會提高

沒有中心化的中介機構存在,讓所有的東西都通過預先設定的程序自動運行,不僅能夠大大降低成本,提高效率

③解決了中介信用的問題

以前兩個人合作,若是不信任對方,就必須依靠第三方,就像轉賬必須通過銀行。但通過區塊鏈技術,人們就可以實現在沒有中介機構的情況下雙方相互轉賬,比如比特幣,它就是區塊鏈的實際應用之一。

4、比特幣就是區塊鏈嗎?

比特幣是區塊鏈的一種應用之一,但區塊鏈不僅只有比特幣一種應用。

那麼比特幣是什麼?可以看這裡→比特幣是什麼? - 知乎

5、哪些行業可以運用區塊鏈技術?

區塊鏈的主要優勢就是無需中介參與、過程高效透明且成本低、數據安全度高。所以在這三個方面有需求的行業就可以用到區塊鏈技術。

6、金融行業可以用到區塊鏈技術嗎?

可以,但區塊鏈技術目前還不成熟,所以還沒有應用到金融行業當中。

但是,區塊鏈技術能夠通過防篡改和高透明的方式讓金融系統降低成本,根據西班牙最大銀行桑坦德發布的一份報告顯示,2020年左右如果全世界的銀行內部都使用區塊鏈技術的話,大概每年能省下200億美元的成本。這樣的數據足以說明「區塊鏈」給傳統金融領域帶來的巨大變革和突破。

區塊鏈技術在金融行業的應用設想

①在數字貨幣上的應用

對於數字貨幣交易而言,信用機制很是關鍵。若開設全球的區塊鏈系統,會將信用作為重要的衡量因素,到時,數字貨幣定會發展成為全球通用支付信用。

② 在支付結算上的應用

傳統的交易結算方式複雜、麻煩、效率低且成本高。必須及時進行轉變,區塊鏈技術成為一項重要選擇,該項技術在支付結算上具有高效性,支付結算的對象為交易雙方,雙方直接參与到結算之中,中間無需其他機構或組織的介入,甚至部分介面或節點位置出現問題,也不會影響整個交易系統。所以,在金融交易中,藉助區塊鏈技術構建分散式的交易協議,支持多種支付結算形式,能達到跨境、任何幣種均可交易的目的,實現跨境支付,使得整個支付結算過程變得簡單、方便,還可達到節約成本的目的。

③在信用保障上的應用

區塊鏈可發揮自身的優勢,藉助程序演算法實現對諸多信息的記錄與存儲,並將信息及時拷貝到每個節點,即計算機系統中,致使信息呈現公開、透明的狀態,信息不容易被篡改,且運行成本低。銀行將客戶的信用記錄、借貸信息等記錄到銀行內部的信用體系中,貸款方可直接調取相關客戶的信用記錄,為客戶提供所需的貸款服務。


無論在科技圈還是金融圈,區塊鏈儼然成了最熱的辭彙,沒有之一。區塊鏈具有去中心、去信任等核心優點,可以完美地解決共享經濟發展過程中的信息不對稱、交易成本高、陌生人信任等難題,使得「個體經濟」成為可能。基於此,區塊鏈技術,被認為是繼蒸汽機、電力、信息和互聯網科技之後,目前最有潛力觸發第五輪顛覆性革命浪潮的核心技術。

在此背景下,社會中誕生了一股區塊鏈熱,大家一邊倒地對其大唱讚歌。辯證法告訴我們,任何事物都有缺陷,看到事物的正反兩面才能理性決策。所以本文中,蘇寧金融研究院高級研究員薛洪言(洪言微語)就重點給區塊鏈潑點冷水。

|什麼是區塊鏈

區塊鏈,英文Blockchain,名字帶有相當神秘的科技氣息,可簡單分解為「數據塊」和「鏈接」。每個數據塊中包含了一定時間內的系統全部信息交流數據,並用密碼學的方法予以了加密;鏈接是指每一個區塊與下一個區塊存在鏈接關係,從而構成了區塊鏈。

一般認為,區塊鏈具有去中心和去信任兩大特徵,簡要介紹如下:

由於每個區塊都含有特定時間內系統全部信息交流數據,因而每個區塊都是平等的,且單一區塊的損害不影響系統整體的安全性,所以區塊鏈具有去中心特徵

同樣,由於每個區塊含有系統所有信息,使得信息的真實性是可以交叉驗證的,只有攻破超過51%的節點才能篡改信息,在一個足夠大的區塊鏈系統中,成本極高,可以認為區塊鏈中的信息都是真實的,所以區塊鏈具有去信任特徵

大多數人對區塊鏈的認識始於比特幣,二者的關係是,區塊鏈是底層技術和理念,比特幣僅是區塊鏈目前最火的一個應用而已。

也許上面說的還不夠通俗,最後再總結一下,你認為區塊鏈是什麼?是一項顛覆式的新技術嗎?NO!在蘇寧金融研究院高級研究員薛洪言(洪言微語)看來,與其說區塊鏈是一項新技術,不如說是一種新的思想理念。區塊鏈中包含的信息加密等技術早已有之,更多地還是理念上的革新,這也是區塊鏈之所以影響巨大的原因所在。新技術遲早會被超越,少則一兩年,多則四五年;而革新性的理念才有足夠的能量影響到經濟社會的方方面面。

|區塊鏈有望改變金融系統底層規則

在金融領域的應用中,區塊鏈將改變交易流程和記錄保存的方式,從而大幅降低交易成本,顯著提升效率,被認為在數字貨幣、跨境支付與清算、票據交易、證券發行與交易、產權交易、客戶徵信與反欺詐、反洗錢等方面擁有廣闊的市場環境。

這麼好的技術,自然是人人追捧。和很多傳統金融人士一樣,洪言微語一開始也是抗拒的,認為這東西哪有那麼神,並沒有專門去做研究。後來隨著對金融科技研究的逐步深入,發現區塊鏈是繞不過去的坎,因為無論是智能投顧、大數據風控還是在線借貸,都只是金融業務層面和風控層面的技術創新,並未深入金融體系的底層。金融系統的底層是什麼?自然是支付清算、交易規則和系統交互,區塊鏈改變的恰恰是底層規則。

所以,縱觀國際國內,金融機構對區塊鏈的研究最為積極,沒別的,是真的怕了。區塊鏈的去中心化和去信任化特徵充分發揮後,還要金融機構的中介做什麼呢?估計這也是很多對區塊鏈有了初步了解的人的第一感覺。

本篇文章中,洪言微語就重點對這種觀點潑潑冷水。

|顛覆金融體系,區塊鏈仍面臨兩座大山

馬克思主義辯證法告訴我們,凡事都有兩面,優點越突出,缺陷也就越明顯,只是角度不同罷了。區塊鏈顛覆金融體系的兩大難題恰恰出在去中心化和去信任化兩大優點上

首先講講去中心化。先要明確一個道理,中心化必然代表著低效率嗎?自然不是的。在特定的範圍內,中心化帶來的資源集中是可以大大提升效率的,這也是人類進化過程中從個體到村落到部落再到國家的原因。就以銀聯為例,銀聯是國內銀行業清結算的中心,銀聯成立後,每家銀行只需要和銀聯對接即可實現和所有銀行的交易,若去中心化呢,沒有銀聯,每家銀行需要和所有的交易對手去對接,效率孰高孰低?所以,沒有必要對中心化一棍子打死,區塊鏈的去中心化特徵,註定只能在特定領域(即不適合中心化的領域)發揮作用,怎麼可能顛覆一切呢?

再者,就是去信任問題。去信任本身沒有問題,但是其背後的技術邏輯有很大的缺陷。區塊鏈實現去信任靠的是全民記賬,即在每個區塊上保留所有的交易信息,以供系統交叉驗證,辨真偽。問題來了,每個區塊保留所有交易信息,在小的區塊鏈上是沒有問題的,但隨著越來越多信息的加入,必然導致交易信息的爆髮式增長,也會帶來信息存儲成本的急劇上升。同時,信息量越大,交叉驗證所需的時間越長,效率也會越低下。所以,區塊鏈解決了信任問題,但帶來了成本的上升和效率的下降

世上原本就沒有十全十美的事情,區塊鏈也是如此。

作為結語,洪言微語想要闡明的是,區塊鏈作為一種理念的創新,的確有很大的價值,在特定領域也可以產生顛覆式的影響。但當前對區塊鏈一邊倒的思維是有問題的,東方智慧告訴我們,「極高明而道中庸」,面對任何事物,保持中庸之道才是最明智的。

(文/薛洪言,蘇寧金融研究院高級研究員;微信公眾號:洪言微語)


區塊鏈說白了,就是一個分散式的記賬的一個小本本,用來記賬的一個工具,並且基於密碼學加密學的技術鋪墊,一旦數據交易記錄在區塊鏈這個本本上了,數據是不可篡改和抵賴的。
互聯網是價值的傳遞,那區塊鏈呢就是信任的傳遞。在區塊鏈技術作為信用背書的前提下,區塊鏈中的各節點從各自單一的中心變為多方參與的統一多中心,不需要第三方機構的參與便可實現交易傳遞,效率提高。
為了讓大家更好的對區塊鏈是什麼,為什麼可以有去中心化的強大能力,下面這張圖應該可以更好的回答大家的疑問:

http://weixin.qq.com/r/CUhAWIzE_NGHrcg79x0b (二維碼自動識別)


相信看完這張長圖大家對區塊鏈有了基礎的認識吧,如果有疑問歡迎留言,一起來探討區塊鏈吧~


區塊鏈本質上是一個分散式的公共賬本,聽起來很蒙圈?別急,後面會用最深入淺出的方式來一一解釋。

任何人都可以對這個公共賬本進行核查,但不存在一個單一的用戶可以對它進行控制。在區塊鏈系統中的參與者們,會共同維持賬本的更新:它只能按照嚴格的規則和共識來進行修改,這背後有非常精妙的設計。

舉個通俗的例子來解釋,W先生全家,包括 W 先生,W 夫人,W 爺爺, W 奶奶,各自的賬本上都記錄了大家的開支。因為 W 先生全家互相不信任。W 先生自己勤勤懇懇每個月養老婆,可W 夫人可能會收到1000塊錢卻記收到100,那豈不虧大了?

用區塊鏈如何解決這個問題呢? 假如某天 W 先生給了1000塊給 W 夫人,他只要在向全家人大吼一聲—— W 先生給了 W 夫人1000,請大家在各自的賬本上記下「W 先生給了 W 夫人1000」,就OK了。

於是 W 先生全家每個人都成了一個節點,每次 W 先生家的交易都會被每個人(每個節點)記錄下來。

每次晚上誰洗了碗(工作量證明)之後就可以在公共賬本上結賬,而且洗碗還有報酬,必須在前一天大家都公認的賬本後面添加新的交易,而且其他人也會參與驗證當天的交易。

自然會有人問,能否進行惡意操作來破壞整個區塊鏈系統?比如不承認別人的結果,或者偽造結果怎麼辦?

比如 W 夫人某天忽然說 W 先生沒給她1000,那麼全家人都會站起來斥責她。如果 W 夫人某天洗完碗想在結賬的時候動手腳,其他參與驗證的人也會站起來斥責她(除非她能收買超過一半以上的人),被發現作假會導致她那天的碗就白洗了,報酬也會拿不到,很可能第二天還要繼續洗碗。

最後那個公認的賬本也只會增加,不會減少。後續加入的家庭成員都會從最長的那個賬本那裡繼續結賬。

總結一下,區塊鏈其實很簡單,就是一個分散式的公共賬本。


    區塊鏈(Blockchain)是由節點參與的分散式資料庫系統[1],它的特點是不可更改,不可偽造,也可以將其理解為賬簿系統(ledger)。它是比特幣的一個重要概念,完整比特幣區塊鏈的副本,記錄了其代幣(token)的每一筆交易。通過這些信息,我們可以找到每一個地址,在歷史上任何一點所擁有的價值。


    區塊鏈是由一串使用密碼學方法產生的數據塊組成的,每一個區塊都包含了上一個區塊的哈希值(hash),從創始區塊(genesis block)開始連接到當前區塊,形成塊鏈。每一個區塊都確保按照時間順序在上一個區塊之後產生,否則前一個區塊的哈希值是未知的。這些特徵使得比特幣的雙花(double-spending)非常困難。區塊鏈是比特幣的核心創新。

區塊鏈維基 | 巴比特

強烈推薦這個答案:
什麼是「區塊鏈」?


區塊鏈是個新領域,需要了解計算機、密碼學、金融、政治、經濟等等,才會相信這個東西有前景。看了大家介紹這麼多區塊鏈的原理,我想換個角度來分析到底如何來看待區塊鏈有什麼價值?能不能成功?

定個標題,方便大家了解核心思想。

財富新戰場:區塊鏈與加密資本

比特幣自2009年1月9日誕生以來,靠著強大的應用場景和一次次事件曝光,逐漸從科技圈、資本圈進入到大眾視線。截止2017年8月23日,比特幣的價格在28000元人民幣/個,整體市值達到了4600億人民幣左右。

09年比特幣剛剛誕生時只被少數人了解(大多數人都選擇了忽略),哪怕後知後覺從2011年開始投資比特幣至今也可以獲得超過4000倍的回報。中國比特幣第一人李笑來,就是在比特幣誕生兩年後才開始參與到比特幣的投資,如今他的比特幣資產超過20億人民幣(要知道他當年的總投資成本只有100多萬人民幣)。16年以來,在加密貨幣領域,一個新的辭彙「區塊鏈」不斷在各個媒體平台被提及。

幾年前,人們對比特幣充滿了各種不信任,認為它取代不了法幣,就是一個網路極客發明的新型龐氏騙局。然而,有了比特幣對市場多年的教育,區塊鏈一出現就受到了各路資金的追捧,也受到了眾多公司、政府的青睞。它的博弈機制、非對稱加密技術和數據結構,可以形成一個分散式賬本,可以通過去中心化、去信任化的方式共同維護一個可靠的資料庫解決方案。

從大的方面講,區塊鏈可以解決千百年來的中介機構乃至政府的社會信任問題,從小的方面講它可以應用到支付、銀行、股權交易以及最近很火的共享經濟等等。

所以,歸根結底,區塊鏈最核心的革命特性是改變千百年來落後的信用機制。

那麼,問題來了:

●為什麼會出現信用革命?

●頂級資本認同嗎?

●區塊鏈會成功嗎?

1.從宗教賬本到主權信用,再到信用革命。

很少有人意識到,未來10年的生產力進步可能會等於幾千年的總和。

更少的人意識到,迄今為止,生產關係已經有160多年沒有進步。

今天,人們對區塊鏈如此的著迷。本質上源於生產關係的改變可能帶來巨大紅利。生產力和生產關係,本該是一對車頭和車廂的一般緊密。但如今火車頭跑的已經很遠,但是車廂還在原地,這本身就不科學。

回顧歷史,生產力在工業革命之後已經出現了長達將近兩個世紀的飛速發展。每一次高速發展都是對生產關係的顛覆,並會對世界進行一次資本洗牌。

生產關係來自權力,權力的早期來源於宗教的賦予,宗教藉助權力和謊言制定社會的行為規範以及財富的分配方式。《聖經》《古蘭經》《佛經》就是最早期控制生產關係的原罪賬本。在漫長的中世紀,宗教+軍事聯合體的這一模式一直穩定的延續了1000年,直到黑死病的發生,讓人們開始從愚昧走向科學。

在科學騰飛的時代,生產力的發展需要大量的勞動資料。人口資源的利用需要一種新的生產關係制度來維繫。於是,優秀的主權國家,開始強化【國家共識】,推動【價值互聯】,人類就又來到了主權信用社會。當時,國家通過產權/股權交易市場,將國家貨幣,鏈接更多的非標準化資產。這一過程,恰恰就像今天的數字貨幣世界所做的ICO。建立在主權國家信用的社會體系上,國家強的貨幣強,具有較強信用等級的國家貨幣,完全可以利用其金融手段貨幣手段,去干預全球的生產力和生產關係的發展。

如今的生產力與19世紀相比在大幅提高的基礎上,局面如何:

1.已經變成了由多數勞動苦力參與,變為由少數人(高智商研發人員)控制的局面。他們的生產力消耗的資源是虛擬的知識和數據,不是鋼鐵和木材,這是人類歷史上第一次核心生產資料看不見、摸不著,而且被少數人掌控。

2.經歷了20年的互聯網化,原來越多的生產關係和交易都在雲端處理。這是人類歷史上第一次,生產關係需要交給看不見、摸不著的雲端計算機程序,越來越難以干預。

3.目前比特幣的市值已經躋身世界前20名,後面還有130多種貨幣。在無現金社會和電子貨幣社會的未來場景里,大量的主權信用面臨著與數字貨幣的同時競爭。在這種情況下,到底是繼續信仰主權,還是信仰計算機?

迄今為止,生產關係已經160多年沒有進步,我們在享受工業革命、互聯網革命、信息革命等等時代紅利的同時,也在使用著傳統守舊的絕對權力控制的金融中介和不透明的信用體系。現如今的的區塊鏈領域進行的加密資本投資,正是在進行一次打破原有信用體制的勇敢嘗試。

首先,運用區塊鏈技術打造擁有共享帳本、智能合約、隱私保護和共識機制等多種功能的產品在多領域進行應用。

然後,通過區塊鏈自身的加密貨幣市場,利用代幣進行ico融資,從而打造一套內生的投融資體系。

在這一過程中,中心化的金融機構將首先受到影響,然後蔓延到其他資本領域。參與ICO,其實是區塊鏈技術作用於生產關係迭代的一次嘗試,參與的結果會導致生產關係的重塑和生產資料的重新分配。

這也可能是新一輪財富分配的歷史性機遇,未來的加密資產將形成一個龐大的規模。

2.巨頭進場,區塊鏈正被主流資本接納

如果仔細觀察,我們會發現馬雲這兩年在公共場合提及最多的概念便是信用體系。互聯網在未來不會是創業主題,而會像空氣一樣成為我們生活中的一部分。

螞蟻金服更是馬雲最為看重的業務體系,在馬雲的構想下,未來人們的生活將無現金化,並可以用信用自由兌換商品。這一切的實現,十分需要一種革命性的信用機制。這一機制在2016年的支付寶APP里已經悄然上線---螞蟻區塊鏈。

我們都還清楚的記得幾年前的郭美美事件,讓大家對紅十字會失去了信任。每當中國發生災情,我們每個人在捐款時都會質疑錢到了哪裡?螞蟻金服正在做的事情,就是想依靠區塊鏈技術構建去中心化的信任體系。

無獨有偶,同樣的信任革命已經通過全球各大資本逐漸滲透到各行各業。

2017年3月,企業以太坊聯盟(EEA)宣布正式成立,摩根大通、微軟、英特爾等近30家巨頭加入。

2017年5月,區塊鏈技術公司公信寶(杭州存信數據科技有限公司)獲得由真格基金、天使投資人李笑來聯合投資的千萬級別天使輪投資。

2017年8月8日,日本軟銀集團孫正義旗下的投資公司SBI宣布投資了區塊鏈公司OMG。

2017年8月28日即將上線的HMS,更是由原IDG團隊合伙人創立,試圖用互助醫療的形式來解決全民健康問題。投資方包括IDG和李笑來。

除了以上這些知名資本企業進入區塊鏈領域,還有更多數不清的區塊鏈公司已經不需要向知名資本募集資金。他們藉助區塊鏈技術的優勢,可以自己發行代幣,在公開市場上進行融資活動。這一方式被稱為ICO,與證券市場的IPO頗為相似。

據不完全統計,2017年全球的ICO募集資金近20億美元,比2016年暴漲1000倍。這一爆髮式的增長,引來了很多質疑。有人說,這是利用政策漏洞進行非法牟利的行為。然而,從法律上來講,界定非法集資的重要判定原則看是否現金參與,然而由於區塊鏈領域的ICO,完全是利用代幣形式進行募集,法律對此還沒有明確的界定。

當然,所以的新生事物,都會出現在法律的邊緣,但是這麼多知名投資機構的參與,其實已經幫我們做了很多次嚴謹細緻的調查和分析,可以放下心裡對新事物的抵觸情緒來擁抱變化。

那麼加密資本市場的變化已經到什麼階段?

據Standpointc創始人稱,加密資本市場規模將達到2萬億美元。他認為這一新技術不僅能延續多達十年的趨勢,還是一個確實可信的資產類別。這與上實際90年代矽谷類似---產生大量的新技術,改變了人們的生活和工作方式。

就在今年8月的美國矽谷,有 1500 個 ICO 已經或者即將推出,初創公司凡是可以 ICO 的,都會去 ICO。更多風險資本追逐加密貨幣,風險家(VC) 將被迫變成加密資本家(CC)。

我們都知道傳統的VC 分類(種子階段,早期,晚期,等等)會變成pre-ICO, post-ICO。後ICO(Post-ICO) 的VC 會和對沖基金競爭,這不是個(適合VC競爭的)好地方。前 ICO(Pre-ICO) 的VC 需要像天使投資者一樣帶來附加價值,對於很多VC 而言這不是他們熟悉習慣的位置。最終(美國)證監會會決定ICO 這個領域究竟有多大,可能會很大。

在我看來,多數VC 面對這個新的顛覆性的現象,大腦還沒轉過彎來。

3.艱難一躍,區塊鏈成功近在咫尺

美國高德納諮詢公司從1995年開始使用的技術成熟度曲線來分析新科技從出現到成熟所經歷的幾個階段:

1.觸發期:產品概念瘋狂,但是缺點問題很多,失敗的案例大於成功的案例。

2.膨脹期:有成功和失敗的例子,但失敗的公司經過補救仍然不能存活。

3.幻滅期:歷經前兩個階段所存活的科技經過多方紮實有重點的試驗,從而對該科技的試用範圍有所了解,成功並能存活的經營模式越來越多。

4.復甦期:在此階段,會因為一新產品的誕生而讓此科技收到主要媒體和業界的高度認同。

5.成熟期:在此階段,新科技產生的利益與潛力被市場實際接受,實質支援此經營模式的工具、方法論經過數代的演進,進入了非常成熟的階段。

據2016年的技術成熟曲線顯示(如下圖),區塊鏈技術經過了7年的發展進入了期望膨脹期。

截止2017年7月,區塊鏈已經越過了期望膨脹期,進入幻滅期。

越來越多的產品進入市場,也有一些比如公信寶這樣的公司已經實現了盈利。倘若在接下來時間裡,有更多的公司通過區塊鏈技術獲得不錯的收益,一定會讓這項技術實現艱難的一躍,逐步走向復甦期和成熟期。

從目前全球市場對區塊鏈的態度來看,日本已經宣布比特幣合法化,愛沙尼亞已經要準備進行國家ICO項目,中國央行早在2016年就表態支持區塊鏈。

2016年11月,中國政府正式把區塊鏈列入十三五規劃綱要中。

我們有理由相信,區塊鏈技術可以成功從一項新技術走向大眾的生活中。隨著區塊鏈的普及,加密資本也將會在未來成為規模最大的金融投資領域。

我們處在巨變前夕,99%的人看不見,0.8%的人看不起,0.19%的人看懂了,0.01%的人在行動。


最近在學習區塊鏈技術,很多科普文章的確寫的很贊,但是缺乏一個比較直觀的角度,這篇就從用戶需求的角度出發,一步一步發明區塊鏈技術(或者說比特幣,因為兩者互相依存),也在文中探討了關比特幣與金融,ICO,競爭幣等等,其中很多觀點可能有謬誤或者不妥請多指正和交流討論

觀看超清圖+排版更加Fancy的版本歡迎光臨我的博客:鏈接


因為貪婪,所以信任


1、加密貨幣

在一步一步發明發明比特幣之前,解釋幾個直觀的認知:

我們常說的比特幣,是加密貨幣(Cryptocurrency)的一種,而加密貨幣實現去中心化的最關鍵的技術是區塊鏈

有些地方可能把加密貨幣又稱為數字貨幣(或稱電子貨幣),但實際上,加密貨幣是數字貨幣的子集,同為子集的還有虛擬貨幣(如Q幣),加密貨幣的稱謂要更加專業

加密貨幣一定具有下列三個特點

  • 去中心的清算
  • 分散式的記賬
  • 離散化的支付

為了實現這些特點,需要使用到區塊鏈技術。這裡的區塊鏈技術是一個很廣義的範疇,它包含了密碼學,演算法等很多不同的內容,其中最精彩的點子,可算是工作量證明 = 共識信用


2、一步一步發明比特幣

2.1、第一個用戶需求 - 賬本和電子簽名的由來

第一個用戶需求描述了中心化清算系統幾個關鍵內容的由來,只對區塊鏈感興趣的讀者可以跳過

經濟體的蓬勃發展離不開交易。在交易過程中,人們早已發現使用一般等價物(如金銀)十分麻煩,發明了紙幣(最早的來自中國,北宋時代四川地區的紙幣交子的清算體系,是生產力發展的必然產物,最終的目標是提高生產效率),現如今,人們發現,攜帶現金也很麻煩

這是第一個基本用戶需求:擺脫現金進行交易帶來的不便

【解決辦法】幾個用戶使用公共賬本記錄轉賬記錄,月底結算賬本公開,每個人都可以修改,也就是說可以在上面添加新行(一筆交易),如小明轉賬給小紅10塊錢

2.1.1、產生的問題1:身份問題

在這個賬本條目上我們無法確認交易雙方小明和小紅是否是本人,可能出現偽造(逍遙法外電影中的偽造支票)

【解決辦法】使用電子簽名,即公鑰 - 私鑰對

記住,電子簽名被發明的核心目的是希望在電子文檔也能有一個類似與現實中個人筆跡的簽名,目的一定是:確認寫這個簽名的人是本人,即身份確認(驗證)

私鑰顧名思義,也叫做密鑰,是你本人需要需要妥善保管和保存的

Sign(	ext{信息},私鑰) = 	ext{電子簽名}

Sign在這裡是一個函數,可以理解為一連串計算(變換),這一連串計算有一個特點,就是輸入值只要改變一點點,輸出就會完全改變。信息和私鑰一起,可以得到一個電子簽名。並且這個電子簽名不能被輕易的複製到其他信息里,原因是因為每一個電子簽名都和這一段信息有關聯。

Verify(	ext{信息},	ext{電子簽名},	ext{公鑰}) = 	ext{真/假}

在進行驗證的時候,Verify也是一個函數,輸入值是信息,電子簽名,公鑰,輸出是一個True or False,來判斷這個電子簽名是真的還是假的。

這個時候可能有人就要問了,這個電子簽名我難道不能試出來嗎?很不幸,這是一個有256bit的1/0字元串,可能性是 2^{256} ,無窮大。

解釋完電子簽名,我們來看看實例。小明使用自己的私鑰加上小明轉給小紅10塊錢的文字通過Sign函數生成一個簽名(256位),把簽名放在這條轉賬信息的後面,通過之前的講解,這個簽名就能保證小明已經過目了,並且說:「這真的是我小明,不用懷疑了!肯定是我

直觀結果是,我們可以利用密碼學的手段,只要有對應人的數字簽名,我們保證小明和小紅的身份能被100%確認真實

但是這個解決方案有一個小漏洞:可以複製同一行信息來偽造交易記錄,解決的辦法是添加一個這筆交易獨有的信息(比如時間戳)

2.1.2、產生的問題2:欠債跑路問題

如果小明在此時賬戶上已經沒有足夠的餘額進行支付,就會出現超支問題

【解決辦法】添加餘額記錄,此時就不可避免的需要一個中間擔保人(國家?信譽機構?銀行?)為小明進行餘額擔保

2.1.3、一個大家都遵守的協議

此時,現代金融體系的框架基本建立完畢,協議內容是

  • 任何人都可以在賬本上添加新行
  • 固定時間間隔時用真金白銀進行清算
  • 只有有簽名的交易是有效的
  • 中間擔保的人保證不可超支

此時發現一個很有趣的結論,這個比較嚴謹的協議有一個特點:如果所有人都按照這個協議來辦事,我們可以用任何形式的東西來代替人民幣了,換句話說,就是我根本不關心你在賬本上添加的新行的交易內容是什麼,可以是任何東西

利用這個提出需求再解決問題的過程,強化一個認知貨幣 = 交易記錄(賬本),即貨幣的本質是交易記錄,在這背後,有一個前提是,貨幣的另一個本質是一種共識,我們都信任它有價值的共識

2.2、第二個用戶需求:賬本放在哪裡?

傳統的(現在的)解決方案當時是,使用中心代理-銀行,來存放賬本

既然是第二個用戶需求,那肯定就是因為現在的解決方案大家都不滿意

2.2.1、核心需求:去中心化

中心化的痛點大致可以說幾點

  • 銀行效率低下,一筆跨國轉賬的等待時間較長
  • 胖銀行金融體系因部分準備金制度等等方便的規則,能抬升槓桿,產生金融泡沫,進一步誘發金融危機
  • 私有財產神聖不可侵犯是精英與平民,剝削與被剝削者幾個世紀以來博弈的風暴中心

當然還有很多沒有提到(比如好處,控制經濟發展速度,調控供需平衡等),總之,是一種一直飽受詬病的清算方式,此時,中本聰在2009年橫空出世,他提出了一種全新的清算方法,並且真正解決了陌生人間信用的問題!接下來就是真正的一步一步的發明比特幣了

2.2.2、如何實現分布記賬(去中心化)

為了去中心化,我們可以反其道而行之:每個用戶保存賬本,分布記賬。用戶產生一筆交易就將這筆交易廣播到到網路上所有的節點上,這樣不就完美的去中心化了?

只要是明眼人都能發現,太天真的,這個方法行不通。若行不通,那就把行不通的原因總結出來

遇到問題,總結不可行的原因,尋找解決方案。這是整個人類不斷前進的核心最小單位

2.2.2.1、問題核心

如何讓所有人都同意這個新賬本?如何保持這些賬本同步?有一筆交易發生時,如何讓其他人都聽到並相信這一筆交易呢?

這些問題才是真正的核心:是否能在協議(辦法,規則)中添加幾行,找到辦法,來決定是否接受交易,並確定交易順序,使你可以放心的相信,世界上遵守同一協議的所有人手上的賬本都和你的一模一樣呢?(問題描述值得品讀,只有抽象出問題才能更好的去尋找解決方案)

2.2.2.2、☆解決方案

解決的思路是:哪個賬本的計算工作量大,就信任哪個賬本。換個角度來說是【讓交易欺詐和賬本不一的情形的計算力成本高到不能接受甚至完全不可行】

1、密碼學:哈希函數

哈希函數,輸入可以是任意信息或者文件,輸出是固定長度的比特串。例如256bit的1/0串,這個輸出叫做這個信息的「哈希值」或者「摘要」(digest)。SHA256就是一個哈希函數

密碼哈希函數有幾個特點

  • 特點是輸入值稍微變化後,結果就會有很大的不同,完全無法預測不同輸入間的規律
  • 逆向計算不可行,只能使用試錯法(窮舉法),解空間2^{256}

在每一個賬本後添加一個特殊數字,對整個列表使用SHA256,我們要求這個特殊數字可以使得輸出值的開頭有30個零(關於如何確定0的個數問題,在後面部分有詳細的說明)

根據之前說過SHA256的性質:輸入變化輸出不可預測,找到這個特殊數字唯一的辦法就是窮舉。換言之,你很容易就證明了他們進行了海量的計算。而這個特殊數字就叫做工作量證明(proof of work)

這就意味著,所有的工作量證明就對應了交易列表(賬本 Ledger),如果你修改了一個交易,哪怕只是其中一個字元,就會完全改變哈希值,就得重做工作量證明,直觀動圖如下

2、區塊鏈 - 信任與共識的基石

每一個小賬本被稱為區塊每一個不同的區塊鏈協議(產生不同的加密貨幣)都會規定每一個區塊的大小(最初比特幣為1M)

賬本組成區塊,區塊構成鏈表,區塊的頭包含前一塊的哈希值,這就是區塊鏈

如此一來,任何人就不能隨意修改其中的內容,或者交換順序。如果你這麼做,意味著你需要重新計算所有的特殊數字

規定,允許世界上的每一個人建造區塊。每一個新建區塊的人(找到了這個特殊數字 - SHA256值有30個零)都能獲得獎勵,對於新建區塊的這部分人(礦工)來說

  • 沒有發送者信息,不需要簽名
  • 每一個新區塊都會給整個幣種增加新的虛擬(加密)貨幣
  • 新建區塊的過程又被稱為「挖礦」:需要大量工作量並且可以向整個經濟體注入新的貨幣
  • 挖礦的工作是:接受交易信息,建造區塊,把區塊廣播出去,然後得到新的錢作為獎勵
  • 對每個礦工來說,每個區塊就像一個小彩票,所有人都在拚命快速猜數字,直到有一個幸運兒找到了一個特殊數字使得整個區塊的哈希值開頭有許多個零,就能得到獎勵。我記得有一個知乎答主給了一個形象的比喻,區塊鏈就像一個擁有貌美如花女兒(區塊)的國王,有很多的青年翹首以盼,而國王的方法是出了一道很難得題目讓所有的青年計算(學習改變人生),誰算的快(在計算哈希值過程也可能是運氣好)就能抱得美人歸
  • 對於想用這個系統來收付款的用戶來說,他們不需要收聽所有的交易,而只要收聽礦工們廣播出來的區塊,然後更新到自己保存的區塊鏈中就可以了

3、51%算力-共識攻擊

這裡有一個小漏洞,因為網路的延遲或者有人在篡改區塊鏈等因素,你作為一個收聽網路廣播的用戶,如果同時接受到兩條不同的區塊鏈怎麼辦?其中的交易信息發生了衝突

註:區塊鏈本身就是最終的大賬本,發生交易的唯一方法就是把你的交易加入到大賬本上。具體來說,就是讓礦工把你的交易記錄加入它新挖到的區塊中,並把這個區塊鏈接到區塊鏈上。鏈表的紐帶,當然就是工作量證明

對於上面的問題,用戶的解決方案也比較簡單:即,只保留最長的,也就是包含的工作量最大的那一條

這裡有一個Trick,即所謂信任工作量最大不僅僅是出【一道難題】,還通過等待多個區塊的產生引入世界上所有礦工之間的博弈(吃瓜群眾,坐看大戲,誰厲害我選誰,你們儘管斗)

個人觀點:區塊鏈的Idea最核心的創新就是從技術上把信任和貪婪畫了等號。因為貪婪(希望去競爭建立區塊的建立和交易費)所以信任(全網算力越大,用戶越放心),這句話甚至帶上了些許哲學和傳奇的色彩

對於用戶來說,是這樣一種情景

其中的原因是,你可以假設Alice希望篡改一個交易信息,那麼就意味著Alice需要不斷的通過計算維護這個區塊鏈了。也就是說每一次有新的區塊鏈產生,Alice都需要不斷的搶到這個彩票,理論上來說,他至少必須擁有全網51%以上的算力才能做到這一點,更多的,隨著用戶等待區塊的增加,這個難度,冪次上升,在7-8個區塊鏈產生後,概率上來講,就是絕對信任

此時

  • 我們用數字簽名保證了不能偽造交易記錄
  • 區塊鏈及工作量證明保證了不能篡改其中的信息

這兩點,就完成了:證明區塊鏈的每一條交易記錄都是可信的這一終極目標

2.2.3、總結 - 系統可行性分析

只需給出一個命題來思考:我們如何才能在這個系統下騙人呢

  • 如果你想篡改一筆不存在的交易記錄,那麼你必須比所有人都算的快,贏得這個彩票
  • 所有用戶會繼續收聽其他礦工的廣播
  • 所以為了讓所有用戶繼續相信這個偽造的區塊
  • 你必須投入自己所有的工作量,不斷給篡改後的區塊鏈分叉增添新的區塊
  • 記住:根據協議,所有用戶會一直信任他所知道的最長的鏈
  • 是的,你持續的競爭過世界上所有的礦工的概率或者說代價,實在太大了,得不償失(其實法律也是一樣的道理,它強制給違法的人給予懲罰,讓違法者付出他們不能承受的代價了保證公平和社會穩定運行)
  • 注意,作為一個用戶,你不能立馬相信你所聽到的最新區塊,而是應該等待多幾個區塊被創建過後,再確認這的確是世界所有人都在使用的區塊鏈

2.3、發明過程中的關鍵點

  • 電子簽名 Digital Signatures
  • 公共賬本就是貨幣 The Ledger is the currency
  • 去中心化 Decentralize
  • 工作量證明 Proof of work
  • 區塊鏈 Block Chain

3、比特幣技術

到這裡,已經發明了比特幣,解決了去中心化的信任這一難題。只對比特幣和區塊鏈是什麼這個問題感興趣的讀者,可以停在這裡了,希望大家可以在我的敘述中解決一些困惑!鞠躬!

針對比特幣的一些實現的內在細節,繼續在探索和學習的道路上披荊斬棘。新技術,新點子,要擁抱它,使用它,判斷它,必須先追根究底了解它

我們知道區塊鏈中記載的核心內容,對於比特幣(加密貨幣)來說就是轉賬記錄。但是,一個概念真正落地成大眾可以用的服務,有很多技術上,協議上的細節。接下里的部分主要探討一些比特幣具體實現方面的細節,如網路節點構成,比特幣的計算難度係數,比特幣總量的由來,比特幣一筆交易發生的內部細節等

3.1、比特幣網路節點的構成

比特幣網路是一種點對點的數字現金系統(P2P),網路節點中每台機器都彼此對等。P2P網路不存在任何服務端、層級關係或者中心化服務。

3.1.1、節點類型與分工

一個全功能節點包含上述4個模塊【錢包Wallet】【礦工Miner】【完整區塊鏈fullBlock-chain database】【網路路由節點Network routing】

  • 【網路路由節點】使得節點具有參與驗證並傳播交易與區塊信息,發現監聽並維持點對點的鏈接的能力
  • 【完整區塊鏈】具有此模塊的節點被稱為:全節點。它能夠獨自自主的校驗所有交易,不需要任何其他信息。
  • 【錢包】比特幣的所有權是通過數字密鑰、比特幣地址和數字簽名來確定的,數字密鑰實際上並不是存儲在網路中,而是由用戶生成並存儲在一個文件或簡單的資料庫中,稱為錢包。有些節點僅僅保留區塊鏈的一部分,通過一種」簡易支付驗證「(SPV Simplified Payment Verification)的方法來完成交易
  • 【礦工】挖礦節點以相互競爭的方式創造新的區塊。有一些挖礦節點也是全節點,可以獨立挖礦;還有一些參與礦池挖礦的節點是輕量級節點,必須依賴礦池伺服器維護全節點進行工作

擁有全部四個模塊被稱之為核心客戶端(Bitcoin Core),除了這些主要節點類型外,還有一些伺服器及節點運行其他協議,如特殊礦池挖礦協議、輕量級客戶端訪問協議。

下表為擴展比特幣網路的不同節點類型

3.1.2、擴展比特幣網路

要在全世界的網路中完成整個的交易,下圖描述了一個擴展比特幣網路,它包含了多重類型的節點、網關伺服器、邊緣路由器、錢包客戶端以及它們互相連接所需要的各類協議,比特幣互相連接的介面一般使用8333埠

可以參看這個文章了解Stratum協議,Stratum協議詳解

3.2、如何控制區塊產生速度恆定

3.2.1、難度係數

我們在發明比特幣的過程已經詳細說明了工作量證明尋找一個特殊數字使得SHA256函數的輸出字元串的前n位是零

對於每一種不同的加密貨幣來說,都有一個值需要在建立貨幣的時候時候被定義,即每一個新區塊在當前全網算力的條件被發現的【平均時間】,這也是難度係數的由來

比特幣10分鐘;以太坊15秒;瑞波幣3.5秒;萊特幣2.5分鐘

拋開代碼演算法層面來說,實現方法就是通過找前n位是0的方法。從概率角度來說,n值越大,意味找到這個這個數的解範圍越小。

隨著需求0的數目一個一個增加,需要的計算時間將會程指數增長

那麼肯定會問,這個難度值如何動態調整?由誰調整?

3.2.2、難度調整方式

難度的調整實在每個完整節點中自動發生的。如果網路發現區塊產生速率比10分鐘要快時會增加難度。如果發現比10分鐘慢時則降低難度。

例如比特幣中的是這樣定義的:每2016個區塊後計算生成它們花費的時長,比上20160(14天)調整一次。有人可能會問,如果在這十四天內計算能力暴漲怎麼辦,其實這個10分鐘的區塊新建間隔的規定也只是一個估計要求,真實情況下,這個時間會偏離10分鐘這個設定值很多,但是這種偏差並不會對整個區塊鏈的運行產生影響

3.3、比特幣總量的由來

我們已經知道,礦工沒新建一個區塊就可以得到一定數量的比特幣作為獎勵,最開始,一個區塊可以得到50BTC的獎勵,之後每210000個區塊,獎勵減半,直到2140年,所有的比特幣將會發放完畢,可以得到公式Total = 210000 	imes(50 + 25 + 12.5 + ldots) = 20999999980 approx 	ext{2100萬}

而這個規則不同的競爭幣種都可以自由設置。但是因為交易費的存在,挖礦的人還是會有收益,否則無法建立新的區塊,那麼整個比特幣網路就癱瘓了

3.4、比特幣的交易處理能力

3.4.1、現在比特幣區塊鏈的區塊信息

我現在直接從BLOCKCHAIN上,在我寫下這句話的時候,最新的區塊是情況

其中的重量是指的實際存儲的大小,這個值和交易協議有關,其實可以忽略。非常幸運的是,這幾個區塊放佛是專門為講解這一節而出現的,這可能是天意吧

另外插一句,你會發現平均區塊建立間隔時間,的確和10分鐘這個設計值差距很大吧

3.4.2、區塊容量

比特幣從被創建時,或者說源代碼中規定了,區塊容量是1M。最初設計成1M的原因一方面,防止DOS攻擊。另一方面,當年中本聰在創建區塊鏈的時候的容量是32M,但是他通過一個說明為」Clear up「這樣毫不起眼的Commit把區塊容量改成了1M,為防止區塊鏈體積增長過快,為區塊容量這個問題添加了些神秘色彩。好吧,我承認,中本聰就已經非常具有神秘色彩了,是在神秘色彩上添上了些故事

通過上表我們知道,1M的容量意味著比特幣最大的處理交易數量在約2400(486882區塊1034.39的大小很接近了),在給出一張時間和每秒交易數量的關係圖表(交互表格點擊鏈接)

這是一張對數圖,縱坐標是每秒交易數量,橫坐標是時間。其中,藍色圓圈的大小代表的是比特幣內存池(mempool)的大小(交易在等待礦工處理之前都會暫時存在這裡)。

一句話總結,這是一個擁堵的網路,已經重負不堪。

再來看一張比特幣交易費和區塊使用率之間的關係圖(交互表格可以點擊鏈接)

藍色的圈大小是Mempool的大小。橫坐標是區塊容量的使用情況,縱坐標是每一個區塊的可以得到的交易費用。

手續費隨區塊使用率開始增長,甚至出現了4BTC一個區塊2400筆交易的情況,意味著挖到這個區塊的人通過交易費得到的彙報接近了本身建立區塊的回報

有一個結論是,擴容後,因為每一個區塊的交易承載量增加,礦工的交易費收入肯定會減少。因為,通過上表可以發現,只有當區塊使用程度接近95%時候,交易費才有明顯的增長

再看一張用戶執行交易需要等待的時長和區塊使用比例間關係的圖表(交互圖表點擊鏈接)

藍色的圈大小是Mempool的大小。橫坐標是區塊容量的使用情況,縱坐標是用戶平均需要等待的時間,單位是分鐘。

通過上面三張表我們可以知道,礦工的計算力是整個區塊鏈信用的基石(記住貪婪=信任),所以對礦工的激勵不能少,而對於用戶來說,當然希望自己的交易越快速完成越好。

對於礦工來說,區塊使用率超過95%是一個很好的信號,那意味著我可以拿到更多的獎勵。獎勵太低,在區塊建立獎勵越來越少的情況下,安全性(信任)就慢慢的得不到保障。這麼說來,這也就變成了一個Trade-off博弈過程

分析下來,類似門羅幣(menero)實現的根據網路負載來動態調整區塊容量的設計似乎很合理

3.4.3、比特幣擴容之爭

這是一場複雜的博弈鬥爭,使用隔離見證增長區塊容量,並出現了比特幣現金這個新的幣種。

如果想要了解這裡面的很多技術,英文是必須過硬的,因為比特幣代碼開源,可以隨意fork,只要英文功底過硬,閱讀白皮書,文檔等,這些不同技術的處理方法都是能夠學到的

3.5、比特幣的一筆交易過程中到底發生了什麼

我們可以確認的是,每一筆都將記錄在大賬本中,那麼我們需要研究的內容,就是區塊中交易內容內的具體數據結構

3.5.1、交易結構

每一個交易塊包含的內容如下表所示

最後這個值是解鎖時間,定義了能被加到區塊鏈里的最早交易時間。大多是時候設為0,表示立馬執行

一筆比特幣交易是一個含有輸入值輸出值數據結構。該數據結構包含了將一筆資金從初始點(輸入值)轉移至目標地址(輸出值)的代碼信息。比特幣交易的輸入值和輸出值與賬號或者身份信息無關。可以把它理解為一種被特定秘密信息鎖定的一定數量的比特幣。只有擁有者或者知道這個秘密信息的人可以解鎖

3.5.2、交易的輸入和輸出

比特幣交易的基本單位是未經使用的一個交易輸出,簡稱UTXO(unspent transaction outputs)

可以把UTXO類比為我們使用的人民幣1,5,10,20,50,100的面值,對於UTXO來說,它的面值可以是一」聰「的任意倍數(1BTC等於一億聰)但是這個有著任意麵值的」人民幣「不能隨意打開,還被加上一道類似紅包支付口令的密碼,只有擁有這個密碼的人才可以使用這個UTXO,UTXO包含,幣值+一段代碼(鎖,只有有鑰匙的人才能打開)

被交易消耗的UTXO被稱為交易輸入,由交易創建的UTXO被稱為交易輸出

3.5.2.1、交易輸出

不同面值的UTXO是由交易輸出來提供的。你可以想像你需要購買一個3.1BTC的物品,你並不能從你的錢包中找到幾個UTXO來得到3.1BTC,但是你剛好擁有一個4BTC的UTXO,你使用這個UTXO作為付款,那麼你需要自己手動構建一個0.9的UTXO返還給你自己

一個交易輸出包含兩個部分

  • 一定量的比特幣。被命名為「聰」(satoshis)
  • 一個鎖定腳本。給這個UTXO上鎖,保證只有收款人地址的私鑰才可以打開

3.5.2.2、交易輸入

每個交易輸入是在構造的一筆交易(使用UTXO),比如你需要支付0.015BTC,錢包會尋找一個0.01BTC和0.005BTC的UTXO來組成這一筆交易。交易輸入中還會包含一個解鎖腳本,這是一個簽名,可以類比成支付寶紅包密碼的口令

3.5.2.3、交易費

交易費 = 求和(所有輸入) - 求和(所有輸出)

這裡有一個比較有意思的地方,就是因為找零的輸出UTXO是交易的發起這自己構建的,如果很不幸,你忘記了自己構建找零的UTXO,那麼這些多餘的BTC就會變成礦工的勞務費

例如,我需要和小明進行交易,需要購買一個商品,花費0.8BTC,為了確保這筆交易能被更快的處理(添加到大賬本上),我要在其中添加一筆交易費,假設0.01BTC(忽略人傻錢多),那就意味著這筆交易會需要我從錢包中找到幾個UTXO能組成0.81BTC。但如果我的錢包內找不出這樣的UTXO,只有一個1BTC的UTXO可用,那麼我就需要構建一個0.19BTC的UTXO作為找零回到自己的錢包

交易費只和交易欄位使用的位元組大小有關,與參與交易的比特幣幣值無關。UTXO是有尺寸的,比如某人想支付一筆很大的BTC交易,但是他的錢包中有很多小尺寸的UTXO,如果加入了很多個UTXO,就以為這他的交易會變複雜且尺寸大。

3.5.2.4、解鎖和鎖定腳本

在實際實現的時候,這個「支付寶紅包口令」被稱為腳本,是一種基於逆波蘭表示法的基於堆棧的執行語言。具體細節感興趣的讀者可以去比特幣的Github研究代碼。關於腳本有很多細節上的定義和實現方法,這裡限於篇幅不展開描述了

3.5.3、礦工費和優先順序

我們知道,每一筆交易都是廣播到區塊鏈上,由礦工決定是不是加入到新區塊上的。那麼這裡就會涉及到一個問題,誰的交易的優先順序更高,是先來後到?還是誰給前多誰就能加入到新區塊中?

在區塊容量一節中,有一張圖表直觀的展示了現在網路中一筆交易的等待時間,其中最長的,也就是30分鐘,如果你不是一個超級急性子,很多時候還是可以接受的(畢竟跨國轉賬1-2個工作日)

優先順序 = 輸入值塊齡 * 輸出值塊齡 / 交易總長度

一個交易想成為「較高優先順序」,需滿足條件:優先值大於57600000,等價於1個BTC,年齡為1天,交易的大小為250位元組

區塊中前50KB的位元組是保留給「較高優先順序」的,其實這一機制也保證了一筆交易不會等待時間無現長。但是我們要知道,內存池(存放待處理交易的位置)中的交易,如果在沒有處理後消失,所以錢包必須擁有不斷重新廣播未被處理交易的功能

3.5.4、創幣交易 - Coinbase

每一個新建立的區塊,都會有新的比特幣作為獎勵被產生,這個交易是一個特殊交易,被稱為創幣交易(Coinbase獎勵)

創幣交易中不存在解鎖腳本(也叫ScriptSig欄位),被Coinbase的數據取代,長度最小2位元組,最大100位元組,除了開始的幾個自己以外,礦工可以任意使用Coinbase的其他部分。比如創世區塊中,Coinbase的輸入中的欄位是:The Times 03/Jan/2009 Chancellor on brink of second bailout for banks,是泰晤士日報當天的頭版文章標題:財政大臣將再次對銀行施以援手。

3.6、Merkle樹

每個區塊中的所有交易,都是用Merkle樹來表示的。換句話說,交易的存儲數據結構是,Merkle樹

3.6.1、什麼是Merkle樹

Merkle樹是一種哈希二叉樹,它可以用來進行快速查找和檢驗大規模數據完整性。對於比特幣網路來說,使用Merkle樹來存儲交易信息的目的是為了高效的查找和校驗某筆交易的信息是否存在

當N個數據元素經過加密(使用兩次SHA256演算法,也稱double-SHA256),至多計算2log\_2(N)次就能檢查出任意某元素是否在樹中

3.6.2、構造Merkle樹

假設我們有A B C D四筆交易欄位,首先需要把這四個數據Hash化。然後把這些哈細化的數據通過串聯相鄰葉子節點的哈希值然後哈希化。基本過程如下圖所示

葉子節點必須是偶數(平衡樹),如果遇到奇數的情況,把最後一個節點自身複製一個,湊偶

3.6.3、Merkle樹的效率

下表顯示了證明區塊中存在某筆交易所需轉化為Merkle路徑的數據量

可以發現,即使區塊容量達到16MB規模,為證明交易存在的Merkle路徑長度增長也極其緩慢(冪指數增長取對數變為線性增長)

3.6.4、Merkle應用 - 簡單支付驗證節點(SPV)

我們知道,每當一筆新的交易產生的時候,我們必須驗證這筆交易是否真的存在,在SPV節點中,不保存區塊鏈,僅僅保存區塊頭。使用認證路徑或者Merkle路徑來驗證交易是否存在於區塊中

例如,一個SPV節點需要處理一筆支付,它需要驗證這筆交易在某個區塊中是否存在,才能決定是不是把這筆交易添加到這個區塊中,那麼它只需要接收少於1KB大小的,有關區塊頭和Merkle路徑的信息,比接收完整區塊(大約1MB)大小少了1千倍。簡單來說,可以想像,Merkle樹類似一個數組(這也是哈希表的最簡單表示),下標是區塊欄位,下標對應數組存儲的內容是這筆交易是否存在的值(True or False)


4、區塊鏈(比特幣)與金融

因為比特幣具有價值,那就必須談到它和金融的關係。

限於篇幅(太長了太可怕了,一個博客寫2萬字莫不是有病),這部分另起一篇:鏈接(直接點不會打開新標籤),如果對ICO和金融方面感興趣的讀者歡迎移步討論


5、競爭幣和其他技術創新

所謂競爭幣當然是利用區塊鏈技術為即使,仿照比特幣的基本協議架構進行的創新後的新幣種,或者是新的區塊鏈實現模式。這篇文章圍繞什麼是區塊鏈展開,這部分的內容請移步(持續更新)如何評估競爭幣的價值與新技術創新(直接點不會打開新標籤)

其中談到了工作量證明的其他替代手段;到底什麼是智能合約;以太坊開發技術棧等


6、總結

感謝您看到這裡,寫這篇文章的目的一方面也是回答區塊鏈(比特幣)到底是什麼這個困擾了自己很久的問題,另一方面,也是因為最近區塊鏈技術非常火,需要一些接地氣的科普文

比如最近最新的消息稱一家保險公司,使用區塊鏈技術來賠償航班晚點2小時,基於以太坊智能合約第一款落地應用。

如果你已經對區塊鏈的實現原理有了初步的認知,就明白這些應用利用了區塊鏈的分散式特點。說到底,並沒有貪婪=信任工作量證明核心,只是一種基於雲的新型運用,也很有想法,但是和比特幣之類就沒什麼關係了(當然,這是我的個人看法,最近區塊鏈方面的有很多突破性技術,比如側鏈,閃電網路等等,太多的新概念,新名詞,新技術,對此,也只能不斷學習)。

但你只需牢記,貪婪=信任,以太坊也是利用以太幣這個媒介來實現了合約價值,中本聰用人內核的貪婪來給陌生人之間加上了信任的紐帶,這個代價是永遠不會變的。換句話說,如何抵抗共識攻擊和安全漏洞是一個永遠不會消失的議題。

一句話來說,萬變不離其宗,道生一,一生二,二生三,三生萬物。中本聰給了道,是個妙人,但是萬物依舊有無窮可能。信任作為一個人類社會一直以來的重要問題(痛點),為了解決它,出現了權威機構進行信任背書(中心化)。建立信任,一定要付出代價,天底下沒有免費的午餐,最終這些技術都會回歸於一個投入產出的博弈過程(Trade-off),梳理主幹,抓住要點,才能遊刃有餘!

那麼如何才能梳理主幹,抓住要點,提升學習能力呢?見諒加一個軟廣告

幕布是一款筆記本軟體,博主參與了部分研發工作,如果你喜愛沉浸式層次化輸入,並喜歡思維導圖,還喜愛記錄總結整理各種書籍或文章,幕布完美切合這三類人群的需求:一鍵生成思維導圖,極簡輸入界面,快捷鍵操作,全平台支持!Organize your brain by mubu

點我一鍵微信註冊,一個月9塊錢,良心商家,這是一篇自己寫的有關幕布的介紹文章

以上!鞠躬!

除了江卓爾 知乎回答等優秀的知乎答主的回答,附參考文獻出處:
【1】文章中引用多個Gif的出處:比特幣原理-3B1B,這也是讓我真正弄懂比特幣的一個視頻,不得不說,外國人在讓門外漢入行這件事上,領先了很多

【2】一本入門教材。包含代碼和實現,以及很多數據結構,具體實現方式的細節,如果想成為加密貨幣(區塊鏈)開發者,這本書5星推薦:精通比特幣

【3】宋老師的鴻觀125期(需要優酷會員)

【4】只能膜拜之的創世區塊作者的論文:比特幣白皮書

【5】ICO科普文章中的例子引用


推薦閱讀:

TAG:經濟 | 貨幣 | 金融 | 區塊鏈(Blockchain) |