區(qū)塊鏈入門——你需要知道的區(qū)塊鏈知識
區(qū)塊鏈,作為一個新事物,生來就籠罩著一層神秘的光環(huán),看各方言論,區(qū)塊鏈儼然有比肩工業(yè)革命和計算機革命的趨勢。
中心化的好處在于有一個統(tǒng)一的中心,替我們承擔了很多不必要的管理工作。對個體而言有諸多便利,可要知道,由于居中的管理者依然是有血有肉有欲望的人,所以難免會有壟斷后的各種弊病。
區(qū)塊鏈,作為一個新事物,生來就籠罩著一層神秘的光環(huán),看各方言論,區(qū)塊鏈儼然有比肩工業(yè)革命和計算機革命的趨勢。
奈何網(wǎng)絡上的入門教程對文科生都不太友好,筆者每每看到一大堆的計算機術語瞬間頭大。
直到最近看到阮一峰老師的《區(qū)塊鏈入門教程》才豁然開朗。區(qū)塊鏈,其實很簡單。
接下來的內(nèi)容,保證你看得懂,因為連我這個文科生都看得懂。
區(qū)塊鏈是什么?
一句話,區(qū)塊鏈是一種特殊的分布式數(shù)據(jù)庫。
這幾個字你可能都認識但未必真正理解。比如,數(shù)據(jù)庫是什么?它具備什么樣的特性?分布式數(shù)據(jù)庫又是什么意思?區(qū)塊鏈特殊在哪里?別急,請往下看。
數(shù)據(jù)庫是什么?
簡單來說,數(shù)據(jù)庫是一個存儲數(shù)據(jù)的“倉庫”,既然是倉庫,那么它就必須有進貨(新增)、出貨(刪除)這兩項基本功能。
為了滿足日常需求,比如需要查找某種貨品,統(tǒng)計其數(shù)量,或者某種貨品擺錯了位置等等,因此還需要“查詢”和“修改”功能。
這就是數(shù)據(jù)庫的最基本的四項操作“增刪改查”。
“分布式”數(shù)據(jù)庫又是什么?
分布式即“分開”部署數(shù)據(jù)庫。這里的分開有兩層含義,物理的分開和邏輯的分開。
物理的分開很好理解,可以簡單理解為數(shù)據(jù)存儲在不同的主機上,在物理上是相互獨立的。
為什么會產(chǎn)生這樣的需求呢?因為在互聯(lián)網(wǎng)全球化的大背景下,跨國性互聯(lián)網(wǎng)公司已經(jīng)屢見不鮮,而在本國本地部署服務器在改善用戶體驗上至關重要。
舉個例子,比如前段時間蘋果將iCloud服務從香港轉(zhuǎn)移到云上貴州,好處之一就是訪問速度的加快。
邏輯的分開稍微難懂一些,筆者舉一個簡單的例子。比如說淘寶,同一個賬戶可能既是買家,又是賣家,買家身份產(chǎn)生的訂單和賣家身份產(chǎn)生的訂單在邏輯上是可以分離的。
由于淘寶的訂單量巨大,一臺機器無法存儲所有訂單,于是淘寶某程序員靈機一動,將買家訂單和賣家訂單分別存儲在兩臺機器上。這個完美的解決方案在不失邏輯整體性的前提下,既克服了技術困難,又滿足了業(yè)務需求,兩全其美,當年該程序員拿了36個月年終獎金(本故事純屬虛構)。
分布式數(shù)據(jù)庫雖然可能部署在多個地區(qū),邏輯也可能被拆分,但是歸根到底,它是一個化整為零的整體。
所以,分布式數(shù)據(jù)庫可以簡單地理解為,將一個數(shù)據(jù)庫按照一定規(guī)則部署到多臺服務器,對內(nèi)可以是零散的,但對外必須是一個整體。
區(qū)塊鏈特殊在哪里?
說了這么多,相信您對數(shù)據(jù)庫和分布式數(shù)據(jù)庫有了一些基本認知,那么區(qū)塊鏈到底特殊在哪里呢?
在具體講區(qū)塊鏈之前,還需要對區(qū)塊鏈的結構有一個基本理解,也是非常之簡單。
區(qū)塊鏈,顧名思義就是由“區(qū)塊”組成的鏈。
由于區(qū)塊鏈是和比特幣一同興起,因此區(qū)塊鏈還有一個不是特別嚴謹?shù)膭e名——“分布式賬本技術”。
之所以被稱為賬本,舉個例子,“比特幣區(qū)塊鏈”所記錄的內(nèi)容都是這樣的
B 轉(zhuǎn)給 A 0.5比特幣
A 轉(zhuǎn)給 B 1比特幣
C 轉(zhuǎn)給 D 2比特幣
C 轉(zhuǎn)給 E 1比特幣
X 被獎勵50比特幣
諸如此類千篇一律,像極了一篇流水帳。
有了這些基本概念,接下來我們再看看它的特殊性。
1. 數(shù)據(jù)人人可查
是的,一般的數(shù)據(jù)庫都是有賬號密碼才能訪問的,可區(qū)塊鏈不一樣。
任何人可以查詢?nèi)我鈪^(qū)塊的信息。比如這里就是“比特幣區(qū)塊鏈”的第50萬個區(qū)塊信息。
區(qū)塊的信息一目了然,所記錄的交易信息也完整具體,沒有一絲隱瞞。
不過與傳統(tǒng)交易不同的是,我們不知道綠色框線寬選的“比特幣錢包指紋”背后的持有者是誰,是一條狗也說不定。
2. 數(shù)據(jù)人人可寫(去中心化)
又是一個無比熟悉的詞匯。也許你知道,區(qū)塊鏈是無管理員的,無中心的,但是很少有人去介紹它的具體運作方式。
是的,區(qū)塊鏈理論上是人人可寫的。但寫入的前提是要擁有足夠的“計算能力”去從無窮無盡的數(shù)字海洋中窮舉出那個符合要求的數(shù)字。
計算數(shù)字的過程叫做挖礦,其從業(yè)者被稱為礦工。
“比特幣區(qū)塊鏈”的設計者中本聰在頂層設計上保證了大概每10分鐘才能產(chǎn)生一個新的區(qū)塊,而一個區(qū)塊的大小被限制為1MB(1024KB,512*1024個漢字)。
也就是說,不管全球有多少比特幣的交易需求,就只能記錄1MB大小的賬。
這樣的數(shù)據(jù)量對于一家超市來說可能都難以滿足。
而且更要命的是,由于區(qū)塊鏈的人人可寫,那么如果兩個礦工同時寫入就會產(chǎn)生一個鏈分叉的問題。
那么,誰寫入的數(shù)據(jù)是真正的區(qū)塊呢?由于去中心化沒有統(tǒng)一的管理員,現(xiàn)在的規(guī)則是這樣,哪條分支先達到6個區(qū)塊(稱為"六次確認")就是正宗的主鏈,而其它的區(qū)塊鏈將被無情舍棄。按照10分鐘一個區(qū)塊計算,一小時才能確認。
可以看到,即便傾全球的計算能力,交易速率也只能達到每秒鐘2次多交易。
3. 數(shù)據(jù)人人備份
前面說過區(qū)塊鏈是分布式的,而區(qū)塊鏈的設計方式簡單粗暴,每個人都有所有人交易的備份。
舉個例子,你有一張信用卡,月底的時候想看看自己的賬單,結果銀行把全球的賬單都發(fā)給你了。
也許你問,干嘛要把別人的賬單也發(fā)給我?我只需要自己的呀!
初次聽聞確實有點荒謬,有點反人類。
但數(shù)據(jù)人人備份才是區(qū)塊鏈去中心化的根基。試想一下,如果銀行的交易系統(tǒng)發(fā)生故障,把你的賬戶金額清空了,如果銀行自身無法查出真相,估計你只能血本無歸,因為能證明自己賬戶曾經(jīng)有錢的人只有你自己。
中心化的好處在于有一個統(tǒng)一的中心,替我們承擔了很多不必要的管理工作。對個體而言有諸多便利,可要知道,由于居中的管理者依然是有血有肉有欲望的人,所以難免會有壟斷后的各種弊病。
目前看來,中本聰去中心化的初衷是實現(xiàn)了的。從“2009-01-09 10:54:25”創(chuàng)世區(qū)塊產(chǎn)生,到現(xiàn)在九年多的時間,這個系統(tǒng)在全球人的參與下平穩(wěn)運行。
最后
你也許聽說過,區(qū)塊鏈一旦被確認寫入,就無法再修改。
雖然這九年的時間,從來沒有人反映自己的區(qū)塊被修改了,但并不意味著一定不行。
一個區(qū)塊所在的鏈是否為主鏈,是由“算力”投票決定的。
假如一個礦工擁有全網(wǎng)51%以上算力,那么他將會有一家獨大的可能。也就是說,他生成的區(qū)塊,無論記錄的數(shù)據(jù)多么荒謬,在規(guī)則上,其他人必須被迫承認其正統(tǒng)地位。
中本聰?shù)脑O計初衷是去中心化,可最終卻可能得到一個中心化地位無法撼動的怪物。
信息首發(fā):區(qū)塊鏈入門——你需要知道的區(qū)塊鏈知識
