學(xué)習(xí)區(qū)塊鏈的先進(jìn)大困惑是:“學(xué)這個(gè)我不懂編程怎么辦?”,確實(shí),作為一個(gè)程序員設(shè)計(jì)的融合了多種技術(shù)理念的東西,懂點(diǎn)編程總是好的。不過,對于大部分人來講,了解其基本原理,知道如何應(yīng)用,或許也就足夠了。
那么,對于很多想?yún)⑴c區(qū)塊鏈編程的人怎么辦呢?更何況,還有非常多的一部分人,希望通過區(qū)塊鏈技術(shù)找到一份高薪的工作,這可能嗎?
只要肯做,當(dāng)然可能!
如果你是一個(gè)小白,但已經(jīng)有興趣想要了解一下區(qū)塊鏈,那么首先需要做的是理清一下頭緒。否則一頭扎進(jìn)與區(qū)塊鏈有關(guān)的各種書籍、論壇、網(wǎng)站、APP、交易所、知乎……會(huì)在很長的時(shí)間內(nèi)無所適從,一臉懵逼。
(1). 在區(qū)塊鏈的世界,“日新月異”四個(gè)字是一個(gè)寫實(shí)的描述,而不是形容詞,每 天都有新的技術(shù)、信息涌過來;
(2). 由于“快、新”,信息難免碎片化,沒有系統(tǒng)的學(xué)習(xí)材料;
(3). 有很多的技術(shù)貫穿其中,如果沒有合理的學(xué)習(xí)順序,難免會(huì)感到晦澀。
不論是有沒有技術(shù)經(jīng)驗(yàn)的,都可以從以下幾個(gè)方面去了解區(qū)塊鏈:
(1)、網(wǎng)絡(luò)通信方面,目前的區(qū)塊鏈主要涉及無結(jié)構(gòu)化的點(diǎn)對點(diǎn)通信(P2P);未來不排除會(huì)在聯(lián)盟鏈中衍生為結(jié)構(gòu)化的P2P通信。點(diǎn)對點(diǎn)通信其實(shí)是建立起一條虛擬鏈路,底層對應(yīng)的物理鏈路可能隨著網(wǎng)絡(luò)時(shí)延抖動(dòng)的變化(與網(wǎng)絡(luò)狀況、區(qū)塊大小、區(qū)塊中交易數(shù)量等因素有關(guān))而改變相應(yīng)的路徑。因此,建議夯實(shí)網(wǎng)絡(luò)通信的基礎(chǔ)知識(shí)。
(2)、數(shù)據(jù)存儲(chǔ)方面,以前的數(shù)據(jù)存儲(chǔ)方式很多都是基于面向高吞吐量的鍵值數(shù)據(jù)庫(例如levelDB、rocksDB),現(xiàn)在隨著區(qū)塊鏈技術(shù)的發(fā)展,傳統(tǒng)的關(guān)系型數(shù)據(jù)庫(例如Mysql、Oracle)也可以成為存儲(chǔ)介質(zhì),甚至有的公司開始使用大數(shù)據(jù)平臺(tái)(Hadoop+Habse)來構(gòu)建底層的存儲(chǔ)機(jī)制。下一代分布式版本文件系統(tǒng)(IPFS)也是一個(gè)需要跟蹤的重要方向;
(3)、加密技術(shù)方面,主要需要了解哈希函數(shù)和非對稱加密的基本原理和數(shù)字簽名的運(yùn)行機(jī)制,更重要的,目前金融系統(tǒng)中使用的都是國密算法,與區(qū)塊鏈技術(shù)對應(yīng)SM2、SM3和SM9國密算法需要重點(diǎn)了解;
(4)、共識(shí)機(jī)制方面,最開始流行的是可信任環(huán)境中分布式系統(tǒng)的共識(shí)機(jī)制(例如PaxOS和Raft),主要涉及CAP理論,在保留分區(qū)容錯(cuò)性(Partition tolerance)的基礎(chǔ)上,數(shù)據(jù)最終一致性(Consistency)和系統(tǒng)可用性(Availability)之間會(huì)存在一個(gè)權(quán)衡。區(qū)塊鏈技術(shù)主要強(qiáng)調(diào)的是,在一個(gè)“去信任”環(huán)境中的共識(shí)機(jī)制,包括比特幣的工作量證明機(jī)制(PoW)、點(diǎn)點(diǎn)幣的權(quán)益證明機(jī)制(PoS)、比特股的股份授權(quán)證明機(jī)制(DPoS),以及后期發(fā)展的實(shí)用拜占庭容錯(cuò)算法(PBFT)和相關(guān)共識(shí)算法的持續(xù)演進(jìn),需要一個(gè)長期的跟蹤和實(shí)踐。
(5)、隱私保護(hù),區(qū)塊鏈本身就是基于非對稱加密的安全通信。但是,可以根據(jù)交易末尾的“特定數(shù)字”查詢到相應(yīng)的交易關(guān)系,通過核心路由器的路由表、網(wǎng)卡的物理地址(MAC地址)和手機(jī)的國際移動(dòng)設(shè)備識(shí)別碼(IMEI號(hào))等信息追蹤交易者的身份信息,破解基于洋蔥路由(Tor)的暗網(wǎng)對信息的隱藏。后來,逐步出現(xiàn)基于環(huán)簽名的門羅幣(Monero)、基于零知識(shí)證明的ZCash和同態(tài)加密技術(shù)。不論是環(huán)簽名、零知識(shí)證明,還是同態(tài)加密技術(shù),都有些艱深晦澀,屬于一個(gè)較大的門類。一般來說,掌握了隱私保護(hù)技術(shù),也算是一個(gè)區(qū)塊鏈專家了。
(6)、安全技術(shù),主要涉及私鑰安全,如何產(chǎn)生私鑰的保密算法或者基于身份的新私鑰生成算法,后期還要跟蹤研究智能合約的安全性,以太坊區(qū)塊鏈會(huì)遭受的脆弱性攻擊。智能合約的安全性可能還需要熟悉相應(yīng)的編譯原理和虛擬化等技術(shù)。
(7)、跨鏈技術(shù),是指不同結(jié)構(gòu)、不同類型的區(qū)塊鏈互聯(lián)互通的一種技術(shù)。業(yè)界中比較出名的是波卡鏈(Polkadot鏈)和宇宙鏈(COSMOS),屬于面向異構(gòu)區(qū)塊鏈的跨鏈技術(shù)代表??珂溂夹g(shù)可以分為以區(qū)塊鏈自身作為消息傳遞媒介的波卡鏈(Polkadot鏈),通過賬本間連接者傳遞通信消息的瑞波Interledger協(xié)議和通過狀態(tài)通道及路由來支持跨鏈通信的Aeternity等多個(gè)子類。
(8)、鏈下技術(shù)方面,如果區(qū)塊鏈的每筆交易都在鏈上完成,性能可能是區(qū)塊鏈系統(tǒng)的一大瓶頸。那么如何提升區(qū)塊鏈系統(tǒng)的性能呢?以不采用數(shù)字簽名驗(yàn)簽的方式,在鏈下完成大批量的小額支付,是一個(gè)不錯(cuò)的發(fā)展方向,這種技術(shù)稱之為鏈下技術(shù)(如果不好理解的話,就理解成離線批處理技術(shù))。學(xué)習(xí)區(qū)塊鏈的鏈下技術(shù),可以重點(diǎn)關(guān)注比特幣對應(yīng)的閃電網(wǎng)絡(luò)和以太坊對應(yīng)的雷電網(wǎng)絡(luò)。
(9)、關(guān)注一些衍生技術(shù),例如單鏈和多鏈的結(jié)合,參考英國數(shù)字貨幣RSCoin;埃森哲推出的可編輯的區(qū)塊鏈技術(shù),顛覆無法篡改的本質(zhì)(銀行回滾需要);IOTA推出的基于有向非循環(huán)圖(DAG)的區(qū)塊鏈技術(shù)(其實(shí)已經(jīng)沒有鏈的概念了),開始擺脫區(qū)塊鏈的傳統(tǒng)定義,逐步向“分布式賬本”技術(shù)靠攏。
(10)、最最最重要的,區(qū)塊鏈只是一門技術(shù),真正的要完成區(qū)塊鏈的學(xué)習(xí),離不開專業(yè)垂直領(lǐng)域的深度學(xué)習(xí),懂區(qū)塊鏈只是懂個(gè)皮毛,懂行業(yè)+懂區(qū)塊鏈才是真正的區(qū)塊鏈專家。