区块链是什么?白话解读入门必须了解的概念
2019獨角獸企業重金招聘Python工程師標準>>>
最近網上不時冒出一個新鮮名詞“區塊鏈”,好奇之余在網上扒了不少文章,費了九牛二虎之力,總算認識了一個大概。下面以自己非專業性的語言嘗試進行解讀,分享給與小編一樣,覺得區塊鏈太深奧難明的伙伴們。
區塊鏈技術與BT下載運用的都是一種相同的P2P對等網絡技術
所謂區塊鏈技術, 簡稱BT(Blockchain technology),也被稱之為分布式賬本技術,是一種互聯網數據庫技術,其特點是去中心化、公開透明,讓每個人均可參與數據庫記錄。【來自百度百科】
以上是關于區塊鏈的定義,大家可以看到一個熟悉的簡寫詞“BT”,我們知道,bt下載是一種所有下載者的電腦都可以作為臨時服務器,分享自己的文件給網絡上需要的人去下載。我覺得可以先確定一個概念:區塊鏈技術與BT下載運用的都是一種相同的P2P對等網絡技術。于是,小編下面就可以從大家較熟悉的BT下載機理開始講述,再把這些概念過渡到區塊鏈技術上面。
為了便于理解,假設有四位同學:小東,小方,小明,小珠,他們是分布在不同地區的普通網民,他們的電腦都安裝了相同的bt客戶端。bt下載需要一個服務器來儲存分發一些公共信息,這個服務器稱為tracker服務器。我們閱讀下文時,需要記住“bt客戶端”和“tracker服務器”這兩個名詞的大概意思。建議再讀一遍本段的內容,大家便會記得足夠深刻,以保證順利理解后面內容。
?
bt下載流程圖假設小東同學在網上找到一個bt種子,是一部電影,他用bt客戶端打開種子并開始下載,bt客戶端首先連接tracker服務器,tracker服務器根據bt種子的信息,分析出這部影片被分割為ABCD四個部分,其中小方已經下載了AC兩部分,小明下載了BD兩部分,而小珠則下載了這部電影的完整文件。于是tracker服務器把小方、小明、小珠的電影地址都告訴了小東的bt客戶端,然后小東的bt客戶端開始按這些地址,直接連接到小方、小明、小珠的電腦,從他們的電腦里下載這部電影。
可見,BT下載之中,電影文件不需要放在專門的服務器上,而是放在所有參與下載的個人電腦里。bt服務器只是作為一個組織者,用于記錄和分發下載者、下載地址、下載進度等信息,也可以把它理解成”中介“或”媒人“這樣的角色,起牽線搭橋的作用。這種把文件儲存在網民電腦的技術,就是“分布式文件存儲”。區塊鏈技術也要用到這種“分布式文件存儲”方案,只不過它儲存的通常是數據庫文件,而不是電影或音樂之類大家經常下載的文件。
(備注:由于在這種情景下,所有網民在bt下載中的地位都是平等的,所以這種網絡結構就稱“P2P對等網”。)
區塊鏈與BT下載較重要的兩大區別:分布式賬本與去中心化
?
區塊鏈的”分布式賬本“概念
bt下載的目標是電影、音樂之類內容固定不變的文件資源,而“分布式賬本”的內容則是經常變化的,這是兩者最明顯的區別。為理解賬本的變化過程,下圖給出三個模擬表格,模仿比特幣的區位鏈賬本。【表1】存儲的是原始余額記錄(這份表格每人都有一份副本,由于是加密的,誰也無法私自修改和解密)。現在小東和小明進行交易,小東把20個比特幣轉給小明。【表2】則記錄下交易過程及最終的余額結果,而【表3】則只是記錄最終的余額。對于參與交易的小東和小明來說,【表2】里的交易信息是有用的,他們會選擇保留【表2】,而對于小方和小珠來說,別人的交易與自己無關,只需要保留【表3】這個結果就可以了。但實際上,【表2】與【表3】都記錄著所有人的最新余額。區位鏈應用,基本上是采用類似這樣的方式,通過P2P網絡,分布式地記錄交易過程和結果,來實現其應用的目的。由此我覺得可以擴展出一個理論上的概念:區位鏈技術只要有一臺電腦保持運行,整個區位鏈就永遠有效。
比特幣交易模擬賬本區塊鏈的”去中心化“
我們知道,bt下載需要一個tracker服務器作為中介,給網上下載者牽線搭橋,沒有這個服務器,bt下載就無法完成。而區位鏈每一位成員都有一份賬本,它記錄了所有成員的余額以及聯系方式等信息,所以,理論上,每一位成員的電腦,都可以作為服務器來使用,也就是不需要其它服務器作為“中介”,這就是區位鏈技術的重要特征——“去中心化”。下圖仍以比特幣的交易作為示例,主要說明區塊鏈”去中心化“的特征。可見所有的交易都是通過P2P對等網實現,而交易雙方可以通過網上或網下的自由市場、交易所、社交圈等場合認識并達成交易意愿和交易方式,并不需要一個獨立的中心服務器來牽線搭橋。 仍然是這個理論上的概念:區位鏈技術只要有一臺電腦保持運行,整個區位鏈就永遠有效。
?
比特幣去中心化交易流程示意圖?
區塊鏈的共識機制
區塊鏈的共識機制,就是所有記賬節點之間怎么達成共識,去認定一個記錄的有效性,這既是認定的手段,也是防止篡改的手段。仍以上面的比特幣交易為例進行說明。小東和小明通過某種渠道認識,并達成交易,小東要把20個比特幣轉給小明。注意區塊鏈不需要服務器,但是也需要一個客戶端,這個客戶端的作用,就是把這個交易發送到P2P網絡上,當它尋找到小方的電腦,就會把這個交易交給小方去驗證。小方驗證了小東和小明的余額有效,可以合法交易后,再把這個交易發送給小珠,小珠再接著確認。就這樣以一傳十,十傳百的方法,尋找更多的人來驗證這個交易。(至于客戶端如何尋找小方、小珠,可參考有關”P2P節點發現“的相關知識,在這里不再詳細說明)。當驗證的人數(節點)達到一定的規模后,這個交易才正式生效。而由于小東有足夠的余額(100),所以他的交易本身是合法有效的,而小方的電腦里,也記錄著小東的余額,因此也一定會認為此交易有效。最終,所有人都同意這個交易是有效的,并各自更新自己電腦里的余額記錄。當下一次再有人發起交易時,大家就用新的記錄去驗證新的交易是否有效。以上說明的就是區塊鏈的共識機制。有了這個機制,任何人私自更改自己的記錄,都不可能得到超過51%的人的認同(因為算法復雜并涉及自身利益等,在此不詳細說明)。
區塊鏈的加密技術
區塊鏈采用公鑰、私鑰進行非對稱加密和解密,具體原理這里不詳述,仍以上述比特幣交易的例子進行說明:
小東要把20個比特幣轉給小明,小明把自己的公鑰告訴小東,小東用這個公鑰加密20個比特幣的信息,再發回給小明。小明得到這個信息后,再用私鑰把這個信息解密,得到小東的20個比特幣。這個過程很復雜,大家只要記住公鑰只能加密,不能解密就可以了。公鑰的意思是公開的,所有人都有可能得到。而私鑰是由自己個人保管的,不能讓其他人知道。在驗證自己所有權時,也是通過公鑰加密,大家都可以看見公鑰里可以驗證的部分內容,但是如果沒有對應的私鑰,其他人便無法解密里面的內容。區塊鏈就是通過這樣的機制,來保證運行和交易、簽名等過程中個人信息或財產的安全。區位鏈的加密技術非常復雜,本文也只能作簡單的介紹。
總結
本文主要是顯淺地說明一下區位鏈技術的應用場景和特點,不可能窮根究底,因為其所涉及的理論比本文要深奧得多,希望對初學者來說,能從中得到一些基本認識。
轉載于:https://my.oschina.net/u/1458864/blog/3060338
總結
以上是生活随笔為你收集整理的区块链是什么?白话解读入门必须了解的概念的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 校园刷脸考勤
- 下一篇: 【知识点】Java常用类库