區塊鏈技術體系,快捷學習路徑?
這兩年,數字貨幣和區塊鏈很火。年初寫過一些區塊鏈與比特幣的文章,反響也很不錯。不少網友催我繼續寫區塊鏈,我在這個方向未曾深耕,也不敢造次,結合自己的經驗,寫寫區塊鏈涉及的技術體系,以及學習區塊鏈的途徑和方法。
一、區塊鏈技術體系
資料層
資料層是區塊鏈結構的基礎,涉及的技術體系包含:區塊元儲存,區塊鏈式結構,時間戳機制,雜湊簽名技術,Merkle樹,非對稱加密等一系列技術。
網路層
區塊鏈是一個全球的分散式結構,網路層包含點對點傳播與一致性的技術:P2P網路,傳播機制,一致性校驗機制等一系列技術。
共識層
共識層主要封裝各個網路節點的共識演算法,推動各個P2P節點高效的達成策略一致。就如同“民主”與“集中”的決策方式一樣,共識演算法決策權越分散,效率越低,滿意度越高。
比特幣採用算計工作量證明PoW(Proof of Work)來保證記賬的一致性。除了PoW之外,還有PoS,DPos等一系列演算法。
激勵層
達成了共識,有什麼方法激勵礦工來挖礦,激勵礦工來記賬呢?激勵層將經濟因素引入區塊鏈技術體系,主要包含發行機制,分配機制。
畫外音:為什麼要挖礦,挖礦能得比特幣呀。為什麼要幫你記賬,記賬要付費呀。
合約層
如果說資料層、網路層、共識層、激勵層是底層基礎功能,合約層是建立在基礎功能之上的商業邏輯與商業策略,技術上並不複雜,通過指令碼去實現合約演算法,合約策略。
智慧合約具備自治,自足,去中心化等策略,合約指令碼一旦啟動,不需要進行任何干預,通過底層基礎功能來保障合約的履行,保障合約的公正性與公平性。
應用層
利用底層基礎功能,編寫合約指令碼,就能實現最上層的區塊鏈應用,例如比特幣BTC,以太幣ETH等。
二、做區塊鏈開發要學什麼
如果你不只是想學習與瞭解區塊鏈技術,而是要做區塊鏈開發,想問需要學習什麼應用技術,這兩塊是必不可少的:
Hyperledger Fabric架構:封裝了底層基礎功能,讓工程師專注於業務規則的編碼,保證模組化與擴充套件性
Solidity以太坊智慧合約開發
畫外音:類比一下,寫程式碼,雖然用SpringMVC,以及各種Java庫,但個人認為,http,TCP等基礎知識是必要的。
三、如何學習區塊鏈技術
書籍類
如果你英文比較好,google一下應該很快能找到你需要的資料。
英文比較差的話,這些書籍可能適合你上手:
《數字貨幣與智慧合約技術》
《區塊鏈技術指南》
《圖說區塊鏈》
網站類
巴位元論壇和非小號是我逛得比較多的:
http://8btc.com/
http://www.feixiaohao.com/
視訊課程類
網易雲課堂的《區塊鏈開發工程師》課程,是比較不錯的。
課程講師:鍾蔚蔚,浙江大學軟體工程碩士,趣鏈科技平臺支撐部負責人。
課程大綱內容:
1.區塊鏈生態現狀介紹
2.區塊鏈平臺的選擇
3.開發專案,手把手教你寫區塊鏈應用
4.資料上鍊實踐
視訊類直播
網易雲課堂的區塊鏈直播《3步瞭解區塊鏈》,是口碑比較好的。
直播時間:7月25日20:00
直播講師:樑秀波,浙江大學軟體學院副研究員,網易區塊鏈開發工程師微專業技術顧問。
直播大綱:
1.區塊鏈技術體系與技術前沿
2.區塊鏈典型應用場景及落地應用
區塊鏈學習資料包
如果沒有時間看視訊或者直播,網易雲課堂這邊提前梳理好的資料包,是一個快速獲取區塊鏈系統資料的途徑。
四、如何獲取資料,一起學習
感興趣的同學,歡迎加QQ群554226279,一起學習,相互討論。
畫外音:一起學習,相互討論,同時有個督促。
群主已經整理好福利:免費課程,免費直播,免費資料包(原始碼,筆記,PPT,電子書),加QQ群即得。另外,直播時間是7月25日20:00,得抓緊了。
掃碼加QQ群554226279,免費領取資料,一起學習
分享給想往區塊鏈方向發展的程式設計師們,希望能夠幫助到你們。
點選閱讀原文,交個朋友,一起進步吧!
不感興趣也沒關係,幫忙轉發給更多朋友!謝謝。