標籤:

區塊鏈的原理是什麼?

有大神能詳細講下區塊鏈的原理么?網上沒找到,越詳細越好!拜託不要再舉比特幣應用了


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

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

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

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

以下引自我在知乎中另外一個區塊鏈問題的答案

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

  • 先修知識;
    • 密碼學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
  • 好的, 其實到這裡區塊鏈的概念就有點感覺了不是嗎。"區塊鏈"這個詞是英文 Block Chain 的翻譯, 如果從字面上理解, "數據塊組成的鏈條" 就足以闡釋它的基本內涵了。比特幣區塊鏈其實就是哈希鏈的一個變種(注意, 下文描述的這種添加隨機數以及對隨機數有特殊要求的規則是比特幣為了實現工作量證明 Proof of Work 的共識機制而添加的, 並不是區塊鏈的一個必要特徵)。 怎麼變? 添加一個隨機數(Nonce)
    • 假如現在有順序產生的數據塊 A, B , C 。 我們來這樣計算hash頭。 注意 「||」 表示拼接

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

  • 這裡我們還添加一個額外的要求, 就是 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: 用戶的易用性
    • 比特幣的技術是基於密碼學簽名技術的, 你的賬戶安全由你的私鑰保護, 如果不添加別的手段,比如在別人那裡備份, 或者在別的地方備份, 你丟失了密鑰, 賬戶里的 錢是沒有人能給你找回來的。 想想人們丟銀行卡, 忘記密碼的頻率, 這個問題有多大, 不用我說大家也懂

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

總結 :

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

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


要講區塊鏈卻不講數字貨幣是不可能的。畢竟區塊鏈是為了滿足比特幣獨特的需求才被創造出來的。

比特幣的目標是能夠替代傳統貨幣,作為貨幣,它就必須有流通能力。簡單地說,比特幣用戶之間可以互相轉移比特幣。而為了保證比特幣的流通能夠正常的進行,比特幣軟體必須提供一些最基本的安全上的保證。比如說,如果A給了你一個比特幣,這一個比特幣就是你的了。要是A能隨隨便便把這個比特幣搶回去,那肯定不行。

如果你使用的是紙質貨幣,A要拿回給了你的東西,就必須在物理上把它搶回去。那隻要使用物理上的方法保護好這個東西就好了。但是如果你用的是支付寶怎麼辦?支付寶上的轉賬無非是數字上的加加減減,並不涉及物理實體的轉移。你所需要做的無非是信任支付寶這個第三方的機構,相信支付寶沒有和A串通好,一起坑你的錢。

但是這兩條到了比特幣身上就都行不通了。比特幣不是物理實體,同時也不存在一個所有人都信任的第三方(比特幣的設計目標就是創造一種用戶可以完全匿名的貨幣,自然不可能去依賴一個這樣的第三方)。那應該怎麼辦呢?其實思路很簡單:如果A在大庭廣眾之下,當著一千個人的面答應把錢給你,那麼就算沒有第三方的保證,A也很難抵賴。

從實現上來說,每當用戶使用比特幣進行了交易,關於這次交易的信息就會被廣播給所有的比特幣用戶。這樣就算有人想要抵賴,也會被抓到證據。

好了,講了這麼多,好像問題都解決了,那麼這裡面有區塊鏈什麼事呢?

我們可以從一個新生節點的角度看一下這個問題。新生節點要加入比特幣網路,就必須對整個網路的情況有所了解。它必須知道網路中的整個交易歷史,因為只有這樣它才能知道當前其他所有節點各持有多少比特幣。而這些交易歷史所構成的結構就是區塊鏈。區塊鏈是一系列區塊按照時間構成的一個鏈條,鏈條中每一個區塊都包含數條交易記錄。

因為比特幣本身在安全上的要求(見前文),區塊鏈必須滿足一些特性。簡而言之,就是不能讓人有修改歷史的能力。假設有一個區塊鏈A-&>B-&>C,任何接收到這個區塊鏈的新生節點,必須能夠很方便的驗證交易A之後確實發生了交易B,交易B之後確實發生了交易C。在密碼學中,防止數據被改動有一個很方便的工具,就是hash。如果C之中包含了B的hash值(如sha256值),那麼如果有任何人嘗試發送改動過的B(不妨稱為B")給新節點,新節點立刻就能發現B"的hash值和C中記錄的不符。所以只要新節點獲取到了區塊鏈中最新的一個塊,它就能往回驗證整個歷史的合法性。

那麼,新節點要怎麼知道最新的塊是否合法呢?答案其實是:「它並不能知道。」打個比方說,要是你身邊的所有人都商量好了合起伙來騙你,你就沒辦法判斷你聽到的是不是假話。但是比特幣網路存在這樣一個假設:「好人總是佔大多數的」。也就是說,當新生節點向網路發出請求,它收到的最常見的回復就是合法的回復。

我們解決掉了歷史驗證的問題,但還有另一個問題:誰有權利往區塊鏈上添加新的塊?如果有惡意節點將「A給C一個比特幣」改成了「A給B一個比特幣」,其他節點應該怎麼區分?答案和之前一樣:「它並不能區分。」但是不要忘了,我們假設網路中的好人是佔大多數的。在大家的計算能力差不多的情況下,這等同於假設網路中的好人們擁有更多的計算力資源。也就是說,如果我們把「往區塊鏈上增加區塊」這件事變成一件需要大量計算的工作,那麼擁有更多計算力資源的好人們就能搶在壞人之前加入新區塊。

而這個計算量巨大的工作,仍然是hash。所有的節點會達成一個共識:「只接受hash值前幾位符合條件的區塊」(比如只接收hash值第一位是0的區塊)。節點可以通過改動區塊中的padding來湊hash值。只要hash演算法是安全的,節點就沒辦法高效的湊對hash值,只能暴力嘗試所有的padding來碰運氣。運氣好湊上了的節點,還可以在區塊中增加一條給自己一個比特幣的交易記錄作為對自己的獎勵。這個策略還很適合於控制新區塊出現的速度(比特幣需要在計算力變動的情況下維持勻速增長),只要增強對hash值的要求(比如原先要求第一位是0,現在要求頭兩位都是0),就能減慢區塊鏈增長的速度。

區塊鏈的設計目標和工作原理大概是這樣。如果有講的不清楚的地方,或是有錯漏的地方,歡迎在評論中指出。


有校友推薦了我一家做「分散式應用平台」的公司的實習。原先對這一塊沒有任何接觸,所以這幾天在研究這方面的東西。看得越多越感興趣,覺得這是未來互聯網發展的一個方向。本來想到知乎來搜一搜有沒有相關的介紹,卻沒有找到,只搜到這一個空空的沒有人關注的問題,整了一下自己搜到的資料,希望能相互學習。


Wiki: A block chain is a distributed data store that holds a
public ledger of transactions for cryptocurrencies, such as bitcoin. This
record is enforced cryptographically and hosted on machines running the
software. The technology forms the basis of all cryptocurrencies.區塊鏈是一種分散式數據存儲模式,也可以說它是儲存加密貨幣(例如比特幣)的交易記錄的「公共賬本」。它的記錄是加密的,被所有運行這個軟體的機器所持有。這項技術構成了所有加密貨幣的基礎。


維基說了那麼長一串還是沒有說清楚區塊鏈到底是什麼,又有什麼用。我在一篇36Kr的文章《未來十年,Blockchain會如何互聯網世界?》中看到了比較好的解釋。為什麼說「區塊鏈不僅只是改變了貨幣在互聯網世界裡的的運作方式,它正在改變互聯網應用的建構方式」呢?這就要引申到Joel
Monegro提出的區塊鏈的層疊結構(blockchain
stack),如下圖:

Joel Monegro說這是他所想的10年後的互聯網應用的結構。這個結構中最重要的便是網路的覆蓋重疊,共享的數據層和協議層。這將顛覆目前互聯網的層疊結構。原文中是這麼說的「在這個新結構里,更加難以獲得細分化、防禦性和網路效應。大多數事物將像電子郵件那樣運轉,把你的密碼從一個app帶入另外一個app,你所有的數據和關係都在其中了」。

(以下內容是36Kr翻譯自Joel Monegro的文章)

=================================


Joel Monegro本人對這幅圖的解讀如下:


區塊鏈的層疊結構(blockchain
stack

這幅圖的基本思想就是:每個長方形條的內容都是去中心化和開源的。我稱之為「共享式的數據層和協議層」。沒有哪個人能夠控制這個系統的任何一部分,而這些部分對所有個人和企業都是開放的。以比特幣為例,區塊鏈就是共享的數據層,而比特幣協議就是一個去中心化的協議,它是共享的協議層的一部分。

在這副圖裡,越往上每一層就越薄,而共享的數據層和協議層在整個層疊結構里佔了80%的比例。現在的互聯網應用建基於如TCP/IP和HTTP這樣的開放式的去中心化技術之上,但如果你把現在的互聯網應用按照這幅圖描繪出來,去中心化技術只佔15%,因為那些應用基本都不是開放的,而是中心化的。


1.礦工和區塊鏈

每個礦工都是計算機組成的網路里的節點,這些計算機構成了一個整體去驗證所有的比特幣交易。在每一筆交易中,演算法會以比特幣獎勵他們,因為比特幣在真實世界具有價值,這些機器的操作者就有激勵讓機器保持運作。

區塊鏈就是一個公開賬簿,它存有所有交易的記錄,區塊鏈由礦工去維持,它不是由某一個實體獨家控制的,是對所有人開放的。

2.各種網路的覆蓋重疊

開發者開始創建與比特幣區塊鏈平行的各種網路,藉由它們去完成比特幣網路無法完成的任務,但是可以利用區塊鏈,比如去給他們的工作加上時間戳或去確認工作。

比如Counterparty(它是一個在比特幣網路里的免費開放的金融工具平台),比如「側鏈」。無論這些網路使用何種形式來覆蓋重疊,它們的一個共同點就是它們都與比特幣區塊鏈聯繫在一起,而且它們能從中獲得的網路效應就是流動性,而不用它們的加密貨幣做輔助程序,或者不用如Ethereum要求的區塊鏈做備選方案。


3.去中心化的協議

感謝區塊鏈,讓我們可以去開發一套開源的、去中心化的協議,還有內置的數據、驗證方式和交易體系,而沒有一個實體可以單獨控制。這正是傳統的軟體業開始瓦解的地方。最佳例子也正是比特幣,我們已經意識到它對貨幣和金融的衝擊。

Ebay、Facebook和Uber之所以很有價值,是因為它們能從網路效應里大量獲益,這種網路效應來自於它們把用戶數據集中在自己手裡,並從交易中獲益。建立在區塊鏈之上的去中心化協議有可能取消每一個單獨的部分,比如說,他們可以創建一個共有的去中心化的數據集合,任何人都能用,並且支持以比特幣為基礎的p2p交易。

事實上,已經有一些很有潛力的團隊正在這麼做,他們正在創造新的協議,有可能讓以上那些公司被顛覆掉。一個例子就是Lazooz,它是一個實時拼車的協議,還有OpenBazaar協議,它支持免費的去中心化p2p市場。


4.開源和商業化的API

一般的開發者難以建立協議,但有機會能讓他們輕鬆搞定。從長期來看這個行業是否會發展良好,這個問題還存在爭議,但是我認為這個行業是整個層級結構里的重要組成部分。在這些去中心化協議上,讓任何開發者能迅速創建新的應用或實驗至關重要。

這可以是商業化的服務,或是開源項目。這個趨勢的好例子就是 http://Chain.com的API,還有Coinbase的開源節點工具Toshi。這兩個的目標是一樣的,不過
Chain 是一個商業服務,而Toshi是開源的。

5.應用

這是這個結構圖裡面向用戶的部分。大多數時候,建立在這個基礎上的應用和我們現在的方式是一樣的,就像Coinbase和PayPal的運作方式相似。但對於用戶而言,一個很大的區別就是這些應用是建立在去中心化的協議之上的,每一個應用都可以和其他應用對接,就像不同的email應用和比特幣錢包可以交互操作。

我喜歡這個層級結構的一個地方就是,它從底部逐漸向上成長,最初,我們有礦工、區塊鏈和比特幣,而現在我們在這個基礎上創建了其他事物。我認為,技術中最重要的變革就是以這種方式建立的。


這給開發者、創業者和投資人帶來了一系列有意思的挑戰,因為目前互聯網的層疊結構的價值會被上面這個區塊鏈層級結構商業化。但這個結構最好的地方在於,由於網站轉換率、轉置成本、個體對數據的所有權和市場支配力會降低或者不再存在,用戶會受益更多。


========================================================


總的來說,區塊鏈提供了一個規模化的共識機制。我對這方面了解還不夠深,等搜集更多資料再來改進答案。


Reference:

未來十年,Blockchain會如何互聯網世界?

Joel Monegro

Block chain (database)


我做了個區塊鏈的文檔,給自己掃盲用的,有興趣的可以看下,主要是自己畫示意圖比較好理解,網上的資料都是談區塊鏈有什麼性質、有什麼能力、有什麼應用之類的,我主要想知道區塊鏈到底怎麼跑的。當然,我這個文檔也做了很多強假設,畢竟只是給自己看的,如果你願意看下,有發現什麼不對的地方,多交流。
Blog:Block Chain, a protocol view
PDF版本:http://files.cnblogs.com/files/math/blockchain.pdf
原理、性質、分類、應用、困難:http://files.cnblogs.com/files/math/%E5%8C%BA%E5%9D%97%E9%93%BE.pdf

NOTE:

  • 如何構建P2P網路去中心化靠的是P2P網路及其協議。P2P網路一定有超級節點,例如Tor網路里也還是有骨幹節點,這些節點用來讓新加入的節點來獲取其他節點名字和地址信息,這些節點一般是Well Known的,但這些節點也存在被污染的風險。純去中心化P2P網路的讀寫成本來就不怎麼高效,這是一個前提,節點可以隨時上線和下線,節點之間的拓撲結構也是需要理解的。
  • 共識演算法和一致性演算法,簡單說如何投票,互聯網畢竟還是一旦分散式或P2P就要投票。一致性演算法未必和共識演算法是一回事。共識演算法會利用到某些一致性演算法。這個坑比較複雜。共識演算法和一致性演算法是區塊鏈網路里構建k-v資料庫的基礎。
  • 交易信息如何攜帶合約執行的腳本,節點如何校驗和執行合約腳本,可編程合約腳本和非對稱加密技術是去信任化的基礎。

區塊鏈是一個記錄交易信息的資料庫。


高盛2016年4月發了一份有關區塊鏈的報告,用一句話解釋了區塊鏈的運作原理:

交易信息(如買方、賣方、標的、價格)起初會作為一個區塊存在,這些區塊要被整個網路中的人認證,才會被加到鏈條上。

區塊鏈賬本的信息會在每一個地址節點被複制,所以每一個地址會有自己的一版數據留存。為了簡化,高盛在報告中舉出六個驗證地址節點的例子。


舉一個例子,下圖中,有三筆交易信息待上鏈。前兩筆交易的數據和簽名信息已經被所有的六個地址節點認證。


這裡說的認證,是Hash值認證。Hash是一種複雜的計算方法,每當有一個交易信息要被加到區塊鏈上,Hash就會被演算一遍,交易細節、認證參與方以及此前的交易信息,都會影響Hash的演算結果。

圖中可以看到,第三筆交易5號位置(紅色)的Hash值與其他位置不匹配,所以這個位置將會被「共識」糾正——這就是區塊鏈的共識機制


順便安利一下高盛的這份報告,說得還挺詳細的,也介紹了區塊鏈的幾個應用可能:

報告這裡看哈:高盛《區塊鏈:將理論付諸實踐》(英文)


以上。


(Jan 21st 2016 更新)

BC是一個公共的分散式總賬,任何發生在此BC網路上的交易會被約定的演算法記錄到BC上,且滿足以下條件:

  • 包含一個分散式資料庫
  • 分散式資料庫是BC的物理載體,BC是交易的邏輯載體,所有核心節點都應包含該條BC數據的全副本
  • BC按時間序列化Block,且是整個網路交易數據的主體
  • BC只對添加有效,對其他操作無效
  • 基於非對稱加密的公私鑰驗證
  • 記賬節點要求拜占庭將軍問題可解/避免
  • 共識過程(consensus progress)是演化穩定的,即面對一定量的不同節點的矛盾數據不會崩潰。
  • 共識過程能夠解決double-spending問題

令記賬(又名礦工)節點 = N,

當N 公開且自由訪問,則這是一條 公有鏈 (後面有介紹)

當N 半公開僅由某個組織或團體內部使用(例如R3 CEV),外部僅可以(授權)查詢,則這是一條 聯合(混合)鏈

當N = 1, 則這是一條私有鏈 (這裡有些許爭議,如果在一個團體內部看這條鏈,這條鏈可能又是「公有的」,這取決於你在不在這個團體內部)

參考我的另一個回答:
區塊鏈是什麼,如何簡單易懂地介紹區塊鏈? - 文浩的回答

區塊鏈(BlockChain)的深入介紹--blockchaindev.org


原創聲明--本文作者覓羅寶 創始人 申恆;歡迎個人轉發,媒體、網站和其他公眾號轉載請註明出處。


請用微信搜索「覓羅寶」或「MILOBAL」關注官方微信公眾號,以獲取更多資

「只有額頭流汗,靠自己努力賺來的錢才是真正的利潤——我的信念就這麼單純。所以在巨額暴利的引誘面前,我能告誡自己不起貪念。我的內心從未有過絲毫動搖。」

——著名商業家 稻盛和夫

引言

早在3年前,就有一位技術大咖給我講過區塊鏈,比特幣的事情,還建議這種技術是解決跨境支付及很多金融行業現有問題的辦法。但當時沒怎麼上心,主要因為從事金融的人一般比較保守,同時也可能真的是沒聽懂。

2015年3月,CDS(Cross Default Swap)的發明人Blythe Master離職了。對,就是引起08年金融海嘯的金融衍生品CDS的發明者,在JP Morgan服務了27年之後離職,聯合創立了家名不見經傳的區塊鏈公司:數字資產控股(Digital Asset Holdings)。這在當時成為又一則引爆區塊鏈的新聞。

時至最近,比特幣突然大躁。我身邊有一些朋友,其中包括有專業的金融機構,也在參與到一項ICO(Initial Coin Offering)的募資活動中,讓我著實感受到了此種新興事物的超級火爆程度。

2017年8月14日,頂級投行高盛的一名分析員表示:「比特幣的價格還可能攀升至創下4800美元的歷史新高」。

圖1 比特幣價格走勢

但是,我想是大多數朋友對此持懷疑態度,也搞不清楚什麼是區塊鏈、以太坊、比特幣、以太幣、ICO?他們之間又有什麼聯繫?對我們生活有著什麼樣的衝擊和影響呢?

針對這些問題,覓羅寶將分兩期(區塊鏈及ICO)來為大家分析。如果你只是對這些新興事物感興趣,並沒有深入學習的打算,本系列應該算是一個還可以的「導讀」。本期第一期的主題是:區塊鏈,你到底是個神馬東西?下一期的主題是:ICO憑什麼那麼火?是顛覆性的風口還是一地雞毛?

一. 什麼是區塊鏈?

區塊鏈(Block Chain)是指通過去中心化和去信任的方式集體維護一個可靠資料庫的技術方案。該技術方案讓參與系統中的任意多個節點(電腦),把一段時間系統內全部信息交流的數據,通過密碼學演算法計算和記錄到一個數據塊(block),並且生成該數據塊的指紋用於鏈接(chain)下個數據塊和校驗,系統所有參與節點來共同認定記錄是否為真。

區塊鏈的概念首次於2008 年 11 月 1 日在論文《比特幣:一種點對點的電子現金系統(Bitcoin: A Peer-to-Peer Electronic Cash System)》中提出,作者為自稱中本聰(Satoshi Nakamoto)的個人(或團體)。

上面聽起來是不是很拗口?這樣表達會不會好點:區塊鏈本質上是一個去中心化的分散式賬本資料庫,其本身是一串使用密碼學相關聯所產生的數據塊,具體來講:一個隨機哈希演算法的結果,它唯一做的事情就是獲得一些輸入然後進行計算,並得到一串64位的隨機數字和字母的字元串,每一個數據塊中包含了多次比特幣網路交易有效確認信息,區塊鏈就是由一連串、不重複、的數據塊組成的。例如:000000000000084b6550604bf21ad8a955b945a0f78c3408c5002af3cdcc14f5

小編你到底在說什麼?我還是聽不懂。。。好吧,這很正常,只要您記住「區塊鏈是去中心化的」就行,去中心化,去中心化,去中心化。 但是要理解去中心化,就要了解什麼是中心化,以及中心化的缺點。

什麼是中心化?

要在淘寶上買一台電腦,交易流程是:你將錢打給支付寶-支付寶收款後通知賣家發貨-賣家發貨-你確認收貨-支付寶把錢打給賣家。

在這個過程中,雖然你是在和賣家交易,但是這筆交易還牽扯到了除了你和賣家的第三方,即支付寶,你和賣家的交易都是圍繞支付寶展開。因此,如果支付寶系統出了問題便會造成這筆交易的失敗,因此考慮極端情況,如果支付寶跑路了或者是拿了錢不卻不承認你的交易或者是支付寶所在的城市因為開G20把所有人都趕走了,那麼就。。。

在金融領域中,中心化的例子就更多了:

1、銀行作為中心平台嫁接借貸雙方

2、交易所作為中心平台嫁接投資人和上市公司

3、SWIFT作為中心平台嫁接A國家的支付機構和B國家的支付機構

這樣不是挺好的嘛?為啥要去中心化?

為什麼要

去中心化?

(1)心化的處理方式就要顯得簡單很多,就拿你在淘寶上買電腦的事情舉例,你只需要和賣家交換錢和電腦,然後雙方都聲稱完成了這筆交易,結束。其實如果只考慮兩個人的交易並不能把去中心化的好處完全展示出來,設想如果有成千上萬筆交易在進行,去中心化的處理方式會節約很多資源,使得整個交易自主化、簡單化。

(2)安全可靠。在區塊鏈系統中,整個網路沒有中心化的硬體或者管理機構,任意節點之間的權利和義務都是均等的,所有的節點都有能力去用計算能力投票,從而保證了得到承認的結果是過半數節點公認的結果。即使遭受嚴重的黑客攻擊,只要黑客控制的節點數不超過全球節點總數的一半,系統就依然能正常運行,數據也不會被篡改。

(3)去信任化,公開透明。傳統的交易建立在信任的基礎之上,儘管信任中心平台獲取了大量信息,但是從中流出的、披露的信息卻極為有限,導致大量數據被浪費和隱藏。參與區塊鏈系統的每個節點之間進行數據交換則無需互相信任。在區塊鏈系統中,因為整個系統的運作規則是透明的,所有的數據內容也是公開的,因此在系統指定的規則範圍和時間範圍內,節點之間不能也無法相互欺騙。

(4)集體維護,降低成本。在中心化網路體系下,系統的維護和經營依賴於數據中心

等平台的運維和經營,成本不可省略。區塊鏈則構建了一整套協議機制,系統中的數據塊由整個系統中所有具有維護功能的節點來共同維護的。這些具有維護功能的節點是任何人都可以參與的,每一個節點在參與記錄的同時也來驗證其他節點記錄結果的正確性,維護效率提高,成本降低。

(5)排除了被中心化代理控制的風險。

圖2

誰還可以依靠?

但是如果沒有了中心監管平台支付寶、銀行、交易所、SWIFT等權威機構,怎麼能保證每筆交易的準確性和有效性呢?你付了錢收不到貨怎麼辦?或者你借給張三錢,張三後來不承認怎麼辦?這就引出來一個著名的難題:拜占庭將軍問題(Byzantine failures),簡單來講,拜占庭帝國軍隊的將軍們必須全體一致的決定是否攻擊某一支敵軍。問題是這些將軍在地理上是分隔開來的,並且將軍中存在叛徒。叛徒可以任意行動以達到以下目標:欺騙某些將軍採取進攻行動;促成一個不是所有將軍都同意的決定,如當將軍們不希望進攻時促成進攻行動;或者迷惑某些將軍,使他們無法做出決定。如果叛徒達到了這些目的之一,則任何攻擊行動的結果都是註定要失敗的,只有完全達成一致的努力才能獲得勝利。 這個難題也被稱為「拜占庭容錯」或者「兩軍問題」,(百度百科有詳細解釋,此處就不贅述了)

此問題是由萊斯利·蘭伯特提出的點對點通信中的基本問題,含義是在存在消息丟失的不可靠信息通道上試圖通過消息傳遞的方式達到一致性是不可能的。因此對一致性的研究一般假設信息通道是可靠的,或不存在本問題,但實際上,信息通道往往是不可靠的, 怎麼來解決這個問題呢??。。簡單答案就是「群眾一起監管」但是群眾監管怎麼來實現呢?

舉個「栗子」

我們先來建立一個去中心化的借貸系統:

1、如果A借了B 100塊錢,這個時候,A在人群中大喊「我是A,我借給了B 100塊錢!」,B也在人群中大喊「我是B,A借給了我100塊錢!」,此時路人甲乙丙丁都聽到了這些消息,因此所有人都在心中默默記下了「A借給了B100塊錢」。請注意:這個時候一個去中心化的系統就建立起來了,這個系統中不需要銀行,也不需要借貸協議和收據,嚴格來說,甚至不需要人與人長久的信任關係(比如B突然又改口說「我不欠A錢!」,這個時候群眾就會站出來說「不對,我的小本本上記錄了你某天借了A100塊錢!」)。

2、在上述的模型中,所謂的「100塊錢」已經不重要了。換句話說,任何東西都可以在這個模型中交換,甚至A可以憑空創造一個東西,只要大家承認,A就可以讓這個東西流通。比如:A在人群中高喊一聲「我創造了50個DX!」,A甚至不需要知道DX是什麼,也不需要關心世界上是不是真的有DX,只要大家都聽到,然後在自己的小本本上記下「A有50個DX」,於是A就真的有50個DX了。從此以後,A便可以聲稱A給了某人1個DX,只要路人甲乙丙丁都收到並且承認了這一信息,那A就算完成了這次交易,哪怕世界上沒有DX。你現在腦海中是不是浮現出了三個字——「比特幣」

3、假設過了很長一段時間,A憑空創造的DX已經在這個系統中流通了起來,大家都開始認可了DX。但是這個系統中一共就只有50個DX,於是有人動了壞心思,他在人群中高呼「我有10個DX!」怎麼辦?大家是直接在本本上記下他有10個DX么,這樣不是人人都可以偽造DX了么?

4、為了防止這種現象發生,A決定在A創造DX的時候打上標記(更準確地說,A是給A喊的那句「我創造了50個DX」打上標記,比如標記為001),這樣以後在每一筆交易的時候,A在高喊「A給了某某1個DX!」的時候,會附加上額外的一句話:「這1個DX的來源是記為001的那條記錄,A的這句話標記為002!」。我們再抽象一點,某人喊話的內容的格式就變成了:「這句話編號xxx,上一句話的編號是yyy,再上句話編號是zzz...我給了某某1個DX!」,這樣就解決了偽造的問題。其實上述模型就變成一個簡化的中本聰第一版比特幣區塊鏈協議。 也就是說在群中的監督下,交易發生並且不可被逆轉。但是為什麼群眾願意幫忙記錄呢?

5、為什麼群眾會聽話記賬?

為了激勵群眾幫A傳話和記賬,A決定給第一個聽到他喊話並且記錄在小本本上的人獎勵:1個DX,這個DX是整個系統對你幸苦記賬的報酬,而你記錄了這句話之後,要馬上告訴其它人你已經記錄好了,讓別人放棄繼續記錄這句話,並給你自己的記錄編號讓別人有據可查,然後你再把A的話加上你的記錄編號一起喊出來,供下一個人記賬。當這個規則定下以後,這個系統中一定會出現一批人,他們開始豎著耳朵監聽周圍發出的聲音,以搶佔第一個記賬的權利。對的,你腦海中是不是又浮現出了「比特幣挖礦」的字眼?

關於比特幣挖礦,有個很形象的例子:單身汪們要找女票,國民岳母說我有好多女兒,這樣吧我給你們出點題目,解出一個就給其中一個姑娘的微信號。單身汪們瘋狂競爭,想破腦袋去解題。只要其中一隻汪解出一道題,就立馬得意洋洋地昭告天下,示威全部單身汪,這個姑娘是我的啦,你們放棄吧。其他單身汪們即使不服也沒有辦法,惆悵懊惱也不是個事兒啊,還是麻溜地立馬去解下一道題目吧。這隻喜贏姑娘的幸運小汪被岳母認可後還能得到25個貨幣單位的彩禮,簡直人生贏家。

6、群眾聽誰的?

在這個系統中,如果A和另一個人C幾乎同時地喊出一句:「我看到了!」。由於聽眾所處的位置不同,一定會有人先聽到A說的那句話,而另外一些人則先聽到C的那句話,如果我們規定只能有一個人說出這句話,那到底這句話是誰說的?

如果不加任何條件,那麼上述的情況一定會這樣發展:一部分人認為這句話是A說的,在聽到這句話之後開始記賬,之後他們所做的所有事情都是基於這個事實,並且隨著這個信息一次次的傳下去,這條信息鏈會越來越深;而另外一群認為是C先說這句話的人,也會按照這樣的趨勢發展。這樣,原本是一條唯一的信息鏈,在我們喊出「我看到了」這句話之後,就分叉了!?

這會導致怎樣的情況呢?按照我們的設想,應該每個人的小本本上記錄的東西都是一樣的,都是一條可以把所有信息串聯起來的鏈條。但是在這一刻,他們小本本上記錄的東西不一樣了!這還怎麼玩?以後還怎麼確定交易和信息的真實性!?

為了解決這個問題,A又追加了新的規則:每個人在記錄小本本的時候,需要脫鞋然後用腳拿筆,在小本本上用正楷體書寫(即加入:工作量證明Prove of Work,一種哈希演算法)!有了這個規定,由於用腳寫字難度很大,每個人至少需要10分鐘才能寫完,而且由於每個人用腳寫字的熟練度不通,寫完這句話所用的時間也不同,因此一定會有人先寫完然後高呼「我寫完了!那句話是A喊的!」,這樣其它正在寫這句話的人便會停筆,然後在小本本上重新開始寫「那句話是A寫的,上一句的編號是xxx...」,然後系統繼續周而復始重複此動作。

下面是一個有趣的比喻:

「群眾聽誰的」——中本聰破解「拜占庭將軍問題」的演算法

「在小本本上記錄」——比特幣挖礦

「脫鞋用腳寫字」——比特幣挖礦難度

「脫鞋寫字速度」——算力

「脫鞋子鞋子規則」——工作量證明鏈

看完這個例子,讓我們再回到理論的高度,無論多大的系統或者多小的網站,一般在它背後都有資料庫。那麼這個資料庫由誰來維護?在一般情況下,誰負責運營這個網路或者系統,那麼就由誰來進行維護。如果是微信資料庫肯定是騰訊團隊維護,淘寶的資料庫就是阿里的團隊在維護。大家一定認為這種方式是天經地義的,但是區塊鏈技術卻不是這樣。

如果我們把資料庫想像成是一個賬本:比如支付寶就是很典型的賬本,任何數據的改變就是記賬型的。資料庫的維護我們可以認為是很簡單的記賬方式。在區塊鏈的世界也是這樣,區塊鏈系統中的每一個人都有機會參與記賬。系統會在一段時間內,可能選擇十秒鐘內,也可能十分鐘,選出這段時間記賬最快最好的人,由這個人來記賬,他會把這段時間資料庫的變化和賬本的變化記在一個區塊(block)中,我們可以把這個區塊想像成一頁紙上,系統在確認記錄正確後,會把過去賬本的數據鏈接(chain)在這張紙上,然後把這張紙發給整個系統裡面其他的所有人。然後周而復始,系統會尋找下一個記賬又快又好的人,而系統中的其他所有人都會獲得整個賬本的副本。這也就意味著這個系統每一個人都有一模一樣的賬本,這種技術,我們就稱之為區塊鏈技術(Blockchain),也稱為分散式賬本技術。

由於每個人(計算機)都有一模一樣的賬本,並且每個人(計算機)都有著完全相等的權利,因此不會由於單個人(計算機)失去聯繫或宕機,而導致整個系統崩潰。既然有一模一樣的賬本,就意味著所有的數據都是公開透明的,每一個人可以看到每一個賬戶上到底有什麼數字變化。它非常有趣的特性就是,其中的數據無法篡改。因為系統會自動比較,會認為相同數量最多的賬本是真的賬本,少部分和別人數量不一樣的賬本是虛假的賬本。在這種情況下,任何人篡改自己的賬本是沒有任何意義的,因為除非你能夠篡改整個系統裡面大部分節點。如果整個系統節點只有五個、十個節點也許還容易做到,但是如果有上萬個甚至上十萬個,並且還分布在互聯網上的任何角落,除非某個人能控制世界上大多數的電腦,否則不太可能篡改這樣大型的區塊鏈。

該部分總結

因此,區塊鏈解決的核心問題不是「數字貨幣」,而是在信息不對稱、不確定的環境下,如何建立滿足經濟活動賴以發生、發展的「信任」生態體系。

二. 區塊鏈的應用領域

隨著技術成熟度提高和行業應用經濟效益逐步體現,越來越多的企業投入到區塊鏈技術的開發和應用當中。

此類企業主要分為兩大類:

一是依託原有信息技術優勢的科技企業,大力開發區塊鏈底層技術,優先布局(如 IBM 與法國國民互助信貸銀行合作完成的區塊鏈項目概念驗證、騰訊打造的提供企業級服務的「騰訊區塊鏈」解決方案);

二是部分創業公司憑藉獨有的區塊鏈應用想法和邏輯獲得投資,促使原型落地,開拓新的領域(如提供基於區塊鏈個人身份解決方案的公司 Blockstack、國內首個基於區塊鏈技術的正品防偽識別和透明供應鏈管理平台唯鏈)。

圖3 區塊鏈主要應用領域

資料來源:民生證券研究院整理

當前區塊鏈技術在金融行業主要應用於以下四個細分領域:

(1)信息安全行業。現行的數據管理方案(特別是關於個人賬戶數據的管理)里高度

中心化的系統的失敗率很高,也會帶來被黑客攻擊的風險。與此相反,分散式賬本天生就很難去攻擊。因為它沒有用單一的資料庫去存儲記錄,而是保留了同一個資料庫的多個共享副本,因此黑客攻擊必須同時針對所有的副本才能生效。另外,這種技術用於維護信息安全及更新信息的方法意味著參與者可以共享數據,並確保賬本的所有副本在任何時候都是與其它副本一致的。

(2)票據業務領域。現階段票據市場面臨幾大問題:首先,票據的真實性有待商榷,假票、克隆票層出不窮;其次,劃款不夠及時,票據到期後,承兌人未能及時地將資金劃入持票人的賬戶;再次,由於票據的審驗成本及監管對銀行時點資產規模的要求,市場上催生了眾多的票據掮客、中介,使得不透明、高槓桿錯配、違規交易等現象並不少見。區塊鏈技術不可篡改的時間戳和全網公開的特性能夠有效防範傳統票據市場「一票多賣」、「打款背書不同步」等問題,降低系統中心化帶來的運營和操作風險,還能藉助數據透明特性促進市場交易價格對資金需求反映的真實性,控制市場風險。目前區塊鏈票據產品可以實現的功能包括供需撮合、信用評級、分散式監管、數據存證和智能交易等。

圖4 基於區塊鏈的票據電子化

資料來源:銀聯,民生證券研究院

(3)支付結算業務。消費和支付是出現頻率最高的經濟行為,也是區塊鏈技術應用

最早和最為成熟的領域。區塊鏈技術在資金轉移(尤其在跨境消費和支付結算業務)上的潛在優勢格外突出。在跨國買賣方和收付款人之間建立直接交互、簡化處理流程、實現實時結算、提高交易效率、降低業務成本,有助於推動跨境微支付等商業模式的發展。

(4)身份/賬戶認證業務。近幾年經常出現網路詐騙、侵權等與身份信息相關的違法行為,急需相關部門或組織重新構建一套完整可行的身份和賬戶管理體系。賬戶認證要求保護用戶隱私、保障賬戶安全,這就意味著要求極高的標準化程度和加密技術。每日數以十億計的用戶數和更多的賬戶數等待驗證,則要求更高的自動化程度。同時,證明身份的資質證明也是名目繁多,真偽難辨。區塊鏈通過程序化記錄、儲存、傳遞、核實、分析信息數據,可省去大量人力成本、中介成本,提高準確性和安全性,所記錄的信用信息更為完整、難以造假。

圖5 區塊鏈可用於身份認證

資料來源:36 氪,民生證券研究院

三. 政策相繼落地

(一)全球政府陸續重視,國際標準化進程開啟

區塊鏈應用價值獲得認同,政策規劃紛紛出台:2015 年,部分國家認識到區塊鏈技術的巨大應用前景,開始從國家發展層面考慮區塊鏈的發展道路,「區塊鏈」成為全球各大監管機構、金融機構及商業機構爭相研究討論的對象。整體上看,各大金融機構普遍對區塊鏈技術在改善其中後端流程效率及降低運作成本的可能性上有著較為積極的態度。部分國家政府改變過去對比特幣所持的反對態度,對推動區塊鏈技術和應用的發展也較為積極,區塊鏈開始在各國迅速發展。

圖6 各國政策發展

國際組織啟動標準化工作:2016 年以來,隨著區塊鏈技術和應用的發展,區塊鏈標準化已經引起國際上的廣泛關注和重視。國際標準化組織等啟動區塊鏈標準化相關工作,各大區塊鏈聯盟也紛紛加速推進區塊鏈標準的制定進程。

圖7 國際標準化進程

資料來源:雷鋒網,民生證券研究院

(二)國內政策進程

2015 年 12 月,區塊鏈研究聯盟、區塊鏈應用研究中心成立;2016 年 2 月,中關村區塊鏈產業聯盟成立;2016 年 2 月,央行行長周小川指出,數字貨幣必由央行發行,區塊鏈是可選技術;2016 年 4 月,中國分散式總賬基礎協議聯盟(ChinaLedger)宣布成立。2017年 2 月,央行推動的基於區塊鏈的數字票據交易平台測試成功。國內區塊鏈標準和技術不斷完善,應用場景也由金融支付拓展到其它服務領域,但其發展程度還落後於發達國家。

圖8 國內區塊鏈研究發展情況

資料來源:新華網,民生證券研究院

目前,國內區塊鏈政策趨於明晰化,行業政策指導文件主要有 2016 年 10 月工信部發布的《中國區塊鏈技術和應用發展白皮書》,2016 年 12 月國務院發布的《十三五國家信息規劃》以及 2017 年 5 月 16 日工信部發布的《區塊鏈參考架構》。

白皮書首提標準化路線圖,區塊鏈寫入「十三五」規劃。我國區塊鏈標準化工作於2016 年有序開展。2016 年 10 月,工信部發布區塊鏈第一個官方指導文件《中國區塊鏈技術和應用發展白皮書》,給予行業發展政策指引。白皮書總結國內外區塊鏈發展現狀和趨勢,分析包含金融、供應鏈、文化娛樂、智能製造、社會公益、教育就業等多個應用場景的技術應用,指出區塊鏈的核心技術路徑,首次提出區塊鏈標準化路線圖與標準框架體系。

圖9 區塊鏈技術架構

資料來源:《中國區塊鏈技術和應用發展白皮書(2016)》,民生證券研究院

2017 年 5 月 16 日,國內首個區塊鏈標準《區塊鏈參考架構》正式發布,區塊鏈基礎性標準確立。標準內容可分為八個部分,包括範圍、術語和縮略語、概述、參考架構、用戶視圖、功能視圖、用戶視圖和功能視圖的關係、附錄,系統性描述了區塊鏈的生態系統,對行業的參與者和核心功能組件進行了詳細規定。

該架構重點在於解決四大問題:

(1)達成共識,對區塊鏈定義和術語給予明確解釋說明;

(2)明確組件集成,使得行業對技術組件運用有清晰認知;

(3)規範行業,通過視圖傳遞相關的功能信息規範行業標準;

(4)生態整合,在用戶視圖中將不同視角的用戶引入區塊鏈生態中。

圖10 《區塊鏈參考架構》解決的問題

資料來源:雷鋒網,民生證券研究院

圖11 《區塊鏈參考架構》定義用戶視圖

資料來源:雷鋒網,民生證券研究院

圖12《區塊鏈參考架構》定義功能視圖

資料來源:雷鋒網,民生證券研究院

四. 國內外區塊鏈實際應用

在金融科技產業中,由於涉及多行業多學科的融合,所以包括互聯網公司、傳統 IT公司、銀行、資產管理公司等均參與其中。在區塊鏈方面,成熟和初創企業均注重創新性技術研發,積極發掘用戶需求,開拓更多應用場景。BAT 在 FinTech 方面表現積極,布局各有側重:阿里專註於數據金融,百度發力於「AI+金融」,騰訊則圍繞社交網路展開金融連接。

圖13 BAT 在金融科技領域的布局

資料來源:民生證券研究院整理

百度:

近期,百度與佰仟、華能信託等合作方聯合發行國內首單基於區塊鏈技術的 ABS 項目。5 月 16 日,百度與佰仟、華能信託等合作方聯合發行國內首單區塊鏈技術支持的 ABS,發行規模達 4.24 億元。 針對參與的金融機構節點暫時較為有限的情況,百度將區塊鏈演算法做了相應改造,應用了百度安全實驗室的協議攻擊演算法,通過百度極限事務處理系統降低交易成本,結合人工智慧、聯盟鏈等技術實現 ABS 全生命周期管理,通過許可權管理及非對稱加密保證節點信息安全。在現有體制和環境下,百度還必須加入自身的數據積累與分析能力,通過人工智慧技術優化系統風控,以及進行資產的智能篩選、評級、定價。

阿里:

在 2016 年 10 月召開的杭州雲棲大會上,阿里金融雲聯合易誠互動推出了基於區塊鏈技術的積分商城——雲優商城,為銀行提供基於區塊鏈的積分及消費金融分期場景。另外,阿里雲郵箱還聯合「法大大」推出基於區塊鏈技術的郵箱存證產品。2017 年 3 月 24 日阿里巴巴與普華永道達成合作,宣布將用區塊鏈技術打造透明可追溯的跨境食品供應鏈,創建更安全的食品市場。此外,馬雲投資的恒生電子於 2017 年 5 月 5 日以 400 萬美元投資智能合約公司 Symbiont。

騰訊:

區塊鏈方面,2016 年 5 月 31 日,微眾銀行發起的聚焦於區塊鏈在金融方面應用的金融區塊鏈合作聯盟(金鏈盟)正式成立。2016 年 6 月,微眾銀行推出基於騰訊雲的聯盟鏈雲服務(BaaS)。2016 年 9 月底,微眾銀行與上海華瑞銀行宣布共同開發的基於區塊鏈技術的銀行間聯合貸款清算平台上線試運行。騰訊發布區塊鏈白皮書,旨在構建共贏生態。

2017 年 4 月,騰訊支付基礎平台與金髮展趨勢,對區塊鏈在金融、物聯網等領域的應用做出概括,系統介紹了騰訊區塊鏈方案的設計原則、目標、整體架構、技術特色和優勢、行業應用場景等。基於「開放分享」的理念,騰訊將搭建區塊鏈基礎設施,並開放內部能力,與全國企業共享,共同推動可信互聯網的發展,打造區塊鏈的共贏生態。

融應用線聯合騰訊研究院正式發布《騰訊區塊鏈方案白皮書》,詳細闡述了區塊鏈行業的發展趨勢,對區塊鏈在金融、物聯網等領域的應用做出概括,系統介紹了騰訊區塊鏈方案的設計原則、目標、整體架構、技術特色和優勢、行業應用場景等。基於「開放分享」的理念,騰訊將搭建區塊鏈基礎設施,並開放內部能力,與全國企業共享,共同推動可信互聯網的發展,打造區塊鏈的共贏生態。

圖14 騰訊區塊鏈整體架構

資料來源:《騰訊區塊鏈方案白皮書》,

民生證券研究院

圖15 騰訊區塊鏈應用場景

資料來源:《騰訊區塊鏈方案白皮書》,民生證券研究院

納斯達克:上線 Linq 區塊鏈私人股權管理和交易平台

納斯達克是較早運用區塊鏈技術的金融服務公司,其上線的Nasdaq Linq區塊鏈私人股權管理和交易平台通過區塊鏈憑證管理替代人工紙質操作流程,讓發行公司和投資者能更高效安全地跟蹤和管理股權信息。早在 2015 年中,納斯達克就與區塊鏈創業公司 Chain 合作,針對 IPO 前期市場發展了一個分散式賬本市場。2016 年 2 月,納斯達克在愛沙尼亞股票市場測試了一項基於區塊鏈技術的電子投票系統原型。2017 年 1 月,納斯達克一項報告中稱,他們認為,這次測試成功地展示了區塊鏈技術可以在市場交易以外的場景中得到應用。

納斯達克風投表示他們已經開始將投資視線轉移到區塊鏈、人工智慧、下一代數據分析和機器學習領域的公司,將會為相關創業公司投資約 1000 萬美元,投資包括創業種子期和創業後期。這項舉措可以認為是納斯達克在區塊鏈領域投資的版圖擴張。納斯達克CEO 兼主席 Adena Friedman 在聲明中稱「這項新的投資項目的實施,讓我們可以對這些突破性技術進行評估、分類、授權、整合,使我們擁有持續的增長和創新力,對我們全球的客戶也有良好的長期收益」。

以太坊:運行智能合約的區塊鏈平台

以太坊是一種比較新的利用區塊鏈技術的開發項目,其目的在於實現全球去中心化且能夠利用無所有權的數字技術來執行點對點合約,可以理解為運行智能合約的區塊鏈平台

圖16 以太坊發展歷史

資料來源:雷鋒網,民生證券研究院

比特幣可以稱之為「全球賬簿」,技術上更側重的是比特幣交易的全部賬單。以太坊可以被看作一台「全球計算機」,任何人都可以在其中上傳和執行應用程序,並且程序的有效執行能得到保證,這種保證依賴的正是以太坊系統中去中心化的並由全球成千上萬的計算機組成的共識網路。本質上,以太坊的目標就是將區塊鏈的去中心化、開放、和安全特點引入到幾乎所有能被計算的領域。

圖17 以太坊與傳統方案相比的優勢

資料來源:Ethfans 以太坊愛好者

2017 年 3 月 1 日,全球企業以太坊聯盟(Enterprise Ethereum Alliance,EEA)成立,旨在創建一個企業級區塊鏈解決方案,共同開發產業標準。企業以太坊聯盟由埃森哲(Accenture)、桑坦德銀行(Banco Santander)、BlockApps、紐約梅隆銀行(BNY Mellon)、芝加哥商業交易所(CME Group)、ConsenSys、英特爾、摩根大通(J.P. Morgan)、微軟(Microsoft)等聯合成立,西班牙對外銀行(BBVA)、荷蘭銀行(ING)、湯森路透(Thomson Reuters)、瑞銀(UBS)與 Wipro 等機構也加入其中。

圖18 EEA 聯盟參與企業

資料來源:雷鋒網

整片文章刻意迴避「比特幣」等等的幣種,就是希望讀者透過現象看本質,純粹的炒作投資是很危險的,但是比特幣背後的技術是有價值的。

請用微信搜索「覓羅寶」或「MILOBAL」關注官方微信公眾號,以獲取更多資

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


區塊鏈的工作原理

拜占庭將軍問題

拜占庭將軍問題是容錯計算中的一個老問題,由萊斯利?蘭伯特(Leslie Lamport)等人在1982年提出。拜占庭帝國是5~15世紀的東羅馬帝國,即現在的土耳其伊斯坦布爾。拜占庭城邦擁有巨大的財富,令它的十個鄰邦垂涎已久。但是拜占庭高牆聳立,固若金湯,沒有一個單獨的鄰邦能夠成功入侵。任何單個城邦的入侵行動都會失敗,而入侵者的軍隊也會被殲滅,使得其自身反而容易遭到其他九個城邦的入侵。這十個城邦之間也互相覬覦對方的財富並經常爆發戰爭。拜占庭的防禦能力如此之強,十個鄰邦中的至少一半同時進攻,才能攻破。也就是說,如果六個或者更多的鄰邦一起進攻,他們就會成功並獲得拜占庭的財富。然而,如果其中有一個或者更多鄰邦發生背叛,答應一起入侵但在其他人進攻的時候又不幹了,會導致只有五支或者更少的軍隊在同時進攻,那麼所有的進攻軍隊都會被殲滅,並隨後被其他鄰邦所劫掠。因此,這是一個由不互相信任的各個鄰邦構成的分散式網路,每一方都小心行事,因為稍有不慎,就會給自己帶來災難。為了獲取拜占庭的巨額財富,這些鄰邦分散在拜占庭的周圍,依靠士兵相互通信來協商進攻目的及進攻時間。這些鄰邦將軍想要攻克拜占庭,面臨著一個困擾,也就是拜占庭將軍問題:

鄰邦將軍不確定他們中是否有叛徒,叛徒可能擅自變更進攻意向或者進攻時間。在這種狀態下,將軍們能否找到一種分散式協議來進行遠程協商,進而贏取拜占庭城堡攻克戰役的勝利呢,這就是拜占庭將軍問題。

針對拜占庭將軍問題的解決方法包括:口頭協議演算法、書面協議演算法等 。口頭協議演算法的核心思想如下:要求每個被發送的消息都能被正確投遞,信息接收者知道消息的發送者身份,知道缺少的消息信息。採用口頭協議演算法,若叛徒數少於1/3,則拜占庭將軍問題可解。也就是說,若叛徒數為m,當將軍總數n至少為3m+1時,問題可解。然而,口頭協議演算法存在著明顯的缺點,那就是消息不能溯源。為解決該問題,提出了書面協議演算法,該演算法要求籤名不可偽造,一旦被篡改即可發現,同時任何人都可以驗證簽名的可靠性。書面協議演算法也不能完全解決拜占庭將軍問題。因為該演算法沒有考慮信息傳輸時延、其簽名體系難以實現、且簽名消息記錄的保存難以擺脫中心化機構。
與已有方法相比,區塊鏈技術將是更完美的解決方案。區塊鏈是怎樣來解決這個問題的呢,它為發送信息加入了成本,這降低了信息傳遞的速率,並加入了一個隨機數以保證在一段時間內只有一個礦工可以進行廣播。它加入的成本就是「工作量」,區塊鏈礦工必須完成一個隨機哈希演算法的計算工作量才能向各城邦廣播消息。

當用戶向網路輸入一筆交易的時候,他們使用內嵌在客戶端的標準公鑰加密工具來為這筆交易簽名,這好比拜占庭將軍問題中他們用來簽名和驗證消息時使用的「印章」。因此,哈希計算速率的限制,加上公鑰加密,使得一個不可信網路變成了一個可信的網路,使得所有參與者可以在某些事情上達成一致。拜占庭將軍問題的區塊鏈解決方案可以推廣到任何在分散式網路上缺乏信任的領域,比如說域名、投票選舉或其他需要分散式協議的地方 。

區塊鏈工作流程

區塊鏈的工作流程主要包括如下步驟:

1) 發送節點將新的數據記錄向全網進行廣播;
2) 接收節點對收到的數據記錄信息進行檢驗,比如記錄信息是否合法,通過檢驗後,數據記錄將被納入到一個區塊中;
3) 全網所有接收節點對區塊執行共識演算法(工作量證明、權益證明等);
4) 區塊通過共識演算法過程後被正式納入區塊鏈中存儲,全網節點均表示接受該區塊,而表示接受的方法,就是將該區塊的隨機散列值視為最新的區塊散列值,新區塊的製造將以該區塊鏈為基礎進行延長。

節點始終都將最長的區塊鏈視為正確的鏈,並持續以此為基礎驗證和延長它。如果有兩個節點同時廣播不同版本的新區塊,那麼其他節點在接收到該區塊的時間上將存在先後差別,他們將在率先收到的區塊基礎上進行工作,但也會保留另外一個鏈條,以防後者變成長的鏈條。該僵局的打破需要共識演算法的進一步運行,當其中的一條鏈條被證實為是較長的一條,那麼在另一條分支鏈條上工作的節點將轉換陣營,開始在較長的鏈條上工作。以上就是防止區塊鏈分叉的過程。

所謂「新的數據記錄廣播」,實際上不需要抵達全部的節點。只要數據記錄信息能夠抵達足夠多的節點,那麼將很快被整合進一個區塊中。而區塊的廣播對被丟棄的信息是具有容錯能力的。如果一個節點沒有收到某特定區塊,那麼該節點將會發現自己缺失了某個區塊,也就可以提出自己下載該區塊的請求。

現在我們都知道了,區塊鏈網路里的記賬者是節點,節點負責把數據記錄記到數據區塊里,為了鼓勵節點記賬,系統會按照規則隨機地給記賬的節點進行獎勵。那麼如何保證不會有人製造假數據記錄呢,或者說如何保證造假數據記錄不被通過驗證呢?這個就涉及到了:時間戳。這也正是區塊鏈與眾不同的地方,區塊鏈不僅關注數據區塊里的內容,也關注數據區塊本身,把數據區塊的內容與數據區塊本身通過時間戳聯繫了起來。時間戳為什麼會出現?這是由區塊鏈的性質規定的,節點把數據記入了區塊,因此一個區塊就相當於一頁賬簿,每筆數據在賬簿中的記錄可以自動按時間先後排列,那麼賬簿的頁與頁怎麼銜接起來?也就是說這一個區塊與下一個區塊的繼承關係如何斷定就成為了問題。於是時間戳就出現了。時間戳的重要意義在於其使數據區塊形成了新的結構,這個新的結構使各個區塊通過時間線有序連接起來,形成了一個區塊的鏈條,因此才稱為區塊鏈。區塊按時間的先後順序排列使得賬簿的頁與頁的記錄也具有了連續性。通過給數據記錄印上時間標籤,使得每一條數據記錄都具有了唯一性,這就使數據記錄本身在區塊和區塊上的哪個位置上發生可以精確定位且可回溯,給其他的校驗機制協同發揮作用提供了極大的便利和確定性,也使得整個區塊鏈網路能夠確定性地驗證某條數據記錄是否真實。由於區塊鏈網路是公開的,公開意味著系統知道過去發生的所有數據記錄,而任何新的數據記錄都繼承自過去的數據記錄,因為過去的數據記錄是真實的,而且鏈條的各個區塊記錄由時間戳鏈接起來使之環環相扣,所以如果想要製造一個假的數據記錄,就必須在區塊鏈上修改過去的所有數據記錄。儘管在挖礦的過程中,形成了多個鏈條,但因為最長的那個被誠實的節點所控制,所以想要修改過去的數據記錄,首先就要從頭構造出一個長度比最長的那個還要長的鏈條,在這個新的鏈條超過原來的那個鏈條後,才能製造雙重支付的虛假數據。然而隨著時間推移,製造新鏈條的難度和成本都是呈指數級上升的,而且隨著鏈條越來越長,難度也變得越來越大,成本也就越來越高。同時,因為去中心化的設置,區塊鏈的各個核心客戶端同時又是伺服器,保存了區塊鏈網路的完整數據,因此使得對區塊鏈網路的攻擊很難像對傳統的中央處理節點那樣有效,一般情況下很難對區塊鏈網路構成重大衝擊。最終使得區塊鏈網路成為一個難以攻破的、公開的、不可篡改數據記錄和製造虛假數據的誠實可信系統。

區塊鏈保證數據安全、不可篡改以及透明性的關鍵技術包括兩個方面:一是數據加密簽名機制;二是共識演算法。在數據加密簽名機制中,首先要有一個私鑰,私鑰是證明個人所有權的關鍵,比如證明某人有權從一個特定的錢包消費數字貨幣,是通過數字簽名來實現的。其次,要使用哈希散列(Hash)演算法,哈希散列是密碼學裡的經典技術,把任意長度的輸入通過哈希演算法計算,變換成固定長度的由字母和數字組成的輸出,具有不可逆性。共識演算法是區塊鏈中節點保持區塊數據一致、準確的基礎,現有的主流共識演算法包括工作量證明(PoW)、權益證明(PoS)、瑞波共識協議(RCP)等。以PoW為例,指通過消耗節點算力形成新的區塊,是節點利用自身的計算機硬體為網路做數學計算進行交易確認和提高安全性的過程。交易支持者(礦工)在電腦上運行比特幣軟體不斷計算軟體提供的複雜的密碼學問題來保證交易的進行。作為對他們服務的獎勵,礦工可以得到他們所確認的交易中包含的手續費,以及新創建的比特幣。

——節選自《區塊鏈:從數字貨幣到信用社會》(中信出版社)


比特幣的底層就是使用區塊鏈實現的,不妨看看比特幣底層是怎麼運行的:

參考:

http://36kr.com/p/5041713.html

http://ethfans.org/posts/ethereum-whitepaper


不從比特幣開始怎麼讓我講區塊鏈…

如果你能看得懂日文,我推薦下面這一篇博文:

誰も教えてくれないけれど、これを読めば分かるビットコインの仕組みと可能性


這是我見過比較通俗易懂的了,你可以試試谷歌翻譯。

不是我要裝逼,因為我在日本工作,我們最近也在討論這個東西,我覺得這是我見過最簡單易懂的資料了,給同事們推薦的都是這一篇。

我倒是想翻譯但是年底很忙,先碼住吧…


區塊鏈最開始就是解決比特幣這種新型數字貨幣點對點支付的問題,要了解區塊鏈原理還是得從比特幣區塊鏈的構建出發。之前的這篇文章有很通俗詳盡的解釋這個問題,希望能夠幫助到你。文章鏈接:比特幣從「不了解」到「被誤解」--詳解區塊鏈技術 - 知乎專欄


定義

區塊鏈(Blockchain)技術自身仍然在飛速發展中,目前還缺乏統一的規範和標準。

wikipedia給出的定義為:
A blockchain —originally, block chain —is a distributed database that maintains a continuously-growing list of data records hardened against tampering and revision. It consists of data structure blocks—which hold exclusively data in initial blockchain implementations, and both data and programs in some of the more recent implementations—with each block holding batches of individual transactions and the results of any blockchain executables. Each block contains a timestamp and information linking it to a previous block.

最早區塊鏈技術雛形出現在比特幣項目中。作為比特幣背後的分散式記賬平台,在無集中式管理的情況下,比特幣網路穩定運行了近八年時間,支持了海量的交易記錄,並未出現嚴重的漏洞。
註:比特幣歷史上唯一已知的漏洞事件曾導致比特幣的惡意增發,但問題很快被發現並修
正,相關非法交易被撤銷。
公認的最早關於區塊鏈的描述性文獻是中本聰所撰寫的 比特幣:一種點對點的電子現金系
統,但該文獻重點在於討論比特幣系統,實際上並沒有明確提出區塊鏈的定義和概念。在其中,區塊鏈被描述為用於記錄比特幣交易的賬目歷史。

古老的賬本

記賬技術歷史悠久,現代複式記賬系統(Double Entry Bookkeeping)是由義大利數學家盧卡·帕西奧利,1494年在《Summa de arithmetica, geometrica, proportioni et proportionalità》 一書中最早制定。複式記賬法對每一筆賬目同時記錄來源和去向,首次將對賬驗證功能引入記賬過程,提升了記賬的可靠性。從這個角度來看,區塊鏈是首個自帶對賬功能的數字記賬技術實現。
更廣泛意義地看,區塊鏈屬於一種去中心化的記錄技術。參與到系統上的節點,可能不屬於同一組織、彼此無需信任;區塊鏈數據由所有節點共同維護,每個參與維護節點都能複製獲得一份完整記錄的拷貝。
跟傳統的記賬技術相比,其特點應該包括:

  • 維護一條不斷增長的鏈,只可能添加記錄,而發生過的記錄都不可篡改;
  • 去中心化,或者說多中心化,無需集中的控制而能達成共識,實現上盡量分散式;
  • 通過密碼學的機制來確保交易無法抵賴和破壞,並盡量保護用戶信息和記錄的隱私性。

更進一步的,還可以將智能合約跟區塊鏈結合到一起,讓其提供除了交易(比特幣區塊鏈已經支持簡單的腳本計算)功能外更靈活的合約功能,執行更為複雜的操作。這樣擴展之後的區塊鏈,已經超越了單純數據記錄的功能了,實際上帶有點「普適計算」的意味了。
從技術特點上,可以看到現在區塊鏈技術的三種典型應用場景:

基本原理
區塊鏈的基本原理理解起來並不難。基本概念包括:

  • 交易(Transaction):一次操作,導致賬本狀態的一次改變,如添加一條記錄;
  • 區塊(Block):記錄一段時間內發生的交易和狀態結果,是對當前賬本狀態的一次共識
  • 鏈(Chain):由一個個區塊按照發生順序串聯而成,是整個狀態變化的日誌記錄。

如果把區塊鏈作為一個狀態機,則每次交易就是試圖改變一次狀態,而每次共識生成的區
塊,就是參與者對於區塊中所有交易內容導致狀態改變的結果進行確認。

區塊鏈示例

在實現上,首先假設存在一個分散式的數據記錄本(這方面的技術相對成熟),這個記錄本只允許添加、不允許刪除。其結構是一個線性的鏈表,由一個個「區塊」串聯組成,這也是其名字「區塊鏈」的來源。新的數據要加入,必須放到一個新的區塊中。而這個塊(以及塊里的交
易)是否合法,可以通過一些手段快速檢驗出來。維護節點都可以提議一個新的區塊,然而必須經過一定的共識機制來對最終選擇的區塊達成一致。
具體以比特幣為例來看如何使用了區塊鏈技術?客戶端發起一項交易後,會廣播到網路中並等待確認。網路中的節點會將一些等待確認的交易記錄打包在一起(此外還要包括此前區塊的哈希值等信息),組成一個候選區塊。然後,試圖找到一個 nonce串放到區塊里,使得候選區塊的 hash結果滿足一定條件(比如小於某個值)。一旦算出來這個區塊在格式上就合法了,就可以進行全網廣播。大家拿到提案區塊,進行驗證,發現確實符合約定條件了,就承認這個區塊是一個合法的新區塊,被添加到鏈上。當然,在實現上還會有很多的細節。
比特幣的這種基於算力的共識機制被稱為 Proof of Work(PoW)。目前,要讓 hash結果滿足一定條件並無已知的啟發式演算法,只能進行暴力嘗試。嘗試的次數越多,算出來的概率越大。通過調節對 hash結果的限制,比特幣網路控制約 10分鐘平均算出來一個合法區塊。算出來的節點將得到區塊中所有交易的管理費和協議固定發放的獎勵費(目前是 12.5比特幣,每四年減半)。也即俗稱的挖礦。

很自然會有人問,能否進行惡意操作來破壞整個區塊鏈系統或者獲取非法利益。比如不承認別人的結果,拒絕別人的交易等。實際上,因為系統中存在大量的用戶,而且用戶默認都只承認他看到的最長的鏈。只要不超過一半(概率意義上越少肯定越難)的用戶協商,最終最長的鏈將很大概率上是合法的鏈,而且隨著時間增加,這個概率會越大。例如,經過 6個塊
後,即便有一半的節點聯合起來想顛覆被確認的結果,其概率將為 ,即低於 的可能
性。
註:熟悉 Git的人,應該會讚歎兩者在設計上的異曲同工之妙。

分類

根據參與者的不同,可以分為公開(Public)鏈、聯盟(Consortium)鏈和私有(Private)鏈。
公開鏈,顧名思義,任何人都可以參與使用和維護,典型的如比特幣區塊鏈,信息是完全公開的。
如果引入許可機制,包括私有鏈和聯盟鏈兩種。
私有鏈,則是集中管理者進行限制,只能得到內部少數人可以使用,信息不公開。
聯盟鏈則介於兩者之間,由若干組織一起合作維護一條區塊鏈,該區塊鏈的使用必須是有許可權的管理,相關信息會得到保護,典型如銀聯組織。
目前來看,公開鏈將會更多的吸引社區和媒體的眼球,但更多的商業價值應該在聯盟鏈和私有鏈上。
根據使用目的和場景的不同,又可以分為以數字貨幣為目的的貨幣鏈,以記錄產權為目的的產權鏈,以眾籌為目的的眾籌鏈等。

誤區

目前,對區塊鏈的認識還存在不少誤區。
首先,區塊鏈不是資料庫。雖然區塊鏈也可以用來存儲數據,但它要解決的問題是多方的互信問題。單純從存儲數據角度,它的效率可能不高,筆者也不推薦把大量的原始數據放到區塊鏈上。
其次,區塊鏈不是要顛覆現有技術。作為基於多項已有技術而出現的新事物,區塊鏈跟現有技術的關係是一脈相承的,在解決多方合作和可信處理上多走了一步,但並不意味著它將徹底顛覆已有的商業模式。很長一段時間裡,區塊鏈的適用場景仍需摸索,跟已有系統必然是合作共存的關係。

小結

區塊鏈是第一個試圖自帶信任化和防止篡改的分散式記錄系統。它的出現,讓大家意識到,除了互聯網這樣的儘力而為的基礎設施外,我們還能打造一個彼此信任的基礎設施。
類似比特幣這樣的大規模長時間自治運行的系統,也為區塊鏈技術的應用開啟了更多遐想的空間。如果人與人之間的交易無法偽造,合同都能確保可靠執行,世界是不是更美好一些了呢?這是技術進步再次給人類發展帶來福利。
不提這種去中心化的金融系統是否能在現實中普及,在跨國交易、跨組織合作日益頻繁的今天,已經有了不少有意義的嘗試和參考。
更進一步,比特幣只是基於區塊鏈技術的一種金融應用(而且是直接嵌入區塊鏈中),區塊鏈技術還能帶來更通用的計算能力。Hyperledger和 Ethereum就試圖做類似的事情,基於區塊鏈再做一層平台層,讓別人基於平台開發應用變得更簡單。
另外,區塊鏈本身可以作為分散式存儲,也自然可以作為分散式計算引擎。可以想像,整個加入集群的設備都是計算引擎,大家通過付費來使用計算力,是不是就有點普適計算的意味了?
有理由相信,隨著更多商業應用場景的出現,區塊鏈技術將在未來金融和信息技術領域佔據一席之地。

--------歡迎關注我的個人主頁,大家共同進步,王坤 - 知乎


說實話個人感覺說區塊鏈確實可以用不著舉數字貨幣的例子來說。

題主也可以看看 @汪樂-LaiW3n @程劍宇 @玲瓏邪僧 的關於區塊鏈的回答。

個人對區塊鏈的定義是:一種基於加密技術的低成本、高安全、可定製和封裝的去中心化信任解決工具。

通過加密技術和共識機制盡量保證鏈上內容的安全和真實,通過分散節點的方式解決中心化機構需要三方介入的信任問題,再通過其本身的技術屬性提供一個可定製的多向解決方案來適配不同應用場景。


另,聽有人說過類似的話:區塊鏈被開發出來的本意是為比特幣網路服務。但現在越來越感覺,區塊鏈是一套高安全性(當然看你怎麼定製化開發)的「系統」,比特幣是這個「系統」中第一代相對成熟和知名的應用。之後系統如何發展和進化,那就得要看資本是如何推動、民智是如何發展了。


不舉加密貨幣的例子的「區塊鏈」只存在於理論中,現實中無法應用。

POW和POS都需要有激勵,不存在激勵的「區塊鏈」存在於理論中,現實中暫時沒有人會去沒有激勵的情況下幫你續區塊,不被續的區塊鏈就死了……

比特幣完全可以改造成央行發行代幣,銀行幫續區塊……但是沒有任何意義啊……原有的銀行體系就能運行的很好,幹嘛要把這種基於不需要互信的區塊鏈技術帶進來呢……


2008年,彷彿生活在虛空中的一個神秘人物,未見其人只聞其名的「中本聰」,通過一篇未在任何學術期刊上公開發表的神秘論文,把比特幣帶到這個世界。

誕生於虛擬世界的比特幣代表了人類對數學演算法的一種共識,基於這種共識機制,即使沒有任何政府信用背書,比特幣仍然世人的認可,不論是從最初幾十個比特幣換取一份披薩,還是2013年12月1日,比特幣的單價超越一盎司黃金的價格,比特幣都在向世人展示其作為價值尺度的一面。

儘管比特幣價格在暴漲暴跌中減弱了其作為更大範圍應用的貨幣應用的可能,但比特幣向世人展示了一種不需要中介卻可以實現價值傳遞的可能性。

這種可能性就是區塊鏈。

想要了解區塊鏈就必須首先找到它的源頭---「拜占庭將軍的問題」

我們首先來看看什麼是拜占庭將軍的問題:

由於當時拜占庭羅馬帝國國土遼闊,為了防禦敵人每個軍隊都分隔很遠,將軍與將軍之間只能靠信差傳遞消息。在戰爭時期,拜占庭軍隊內所有將軍和副官必須達成一致共識決定是否有贏的機會採取攻打敵人的陣營。但是,軍隊可能有叛徒和敵軍間諜,左右將軍們的決定,擾亂軍隊整體秩序,再達成共識的過程中,有些信息,往往並不代表大多數人的的意見。這時候,在已知有成員謀反的情況下,其餘忠誠的將軍在不受叛徒影響下如何達成一致的協議,就是「拜占庭將軍的問題「。

為了更好的幫助大家理解,我們把上述問題替換成以下幾種情況:

·一個可以發消息,做出行動的錯誤信息節點;
·一份為獲取暴利而做出來的金融票據;
·一份失效的醫療糾紛合同;
·一個出故障的,向其他計算機不停發出不同錯誤信息的伺服器;
·一份含混不清的保單;

上述情況都會導致事情變得混亂不清,如果說「叛變的拜占庭將軍」是我們社會中各種類型的信息節點,那麼「拜占庭將軍問題」所描述的情景,則無疑是我們當今越發缺乏中心化的、難以判別信息真假與產生信用問題的社會極度悲觀的隱喻。
那麼這樣的問題如何解決呢?

用演算法解決難題---區塊鏈技術的雛形

任何人覺得時機到了都可以宣布一個攻擊時刻。而且,不論什麼時候只要是第一個聽到了這個消息,這個時刻就可以被作為官方攻擊時刻。

下面我們只講述這個解決方案的關鍵所在:

問題:
由於網路中存在延遲,如果有倆個將軍AB在幾乎相同的時間宣布了一個攻擊時刻,那麼就會有一部分人先聽到A將軍的時刻,而另一部分人則會先聽到B將軍的時刻。

解決:
使用一個「工作量證明鏈」來解決這個問題。每個將軍接收到任何表達形式的第一個攻擊時刻,他都會設置他的計算機來求解一個極其困難的「工作量證明」問題。對這個問題的解答是一個哈希散列,裡面也講包含著這次攻擊時刻。由於這個「工作量證明」非常難解,一般而言,就算所有人收到這個問題後同時求解也至少需要10分鐘才能解答,一旦一個將軍解出了「工作量證明」,他將會把算出來的「工作量證明」向整個網路進行傳播,每一個接收到的人,將在他們當前正在做的的「工作量證明」計算的散列中附加上剛剛被求解出來的的那個工作量證明。從而求解這個新的「工作量證明」,以此循環。

那麼「工作量證明」就是上述問題的答案。

區塊鏈到底是什麼?

我們一直有兩個錯誤的概念:
1.比特比與區塊鏈是父與子的關係。
2.區塊鏈是比特幣的一個意外發現和生成物,帶來出乎大家所料的驚喜,之前沒有人料到這一切。

事實上,作為比特比實現的底層技術,區塊鏈的產生是伴隨著比特幣一道出現的,稱之為父與子的關係極不準確。其次,與其說意外,倒不如說是蓄謀已久。

可知:區塊鏈是比特幣實現的底層技術

更深一步,如果從不同的技術角度來剖析,我們可以這樣看待區塊鏈:他是一種資料庫、一種分散式系統、也是一種網路底層協議。

·資料庫:區塊鏈是一種公共資料庫,它記錄了網際間所有的交易信息,隨時更新,讓每個用戶可以通過合法的手段從中讀取信息,寫入信息。但又有一套特殊的機制,防止以往的數據被篡改。

·分散式系統:區塊鏈是一種分散式系統,他不儲存放置在某一個特定的伺服器或安全節點上,而是分布地存在於網路上所有的完整節點上在每一個節點保留著信息備份。
·網路底層協議:區塊鏈是一種公式協議,基於這種協議,可以在其上開發出類目繁多的應用。這些應用在每一時刻都保存一條最長的、最具權威的、共同認可的數據記錄,並遵循共同認可的機制進行無須中間權威仲裁的、直接的、點對點的交互信息。


既然區塊鏈可以作為比特幣的底層技術,那麼就會有層出不窮的其他數字貨幣來使用區塊鏈這一技術,創造出新的數字貨幣。

例如:以太坊、瑞波比、萊特幣等等
最後,我們來通過一對例子來更通俗的理解區塊鏈

假定在一萬年前,我手裡有一個貝殼,對方有一包鹽,我倆簡單直接的換走,二我們不需要過多的知道對方的信息,也不需要知道對方的家庭住址、身份證、信用的冗餘信息。但後來隨著社會的不斷發展,我們做一個非常簡單的交換過程必須依賴銀行。首先吧我們的價值轉化為銀行記賬單位,然後通過一個中心化的節點銀行,進行這種價值的傳輸。

我們所說的區塊鏈就是要回到10000年前那種簡單的交易模式。


報告看點梳理:
①什麼是區塊鏈?區塊鏈如何工作?
②區塊鏈的四大特徵和優勢是什麼?
③區塊鏈的三大類型和發展歷程
④核心技術、基本應用兩大產業鏈布局,更細化共識機制、數據存儲、智能合約等完整產業鏈分支
⑤82家關聯企業介紹及融資信息詳情

原文鏈接:區塊鏈行業研究報告(附82家關聯企業介紹)

區塊鏈服務允許個人之間直接互聯、共享和交易,進入真正的共享經濟。區塊鏈是一個實現真正的對等交易和「共享經濟」的平台。

區塊鏈技術的應用場景

區塊鏈技術對許多行業而言是一種強大的顛覆性技術,因為它能更順利、更高效地組織活動。而且它能協調參與者之間更大規模的組織活動。區塊鏈已在幫助重塑各種各樣的行業領域,比如金融、醫療和政府。

下面給出了區塊鏈帶來的無限可能的樣本:

1、物聯網
貨物運輸:通過多家運輸公司轉移貨物,確保透明性和及時送達
組件跟蹤和合規性:存儲原件和用於車隊維護的替換部件的來源記錄
記錄運營維護數據:存儲運營和維護記錄,以便在業務合作夥伴之間共享或將 它們用於監管

2、身份管理
構建值得信賴的數字身份

3、供應鏈
提高食品安全網路中的可跟蹤性、透明性和效率

4、金融服務
了解您的客戶:訪問可信的最新客戶信息,這能提高金融機構中的客戶服務的準確性
清算和結算:在金融機構之間實時點對點轉移資金,這可以加速結算
更多示例:信用證、公司債務和債券、貿易平台、支付匯款、回購協議和外匯

5、醫療保健
電子醫療記錄
病毒庫
醫生-供應商RFP服務和保險合同
區塊鏈健康研究共享空間
區塊鏈健康司法人員

6、保險
索賠處理
P2P保險
所有權
銷售和承保

7、政府
政府招標程序
選舉
稅收

8、遊戲音樂及其他

關於區塊鏈的知識問答

問:區塊鏈和比特幣是什麼關係?比特幣就是區塊鏈嗎?

答:區塊鏈技術是比特幣的底層技術,在早期並沒有太多人注意到比特幣的底層技術。但是當比特幣在沒有任何中心化機構運營和管理的情況下,在多年裡非常穩定的運行,並且沒有出現過任何問題。所以很多人注意到,該底層技術技術也許有很大的機制,而且不僅僅可以在比特幣中使用,也許可以在許多領域都能夠應用這種技術。於是把比特幣技術抽象提取出來,稱之為區塊鏈技術,或者分散式賬本技術。

所以從某個角度來看,比特幣可以看成是區塊鏈第一個應用,而區塊鏈更類似於TCP/IP這樣的底層技術,以後會擴展到越來越多的行業中。

問:什麼是比特幣說的「挖礦」?

答:比特幣中的「挖礦」實際上就是記賬的過程,比特幣的運算採用了一種稱為「工作量證明(Proof of Work,PoW)」的機制,系統為了找出誰有更強大的計算能力,每次會出一道數學題,只有最快解出這道題目的計算機才能進行記賬。而搶到記賬權的計算機會獲得25個比特幣的獎勵。通常把這個行為稱為「挖礦」,把獲得的比特幣視為挖礦成功獲得的獎勵。

問:比特幣總量有上限嗎?是怎麼分配的?

答:如同前面所說,礦工參與爭奪記賬權是有機會獲得獎勵的。在開始的時候是每10分鐘系統會獎勵記賬最快最好的人50個比特幣,然後這50個每四年減半,差不多在2140年的時候就不再有新的比特幣出現,將會達到2100萬個的上限。在這之後,將會使用交易手續費來獎勵礦工。

完整版報告及關聯企業介紹鏈接請戳鏈接:區塊鏈行業研究報告(附82家關聯企業介紹)


原理就是不要相信政府了,我要弄個自治的系統,然後區塊鏈就出現了。。。

當然技術性的回答也有,給你一個匯總帖,自己學習去吧:區塊鏈開發者中文論壇-區塊鏈技術開發人員分享交流的平台 - Powered by Discuz!


區塊鏈技術來源

談到區塊鏈,就不得不提比特幣,區塊鏈作為比特幣的底層技術,是伴隨著比特幣而產生的。比特幣交易機制中,不同的挖礦節點對應一個區塊,每個區塊中存儲被確認認可的交易記錄賬單,而在交易記錄賬單中,記錄著每筆交易的來源,即上一頁賬單編號,這樣交易記錄就像鏈條一樣存儲在區塊中,稱為「區塊鏈」。

比特幣是一種去中心化的虛擬數字貨幣,沒有像央行一樣的中心化機構發行貨幣,在自發生成虛擬數字貨幣時,大家如何達成共識(通過共識演算法認可交易)以及交易的安全性(加密演算法)顯得尤為重要。

通俗的說,區塊是分散式記錄賬本的資料庫,通過賬本中的交易可以查到該筆交易的上一頁賬本,通過計算機演算法和加密技術來保證數據的統一和安全性,即為從比特幣中抽象出來的「區塊鏈技術」。

區塊鏈技術可以解決哪些問題?

在互聯網上,涉及到身份信息的校驗,若沒有政府或銀行提供身份核實校驗,我們無法建立經濟活動往來所需的信任關係,這裡的校驗核實都需要通過一個權威的中心機構去獲取數據。而區塊鏈技術可解決信任和安全問題,而不依賴任何第3方機構。區塊鏈是分散式的,它完整的保存運行在每個區塊鏈的節點上,即每個節點都有完整的數據備份;區塊鏈是共享公開的,節點上的任何人或任何機構都可以查看區塊鏈上的信息;區塊鏈是加密的,它使用非對稱加密演算法來保證信息的安全性。

區塊鏈中的每個區塊在建立時就需要對此前區塊的交易信息進行確認,如果需要篡改交易信息和盜竊資金,需要更改每個區塊中的全部交易記錄,而這基本是不可能的,由於區塊鏈的這種大範圍的點對點去校驗和批准每一筆交易,使得它具有不可篡改的特性。

區塊鏈技術的實質是在信息不對稱的情況下,無需相互擔保信任或第三方中介參與,採用基於共識機制和加密演算法的節點間普遍通過即為認可的信任機制。下面淺談其應用場景:

區塊鏈+數字貨幣

目前央行正在探索利用區塊鏈技術發行數字貨幣,可以監督每一筆資金的完整流向。

區塊鏈+支付

採用區塊鏈技術的支付體系,無需跨行清算,貨幣兌換以及效率更高,在這種點對點的網路中,無需中間環節,費用更低。

區塊鏈+交易所

區塊鏈的去中心化、匿名性和不可篡改等特性,可以顯著提升登記、發行、交易、轉讓、交割清算效率。

區塊鏈+徵信

傳統的徵信數據,面臨著數據孤島的障礙,通過區塊鏈技術,建立數據公信力,且全網徵信數據無法修改。

區塊鏈+知識產權保護

每一條記錄在建立時,都會加蓋時間戳和用戶ID,這樣無論中間經歷多少環節,知識產權帶來的效益都會只屬於最初的創作者。

目前,區塊鏈技術的應用場景除了比特幣外,在其他領域的應用尚在探索中。

區塊鏈核心技術

區塊鏈的核心技術主要是共識機制和加密演算法。共識機制主要解決由誰來構造區塊,以及如何維護區塊鏈統一的問題;加密演算法用來解決電子貨幣的所有權問題。區塊鏈技術在不同領域中的探索,主要在於選擇合適的共識機制和加密演算法。

比特幣的共識機制採用的是工作量證明,礦工通過編碼生成器計算有效的賬號編碼時,需要通過大量的計算,平均10分鐘才能生成一個有效的賬單編號並完成一筆交易的清結算。這裡的演算法不適用於對效率要求高的行業,且無法保證用戶體驗。所以,需要根據不同行業的要求,制定合適的共識機制。目前常用的共識機制主要有工作量證明、活動證明機制、權益證明機制和容量證明機制等,共識機制尚在不斷的研發更新中。

信息的加解密是區塊鏈的關鍵環節,主要是哈希函數和非對稱加密兩部分的演算法。哈希函數目前主要有SHA家族演算法、MD5、SCRYPT、RIPEMD、WHIRLPOOL、CUCKOO HASH、HAVAL、Tiger、LYRA2、Equihash、Hashimoto、Dagger、Ethash(以太坊目前Pow機制下的演算法)等多種演算法,還有其中演算法的串聯和並聯使用。比特幣的加密演算法採用的是SHA256哈希運算,連續進行兩次SHA256運算才能作為最終結果,前一次運算的結果作為後一次運算的輸入,SHA256加密尚未破解。

區塊鏈在應用實踐中,除具備上述優勢外,也面臨著諸多挑戰。比如,維持共識機制的算力需要耗費大量電能、政府的政策限制等。不過歷史上每一項新技術出現時,都伴隨著質疑和挑戰,如互聯網在30後的今天才得以普及,隨著技術的成熟,在不久的將來,相信區塊鏈技術能幫助我們建立信任機制、保護數據隱私、提高協作效率。
關注微信號:Tinadreamer,獲取更多原創乾貨


區塊鏈的原理有兩個:

1.基礎演算法:參考拜占庭問題,如何在一個不受信任的網路環境里,讓絕大多數人達一致的意見。

2.設計思想:群峰思維是區塊鏈的設計思想,超級有機體的群體智慧。在計算機世界,所有的計算機就是一個個的蜜蜂,所有的計算機計算能力就是群體智慧。


簡單的說,現在的互聯網服務都是由中心伺服器控制的。你瀏覽的網站,用的軟體...。都是由所擁有的公司完全控制,控制者改版則改版,刪除數據則刪除數據。所有的規則由擁有者制定或修改。

而狹義上的區塊鏈參與的人,人人平等,人人都是中心伺服器,人人又都不是中心伺服器。

----

如果你關注區塊鏈,關注區塊鏈在金融行業的運用。關注我們唐盛鏈公眾號:tangdaijinfu


推薦閱讀:

TAG:分散式系統 |