當前位置:
首頁 > 最新 > 區塊鏈是一門跨學科、跨領域的複合型前沿技術,看完這篇文章你就會全面了解它了!

區塊鏈是一門跨學科、跨領域的複合型前沿技術,看完這篇文章你就會全面了解它了!

一千個人心中有一千個哈姆雷特!

一千個區塊鏈從業者心中也有一千種區塊鏈!

這聽起來有點不可思議,但真真切切地就是這樣。區塊鏈技術雖然脫胎於2009年誕生的比特幣,但區塊鏈這個概念卻是在2014年才由以太坊提出,2016年開始為公眾所知,2017年由於ICO熱炒成為媒體熱點……

但多數人對區塊鏈究竟是什麼?有什麼用處?大都是是而非!投資人更願意談區塊鏈的應用與願景,而區塊鏈技術人士則更擅長從自己的熟悉的領域去解讀區塊鏈……管中窺豹,都不足以還區塊鏈的本來面目。

實際上,區塊鏈是一個跨學科、跨領域的複合型前沿技術:分散式存儲及代碼是計算機,P2P網路是社會學,加密演算法是數學,共識和治理是傳播學,智能合約是管理學,Token是經濟學,ico是金融學……所以區塊鏈還真不是一個投資人或一個程序員就能解釋清楚的。

下面內參君就全面的介紹一下區塊鏈,希望能讓你對區塊鏈有個全面而系統的認識。望和有識之士共同探討。

1

P2P協議

「我為人人,人人為我」

P2P(peer to peer):這個peer中文翻譯就是對等、對等者、夥伴、對端的意思。所以P2P網路一般叫做對等網路,其確切定義:網路中每個參與節點共享節點所擁有的一部分計算能力、存儲能力、網路連接能力,這些能力或者稱為共享資源通過網路提供的服務和內容,可被對等節點直接訪問,訪問過程中不需要再經過中間實體,所以每個節點既是資源和服務的使用者、又是整個資源和服務的提供者。P2P網路中各個節點都是出於一個對等的地位,沒有主、從的區分,聯繫實際環境,你目前在操作的一台電腦終端既可以作為伺服器。又可以作為終端去獲取對等節點的資源。整個網路中不存在中心節點,每個節點都可對任意對等節點做出響應,提供資源,包括計算資源、存儲資源等。

其含義有三點:

1、Peer-to-peer 是一類允許一組用戶互相連接並直接從用戶硬碟上獲取文件的網路。

2、Peer-to-peer網路是一個運行於個人電腦上的應用,通過網路在用戶間分享文件。P2P網路通過連接個人電腦分享文件而不是通過中央伺服器。

3、P2P是一種分散式網路,網路的參與者共享他們所擁有的一部分硬體資源(處理能力、存儲能力、網路連接能力、印表機等),這些共享資源需要由網路提供服務和內容,能被其它對等節點(peer)直接訪問而無需經過中間實體。在此網路中的參與者既是資源(服務和內容)提供者(server),又是資源(服務和內容)獲取者(client)。

P2P的理念:「我為人人、人人為我」讓所有加入互聯網的人,直接通過互聯網交互,不需要一個中間商,這樣溝通,共享,交互更加自由和方便,最終把互聯網的權利交換給用戶,而不是一些集中網路中心。

P2P的特點:P2P無中央伺服器,打破了C/S模式;並且用戶之間互聯並分享文件。因此P2P具有非中心化(Decentralization)、可擴展:全分布系統、健壯性:耐攻擊、高容錯、高性價比、隱私保護、負載均衡等特點。

P2P不是一個新的技術,早在2000年該模型就已出現,他於傳統的客戶端/伺服器(Client/Server)結構(也就是WWW所採用的結構方式)的一個本質區別是,整個網路結構中不存在中心節點(或中心伺服器)。

P2P的分類:

提供文件和其他內容共享的P2P網路,如Napster、Gnutella、eDonkey、emule、BitTorrent等;

挖掘P2P對等計算能力和存儲共享能力,如SETI@home、Avaki、Popular Power等;

基於P2P方式的協同處理與服務共享平台,如JXTA、Magi、Groove、.NET My Service等;

即時通訊交流,包括ICQ、QICQ、Yahoo Messenger等;

安全的P2P通訊與信息共享,如Skype、Crowds、Onion Routing等。

實際應用中這4種P2P各有優缺點:

點對點傳輸也就是P2P(Peer-to-Peer)網路模式,即對等網路。是一種若干平等的節點之間分配任務或工作負載的分散式應用架構。

在P2P網路環境中,彼此連接的多台計算機之間都處於平等的地位,各台計算機有相同的功能,無主從之分。一台獨立的計算機(節點)既可作為伺服器,又可以作為工作站,整個網路不會依賴於專用的集中伺服器,也沒有專用的工作站。

區塊鏈技術正是基於這種P2P的網路環境建立(比特幣就是一種P2P形式的數字貨幣)。

2

加密演算法

區塊鏈上的一把「鎖」

現代加密演算法的典型組建包括:加解密演算法、加密密鑰、解密密鑰。其中,加解密演算法自身是固定不變的,一般是公開可見的;密鑰則往往每次不同,並且需要保護起來,一般來說,對同一種演算法,密鑰長度越長,則加密強度越大。

加密過程中,通過加密演算法和加密密鑰,對明文進行加密,獲得密文。

解密過程中,通過解密演算法和解密密鑰,對密文進行解密,獲得明文。

根據加解密的密鑰是否相同,演算法可以分為對稱加密(symmetric cryptography,又稱公共密鑰加密,common-key cryptography)和非對稱加密(asymmetric cryptography,又稱公鑰加密,public-key cryptography)。兩種模式適用於不同的需求,恰好形成互補,很多時候也可以組合使用,形成混合加密機制。

並非所有加密演算法的強度都可以從數學上進行證明。公認的高強度加密演算法是在經過長時間各方面實踐論證後,被大家所認可,不代表其不存在漏洞。但任何時候,自行發明加密演算法都是一種不太明智的行為。

對稱加密:顧名思義,加解密的密鑰是相同的。

優點是加解密效率高(速度快,空間佔用小),加密強度高。

缺點是參與多方都需要持有密鑰,一旦有人泄露則安全性被破壞;另外如何在不安全通道下分發密鑰也是個問題。

對稱密碼從實現原理上可以分為兩種:分組密碼和序列密碼。前者將明文切分為定長數據塊作為加密單位,應用最為廣泛。後者則只對一個位元組進行加密,且密碼不斷變化,只用在一些特定領域,如數字媒介的加密等。

對稱加密包括:DES、3DES、AES、IDEA,PBE等,目前AES加密未被破解,為有效演算法。

非對稱加密:非對稱加密是現代密碼學歷史上最為偉大的發明,可以很好的解決對稱加密需要的提前分發密鑰問題。

顧名思義,加密密鑰和解密密鑰是不同的,分別稱為公鑰和私鑰。

公鑰一般是公開的,人人可獲取的,私鑰一般是個人自己持有,不能被他人獲取。

優點是公私鑰分開,不安全通道也可以使用。

缺點是加解密速度慢,一般比對稱加解密演算法慢2到3個數量級;同時加密強度相比對稱加密要差。

非對稱加密演算法的安全性往往需要基於數學問題來保障,目前主要有基於大數質因子分解、離散對數、橢圓曲線等幾種思路。

非對稱加密包括:RSA、ElGamal、橢圓曲線(Elliptic Curve Crytosystems,ECC)、DH演算法等。

混合機密機制:既先用計算複雜度高的非對稱機密協商一個臨時的加密密鑰(會話密鑰,一般相對內容來說要短得多),然後雙方再通過對稱加密對傳遞的大量數據進行加解密處理。

典型的場景是現在大家常用的HTTPS機制。

數字簽名:RSA,DSA,ECDSA等。DAS和ECDSA源自離散對數問題。RSA應用最廣泛,ECDSA更安全。

數字證書:數字證書最常用非對稱演算法是RSA演算法,簽名演算法SHA1withRSA,消息摘要SHA1

X509標準。PKCS(Public-Key Cryptography Standards)由RSA指定的一系列標準。

國密系列:國產密碼演算法(國密演算法)是指國家密碼局認定的國產商用密碼演算法,在金融領域目前主要使用公開的SM2、SM3、SM4三類演算法,分別是非對稱演算法、哈希演算法和對稱演算法。

加密演算法就相當於區塊鏈上的一把「鎖」。比如,我們會在互聯網上留下很多秘密,聊天記錄、微信密碼等等,這些「秘密」我們並不想讓別人知道。但實際上,互聯網其實沒有秘密。

因為我們要聯網,手機連接wifi,wifi是通過路由器,路由器連接外網,而外網也分布著各種的路由設備,我們這些秘密隨時都可以被監聽到。

加密演算法就是相當於給我們想要保密的內容加上一把「鎖」,任何想要看到加密內容的人,都需要一把對應的「鑰匙」(秘鑰)才能打開查看。

3

分散式存儲

實現去中心化

分散式數據存儲:可以簡單理解為,將數據分散存儲在多台獨立的設備之上。

傳統的網路存儲系統採用的是集中的存儲伺服器來存放所有數據,這樣一來,集中的存儲伺服器就成了提升系統性能的瓶頸,不能滿足大規模存儲應用的需要。而分散式的數據存儲是一個去中心化的資料庫,數據並不是保存在某一個伺服器上,而是在每台獨立的設備上都保存了一份。

這就像一個公共帳本,所有人都能查看,但沒人能私自修改以往數據,因為它不可能修改分散在其他人機器上的資料庫。

實際上這個分散式賬本處理由三個部分組成:分散式存儲、分散式記賬及分散式執行。

分散式存儲是把資料庫複製成多份保證冗餘性,然後分成很多個小部分,分散存儲到網路的眾多節點上,這樣只要有足夠多的節點運作正常,數據就是安全的,很好地解決了上面三個問題。冗餘係數、分割的份數、是否加密存儲以及由哪些節點還是全部節點負責存儲,由具體的應用決定。

分散式記賬。傳統的中心化系統由管理者負責數據的記錄,一方面有道德風險,另一方面可能出現各種錯誤。區塊鏈則把這些任務交給眾多節點一起完成,例如比特幣里,所有的礦工都會驗證交易的合法性,合法的交易會被記錄到所有的賬本中,最大限度地避免了上面的問題。

對於什麼樣的節點有資格參與記賬,有多種不同的情況。以比特幣為代表的公有鏈,任何節點都有機會擔任礦工;由數家金融機構組成的聯盟鏈,只有這些機構的預先選定的節點才有機會;有某公司或機構發起的私有鏈,當然就只有本機構有權寫入。

最後,是分散式執行。一個任務可能要由數個智能合約,一個合約可能要由數個節點來進行。

隨著存儲技術的發展,存儲設備的成本越來越小,中心化雲服務的成本主要來自於員工工資、法律成本、數據中心租金等,這些固定成本是不變的或逐漸增加,使中心化雲服務的價格較高。

而去中心化存儲成本只有中心化存儲的1/100-1/10,如果去中心化存儲系統是完全自動化的,雲存儲價格最終會降到接近0,中心化雲服務的規模優勢將敗給了去中心化雲服務。

分散式存儲也是存儲技術發展未來一個主要方向。

總之,分散式數據存儲能提高系統的可靠性、可用性和存取效率,而且易於拓展,在區塊鏈領域應用非常廣泛。

4

共識機制

建立區塊鏈世界的誠信

在解釋什麼是區塊鏈時,可以用一句簡潔明了的去中心化分散式分類賬來概括,但是在這個賬本中,是如何對在幾乎相同時間內的產生的事物前後排序的,就涉及到區塊鏈網路的共識機制。

如果說共識是區塊鏈的基礎,那共識機制就是區塊鏈的靈魂。在區塊鏈里,「共識」的意思就是所有的參與者(節點)就某一狀態達成了共同認識。共識機制就像一個國家的法律,維繫著區塊鏈世界的正常運轉。

為什麼區塊鏈需要存在「共識」?在傳統的中心化社會裡,之所以不存在共識,是因為信任是依靠某些中心機構建立的。比如:銀行、支付寶等等。從某種意義上來講,銀行、支付寶這些機構處於權力的領導地位,並不需要每一個獨立的個體(節點)達成共識。

但是,區塊鏈是去中心化的,沒有某一個人,或某一個機構處於權力領導地位,也沒有誰能一個人說了算。任何決策和改變都要所有參與者一起使用某種機制來來達成相同的認識,這就是區塊鏈的共識。

而如何在所有節點之間達成共同認識的方法或機制,就是「共識機制」。

區塊鏈解決了在不可信信道上傳輸可信信息、價值轉移的問題,而共識機制解決了區塊鏈如何在分散式場景下達成一致性的問題。所以我認為區塊鏈的偉大之處就是它的共識機制在去中心化的思想上解決了節點間互相信任的問題。區塊鏈能在眾多節點達到一種較為平衡的狀態也是因為共識機制。儘管密碼學佔據了區塊鏈的半壁江山,但是共識機制是保障區塊鏈系統不斷運行下去的關鍵。

目前常用的幾種共識機制

1、工作量證明機制(Proof of Work - PoW)是我們最熟知的一種共識機制。就如字面的解釋,PoW就是工作越多,收益越大。這裡的工作就是猜數字,誰能最快的猜出這個唯一的數字,誰就能做信息公示人。

2、權益證明機制(Proof of Stake-PoS)也屬於一種共識證明,它類似股權憑證和投票系統,因此也叫「股權證明演算法」。由持有最多(token)的人來公示最終信息。

3、拜占庭共識演算法(Practical Byzantine Fault Tolerance- PBFT)也是一種常見的共識證明。它與之前兩種都不相同,PBFT以計算為基礎,也沒有代幣獎勵。由鏈上所有人參與投票,少於(N-1)/3個節點反對時就獲得公示信息的權利。

區塊鏈作為一種按時間順序存儲數據的數據結構,可支持不同的共識機制。共識機制是區塊鏈技術的重要組件。區塊鏈共識機制的目標是使所有的誠實節點保存一致的區塊鏈視圖,同時滿足兩個性質:

1)一致性。所有誠實節點保存的區塊鏈的前綴部分完全相同。

2)有效性。由某誠實節點發布的信息終將被其他所有誠實節點記錄在自己的區塊鏈中。

目前,各種共識機制都不夠完美,各方有識之士正努力嘗試開發出應用性更強的共識機制。

5

智能合約

一切代碼說了算

智能合約被稱為「區塊鏈2.0」的一個代表性產物,但它的理念實際上很早就被提出來了。

智能合約的理念可以追溯到1994年,幾乎與互聯網(world wide web)同時出現。因為比特幣打下基礎而受到廣泛讚譽的密碼學家尼克薩博(Nick Szabo)首次提出了「智能合約」這一術語。從本質上講,這些自動合約的工作原理類似於其它計算機程序的if-then語句。智能合約只是以這種方式與真實世界的資產進行交互。當一個預先編好的條件被觸發時,智能合約執行相應的合同條款。

在那個時候,薩博的關於智能合約如何工作的理論還沒有實現,因為沒有天生的能夠支持可編程交易的數字金融系統,這是一種極具前瞻性的理念。而比特幣的出現和廣泛使用,正在改變阻礙智能合約實現的現狀,從而薩博的理念有了重生的機會。

智能合約是一種可以自動化執行的簡單交易。讓交易過程變成是高效,透明的執行過程,不需要公正等第三方介入。也就是說,有了智能合約以後,打賭就不能賴賬啦。

智能合約概念可以概括為: 一段代碼(智能合約),被部署在分享的、複製的賬本上,它可以維持自己的狀態,控制自己的資產和對接收到的外界信息或者資產進行回應。或者可以這樣簡單的概括:它是運行在可複製、共享的賬本上的計算機程序,可以處理信息,接收、儲存和發送價值。

智能合約程序不僅僅只是一個可以自動執行的計算機程序,它更像是一個系統的參與者,可以把它想像成一個絕對可信的人,他負責臨時保管你的資產,並且嚴格按照事先商定好的規則執行操作。

目前,智能合約系統主要有兩個,一個是我們比較熟悉的以太坊(Ethereum),另一個是Symbiont。

以太坊是一個開源的區塊鏈底層系統,就像安卓一樣,提供了非常豐富的API和介面,讓許多人在上面能夠快速開發出各種區塊鏈應用。目前已經有超過200多個應用在以太坊上開發。

Symbiont起源於Counterparty(合約幣)項目,旨在建立第一個用於發行區塊鏈智能證券和交易智能證券的平台。Symbiont並不贊同以太坊的智能合約系統,因此正在建立一個匿名的、擁有更加安全代碼庫的智能合約系統,這個系統不需要打破並重建金融網路體系,能夠最大限度地保證電子貨幣的流通性。目前,數字安全巨頭金雅拓與Symbiont達成合作協議,讓金融機構更安全地在以區塊鏈為基礎的平台上執行交易和智能合約。

在區塊鏈社會裡,大家共同維護一個區塊鏈賬本,所有交易數據無法篡改、不可偽造,還能減少人工對賬的出錯概率和人力成本;隨著智能合約普及,我們也會變得更加佛系。面對潛在的糾紛,無需自己出馬,一切代碼說了算。

當然,智能合約也是有缺陷的,因為有許多問題智能合約還是無法解決的。比如:智能合約在線上交易時涉及到了法幣的交易。智能合約對於線下(日常生活)當中的幫助目前是不大的。智能合約的編寫者必須非常嚴謹,如果出現漏洞,容易被黑客利用,就很慘了,比如著名的DAO事件,導致用戶丟失了大量的以太幣。

6

Token

區塊鏈的價值載體

在目前的互聯網或者區塊鏈技術中,經常聽到有人將 token 翻譯成代幣、令牌或者通證。。。 那你有沒有認真思考過,token 到底是什麼,有什麼作用?

Token是一種數字化的價值載體,是權益證明。如Q幣,在中心化的系統中也可以發行,不是區塊鏈所特有。

區塊鏈最重要的應用就是價值在互聯網上直接流通。通過實體或虛擬資產的token化,將資產上鏈,實現資產的液化,能直接通過網路來跨國界、短時差、低成本進行資產交易與轉移。資產液化能將資產進行分割,在鏈上進行全世界的流通,能打破地域局限。而平台通過token化,一方面可以進行平台融資,為平台的啟動和發展募集資金;另一方面,在鏈上產生用於資產交易的價值中介,實現鏈上資產P2P自由交易和流通,打破了貨幣兌換的限制。

從技術上說,區塊鏈和token是可以完全分開。但token結合上區塊鏈,就能通過加密演算法和分散式賬本來確定真偽,以及資產的唯一性,並通過共識演算法進行流通。

區塊鏈做為下一代互聯網,作為價值網路,沒有token是不可想像的。而沒有區塊鏈技術作為防偽和流通的token,也是有重大缺陷的。

在區塊鏈網路中,國內區塊鏈最早的倡導者之一元道先生把 Token 翻譯成「通證」,即代表一種「可流通的數字權益證明」。他認為通證有三個要素,缺一不可。

第一是數字權益證明,也就是說通證必須是以數字形式存在的權益憑證,它必須代表的是一種權利,一種固有和內在的價值。

第二是加密,也就是說通證的真實性、防篡改性、保護隱私等能力,由密碼學予以保障。每一個通證,就是由密碼學保護的一份權利。這種保護,比任何法律、權威和槍炮提供的保護都更堅固、更可靠。

第三是可流通,也就是說通證必須能夠在一個網路中流動,從而隨時隨地可以驗證。其中一部分通證是可以交易、兌換的。事實上,通證可以代表一切權益證明,從身份證到學歷文憑,從貨幣到票據,從鑰匙、門票到積分、卡券,從股票到債券,人類社會全部權益證明,都可以用通證來代表。

在區塊鏈1.0時代,也就是以比特幣為代表的時代。鏈上沒有其它資產,比特幣作為一家世界銀行,沒有其它鏈上資產,只是做一件事,就發行貨幣並進行記賬。比特幣通過挖礦來發行token並維持安全運轉,但本身並不是交易平台,不能直接鏈上交易。是通過鏈下交易,鏈上支付。

在區塊鏈2.0時代,也就是以以太坊為代表的公有鏈時代。通過構建公有鏈,完成區塊鏈的全球基礎設施的建設,通過挖礦來發行token並實現公有鏈的正常運轉。在公有鏈上可以編寫智能合約,完成交易平台的構建。

區塊鏈3.0時代,也就是現在智能合約時代,或者說Dapp時代,所形成的各種交易平台的模型,各種token也就對應著各種鏈上交易的資產。

綜上所述,token是價值承載和流通的必需,能區塊鏈的正常運轉和價值流通,是公有區塊鏈的血液。

7

ICO

已被各種騙局玩壞了

ICO(Initial Coin Offerings)是一種投資加密貨幣項目的方式,十分受歡迎。通常,一些全新的加密貨幣項目會通過ICO售賣部分平台代幣,而這些代幣的早期持有者和愛好者有朝一日可以將代幣換成錢。ICOs是加密貨幣項目創始人為平台運作募集資金的最好方式,大部分ICO都以比特幣或其競爭幣的形式募資。

ICO的發起時間通常在項目完成之前,募集的資金用於創始團隊的開發工作,幫助項目順利發布。對於某些大型項目來說,部分在ICO獲得的資金會由基金會接管,支持項目的不斷發展。ICO代表了加密貨幣代幣的初始分配模式,在PoS共識演算法中比較常見。

ICO參與者有助於項目的成功。他們可以幫忙進行宣傳,組建更大的社區,讓更多的人認識這個新項目。他們在進行代幣交易的同時,還能為代幣提供早期的流動性。當然了,ICO參與者是受潛在利益驅動的,他們期望項目發布之後,代幣價格會高於ICO期間的價格。

ICO和首次公開募股(IPO)相比,兩者確實有部分共同點。兩者都是通過售賣股本來募集資金的,雙方的投資者也都是受潛在利益驅使,權衡項目的潛力和風險。

ICO的本質更像一個「主體是股權眾籌」+「信息共享機制」,其目的是:參與者人人受益。 這個目的本身沒有錯。但ICO處於募捐和投資之間。由於該行業不斷出現騙局,已經把ICO的概念玩壞了。

目前,各國對ICO的態度是嚴格監管。

文 | 內參君

(本文圖片來自網路,如有侵權聯繫刪除。)

轉載請註明出處。

———— END ————


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 鏈內參 的精彩文章:

見到這五大信號,才是區塊鏈應用真正大爆發的時機!
阻滯區塊鏈發展的最大障礙是——人性!

TAG:鏈內參 |