先快速學習區(qū)塊鏈的概念、區(qū)塊鏈的本質、區(qū)塊鏈的作用,以及區(qū)塊鏈最常見的問題。這部分區(qū)塊鏈的課程都是純理論的內容,不涉及到編程。學習完區(qū)塊鏈相關理論知識,對區(qū)塊鏈有了大概了解之后,就逐漸進入跟編程相關的課程,我們將帶領大家從代碼層面上深入認識比特幣。
重點講解區(qū)塊鏈的骨骼——密碼學算法,包括比特幣地址生成算法、ECDSA交易簽名算法。
講解區(qū)塊鏈的靈魂——共識算法,并用代碼給大家講解比特幣是如何挖礦的。
講解區(qū)塊鏈的精髓——比特幣交易。
學習區(qū)塊鏈開發(fā)必須從學習比特幣開始,本套視頻可以帶領大家徹底掌握比特幣的核心技術,從而為學習以太坊和超級賬本打下根基,并為區(qū)塊鏈開發(fā)奠定基礎。
章節(jié)介紹:
第1章想真正了解區(qū)塊鏈,需要從了解區(qū)塊鏈家族開始。本章重點講解了區(qū)塊鏈的起源思想去中心化以及在去中心化思想下發(fā)展起來的一些列技術。了解了去中心化及其相關技術,才能對區(qū)塊鏈的演變、發(fā)展及其特性有更深刻的理解。區(qū)塊鏈源自于金融,本章講解了跟金融相關的知識——借貸、眾籌、ICO,這為深入了解比特奠定了基礎。
第2章本章給大家講解了區(qū)塊鏈的第一個產品——比特幣的發(fā)展經歷、起源思想。對區(qū)塊鏈的本質、核心技術、應用場景、對未來的影響進行了簡要的介紹。目的是希望大家能對區(qū)塊鏈技術有一個整體上的認識。本章能幫助大家快速了解區(qū)塊鏈,起到區(qū)塊鏈掃盲的作用。
第3章學習區(qū)塊鏈的過程中,閱讀區(qū)塊鏈相關文章時,常常會看到很多新的概念或者名詞。常見的概念或名詞,我們都會在后續(xù)課程中詳細地講解。但是倘若沒有一個整體上的認知,那么學習的過程總是磕磕絆絆,所以本章將區(qū)塊鏈,尤其是比特幣中最常見的問題進行了整理。目的是讓大家快速地了解區(qū)塊鏈核心的理論,為后續(xù)課程抽絲剝繭對這些概念和問題進行詳細講解打下基礎。
第4章比特幣系統(tǒng)中,中本聰利用已有的密碼學算法,設計了一套非常巧妙地密碼算法。本章將帶領大家初探讓人嘆為觀止的密碼學領域,主要講解了加密中的哈希算法、RSA非對稱加密、數(shù)字簽名及Base64編碼及解碼。本章案例均采用Java語法來實現(xiàn)。之所以選擇Java語法,因為Java程序員受眾多,學習本章內容接受程度高。更關鍵是Java這種學院派語言,語法嚴謹,代碼書寫復雜。若掌握了復雜的寫法,那么再看使用Javascript、Python、Go等代碼自然就相對容易多了。后續(xù)我們會推出Go編程語言教學視頻,在其中的《Go安全編程》一章中,我們會講解Go語言實現(xiàn)哈希算法、數(shù)字簽名及驗證技術。
第5章比特幣地址是比特幣系統(tǒng)中非常關鍵的地方,而比特幣地址是通過一套復雜的加密算法和流程生成的。本章給大家講解利用加密算法,實現(xiàn)比特幣地址的生成。
第6章為了保證區(qū)塊鏈交易數(shù)據(jù)的安全性,區(qū)塊鏈中必須對交易進行完善的加密。比特幣系統(tǒng)交易的安全性全靠ECDSA(橢圓曲線數(shù)字簽名算法)來實現(xiàn)交易簽名和交易驗證。本章給大家講解ECDSA如何實現(xiàn)交易簽名和驗證。
第7章區(qū)塊鏈這種基于互聯(lián)網的去中心化系統(tǒng),需要解決的首要問題就是如何實現(xiàn)不同節(jié)點上數(shù)據(jù)的一致性和正確性,這就需要借鑒已有的分布式系統(tǒng)中實現(xiàn)狀態(tài)共識的算法。在80年代出現(xiàn)的分布式系統(tǒng)共識算法是區(qū)塊鏈共識算法的基礎。而共識算法是區(qū)塊鏈的靈魂,本章給大家講解共識算法。
第8章講解完共識算法的理論,那么本章就帶領大家通過編程來進一步理解PoW共識算法。比特幣中使用的PoW共識算法就是俗稱的“挖礦”。中本聰發(fā)明的挖礦算法是比特幣系統(tǒng)中濃墨重彩的一筆,讓比特幣系統(tǒng)充滿神秘氣息。本章帶領大家學習挖礦的原理、挖礦目標難度值的計算,并通過代碼來模擬挖礦過程。
第9章比特幣是世界上最知名的區(qū)塊鏈產品,學習區(qū)塊鏈必須從比特幣開始。想透徹了解區(qū)塊鏈就必須了解比特幣系統(tǒng)的架構。本章帶領大家先對比特幣系統(tǒng)的整體架構進行了梳理,然后再教大家安裝和使用BitcoinCore核心客戶端和bitcoind命令行客戶端。安裝比特幣客戶端后,帶領大家申請比特幣,然后在比特幣測試鏈上真正體會比特幣交易的魅力。通過bitcoin-cli命令行的學習,引領大家進入到比特幣系統(tǒng)的核心技術領域。而掌握bitcoin-cli命令行的用法,也為后續(xù)基于比特幣系統(tǒng)的開發(fā)奠定了基石。
第10章交易是比特幣系統(tǒng)的核心,比特幣交易的原理及交易腳本是區(qū)塊鏈的精髓。區(qū)塊上的數(shù)據(jù)主要就是區(qū)塊頭和交易信息,交易記錄的保存則是區(qū)塊鏈真正的價值體現(xiàn)。如何才能看懂看似雜亂的區(qū)塊原始十六進制文件?關鍵就是要能做到正確解析區(qū)塊的數(shù)據(jù)結構以及交易的數(shù)據(jù)結構。本章將帶領大家深入了解比特幣交易,學習交易腳本,而這也正是區(qū)塊鏈2.0的智能合約的雛形。然后再帶著大家學習各種交易腳本類型下數(shù)據(jù)結構的解析。這樣我們就再也不用看到區(qū)塊原始數(shù)據(jù)而一頭霧水了。學會正確解析區(qū)塊數(shù)據(jù),也為后續(xù)的開發(fā)打下堅實的基礎。
第11章學習比特幣交易,不僅要掌握交易原理、交易腳本,還需要掌握使用RPC接口進行調用。本章我們先講解如何在regtest環(huán)境下搭建比特幣私鏈,然后講解比特幣交易的構造流程以及如何在程序中通過JSONRPC接口調用來實現(xiàn)比特幣交易。而RPC接口調用又涉及到node.js安裝配置、npm安裝bitcoin包以及在程序中調用RPC接口。