在今天,無論商業圈、科技圈還是金融圈,最熱的詞彙無非只有一個,那就是“區塊鏈”, 我是黑馬程序員的"無崖子"老師,下面我來介紹一下區塊鏈的當下現狀、一些區塊鏈基本詞彙的掃盲講解以及未來科技領域的新趨勢和開發人員需掌握的知識體系。
一、區塊鏈當下現狀
1.國家首推
我們先來幾組數據,2018年3月12日,工信部宣佈“區塊鏈和分佈式記賬技術標準化委員會”成立。代表國家承認區塊鏈技術本身,雖然現在區塊鏈的概念被炒作的很神話,很多人用區塊鏈行業的發行代幣進行投資甚至投機,但是技術無罪!區塊鏈是一種新型的解決數據安全的一種解決方案。
工信部成立區塊鏈委員會
2.市場現狀
我們先看一組Boss直聘統計的數據。
區塊鏈相關照片崗位薪資
根據數據可以看出,區塊鏈的相關崗位的平均薪資已經高達2.58w/月! 我的天,這是撿錢的節奏麼?而且這個數據目測一直還在上升階段。不管是做技術、產品、運營、還是市場,行業薪資都是領先地位。
區塊鏈崗位城市分佈比例
再來看市場分佈,一線城市崗位居多,北京為首。上海,深圳,杭州也在逐步增加。
二、區塊鏈小白掃盲-去中心化意義
既然區塊鏈如此之火,那麼它的概念到底是個啥呢,我們可以用幾個場景給讀者們還原一下。首先我們要了解兩個詞彙,“中心化”與“去中心化”。
1.信息公正問題
為了解釋這兩個詞,我們先構建一個場景,如下圖所示。
信息場景
有一天一個男孩對一個女孩說,"願意愛你一生一世",這個誓言發送了給了女孩,女孩居然真信了。但是男孩過幾天突然就變卦了。如下圖所示。
信息不公正
當男孩提出說分手的時候,他之前承諾的誓言“願意愛你一生一世”將毫無意義,而且對之前的誓言不需要承擔任何的責任,因為“願意愛你一生一世”這句話,沒有任何人可以作證。那怎麼去解決這個問題呢?有兩種方式可以解決,一種是中心化的方式,另一種就是去中心化的方式。
2.“中心化”解決信息公正問題
我們可以通過傳統的"中心化"方式解決以上問題。怎麼解決,之前不是沒有人證明麼,我們找一個公認的公平人物不就可以了嘛,比如大公無私的包青天,在男孩向女孩表白的時候,讓包青天證明不就可以了嘛~這樣,當有一天男孩變心反悔,女孩可以找包青天爺爺作證,當然也可以找一些權威的機構去證明這件事。這就是用中心化解決了信息公正的問題。
中心化解決信息公正
3.“去中心化”解決信息公正問題
“中心化”方式雖然解決了信息公正的問題,但是也會有一系列的弊端。有啥弊端呢? 你把全部的依託都壓在包青天爺爺身上,人家包青天也是人啊,他也會掛的。就是他長生不老,他也是人類,擁有七情六慾,他也會被男孩用200塊錢買通,而說假話。所以將所有的公正權威交給某個中心化的體制管轄,是有一定風險的。而且維護這個體制的公正的成本也會越來越大。
那麼怎麼解決這個問題呢?
我們可以用一種新的方式,叫做“去中心化”方式。
去中心化解決信息公正
如果男孩向女孩表白的時候,女孩將男孩的某事某刻“愛你一生一世的”聊天記錄,轉發到微博、朋友圈、QQZONE、抖音甚至是快手。那麼這個誓言將被全世界的人所知道,那麼所有的吃瓜群眾可能都是你的證明人。
這樣除非全世界的吃瓜群眾同一時刻掛掉,或者男孩要買通所有的人,來更改他之前說過的誓言,但那幾乎是不可能發生的事情。
綜上, “去中心化” 徹底解決了“信息公正” 的安全問題!
三、區塊與區塊鏈
那麼,去中心化這個詞,我們理解了,那麼它和區塊鏈又有啥關係呢?
我們通過去中心化解決的信息公正問題,可以打成一個包裹,裡面包含(發出信息的人,收信息的人,需要被公正的信息,和發起的時間), 我們把這個包裹定義稱作,叫一個"區塊"。那麼這個世界上,每天需要被公正的信息,不只有一個,很多通過去中心化得到的包裹,都會得到一個對應的“區塊”。
區塊
這些區塊會每時每刻在全世界各個地方被生成,如果將這些區塊通過時間軸穿在一起,就會得到根據時間排序的區塊集合,我們就稱他們是一個“區塊鏈”了。
區塊鏈
那麼每個人都會擁有區塊鏈,而且每個人手裡的區塊鏈都是一致的。
由於去中心化,每個人手裡都有一個區塊鏈
這樣,如果有一個區塊,裡面包含的事件是某日小One向小露借1000元。這個信息被公正,打包成一個區塊,放在區塊鏈中,然後每個人手裡的區塊鏈都會加入這個區塊的信息。那麼當有一天小One不想承認這個區塊的信息,他可以銷燬自己手裡所對應的區塊,但是他並不能夠去修改其他人手裡的區塊鏈,這樣小One無法在同一時刻篡改所有人手裡的區塊信息,信息得到了永遠的公正。
區塊鏈不可篡改
四、區塊鏈的應用領域
金融領域:
所有人的財產證明,將不只有銀行說了算,你的個人價值將永遠保值!
司法領域:
每個人的不良記錄將永遠不能被銷燬,樹正公民良德!
社交領域:
比如:戀愛表白區塊鏈應用app。男生如何證明到底有多愛她,只要你敢把你的誓言,放在表白App裡。
行政領域:
比如:我們每個人的納稅。但是稅到底花在什麼地方,花多錢並不知道,讓國家稅透明化,每筆交易記錄去中心化,有助於徹底解決腐敗。
人事領域:
市場大量存在假學歷,假履歷。如果國家會建立去中心化的每人的履歷區塊鏈系統,那麼每人的教育經歷將永遠無法造假,人才市場將更加公正。
商業領域:
雙11商品限時秒殺!所有的秒殺記錄在區塊鏈裡,防止內部員工內定。 區塊鏈技術可以淨化複雜不可信的世界!徹底解決人與人之前的信任問題!
五、區塊鏈與人工智能
我們現在已經有了人工智能相關的解決方案,但是人工智能通過深度學習,網絡神經等技術,只能夠解決單個機器的智慧。
如果一個人工智能團隊他們項目分享數據,或者共享數據,彼此之間也存在信用問題。
人工智能面臨的問題
但是如果區塊鏈系統已經成熟,就可以徹底解決人工智能團隊配合問題,任何領域的智慧機器都可以共享數據,並且通過區塊鏈技術可以徹底解決數據公信的問題。所以真正的智能時代現在只是豎起了第一條腿,如果站的更穩就需要第二條腿,那就是區塊鏈技術。
未來趨勢
人工智能+區塊鏈
六、區塊鏈開發技術棧
1.區塊鏈技術崗位技能要求
我們再來看一組boss直聘上統計的數據,目前在招的區塊鏈崗位主流的語言是Go和C++語言,早起的區塊鏈系統和應用程序主要是以C++實現,現在多樹公司在打造自己的公鏈系統都會選擇Go語言作為實現。
區塊鏈崗位技術
2.Go語言與區塊鏈
為什麼Go語言會成為區塊鏈的主流編程語言呢?Go語言來自Google,創建於2009年,英文名字叫Golang,中國人翻譯的很直接,"夠浪"(Golang)。Go語言的開發者被稱作Gopher(地鼠), 當然也有很多開發者喜歡自嘲,直接稱,"I am 夠浪!".
Go語言
Go語言有三個特性,開發速度快,併發性好,編程簡單。Google在創立Go語言的初衷就給Go語言定義為:“簡單快樂的開發高性能程序。”
Go語言的特徵
因為區塊鏈系統開發涉及到算力及應用,這些C++語言自然可以解決,但是繁瑣的開發成本過高,用其他上層語言,如java、python等雖然能降低開發成本,但是性能及區塊鏈的算力又跟不上,所以很多企業在開發區塊鏈技術的時候,就會選擇開發成本低並且開發性能客觀的Go語言作為首選語言。
再看幾組拉鉤的區塊鏈崗位招聘數據。
區塊鏈崗位1
區塊鏈崗位2
我們會得到幾乎大多數以上的崗位均需要掌握Go語言,並且區塊鏈的體系多偏向後端編程語言體系,多數崗位要求具備密碼學、安全協議及對安全認證算法有一定了解。
3.區塊鏈開發方向
目前市場對於區塊鏈開發的技術方向已經逐步清晰,主要分為區塊鏈上層應用開發和區塊鏈底層系統開發。上層應用開發涉及到的語言比較廣泛,如Go、Solidity、Java、C++、Python、node.js等。但是有關區塊鏈底層系統開發,多數Go語言為主,或者C++語言開發。
區塊鏈技術方向
區塊鏈架構
七、結語與QA
隨著越來越多人的瞭解區塊鏈,區塊鏈也會不知不覺伴隨我們的生活,作為技術開發人員,我們應該以敬畏的態度面對新科技。今後新的時代或新的生活方式到來,我們應該保持學習和採納並且客觀的態度面對,而不是主觀的排斥,這樣我們才能順應這個時代,成為時代的先驅者。
Q:還是感覺太抽象,至今都還不能具象化的理解這個區塊鏈,也沒找到具象化的解釋,費解???
A:正如區塊鏈這個名詞一樣,它是被創造出來的,並沒有以往的概念可以映射到上面,所以容易費解。我們不談這個概念,我們只需要想想我們的互聯網還需要什麼。正如比特幣白皮書提到的,一個點對點的現金系統,他使用的前提要求是很低的,不需要註冊,不需要手機號,一個點對點的網絡,只要你用設備接入,那麼你就可以使用。區塊鏈這個概念也一樣,目的是構建一個點對點的生態,解構權力帶來的不對稱。它本身只是一個共享的總賬本,不同於網絡中多節點自己記賬,再對賬,這就瓦解了中心權力。
資源獲取
關注 ‘黑馬程序員’ 評論轉發後臺回覆:人工智能+區塊鏈+go語言 即可獲取!
閱讀更多 黑馬程序員 的文章