其實區塊鏈主要包含三大核心概念:
hash 雜湊函式
hash可以說是貫穿整個區塊鏈和加密貨幣技術的核心概念,想理解區塊鏈不用知道hash怎麼實現,但一定要記住hash的兩個關鍵特性:
1. hash函式是乙個任意格式/尺寸的輸入資料到固定格式和長度的輸出資料的對映——這句話有點難懂,簡單來說,你可以hash(動詞)任何資料——一篇文章,一段**,一張,一首歌的音訊,只要是數字格式的檔案,都可以「hash」一下,然後hash函式會給你一串數字和字元的組合(比如乙個32位的字串)。hash不是乙個特指,而是一類函式的統稱,不同的hash函式返回的資料可能不一樣,但同一種函式的返回格式是一樣的。
2.如果輸入的資料有改動,哪怕是只有一丁丁丁點的改動,通過hash函式算出的輸出值是完全不一樣的。一篇文章改了乙個標點,乙個改了乙個畫素,乙個電影刪了乙個片段,乙個應用程式多了一行**,再通過hash計算,會發現hash value和原來完全不同。沒有人能做到「改動輸入資料得到相同的hash結果」。
好了,理解了hash,是理解區塊鏈關鍵特性「不可改寫」的核心。
非對稱加密
非對稱加密主要涉及公鑰和私鑰兩個概念:
1.公鑰是公開,私鑰個人保密,公鑰加密一段內容,可以也只可以用私鑰解密,反之用私鑰加密一段資料內容,也可以用公鑰解密。
2.理解了上面一點,乙個衍生出來的概念就是數字簽名——用私鑰加密一段資料,所有有公鑰的人,都可以驗證並且確信這段資訊是由私鑰的所有人所發出的。
p2p點對點傳輸
點對點傳輸,有別於client—server的資料分發方式,點對點傳輸實現的是每個節點即是資料的分發方,也是獲取方。由點對點的概念帶來的就是區塊鏈技術的另乙個新特性——去中心化。以及後面我會提到的「共識機制」
下面通過幾個小例子說明下這三個核心概念在區塊鏈技術中的應用:
首先有資料,比如交易轉賬資料,一定量的資料——比如1兆,這是乙個位元幣區塊的大小——打包成乙個區塊。然後把區塊「hash」一下得到這個區塊的hash值,新的區塊要記錄上乙個區塊的hash值,這樣區塊就串聯起來成了一條「鏈」,如果改動任意乙個區塊鏈的任意乙個資料——比如刪掉乙個交易資料——那麼首先,這個區塊的hash值會被改變,通過hash計算這個區塊的hash value和下乙個區塊所記錄的值就不一樣了,如果把與之連線的下乙個區塊所記錄的值也改了,由於這個區塊的hash值也算是下乙個區塊的資料,那麼下乙個區塊的hash值也不一樣了,還要再改動下下個……一直這麼傳遞下去,這就是區塊鏈「不可篡改」的秘密。
但是,上面的介紹只是「單機區塊鏈」,通過p2p網路,把這一條鏈分發到每乙個節點上,互相驗證,這才真的形成一條準確意義上應該稱作「分布式區塊鏈」的東西。
接下來,「分布式區塊鏈」已經在每個節點上存好了,下一步,新的資料如果產生了,需要加到這條鏈的尾巴上,那麼誰能來記錄,多久記錄一次,負責記錄的節點究竟有什麼好處?這就衍生到了「共識機制」,常聽到的pow,pos,dpos這些,都是不同的共識機制,以位元幣所採用的pow為例子,不同節點拼算力,誰的算力更強——對應的是能更快的計算出乙個目標雜湊值——誰就有更大機率獲得下乙個區塊的「記賬權」,進而獲得對應的獎勵——這就是「挖礦」的概念了。
一文讀懂區塊鏈衍生技術 擴容
在區塊鏈領域,對於 擴容 一直是爭議不斷的。為什麼要有 擴容 這個事情呢?這是因為,位元幣的區塊容量太小,導致位元幣系統處理交易速度過慢,於是,位元幣社群提出一種設想 通過擴充套件位元幣區塊容量這種方式來提公升位元幣處理交易的速度 後來,以太坊也提出了一些擴容手段。下面我們將用通俗的語言,為大家介紹...
一文讀懂區塊鏈自組織社群
區塊鏈社群應當是自組織網路。所謂自組織是一種以自我意志運轉的組織形式,它奉行自下而上的權力邏輯,能夠激發組織內個體的積極性。人類社會自組織是層級制度和市場之外的第三種組織形式,它以信任為基礎,可以降低組織內部的管理成本和交易成本,具有成本優勢。但由於激勵機制的設定和接近直接民主的治理形式,物理世界中...
一文讀懂區塊鏈拜占庭將軍問題(小白版)
聊到區塊鏈技術,都繞不開拜占庭將軍問題,拜占庭將軍問題到底是什麼問題呢?是乙個人還是具體什麼東西?其實,拜占庭將軍問題是點對點通訊中的經典問題,它是以乙個虛構的故事模型提出的。網上很多關於解釋拜占庭將軍問題是什麼的文章,但是對於非技術人員來說,看了那些內容以後,只會更迷茫。本文千氪財經專欄作者,針對...