最近,區塊鏈又一次進入大家的視野。讓我們聊聊區塊鏈。之前區塊鏈確實沒有什么好名聲,比如之前的趣步,而它就打著區塊鏈的名頭出來行騙。導致現在我旁邊的小妹一直以為區塊鏈就是個騙局。
我說,有了區塊鏈,你再也不用擔心你男朋友說話不算數了。你可以把他對你的所有承諾都存進區塊鏈,然后這個就再也不能改了。
然后,小妹就這樣看著我 ……
好吧,好吧,我承認我沒說清楚,那正好借著這次機會,我們就來聊一下那么區塊鏈到底是什么呢?
在聊之前,我們先簡單介紹一下會出場的幾個專業名詞:比特幣、挖礦。
比特幣是一種電子貨幣,而挖礦是獲得比特幣的一種方式。雖然是專業名詞,但是別慌,看完這篇你就都懂了。
首先聲明,區塊鏈就是一種特殊的分布式數據庫。數據庫顧名思義,就是用來存放數據的地方。
我們在手機接受和發出的信息都會存放在廠家的數據庫。再比較具體一點,比如百度的網盤、蘋果的 iCloud ,都是一種數據庫。
既然是數據庫,區塊鏈的主要作用是保存數據。那小妹又問了,既然已經有這么多數據庫了,為什么還要用區塊鏈?
區塊鏈當然有它獨特的優勢,簡單來說就是:去中心化、安全(不可篡改)
這個所謂的去中心化,大概就是說你的信息會被所有人儲存,再也不用擔心丟失了。
嚴格的說應該是,任何人都可以架設自己的服務器,加入區塊鏈網絡,成為一個節點。而這個區塊鏈里所有的節點都是平等的,每一個人都可以往區塊鏈里寫入、讀取數據。而最后所有的節點數據都會同步,保證整條區塊鏈的一致。
等一等,如果每一個人都可以看,那我的隱私豈不是都被別人看光了????
別慌,你的所有信息都會被算法加密,分享出去的不涉及隱私內容。
由于,區塊鏈本身只是一個數據庫技術,講起來難免有些無聊,因此我選取了比特幣(簡稱 BTC )用來當做案例,用具體的應用來解釋區塊鏈的優勢。
至于區塊鏈和比特幣的關系,大家可以理解成安卓系統(或者 IOS )和各種應用(App)的關系:
比特幣全稱也可以叫做,比特幣區塊鏈。并不是說比特幣 = 區塊鏈,任何一種電子貨幣都不能直接代表區塊鏈。
解釋一下,之所有選擇比特幣區塊鏈來當作案例,是因為比特幣系統已經比較穩定的運行了近 11 年,也算是接受住了實踐的考驗。
而后來很多跟風的電子貨幣,很多只是曇花一現。更有甚者,利用區塊鏈和電子貨幣進行詐騙,希望大家看完以后都這類騙局可以留個心眼。
這里我們的分析理論主要來自于, 2008 年中本聰(Satoshi Nakamoto) 發表的論文《比特幣:一種點對點式的電子現金系統》(Bitcoin: A Peer-to-Peer Electronic Cash System),網上通常也將其稱之為《白皮書》,有興趣的朋友可以在我們微信公眾號后臺回復“白皮書”獲取原文。
提到“白皮書”我又想啰嗦兩句,有的騙局利用“白皮書”來行騙,謊稱自己有“白皮書”,就有了具體的項目 (App),大家如果看到了要稍微注意一下。
中本聰的這篇論文,將比特幣和區塊鏈牢牢的聯系在一起。而這篇論文的主要目的,其實是提出建立一種去中心化的電子記賬系統。
記賬與區塊鏈的形成
在比特幣的系統里面,區塊鏈承擔了一個十分重要的作用:記賬。(在這里“記賬”代表,任何需要記錄的信息。比如,你男朋友對你的承諾,也是可以“記賬”的)
在我們日常的交易過程中,最重要的的一件事,就是記賬。這個記賬,不是我們每天記下花了多少錢,賺了多少錢。
而是說,我在買東西的時候,首先要查看自己的卡里有沒有足夠的余額,已經買完之后還剩下多少,這就是記賬。
那我們目前的交易都由誰來記賬呢?—— 銀行
無論你使用哪種支付方式,最后都是由銀行來記賬。而且,我們也很信任銀行,因為在銀行的背后是國家的信用體系。這就是中心化的記賬系統。
而去中心化的電子記賬系統,不在需要某一個專門的機構來記賬,我們每一個人的賬本都分享出去,讓大家一起來記賬。
我們舉一個例子,假設現在有我、老鳥、老狐貍、小妹四個人。我給了老鳥 10 BTC ,老鳥給了老狐貍 5 BTC ,老狐貍又給了小妹 2 BTC 。
在這個過程中,我們每一個人都對所有人廣播交易的消息。如果把這些賬單打包起來,就是我們所說的區塊。
這個區塊打包完了之后,隨著時間的推移,又有新的交易在發生,就會形成新的區塊,新的區塊連接到我們之前的區塊。這樣,所有的賬單就會形成一條信息鏈,即區塊鏈。
誰的賬單說了算?
那么這個系統開始運行之后,我們還有幾個問題要解決。其中最重要的就是,我們以誰的賬單為準?因為在去中心化的系統中,所有人都可以來記賬。
當然,在之前還有一個潛在問題:我憑什么要幫你記賬呢?
你廣播給我一條賬單,我為啥要幫你記下來,畢竟我們本來沒有任何瓜葛,我花自己的電腦資源幫你記賬有什么好處?
有,當然有。
在比特幣系統中,記賬是有獎勵的。這個獎勵主要分兩種:一、手續費;二、打包獎勵。
我們現在使用銀行卡交易,銀行也會收取一定的手續費。比特幣的交易也同樣有手續費。
其次,就是打包獎勵。協議規定,每一個區塊最終只能有一個人(節點)來打包,這個人會獲得獎勵。
比特幣系統中有這樣一個方案:整個系統的賬單,每 10 分鐘打一次包。
最開始,給打包的人獎勵 50 BTC,4 年之后,每打一個包就獎勵 25 BTC ,再過 4 年就獎勵 12.5 BTC 。也就是說,每過 4 年獎勵就會減半。
因此我們可以算出比特幣的總數,一共是 2100w 個。而比特幣就是通過打包獎勵這種方式讓它擴散出去。
在這種獎勵機制下,每一個人都會想要去打包這個賬單。畢竟比特幣這個行情呀 ……
這下,我們可以來回答上面的問題了,究竟是誰的賬單說了算?因為現在大家都搶著去打包了,所以最終該給誰打包呢?
《白皮書》里提出了一個解決方案:工作量證明。
這個所謂的工作量證明,我們可以簡單理解為,做一個非常難的數學題,這個數學題難道什么地步?大概就是沒有任何人能解出來,唯一的辦法就是一個一個數去試。
比如說這樣一個公式:
如果我告訴你,X = 1,你很快就可以知道 Y 等于多少。但是現在,我告訴你 Y = 233333333,請問 X 是多少?
這個“解題”的過程就稱之為,挖礦。
如果,你解開了這個題,那么就可以去打包這個塊,就可以獲得打包獎勵,就挖到礦了。
而前面我們也說了,比特幣系統每 10 分鐘打一個包,而我們如果算出了這個題就可以打包。那如果我運氣好,3 分鐘就算出來了,我難道不能打包嗎?
答案是,可以。
但是 …… 你懂得,凡事都有但是。
在區塊中設置有一個難度系數(difficulty),這直接決定了可能的計算次數。而且,這個難度系數采用動態調節的機制,它每兩周調整一次。比如,在前兩周,區塊的平均生成速度是 9 分鐘,接下來的這一周難度就會上調。反之,難度下降。
一般來說,我們無法改變自己的運氣,但是如果我在相同的時間里,計算的次數越多(簡稱算力),我就越有可能拿到這個獎勵。而隨著時間的推移,整個系統的打包時間會維持在 10 分鐘左右。
如何防止篡改區塊鏈?
從理論上來說,電子數據都有被篡改的可能。但是如果你要篡改一條區塊鏈的信息要付出的代價會很大。
之前,我們說過,如果要打包一個區塊就需要計算一個數學題。而且通過難度系統(difficulty)的調節,大概每 10 分鐘就會有人完成打包。
如果,現在有一個壞蛋想要篡改 30 分鐘之前的一次交易記錄。那么他應該怎么做?
首先,他不僅要篡改之前的記錄,還要把后面生成的 3 個區塊全部重新打包。否則前后的信息就對不上了,別的用戶就不承認這一條鏈的合理性。
這個過程有點像賽跑,我領先了你 300 米,假設我們速度(算力)很接近,那么你永遠也無法超越我。假如,你的速度(算力)一直比我快,那么你才有可能贏了我。
再說回比特幣,如果你要篡改交易信息,那么你的算力就必須超過其余所有人的算力總和。這種方式被業內稱之為 ,事實上已經有一些區塊鏈遭受過這種攻擊(目前為止,遭受過 51% 攻擊的著名區塊鏈有 bitGold、Verge、Ethereum Classic )
實際上,對一個龐大的區塊鏈(比如,比特幣區塊鏈)發動 51% 攻擊,收益遠低于成本。畢竟要使用如此多的算力,除了硬件成本,電費也是一筆不小的數目。
而且,遭受過攻擊的區塊鏈,其市場價值會受到劇烈沖擊,最后只會得不償失。
有何應用?
其實除了我們上面介紹的這些,區塊鏈還有很多的方法來防止系統崩潰和保護用戶的隱私,鑒于篇幅限制,我們淺嘗輒止。
我們之前一直都在用比特幣區塊鏈舉例,那么,區塊鏈還有什么別的作用嗎?
當然有啦,就比如說還可以防止你男朋友說話不算話 …
好了,我們正經一點,區塊鏈在未來還是有很多應用的趨勢,比如:
1、 數字化身份信息系統;
用區塊鏈記錄你的個人信息,就再也不用擔心遇到“證明我媽是我媽”的問題了。從你的出生證、畢業證、駕照、房產、醫療信息等等,都可以被記錄在區塊鏈上。不僅不用證明“我媽是我媽”了,也不用在 A 醫院做完檢查再去 B 醫院又做一次相同的檢查。
2、優化交易系統;
這個交易,不僅是做生意的交易,也包括日常購物等等。如果你想買一塊豬肉,在區塊鏈技術下,你可以直接追蹤到這頭豬的生產、養殖、流通的所有環節,再也不用擔心買到的豬肉不健康了。(如果你能買的起 …)
3、 產權保護;
對于抄襲這種事,想必大家都是恨之入骨,那如果我們能把自己的作品都放在區塊鏈上,就再也不用擔心被別人抄了去了,畢竟群眾的眼睛是雪亮的。
那這樣,我只要把我的文章掛在區塊鏈上,等著別人轉載,我收錢就行了 ……
(醒一醒,別做夢了,你寫的沒人看)
當然,區塊鏈的應用也不止以上這些。我這篇文章也不見得有多全面,可能又會有很多朋友說看不懂,但還是希望通過這篇文章,讓大家對區塊鏈有正確的認識。
責任編輯:ct
電子發燒友App






評論