日韩国产精品99成人不卡在线无毒|狠狠躁夜夜爽一级二级精品|亚洲日日噜噜孕妇中文字幕|日韩久草中文三级片

新聞動態(tài)

晨展科技帶你了解什么是區(qū)塊鏈

行業(yè)資訊 發(fā)布者:cya 2019-11-21 09:09 訪問量:223

作者:甜草莓
原文:https://www.zhihu.com/question/304058358/answer/546585633


前言


中共中央政治局10月24日下午就區(qū)塊鏈技術(shù)發(fā)展現(xiàn)狀和趨勢進(jìn)行第十八次集體學(xué)習(xí)。中共中央總書記在主持學(xué)習(xí)時強(qiáng)調(diào),區(qū)塊鏈技術(shù)的集成應(yīng)用在新的技術(shù)革新和產(chǎn)業(yè)變革中起著重要作用。我們要把區(qū)塊鏈作為核心技術(shù)自主創(chuàng)新的重要突破口,明確主攻方向,加大投入力度,著力攻克一批關(guān)鍵核心技術(shù),加快推動區(qū)塊鏈技術(shù)和產(chǎn)業(yè)創(chuàng)新發(fā)展。


相信大家周末都已經(jīng)被這條消息刷屏了!不論你是已經(jīng)盈利的幣圈大佬?還是站到風(fēng)口上的開拓者。今天讓我們重新審視區(qū)塊鏈,這項(xiàng)風(fēng)口上的技術(shù)。


概述


定義: 區(qū)塊鏈由一個共享的,容錯的分布式數(shù)據(jù)庫和多節(jié)點(diǎn)網(wǎng)絡(luò)組成。



在區(qū)塊鏈數(shù)據(jù)庫中:


  • 數(shù)據(jù)僅可通過共識算法以塊的形式增加,不可修改或刪除,以防止篡改;

  • 每個區(qū)塊至少會包含一個塊生成時間和出塊簽名;

  • 所有的交易數(shù)據(jù)都會被雙方簽名,以防止抵賴;

  • 傳統(tǒng)區(qū)塊鏈中,新增區(qū)塊中儲存上一個區(qū)塊的hash,并通過此hash與上一個區(qū)塊相連



在區(qū)塊鏈多節(jié)點(diǎn)網(wǎng)絡(luò)中:


  • 所有節(jié)點(diǎn)都有瀏覽區(qū)塊的權(quán)限,但是并不能完全控制區(qū)塊

  • 所有節(jié)點(diǎn)都有驗(yàn)證區(qū)塊,參與共識,并通過共識增加數(shù)據(jù)的權(quán)利


通過區(qū)塊鏈可以實(shí)現(xiàn):


  • 不依賴授信第三方的數(shù)據(jù)記錄和鏈上數(shù)據(jù)溯源

  • 通過peer-to-peer網(wǎng)絡(luò)的數(shù)據(jù)通信和可信價值交換

  • 對所有面向系統(tǒng)中心控制者的攻擊都有非常強(qiáng)的抵抗能力



潛在應(yīng)用:


  • 物聯(lián)網(wǎng)

  • 互聯(lián)網(wǎng)醫(yī)療

  • 云儲存

  • 安全領(lǐng)域,如授權(quán),可信服務(wù)提供

  • 互聯(lián)網(wǎng)金融等


可以認(rèn)為,一切存在中心化賬本的技術(shù)都可能有區(qū)塊鏈應(yīng)用前景,這是一種效率和信任的交換,但是需要注意這種交換不一定所有應(yīng)用都值得。


應(yīng)用實(shí)例:


  • 由日本Morgen銀行和ripple等提供的快速,安全,便捷的國際轉(zhuǎn)賬服務(wù).

  • SWIFT自己正在建立的區(qū)塊鏈網(wǎng)絡(luò),加速國際轉(zhuǎn)賬

  • IBM建立的supply chain,探索潛在服務(wù)

  • 比特幣


構(gòu)成技術(shù):


  • P2P技術(shù): 點(diǎn)對點(diǎn)數(shù)據(jù)傳輸,BT協(xié)議的支撐技術(shù)。

  • 共識算法:區(qū)塊鏈能夠保證不可篡改,數(shù)據(jù)可信的核心。

  • 橢圓加密算法,公私鑰體系,數(shù)字簽名等密碼學(xué)算法。

  • Merkle樹:區(qū)塊鏈數(shù)據(jù)儲存的數(shù)據(jù)結(jié)構(gòu)。


下文中將介紹我認(rèn)為不可替代的一些技術(shù): 共識算法,加密/簽名,P2P。更多的請各位自己在網(wǎng)上查詢。


前言


個人覺得,區(qū)塊鏈不是一項(xiàng)新技術(shù),而是多種網(wǎng)絡(luò)技術(shù)組合來解決一個新問題,而這個新問題的核心是共識算法。


我知道在知乎回答區(qū)塊鏈問題一定要做好唇槍舌戰(zhàn)的的準(zhǔn)備,畢竟知乎的“政治正確”是區(qū)塊鏈都是騙子,而“區(qū)塊鏈”這個話題甚至已經(jīng)變成了一個各種公眾號炒幣的金融話題,完全脫離了本質(zhì)。但是我思來想去還是決定把我自己理解的區(qū)塊鏈技術(shù)寫下來,畢竟這是有可能會改變一些東西的一項(xiàng)技術(shù)。


請注意,本文只想以一種客觀的角度來描述區(qū)塊鏈技術(shù),請評論也僅限于技術(shù)問題,不討論政治,哲學(xué)和其他,我保留刪評論的權(quán)利。


區(qū)塊鏈的最主要技術(shù)進(jìn)步是,實(shí)踐證明了在同步通信的情況下,參與節(jié)點(diǎn)不受限的拜占庭問題近似可解。談到區(qū)塊鏈現(xiàn)在呈現(xiàn)鮮明的兩派,毀譽(yù)參半。這是因?yàn)樵缙诒忍貛艆⑴c者,所謂的幣圈大佬良莠不齊,詐騙者居多造成的,首先在這里有必要澄清一些過度傳銷引起的誤解。


  1. 區(qū)塊鏈?zhǔn)且豁?xiàng)顛覆性技術(shù)。是一種革命。這是錯誤的,區(qū)塊鏈?zhǔn)且环N效率和信任的交換,并不是革命,也不一定適用于所有問題。

  2. 區(qū)塊鏈?zhǔn)恰叭ブ行幕钡?,“智能合約”是智能的。實(shí)際上,decentralized這個詞既沒有在比特幣論文出現(xiàn)過,也不應(yīng)該被翻譯為“去中心化”,我個人比較喜歡臺灣地區(qū)的“分散式”這個翻譯。2016年6月W3C的區(qū)塊鏈會議上,以太坊核心開發(fā)團(tuán)隊(duì)就表示不再使用這個詞,而完全的去中心化會導(dǎo)致效率十分低下,是不可行的。區(qū)塊鏈的核心是分布式。智能合約(smart contract)這個詞,翻譯的非常不恰當(dāng)。英文里"smart"的意思是”敏捷“,"intelligent"的意思才是智能,"smart contract"是為了幫助程序員快速完成區(qū)塊鏈應(yīng)用開發(fā)。現(xiàn)在有很多人望文生義,這也很不合適。

  3. 區(qū)塊鏈完全是一種分布式數(shù)據(jù)庫。區(qū)塊鏈采用了分布式數(shù)據(jù)庫的特征,但是為了達(dá)成強(qiáng)數(shù)據(jù)一致性和不可篡改,犧牲了很多分布式數(shù)據(jù)庫的優(yōu)點(diǎn),當(dāng)然也帶來了一些分布式數(shù)據(jù)庫沒有的特性。

  4. 技術(shù)有其應(yīng)用前景,在不成熟之前就接受大眾投資是非常不明智的行為。


背景


2009年, Satoshi Nakamoto建立了第一個區(qū)塊鏈系統(tǒng),比特幣,這是一種點(diǎn)對點(diǎn)電子現(xiàn)金系統(tǒng),主要為了支持資金交易。此后,區(qū)塊鏈系統(tǒng)隨著數(shù)字貨幣的爆發(fā)迅速發(fā)展,功能各種各樣。


2009年, Satoshi Nakamoto建立了第一個區(qū)塊鏈系統(tǒng),比特幣,這是一種點(diǎn)對點(diǎn)電子現(xiàn)金系統(tǒng),主要為了支持資金交易。此后,區(qū)塊鏈系統(tǒng)隨著數(shù)字貨幣的爆發(fā)迅速發(fā)展,功能各種各樣。


現(xiàn)在在不同領(lǐng)域,存在各種各樣的區(qū)塊鏈系統(tǒng)正在開發(fā),或者正在運(yùn)行,或者正在探索應(yīng)用前景。區(qū)塊鏈的p2p通信方式,密碼學(xué)加密/簽名并不是重點(diǎn),已經(jīng)有了很多解釋,我們著重講一下區(qū)塊鏈里的共識算法。


挖礦/共識算法


挖礦是一種創(chuàng)造區(qū)塊的過程,這種區(qū)塊是可以被驗(yàn)證并添加進(jìn)分布式數(shù)據(jù)庫的數(shù)據(jù)塊。在一些區(qū)塊鏈系統(tǒng)中,比如比特幣和ETH,礦工可以通過挖礦從系統(tǒng)獲得獎勵。在所以區(qū)塊鏈系統(tǒng)中,挖礦都是一個最核心的概念,試圖參與挖礦過程的節(jié)點(diǎn)被稱為礦工。


理論上,每個可接入?yún)^(qū)塊鏈的節(jié)點(diǎn)都有成為礦工的權(quán)利,但是它們不一定有機(jī)會成為礦工。


挖礦是一種周期性的競爭行為,根據(jù)共識算法不同,對于每個挖礦周期,從礦工中選擇“優(yōu)勝者”的方式也有所不同,通常我們稱這些“優(yōu)勝者”為當(dāng)前周期“出塊者”。

。這種共識算法通常被理解成為“多數(shù)人共識”,而如何在網(wǎng)絡(luò)中定義“人”這一過程,在不同共識算法中有所不同。


目前存在很多種共識算法來決定這一過程:


  1. 工作量證明(Proof of Work):PoW是比特幣中使用的共識算法,當(dāng)然目前也有很多其它區(qū)塊鏈系統(tǒng)應(yīng)用PoW。它需要礦工參與一場困難的周期性的數(shù)學(xué)競賽(比特幣中具體為計算指定0數(shù)目的hash值),這場數(shù)學(xué)競賽難以計算但是易于驗(yàn)證。一旦有某個礦工計算出了結(jié)果,它將用這個結(jié)果和這段時間自己從網(wǎng)絡(luò)中收集的交易信息一起打包,形成當(dāng)前區(qū)塊,并把此區(qū)塊廣播至區(qū)塊鏈節(jié)點(diǎn)網(wǎng)絡(luò)。每個節(jié)點(diǎn)都可以驗(yàn)證競賽結(jié)果和區(qū)塊中的交易信息,如果驗(yàn)證成功,節(jié)點(diǎn)會添加這個區(qū)塊進(jìn)自己的區(qū)塊鏈數(shù)據(jù)庫。所有節(jié)點(diǎn)完成新區(qū)塊驗(yàn)證和添加的時間之和應(yīng)當(dāng)小于競賽周期。因?yàn)樾枰獏⑴c數(shù)學(xué)禁賽,這場競賽比較的是計算能力。PoW共識算法認(rèn)為,單位計算能力就是互聯(lián)網(wǎng)上的一個“人”。于是,如果攻擊方的算力大于參與競賽所有算力的50%,才可以攻擊成功。(實(shí)際情況下,考慮到網(wǎng)絡(luò)延遲等因素,攻擊成功的算力門限要低于50%)。

  2. 股權(quán)證明(Proof of Stake) : PoS并不要求礦工參與計算復(fù)雜的數(shù)學(xué)問題,實(shí)際上,它采用一種偽隨機(jī)的方式,根據(jù)每個賬戶持有“Stake“的多少來選擇每一輪的“出塊人”,持有股票越多,概率越大。PoS算法認(rèn)為每一份“Stake”或者“Value”的持有者是互聯(lián)網(wǎng)上的一個“人”,持有股票才代表此“人”對網(wǎng)絡(luò)潛在惡意不大。當(dāng)然,與PoW同理,如果持有股票的”50%“以上,才有攻擊網(wǎng)絡(luò)的能力。最初的PoS版本不獎勵出塊人,它會導(dǎo)致持有者沒有參與挖礦的動力,所以,現(xiàn)在的PoS共識都加入了對出塊人的獎勵,然而這依然存在“無利益攻擊“等潛在的攻擊方式。

  3. 容量證明(Proof of Space): PoSpace類似于PoW共識,但是它要求大容量的硬盤空間。礦工通過向硬盤中寫入指定大小的數(shù)據(jù),來參與挖礦競賽。換句話說,單位硬盤空間被認(rèn)為是網(wǎng)絡(luò)中的一個“人” ,PoSpace已經(jīng)被提出了一段時間,但是目前應(yīng)用還不多。

  4. 重要性證明(Proof of Importance): PoI是礦工通過節(jié)點(diǎn)的交易數(shù)量和賬單來向網(wǎng)絡(luò)證明自己重要性的共識算法,換句話說,單位交易記錄被認(rèn)為是網(wǎng)絡(luò)中的一個“人”,但是這種共識算法很容易被機(jī)器人刷單攻擊。

  5. 隨機(jī)數(shù)算法:通常,如果不考慮經(jīng)濟(jì)模型,區(qū)塊鏈的共識算法是為了通過一種足夠隨機(jī)的方式選出“出塊者”,并通過隨機(jī)性使下一輪“出塊者”難以預(yù)測。因此,存在很多在區(qū)塊鏈網(wǎng)絡(luò)制造隨機(jī)數(shù)的共識算法,比如最小塊哈希(Minimum Block Hash)和Algorand共識,它們并沒有通過與經(jīng)濟(jì)模型的結(jié)合,降低礦工攻擊網(wǎng)絡(luò)的動機(jī)。

  6. 實(shí)用拜占庭容錯(PBFT):PBFT是一種拜占庭問題解決方案,也是密碼學(xué)中 “多數(shù)人共識“的主要獲得方式。PBFT每輪選擇出塊節(jié)點(diǎn),該節(jié)點(diǎn)生成的區(qū)塊需要通過一系列復(fù)雜的表決方式獲得至少2/3參與共識節(jié)點(diǎn)的同意。PBFT的優(yōu)點(diǎn)是,當(dāng)塊產(chǎn)生之后不需要其他節(jié)點(diǎn)驗(yàn)證,也就是說不會出現(xiàn)其他節(jié)點(diǎn)“不同意”這輪競賽結(jié)果或者區(qū)塊內(nèi)交易信息的問題。因此,PBFT算法極其變種,幾乎不存在“分叉問題”, 所有節(jié)點(diǎn)出塊即最終塊。而PBFT的最大問題是,共識算法的時間復(fù)雜度會隨著加入節(jié)點(diǎn)的增加而大幅度增長,通常認(rèn)為PBFT難以服務(wù)25個以上的參與共識節(jié)點(diǎn)。因此,所有采用PBFT的區(qū)塊鏈必須首先通過一些規(guī)則”選舉“出參與共識的代表。所以,這是一種利用“被選舉出的人做出的小范圍共識”代替“大多數(shù)人共識”的共識算法,當(dāng)然實(shí)踐上這是可行的。比較典型的區(qū)塊鏈?zhǔn)荖EO和Hyperledger。


需要補(bǔ)充說明的是,1,2,3,4 的系列算法中都存在“分叉問題”,每輪競賽之后,優(yōu)勝者出塊可能存在被其他節(jié)點(diǎn)拒絕的情況,這時會導(dǎo)致區(qū)塊鏈數(shù)據(jù)庫在某些節(jié)點(diǎn)不同步,即“分叉”,這些算法的解決方案是尋找“最長鏈”的節(jié)點(diǎn)數(shù)據(jù)庫,并與之同步。


加密/簽名


依靠密碼學(xué)的加密和簽名技術(shù)是區(qū)塊鏈中身份唯一性的保證。這里我說的”身份唯一性“,并不是在指代一個人只有一個賬戶,而是區(qū)塊鏈中賬戶本身是唯一的,只能被自己的”鑰匙“打開。


這就是非對稱加密,在非對稱加密中,有一堆秘鑰,這兩者都可以用來加密數(shù)據(jù),而必須用另一方才能解密。公鑰是公開的一個秘鑰,私鑰是不公開的一個秘鑰。


那么可以很容易理解,當(dāng)用公鑰加密的時候,只有私鑰持有者才可以解密數(shù)據(jù),這是在做保密傳輸,稱為”公鑰加密“。當(dāng)用私鑰加密的時候,所以知道此私鑰對應(yīng)公鑰的人都可以解密數(shù)據(jù),這是在通過公鑰認(rèn)證身份,稱為”私鑰簽名“。


只有公鑰可以從私鑰中計算出來,而私鑰卻不能從公鑰中推出。而個人賬戶地址是與公鑰一一對應(yīng)的。 



非對稱加密的一種--------橢圓曲線加密算法目前是被應(yīng)用最廣泛的算法。


P2P


P2P是一種點(diǎn)對點(diǎn)數(shù)據(jù)傳輸技術(shù),依靠用戶群交換信息,與有中心服務(wù)器的中央網(wǎng)絡(luò)系統(tǒng)不同,對等網(wǎng)絡(luò)的每個用戶端既是一個節(jié)點(diǎn),也有服務(wù)器的功能,任何一個節(jié)點(diǎn)無法直接找到其他節(jié)點(diǎn),必須依靠其戶群進(jìn)行信息交流。


P2P網(wǎng)絡(luò)的分布特性通過在多節(jié)點(diǎn)上復(fù)制數(shù)據(jù),也增加了防故障的健壯性,并且在純P2P網(wǎng)絡(luò)中,節(jié)點(diǎn)不需要依靠一個中心索引服務(wù)器來發(fā)現(xiàn)數(shù)據(jù)。在后一種情況下,系統(tǒng)也不會出現(xiàn)單點(diǎn)崩潰。


當(dāng)然P2P網(wǎng)絡(luò)也有很多種,不同區(qū)塊鏈中可能采用不同實(shí)現(xiàn)方式。


P2P網(wǎng)絡(luò)的經(jīng)典例子,比如迅雷和早期的電驢。


區(qū)塊鏈依靠P2P在各個節(jié)點(diǎn)之間傳輸數(shù)據(jù),依靠私鑰簽名確保數(shù)據(jù)唯一,依靠公私鑰體系構(gòu)建賬戶體系,依靠共識算法添加數(shù)據(jù)并提供網(wǎng)絡(luò)維護(hù)者的激勵,依靠Merkle樹構(gòu)建儲存數(shù)據(jù)庫。依靠時間戳確保歷史區(qū)塊產(chǎn)生時間。


這是區(qū)塊鏈的主要技術(shù)構(gòu)成。


存在問題


當(dāng)然區(qū)塊鏈目前存在太多問題,導(dǎo)致使用起來很反用戶直覺


1.匿名和隱私

比特幣和以太坊目前是不存在絕對的隱私的,只是存在了一些匿名手段,準(zhǔn)確的說,比特幣只存在一些匿名特性。雖然無法知道用戶是誰,但是比特幣這個“論壇”上的“用戶行為”是可以追蹤的。目前有以ZK-SNARK為代表的零知識證明技術(shù)來保證隱私,但是還存在性能的問題。


2.算力/票集中化導(dǎo)致的安全性下降

如之前所說,我們可以很理想的認(rèn)為,在互聯(lián)網(wǎng)上一個“單位算力”就是一個人,但是存在經(jīng)濟(jì)利益之后,就會有各種手段來取得算力領(lǐng)先地址。比如“礦機(jī)”,“礦池”等以大算力為目標(biāo)的一些設(shè)施。PoS也是如此,有多少票是一種經(jīng)濟(jì)行為,而在各種經(jīng)濟(jì)領(lǐng)域,“二八準(zhǔn)則”始終是存在的。


3.過于自由的智能合約帶來的安全問題

智能合約是圖靈完備的,在這種基礎(chǔ)上,因?yàn)閷懼悄芎霞s的人同樣良莠不齊,所以很可能會出現(xiàn)各種安全漏洞。


4.區(qū)塊鏈數(shù)據(jù)是很封閉的

區(qū)塊鏈?zhǔn)且粋€很封閉的生態(tài)系統(tǒng),它的信任只能保證在“鏈上”數(shù)據(jù)本身,而從現(xiàn)實(shí)世界到區(qū)塊鏈這一段,并不能保證不存在擬欺詐。甚至,不同區(qū)塊鏈之間的數(shù)據(jù)互傳,也很難保證是完全可信的。這就是大多數(shù)人詬病的”溯源“并不一定可信,當(dāng)然目前有了一些以預(yù)言機(jī)為代表的解決方案,但是這些技術(shù)并沒有能夠從根本上解決問題,還需要進(jìn)一步研究。


5.當(dāng)需要與用戶交互時,智能合約本身無法操縱賬戶數(shù)據(jù)

比如用智能合約發(fā)工資,但是我們并不能保證智能合約取錢的賬戶內(nèi)部有足夠工資。它只能完成“輸入金錢到輸出多賬戶工資”這樣的流程。


這是我理解的區(qū)塊鏈技術(shù)。



關(guān)鍵字: 晨展科技 區(qū)塊鏈

文章連接: http://www.hsjyfc.com.cn/hyzx/609.html

版權(quán)聲明:文章由 晨展科技 整理收集,來源于互聯(lián)網(wǎng)或者用戶投稿,如有侵權(quán),請聯(lián)系我們,我們會立即刪除。如轉(zhuǎn)載請保留