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