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