紫霞仙子:頂得住區塊鏈的十二連問嗎?
紫霞仙子:聽說你最近在學區塊鏈,給我講講唄~
一、用大白話說下什麼是區塊鏈?
1.我是至尊寶,我愛紫霞仙子你,在這個時間
,這個地點
,我對紫霞你說:至尊寶愛紫霞一萬年
。
2.現在我把這句話寫在了紙上
:3.但是如果我把這張紙交給紫霞你,你又怕我反悔
。而如果我把這張紙交給月老,我又怕月老可能會修改
內容,而改成只愛你一年。
4.我為了防止類似事情發生,就把這些這愛情真言,告訴了師父、二師弟悟能、三師弟悟淨、白龍馬、牛魔王等認識的人,他們都幫我們記錄
了這些資訊。
5.目前這份資訊現在是安全的,我無法抵賴
,我會愛你一萬年。
6.為了表達對他們幫忙記錄資訊的感謝,我給他們每個人發了一個紅包
。
7.而那些幫我們記錄的人就稱作節點
。
8.而至尊寶愛紫霞一萬年
這句話+時間+地點這些資訊,打包起來就形成了一個資訊包,也就是區塊鏈中的區塊
。而多個區塊連在一起就是區塊鏈
。
9.去中心化
就是不需要月老來統一記錄這些資訊。
10.娶親當天,我答應了紫霞三個條件,又需要去記錄了,而師父和師弟他們很忙,不想浪費時間在記錄上面,所以決定選一個人來幫助大家記錄這些資訊。
12.選誰來記錄呢?會不會不安全呢?那就來個很難的算數題吧,誰能算出來,就給誰來記錄,我還會給記錄的人一個大紅包,也就是比特幣
。而做出算數題就稱作工作量證明
。
13.而這個記錄的人就被稱作礦工
。礦工們不斷算題,爭奪
資訊記錄的權利
。從而獲得資訊記錄的獎勵
。
二、什麼是區塊鏈?
區塊鏈的英文是 Block Chain,它的技術的產生和發展跟比特幣有著千絲萬縷的聯絡。
因比特幣的火熱,區塊鏈技術被世人所知。比特幣是區塊鏈技術最成功最成熟的應用案例。 區塊鏈技術作為構建比特幣資料結構及交易體系的基礎技術。 區塊鏈是一個去中心化的分散式資料庫,該資料由一串使用密碼學方法產生的資料區塊有序連結而成,而區塊中包含有一定時間內產生的無法被篡改的資料記錄資訊。 區塊鏈由多種技術整合:密碼學、數學、經濟學、網路科學等。這些技術以特定方式組合在一起,形成了一種新的去中心化資料記錄與儲存體系。而每個區塊上又打上了時間戳,形成了前後關聯且連續的誠實資料記錄儲存結構。
三、為什麼要有區塊鏈?
區塊鏈解決了以下兩個問題:
交易確認和資金清算問題
現實社會中各種經濟活動涉及資金清算的,除了直接的現金交易外,都需要當事人執行以下步驟:
在銀行等機構開立賬戶。
透過開戶機構進行資金清算。
但由於公民有多個開戶機構的賬戶,甚至還有跨國賬戶,而當事人的交易必須透過開戶機構之間的清算才能完成。嚴重影響了交易確認
和資金清算
的效率和成本。
中心化問題
傳統的信用建立是靠很多的中心
,譬如央行、商業銀行,還有法院、經濟警察等。但帶來的問題就是成本過高
。
而且我們存的錢都是銀行管控的,如果銀行倒閉了,那存的錢可能就沒有意義了。
四、什麼是比特幣?
比特幣由中本聰在 2008 年發表的論文《比特幣:一種點對點的電子現金系統中》首次提出。
比特幣是一種虛擬的加密數字貨幣,去中心化的支付系統。不依賴特定的貨幣機構發行,不受央行和任何金融機構控制。
根據特定演算法,透過大量的計算產生。
透過計算得到的區塊獎勵最開始是 50 個比特幣,每隔大約 10 分鐘,下一批 50 個比特幣產生。總量達到 1050 萬(2100 萬的 50%)時,獎勵減半為 25 個。每隔 4 年,獎勵減半,總量最多為 2100萬。
比特幣可以透過挖礦獲得,也可以透過交易購買獲得。
下圖總結了普通貨幣和比特幣的區別:
五、區塊內包含什麼?
區塊鏈的區塊由區塊頭和區塊體兩部分組成。
區塊頭:由上一個區塊的雜湊值、區塊體的雜湊值、4 位元組的隨機數、時間戳等組成。固定 80個位元組。
區塊體:區塊包含的交易資料,其中第一筆交易是 CoinBase 交易,這個是一筆激勵礦工的特殊交易。
六、區塊鏈的特性有哪些?
去中心化
區塊鏈不依賴中央處理節點,實現了資料的分散式記錄、儲存和更新。
每個區塊鏈節點都必須遵循同一個規則,而該規則基於密碼演算法而非信用,每次資料更新都需要網路內其他使用者的批准,所以不需要一套第三方中介機構或信任機構背書。
傳統中心化網路中,如果中心被攻擊了,則會破壞整個系統。
透明性
讀和寫資料記錄對全網節點是透明的。區塊鏈使用開源的程式、開放的規則和高參與度,可被全網審查、追溯。
開放性
除了被加密的私有資訊外,區塊鏈的資料對所有人公開(特殊區塊鏈系統除外)。
任何人都可以透過公開的介面查詢記錄。
自治性
整個系統可自由安全地交換資料、記錄資料、更新資料。
資訊不可篡改
資訊一旦經過驗證並新增至區塊鏈後,就會得到永久儲存,無法更改。
除非能夠同時控制系統中超過 51%的節點,否則單個節點上對資料庫的修改是無效的。
匿名性
交易的雙方都是匿名的情況下進行,無須透過公開身份來讓對方產生信任。
七、什麼是挖礦?
礦
指比特幣。挖礦
指挖比特幣。挖礦的過程其實就是解決複雜的密碼學問題。礦工
指運用挖礦裝置(比如CPU、GPU 等有計算能力的裝置)來進行挖礦的人。而作為對他們服務的獎勵,礦工可以得到他們所確認的交易中包含的手續費
,以及新產生的比特幣。礦池
指大家聯合挖礦裝置一起來挖礦,算力集中的地方。
而怎麼才算挖到比特幣呢?這個就牽扯到工作量證明了。
八、什麼是工作量證明?
工作量證明的英文是 Proof of Work,簡稱 PoW。
在現實生活中,也有工作量證明這一說法:比如大學的學位證、畢業證,就是證明大學期間透過 4 年的努力完成了相關課程的學習,別說你沒努力就拿到了證書,汗。
也就是說工作量證明就是透過指定的結果,來證明自己做過了一定量的工作。而在區塊鏈中,這個工作就是雜湊運算。
區塊鏈中節點透過雜湊運算得到符合條件的雜湊值,來證明工作量。而這過程是一個隨機數的查詢過程,俗稱挖礦
。
找到符合條件的隨機數的方法是不停地隨機試探
,直到搜尋到一個有效的數。而這個隨機數是由 N 個前導零構成,零的個數取決於網路的難度值。比如以下的隨機數由四個前導零構成。
0000ec5927ba10ea45a6822dcc205050ae74ae1ad2d9d41e978e1ec9762dc404
工作量證明的三要素如圖所示:
輸入:擁有 80 位元組固定長度的區塊頭。
演算法:雙重 SHA 256 雜湊運算。也就是對 SHA256 雜湊運算的結果,再執行一次雜湊運算。
條件:計算出的雜湊值,只有小於目標值,才是有效的,否則無效,必須重算。
九、區塊鏈的工作原理?
計算出符合條件的雜湊值後,然後怎麼處理呢?
礦工就把這個雜湊值的資訊廣播給叢集中的所有其他節點,其他節點就進行驗證,驗證透過後,就會把之前那個礦工的區塊加入到自己的區塊鏈中,最終形成一串區塊鏈。詳細步驟如下:
1.節點將新的資料記錄向全網進行廣播。
2.接收節點對收到的資料記錄資訊進行合法性校驗,如果有效,則將資料記錄納入一個區塊中。
3.接收節點對區塊執行共識演算法。
4.共識達成後,區塊被納入節點的區塊中進行延長。
最後形成的區塊鏈就是如下圖所示:
十、怎麼攻擊區塊鏈?
計算雜湊值完全依賴硬體的算力,算力越強,算出雜湊值的機率越高,時間越短。
也就是說如果有壞人掌握了 51 % 的算力,就可以發起 51 % 的攻擊,比如雙花攻擊(Double Spending)。也就是同一份錢花了 2 次。
如果攻擊者掌握了較多的算力,就能挖掘出一條原鏈更長的攻擊鏈。然後又將攻擊鏈向全網廣播。而節點按照約定會接受更長的鏈,也就是會接受攻擊鏈,丟棄原鏈。如下圖所示:
攻擊鏈是紅色那一條,比原鏈分支多一個區塊,被系統接受,成為有效的鏈,而原鏈就被廢棄了。
十一、區塊鏈的缺點
區塊鏈體積過大
區塊鏈不斷地發展,節點儲存的區塊鏈資料體積會越來越大,儲存和計算負擔將會越來越重。比如現在的比特幣區塊鏈,完整資料已經超過 60 GB,如果用比特幣客戶端進行資料同步的話,至少三天三夜。
資料確認時間過長
比特幣交易的一次確認時間大約是 10 分鐘,而完成 6 次確認的時間是 1 小時。需要等待 1 個小時才能完成確認。
交易頻率過低
比特幣每秒最高處理 6.67 筆交易。怎麼算的呢?
每條交易大約 250 個位元組,區塊大小假定限制在 1 MB,可以容納的交易資料量為 4000 條。每 10 分鐘產生一個區塊,每天可以產生 144 個區塊,可以交易 144 * 4000 = 576000 條交易,然後除以每天的總秒數 86400,也就是 576000 / 864400 ≈ 6.67。
目前需要解決擴容問題才能突破這個瓶頸。
受到現行制度的制約
目前監管部門對這項新技術缺乏充分的認識和預期,法律和制度建立可能會滯後,也缺乏必要的制度規範和法律保護,加大了市場主體的風險。
十二、區塊鏈的應用
物聯網。傳統的物聯模式是由一個資料中心負責收集各連線的裝置資訊,成本很高。而利用區塊鏈使這些裝置連在一起形成一個可持續執行的分散式網路。各裝置可自行傳送更換零配件的訂單,甚至還能和其他裝置進行電源競價,使使用者家庭能源消耗最小化。 保險。傳統的保險模式是透過投保人申請理賠的方式。而如果用區塊鏈的智慧合約技術,保險公司無需等待投保人申請理賠,就能主動進行賠付。 醫療。現在醫院都改用電子病歷了,但是儲存資訊是在醫院處,這就是一箇中心化的問題,因此產生醫患糾紛問題和安全性問題。如果用區塊鏈技術,則病歷資訊不可篡改和高強度保密。
總結
本文用一個故事開頭,大白話講解了區塊鏈的概念,然後用 11 個核心問題來理清區塊鏈中大家常關心的問題。本文既是一篇科普文章,也是一篇原理性文章,對於原理性的問題,我都用圖解的方式來講解,相信會較容易理解一點。區塊鏈跟分散式聯絡緊密,比如區塊鏈中用到 PoW 演算法,拜占庭容錯,都是充分利用分散式特性。學習區塊鏈的過程也是學習分散式的過程。
巨人的肩膀:
《分散式協議與演算法實戰》
《區塊鏈:從數字貨幣到信用社會》
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70024420/viewspace-2924965/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 《西遊2伏妖篇》主題VR遊戲上線,帶你邂逅紫霞仙子VR遊戲
- 成都鏈安CEO楊霞:打通區塊鏈生態安全資訊屏障,守護區塊鏈生態安全區塊鏈
- 區塊鏈是合法的嗎?區塊鏈
- 想問問區塊鏈區塊鏈
- 區塊鏈每日一問 | 什麼是區塊鏈的“分叉”?區塊鏈
- 深知區塊鏈,可你知道區塊鏈的專業術語嗎?區塊鏈
- Flink 靈魂兩百問,這誰頂得住?
- 區塊鏈溯源可信嗎?區塊鏈溯源系統解決方案區塊鏈
- 區塊鏈間的連線設施區塊鏈
- 區塊鏈專刊了解一下?頂級期刊TIIGE力薦的區塊鏈專刊區塊鏈
- 區塊鏈的確定性問題區塊鏈
- 量子計算能攻破區塊鏈嗎區塊鏈
- 你知道什麼是區塊鏈嗎?區塊鏈
- 區塊鏈100講:區塊鏈為什麼叫“區塊”“鏈”?區塊鏈
- “區塊”和“鏈”的火花,區塊鏈到底為何物區塊鏈
- 區塊鏈通識問題(四)區塊鏈
- 區塊鏈通識問題(二)區塊鏈
- 區塊鏈教程Fabric1.0原始碼分析policy(背書策略)-兄弟連區塊鏈區塊鏈原始碼
- 區塊鏈智慧領域算是工匠精神嗎?區塊鏈
- 區塊鏈遊戲真的有未來嗎?區塊鏈遊戲
- 區塊鏈專利數量增速是區塊鏈開發技術提高了嗎?區塊鏈
- 區塊鏈技術應用落地,區塊鏈溯源落能解決哪些問題?區塊鏈
- 區塊鏈100講:區塊鏈中的隨機數區塊鏈隨機
- 區塊鏈100講: 區塊鏈共識的確定性區塊鏈
- 區塊鏈101:區塊鏈技術是如何工作的?區塊鏈
- 區塊鏈技術能解決貧富差距兩極分化問題嗎?區塊鏈
- 區塊鏈知識,區塊鏈簡史區塊鏈
- 區塊鏈系列1-區塊鏈概述區塊鏈
- 區塊鏈 2.0:房地產區塊鏈(四)區塊鏈
- 區塊鏈中的“跨鏈”區塊鏈
- 區塊鏈技術開發主鏈區塊鏈的應用分析區塊鏈
- 區塊鏈區塊鏈
- 爐邊對話:區塊鏈技術的互操作性問題和區塊鏈的未來區塊鏈
- 區塊鏈公司暢談區塊鏈技術的價值區塊鏈
- 區塊鏈2.0架構:以太坊區塊鏈的介紹區塊鏈架構
- 區塊鏈的幾個小故事.小白學區塊鏈01區塊鏈
- 區塊鏈3.0,人工智慧與區塊鏈的完美融合區塊鏈人工智慧
- 1.3 初識區塊鏈:區塊鏈分類區塊鏈