01.《區塊鏈開發指南》-作者申屠青春:作者多余比特幣底層的研究可謂是非常深入,講解的也非常通俗易懂。
02.《區塊鏈技術指南》-作者鄒均:作為國內第一本從技術角度講解區塊鏈的書籍,值得一讀,2016年出版以來一致評價不錯。
03.《區塊鏈 原理、設計與應用》-作者楊保華陳昌:陳昌前輩作為紙貴的CTO、記得之前的墨鏈就是基于Hyperledger Fabric的,所以這本書對于Hyperledger 相關開源產品的講解很透徹。
二、技術語言
01. Serpent (受Python啟發)
02. Solidity (受JavaScript 啟發)
03. Mutan(受Go 啟發)
04. LLL (受Lisp 啟發)
這些語音都是面向合約編程而從底層開始設計的語言。Solidity是以太坊的首選語言,正處于緊張開發中,它內置了Serpent的所有特性,但是語法類似于JavaScript,這樣一來降低了學習門檻,易于被掌握和使用,因為JavaScript是我們Web開發者的常用語言。如果想入門開發智能合約的,就只需要注重學習Solidity,可以看看以太坊的開發入門。
總結
簡單的總結一下,區塊鏈技術本身并不復雜,相反的可以說還是很好理解的,就共識(就是確定交易順序),加密,p2p和存儲四個方面。
再剖析一下,p2p就是傳統bt下載的點對點通信協議;存儲就是nosql數據庫比如leveldb;加密就涉及哈希和橢圓曲線非對稱加密;共識算法倒是很多,但是公有鏈的pos和pow都還挺容易理解的,一種是“誰有錢誰說了算”另一種是“誰計算機牛逼誰說了算”,聯盟鏈上現在比較火熱的pbft是很多年前就用的分布式數據庫副本。代碼實現的技術細節我自己都沒有摳過,但只要能明白原理其實就看得懂代碼。
如果想進階,可以了解以太坊,fabric和corda三個方向。這是區塊鏈代表性的三個方向,我覺得也是發展的三條思路。