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