想加入?yún)^(qū)塊鏈行業(yè)嗎?這份開發(fā)者權(quán)威指南值得一讀
作者介紹:Haseeb:加密貨幣對沖基金MetaStable Capital的普通合伙人。
原文鏈接:https://haseebq.com/about/
本文應(yīng)該是我看到過對于區(qū)塊鏈應(yīng)用開發(fā)學(xué)習(xí)指導(dǎo)最全面,同時也是最好的材料。希望這篇文章能夠讓想學(xué)習(xí)區(qū)塊鏈開發(fā)的朋友有所收獲,在此特別感謝兩位本文的翻譯者:了得資本的Managing Partner @Blake 及 Mochimo 和 Ixian 的中國社區(qū)負責人 @angryolk。
區(qū)塊鏈開發(fā)權(quán)威指南
加密貨幣,ICO,神奇的互聯(lián)網(wǎng)現(xiàn)金 – 這一切都非常令人興奮,而你,熱切的開發(fā)者,想要了解這些瘋狂的東西,你該從哪里開始呢?
我很高興你對這個領(lǐng)域感到興奮。我也是。但你可能會發(fā)現(xiàn)還是不清楚從哪里開始。區(qū)塊鏈正在以極快的速度發(fā)展,但沒有明確的指南來學(xué)習(xí)這些東西。
自從我離開Airbnb在區(qū)塊鏈上全職工作以來,很多人都向我詢問如何全時進入?yún)^(qū)塊鏈空間??紤]一下我的權(quán)威(不可避免地這篇文章是不完整的)區(qū)塊鏈工程指南。
本指南分為十個部分
為什么要學(xué)習(xí)區(qū)塊鏈開發(fā)?
先決條件
比特幣的理論基礎(chǔ)
如何自己構(gòu)建區(qū)塊鏈
以太坊與智能合約編程
智能合約安全
開始真正上手
建立自己的項目
領(lǐng)導(dǎo)區(qū)塊鏈社區(qū)
得到一份相關(guān)工作
你為什么要學(xué)習(xí)區(qū)塊鏈開發(fā)?
在我回答這個問題之前,讓我先做一個小的陳述:區(qū)塊鏈現(xiàn)在是一個被高估的事物。這些價格是不可持續(xù)的,崩潰肯定會到來。這一切以前都發(fā)生過,而且很可能還會發(fā)生。但如果你在這個領(lǐng)域長期工作,你就會學(xué)會對價格置之不理。用 emin gun sierr 的話來說,價格是加密貨幣中最不有趣的部分。這些都是非常重要的技術(shù),它們將不可逆轉(zhuǎn)地改變世界。如果你不確定,我不能直接告訴你是否跳進去。但我可以試著告訴你五個讓我信服的理由:
區(qū)塊鏈仍然很早期
比特幣是10年前發(fā)明的,但在過去幾年里,比特幣的創(chuàng)新率才達到一個狂熱的水平,特別是隨著以太坊在2015年的推出。這一領(lǐng)域的大多數(shù)新公司和想法都是建立在以太坊之上的,以太坊還很不成熟。
即使你現(xiàn)在開始,你也可以在幾年內(nèi)成為世界級的專家。大多數(shù)人都沒做那么久,要趕上也沒那么難。從現(xiàn)在開始(學(xué)習(xí)區(qū)塊鏈)類似于在21世紀末開始研究深度學(xué)習(xí)。
這個領(lǐng)域還沒有很強的人才漏斗
大學(xué)里最優(yōu)秀、最聰明的學(xué)生大多專注于機器學(xué)習(xí)、網(wǎng)絡(luò)編程或游戲開發(fā)。當然,區(qū)塊鏈在公眾話語中變得越來越具有吸引力,但它們?nèi)匀皇且粋€怪異和顛覆性的話題,你的職業(yè)生涯可能受到一些這方面的影響。
在早期,區(qū)塊鏈只屬于cypherpunk(賽博朋克)(其實更準確的說服應(yīng)該是加密朋克)、偏執(zhí)狂和怪人的領(lǐng)域。只是最近才開始改變。作為一個好奇和開放的開發(fā)人員,你會給這個領(lǐng)域帶來很多價值。
大部分創(chuàng)新都發(fā)生在學(xué)術(shù)界之外
據(jù)我們所知,中本聰并不是一個學(xué)者。目前還沒有一所大學(xué)或機構(gòu)提供一整套的區(qū)塊鏈精選。這里的大多數(shù)創(chuàng)新都是由狂熱者、企業(yè)家和獨立研究人員領(lǐng)導(dǎo)的。你需要知道的幾乎都是白皮書、博客、公共休閑頻道和開源軟件。你只需要卷起袖子,投入戰(zhàn)斗。
對人才的需求遠遠超過供給
只是在這個領(lǐng)域沒有足夠的開發(fā)人員,他們也不能得到足夠快的培訓(xùn)。每個人都在競相招聘區(qū)塊鏈人才,而項目也感受到了人才短缺。許多最好的公司付不起足夠的錢讓員工留下來,因為他們有太多的機會。如果你掌握了一些技能,就很容易找到工作。
加密貨幣真的太特么酷了
還有什么地方可以建立像加密、安全、去中心化貨幣這樣科幻小說里的事物?現(xiàn)在是狂野的西部 – 這帶來好的和壞的方面。這個領(lǐng)域可以更加透明,并最終實現(xiàn)監(jiān)管。但毫無疑問,加密貨幣是您現(xiàn)在可以使用的最具創(chuàng)新性的領(lǐng)域之一。 Naval Ravikant 在最近的一次采訪中說:成功的關(guān)鍵是給社會提供它想要的東西,只是你不知道怎么去做而已。你無法在學(xué)校學(xué)習(xí)到這樣的知識; 如果可以的話,這個世界的物質(zhì)文明早就極度飽和了。 所以去建立一些沒有人知道如何構(gòu)建的東西吧。而現(xiàn)在,區(qū)塊鏈是全新的,還有很多東西需要解決。如果你成功地建立了去中心化技術(shù)的未來,那么世界將會給你帶來豐厚的回報。 所以說,在你進入這個領(lǐng)域之前,你需要知道哪些東西呢?
先決條件
我建議你在深入研究之前,先加強對基本原理的理解。區(qū)塊鏈建立在計算機科學(xué)、密碼學(xué)和經(jīng)濟學(xué)數(shù)十年研究的基礎(chǔ)上。中本聰是一個“叛徒”,但他也很清楚之前的歷史。為了理解區(qū)塊鏈的工作原理,您需要了解區(qū)塊鏈之前的構(gòu)建塊,以及為什么這些東西不起作用。
這里有一些很好的先決條件需要熟悉,按重要性排序。
注意,這些鏈接只是一個起點,您可能會想深入了解其中的許多主題。
計算機科學(xué)
數(shù)據(jù)結(jié)構(gòu)
您需要熟悉主要數(shù)據(jù)結(jié)構(gòu)的特性和復(fù)雜性保證: linked lists, binary search trees, hash maps, 以及 graphs (特別是在區(qū)塊鏈中具有顯著特征的有向非循環(huán)圖)。從頭開始構(gòu)建它們有助于更好地理解它們的工作方式和屬性。
密碼學(xué)
密碼學(xué)是加密貨幣的代名詞和基礎(chǔ)。所有加密貨幣都使用公鑰/私鑰加密( public/private key cryptography)作為身份和身份驗證的基礎(chǔ)。我建議學(xué)習(xí) RSA( RSA)(它很容易學(xué)習(xí),不需要很強的數(shù)學(xué)背景),然后看看 ecdsa( ECDSA)。橢圓曲線密碼需要更抽象的數(shù)學(xué)——理解所有細節(jié)并不重要,但要知道,這是大多數(shù)加密貨幣(包括比特幣)使用的密碼。
另一個重要的密碼原語是密碼散列函數(shù)(哈希函數(shù))。這些可用于一致性,并且是 merkle 樹的構(gòu)建塊。Merkle trees 支持 Merkle proofs,這是區(qū)塊鏈用于可擴展性的關(guān)鍵優(yōu)化之一。
分布式系統(tǒng)
關(guān)于分布式系統(tǒng)有一些很好的教科書(https://dataintensive.net/),但這是一個龐大而困難的研究領(lǐng)域。 分布式系統(tǒng)對于區(qū)塊鏈的論證是絕對必要的,因此在處理區(qū)塊鏈編程之前必須在此建立基礎(chǔ)。
一旦你的系統(tǒng)不再運行在一臺機器上,就必須開始論證一致性和共識。 您需要了解可線性化和最終一致性模型之間的區(qū)別。 您還需要了解容錯一致性算法的保證,例如 Paxos 和 RAFT。 了解在分布式系統(tǒng)中論證時間的困難, 鑒賞安全與活性之間的權(quán)衡。
有了這樣的背景,你將能夠理解拜占庭容錯共識的困難,這是公共區(qū)塊鏈的主要安全要求。 您將需要了解 PBFT,這是首個提供拜占庭容錯共識的可擴展算法之一。 PBFT 是許多非工作證明區(qū)塊鏈一致性算法的基礎(chǔ)。 再一次,你不需要了解 PBFT 太多的細節(jié),而是總體的思路及其安全保障性。
理解傳統(tǒng)的分布式數(shù)據(jù)庫也是非常有用的(其核心思想是,區(qū)塊鏈本質(zhì)上是數(shù)據(jù)庫)。 了解分片(例如通過一致性哈希),主從復(fù)制( leader-follower replication),分布式哈希表 (DHTs),例如 Chord 或 Kademlia.。
網(wǎng)絡(luò)
區(qū)塊鏈的分布式在很大程度上源于其點對點網(wǎng)絡(luò)拓撲結(jié)構(gòu)。因此,區(qū)塊鏈是過去 p2p 網(wǎng)絡(luò)的直接產(chǎn)物。
要了解區(qū)塊鏈通信模型,您需要了解計算機網(wǎng)絡(luò)的基礎(chǔ)知識:如 TCP 與 UDP、數(shù)據(jù)包模型、IP數(shù)據(jù)包,以及大致的網(wǎng)絡(luò)路由工作方式。
公共區(qū)塊鏈傾向于通過 gossip protocols 和 flooding 來傳播信息。學(xué)習(xí)p2p網(wǎng)絡(luò)設(shè)計的歷史,包括 Napster to Gnutella, BitTorrent ,Tor,都具有一定的指導(dǎo)意義。區(qū)塊鏈有自己的特點,但它們借鑒了這些網(wǎng)絡(luò)的經(jīng)驗教訓(xùn)以及它們是如何設(shè)計的。
經(jīng)濟學(xué)
加密貨幣本質(zhì)上是多學(xué)科的 – 這是使它們?nèi)绱嗣匀撕图みM的主要原因。 除了計算機科學(xué),密碼學(xué)和網(wǎng)絡(luò),它們還與經(jīng)濟學(xué)密切相關(guān)。 加密貨幣可以通過其經(jīng)濟結(jié)構(gòu)獲得許多安全屬性,這通常被稱為加密經(jīng)濟學(xué)。 因此,經(jīng)濟學(xué)對于理解加密貨幣至關(guān)重要。
博弈論
對加密貨幣最重要的經(jīng)濟學(xué)分支是博弈論,即研究多個主體之間的收益和激勵。你不需要深入到很細節(jié),但你需要了解博弈論分析的基本工具,以及如何使用它們來分析一次性和持續(xù)性游戲中的激勵因素。
你的劇本中的兩個關(guān)鍵概念應(yīng)該是納什均衡點和謝林點,因為它們在密碼學(xué)分析中具有突出的特點。
宏觀經(jīng)濟學(xué)
加密貨幣不僅是協(xié)議,也是貨幣的形式。因此,它們響應(yīng)宏觀經(jīng)濟規(guī)律(如果它們可以被稱為規(guī)律的話)。加密貨幣受制于不同的貨幣政策,并對通貨膨脹和通貨緊縮作出可預(yù)見的反應(yīng)。你應(yīng)該了解這些過程以及它們對支出、儲蓄等的影響。
另一個有價值的經(jīng)濟概念是貨幣的流通速度,特別是當它與貨幣的價值相對應(yīng)時。
微觀經(jīng)濟學(xué)
加密貨幣也深深地與市場交織在一起,這需要了解微觀經(jīng)濟學(xué)。你需要對供求曲線有很強的直覺。你應(yīng)該能夠解釋競爭和機會成本(它們將經(jīng)常應(yīng)用于挖礦領(lǐng)域)。在許多硬幣發(fā)行和密碼經(jīng)濟系統(tǒng)中,拍賣理論具有突出的特點。
我希望你已經(jīng)熟悉了其中的一些話題。如果是的話,請隨意瀏覽或跳過它們。
好吧,到現(xiàn)在為止,你已經(jīng)完成并鞏固了你的基礎(chǔ)知識,現(xiàn)在您已經(jīng)掌握了以上的理論,讓我們來開始區(qū)塊鏈開發(fā)吧。
比特幣的理論基礎(chǔ)
2008年10月,Satoshi Nakamoto發(fā)表了一份白皮書,他在其中描述了一種分散數(shù)字貨幣的協(xié)議。他把這個協(xié)議叫做比特幣。
在你了解區(qū)塊鏈背后的偉大創(chuàng)意之前,你必須先從比特幣開始,掌握 Satoshi 的獨到見解。
首先,我建議你建立關(guān)于工作證明和分叉選擇規(guī)則(也稱為中本共識)的直覺。你可以從以下視頻開始:區(qū)塊鏈可視化 Demohttps://www.youtube.com/watch?v=_160oMzblY8&feature=youtu.be
我建議多看幾個視頻,讓想法更加深入你的腦海:比特幣的工作原理https://www.youtube.com/watch?v=bBC-nXj3Ng4&feature=youtu.be
很好! 現(xiàn)在你已經(jīng)建立了自己的直覺,本文將提供關(guān)于比特幣原理的關(guān)鍵組件更深入的闡述。
自己構(gòu)建區(qū)塊鏈
現(xiàn)在你有了高級直覺,是時候建立自己的基于工作的區(qū)塊鏈證明了。別擔心,這比聽起來容易。這里有一些好的資源。
首先,我有一個視頻講座,我將詳細介紹如何在 ruby 中實現(xiàn)這一點(即使你不是 ruby 程序員,我也建議您觀看):如何用 ruby 創(chuàng)建一條區(qū)塊鏈講解https://www.youtube.com/watch?time_continue=1016&v=3aJI1ABdjQk
資源及 PPT 點擊此鏈接:https://github.com/Haseeb-Qureshi/lets-build-a-blockchain
你還可以找到用其他各種語言編寫的區(qū)塊鏈實現(xiàn)形式。建立你自己的區(qū)塊鏈,并滿足你自己的需求,是最實用的方式。
一旦你做到了這一點,你應(yīng)該能很好地掌握如何在區(qū)塊鏈(即比特幣)上實現(xiàn)一個簡單的支付應(yīng)用程序。你現(xiàn)在也應(yīng)該有足夠的背景能夠閱讀和理解最初的比特幣白皮書。
為了了解比特幣挖礦的經(jīng)濟學(xué)和機制,我建議觀看普林斯頓的比特幣和加密貨幣課程中關(guān)于比特幣挖礦的講座。
如果你已經(jīng)完成了這一課程,你應(yīng)該對比特幣有了足夠的了解,能夠通過比特幣塊頭來理解它的每一個組成部分的含義。你還應(yīng)該能夠玩比特幣塊瀏覽器和導(dǎo)航原始比特幣交易。
現(xiàn)在是研究比特幣和加密貨幣歷史的好時機。下面的視頻,由加州大學(xué)伯克利分校提供,提供了一個很好的概述。
伯克利分校比特幣學(xué)習(xí)視頻:https://haseebq.com/the-authoritative-guide-to-blockchain-development/
一些額外的可靠學(xué)習(xí)材料:
比特幣的學(xué)術(shù)先驅(qū) (Academic precursors to Bitcoin)
比特幣機制:utxos和比特幣腳本(比特幣腳本不是特別重要,只是大致知道它能做什么)( UTXOs and Bitcoin script)
比特幣分叉指南 (Short guide to Bitcoin forks)
軟分叉和礦工信號 (Soft forks and miner signaling)
雙重花費,51%攻擊和自私采礦(Double spends, 51% attacks, and selfish mining)
重放攻擊 (Replay attacks)
比特幣的可擴展問題是比特幣生態(tài)系統(tǒng)中大多數(shù)爭議的根源。你應(yīng)該知道為什么行業(yè)內(nèi)對塊大小爭論這么多。(Bitcoin scalability problems)
隔離見證,也就是Segwit,不是非常必要的,但它引出了很多東西。(Segregated witness, a.k.a. SegWit)
Lightning Network 是比特幣更重要的擴展解決方案之一,也推廣到了其他區(qū)塊鏈中。(Lightning Network)
?。∟PC 也曾編譯過一份完整的關(guān)于閃電網(wǎng)絡(luò)的學(xué)習(xí)資料,可在歷史消息中查看)
比特幣完整節(jié)點、比特幣費用統(tǒng)計、圖表、圖表和更多圖表(Bitcoin full nodes, Bitcoin fee statistics, charts, charts)
比特幣能源消耗指數(shù)(在本文公布時,比特幣采礦消耗的能源與秘魯所有地區(qū)一樣多)
(Bitcoin energy consumption index )
格溫關(guān)于比特幣的深刻論述(Insightful essay by Gwern)
如果你想深入兔子洞的話,jameson lopp 在比特幣上還有很多其他資源。(wealth of other resources)
以太坊(Ethereum)和智能合約的編程
現(xiàn)在你已經(jīng)構(gòu)建了一個區(qū)塊鏈并了解了比特幣的動態(tài),現(xiàn)在是時候深入研究以太坊了。
你了解區(qū)塊鏈和工作證明如何在點對點網(wǎng)絡(luò)中實現(xiàn)分布式、拜占庭式的容錯一致性。但是,支付網(wǎng)絡(luò)只是你可以在這樣的區(qū)塊鏈上運行的一個應(yīng)用之一。2013年,以太坊的創(chuàng)始人Vitalik Buterin問道: 使用區(qū)塊鏈來實現(xiàn)去中心化的計算機會怎么樣?
在Ethereum,你向礦工付費,讓他們在這個分布式虛擬機上執(zhí)行你的程序。這代表你可以使用圖靈完備的編程語言(與比特幣腳本不同)執(zhí)行任意的計算。當然,這包括與支付相關(guān)的應(yīng)用,因此Ethereum啟用并催生了創(chuàng)新的一套超越比特幣的功能。
這就引出了智能合約——在虛擬機上運行的程序名稱。智能合約可以根據(jù)程序的執(zhí)行直接與區(qū)塊鏈的加密貨幣進行交互。換句話說,你可以創(chuàng)建自動執(zhí)行的金融合約。這是一個瘋狂的想法,一旦你接受了這個編程模型,你就可以做各種想做的事情。
Ethereum催生了ICO的浪潮和構(gòu)建在區(qū)塊鏈之上的開發(fā)人員。它是僅次于比特幣的第二大加密貨幣,擁有超過10倍的下一代最流行平臺的開發(fā)人員,最強大的開發(fā)團隊,最成熟的工具,以及基于它的大多數(shù)ICO和項目。它還擁有最多的行業(yè)支持。如果你正在進行區(qū)塊鏈開發(fā),那么你將Ethereum智能合約編寫代碼。(即使你不是,了解這個領(lǐng)域的情況也是很重要的。)
首先,我們對Ethereum做一個更詳細和高層次說明:
以太坊背后的理念也催生了加密經(jīng)濟學(xué)領(lǐng)域的創(chuàng)新浪潮。你應(yīng)該深入了解DAO的思想,以及它們所暗示的所有科幻狂熱夢想。
好了,幻想已經(jīng)夠多了,讓我們深入研究一下技術(shù)。
以下是Preethi Kasireddy對Ethereum yellow paper及其內(nèi)部結(jié)構(gòu)的一個很好的概述。Ethereum使用的是賬戶模型,而不是比特幣的UTXO模型——你很快就會看到為什么這樣更容易編寫智能合約。
與任何技術(shù)一樣,了解以太坊的最佳方式是構(gòu)建幾個小項目。
Ethereum的主要編程語言是Solidity,這是一種靜態(tài)類型的JavaScript-esque語言。這是一種有很多缺點的語言,它也有很多設(shè)計上的問題。一旦Viper等更健壯的語言準備好投入生產(chǎn),它們可能會取代Solidity,但目前Solidity是智能合約的編程通用語言。它基本上是Ethereum的JavaScript,所以你需要學(xué)習(xí)它(和它的缺陷)。
首次接觸Solidity語言開發(fā)時,我建議你通讀所有的cryptozombie教程。這是一個令人愉快和高質(zhì)量的Codecademy-esque風格的教程,會教你Solidity的基礎(chǔ)編程。
現(xiàn)在,已經(jīng)激起了你的求知欲,是時候著手自己嘗試了。
Ethereum的“hello world”可以創(chuàng)建一個兼容ERC-20的令牌。我建議將本指南作為指導(dǎo)你完成這個過程的第一個教程。
Remix是一個瀏覽器內(nèi)的Solidity編輯器和編譯器——它基本上是Ethereum開發(fā)的訓(xùn)練輪,所以我建議把剩下的練習(xí)都在Remix內(nèi)完成。但是,設(shè)置一個本地區(qū)塊鏈并了解Ethereum工具也是值得的。本教程很好地介紹了一個點到點的區(qū)塊鏈堆棧,并解釋了其中的各個部分。
接下來,我建議創(chuàng)建一個投票系統(tǒng)。我把這個叫做Ethereum的Todo應(yīng)用。Karl Floersch有一篇很棒的教程,介紹了如何構(gòu)建一個安全的委員會公開投票系統(tǒng)。
很好,現(xiàn)在開始期中考試:構(gòu)建一個安全的拋硬幣(coin toss)游戲,在這個游戲中,兩個玩家可以安全地在拋硬幣上下注。這次沒有教程,自己做吧。想想可能的攻擊——玩家如何作弊?你能保證他們打得誠實嗎?這里可以給你一些靈感。
智能合約的安全
安全對于區(qū)塊鏈的開發(fā)是絕對必要的。智能合約一直受到災(zāi)難性黑客攻擊的困擾,包括DAO黑客攻擊、Parity錢包黑客攻擊,以及第二次Parity錢包黑客攻擊,如果你想要編寫智能合約,你必須閱讀這三個技巧的分析。
事實是,智能合約很難搞好。雖然編程工具鏈將會得到改進,使這些精確的攻擊變得更加困難,但最終它們都是由于程序員的錯誤造成的。還有許多由智能合約編程產(chǎn)生的更微妙的bug,比如在前端集群(frontrunning)或安全生成隨機性(secure generation of randomness)等方面。
作為一名智能合約開發(fā)者,你必須將安全性視為最重要的事情。在智能合約編程中沒有“快速行動和打破常規(guī)”。這意味著任何處理大量資金流動的代碼都應(yīng)該通過像Oyente或Securify這樣的靜態(tài)分析程序來運行,進行徹底的測試,然后由經(jīng)驗豐富的智能合約審核員進行審計。你還應(yīng)該嘗試依賴預(yù)審計的組件,比如OpenZeppelin的開源合約。
為了加強你的安全性,我建議你使用OpenZeppelin開發(fā)的Ethernaut,這是一款你可以在智能合約中發(fā)現(xiàn)并攻擊漏洞的游戲。他們中的很多人已經(jīng)復(fù)制了對這個領(lǐng)域發(fā)生的智能合約的真實攻擊。Phil Daian也有一套優(yōu)秀的智能合約黑客挑戰(zhàn)稱為 Hack This Contract.
從新手到老手
如果你已經(jīng)做到了這一步,你現(xiàn)在應(yīng)該準備好跳過 Remix,開始使用一個可靠的開發(fā)堆棧。
大多數(shù)開發(fā)人員都推薦使用 VSCode 或 Atom 作為文本編輯器,因為它們有相當可靠的 Solidity 插件。為了與本地區(qū)塊鏈進行交互,你將使用Ganache(以前是TestRPC),并且你將使用Truffle框架進行(基于JS)測試和配置構(gòu)建通道。
然后是著手研究IPFS,你可以使用IPFS作為一個完全去中心的文件存儲,其成本比Ethereum區(qū)塊鏈低得多。以下是作者Juan Benet的簡短解釋:
對于Ethereum和IPFS全節(jié)點的交互,大多數(shù)開發(fā)人員推薦的Infura。Etherscan和ETH Gas Station 在以太網(wǎng)絡(luò)上提供有用的實時統(tǒng)計數(shù)據(jù)。
一旦你建立了完整的Web3堆棧,嘗試部署端到端Dapp(去中心應(yīng)用程序)。這個教程為后端提供了一個使用Node和Postgres的良好的全堆棧概覽,并且這個教程將向你展示如何使用IPFS作為持久性層(persistence layer)創(chuàng)建一個完全去中心的應(yīng)用程序。
創(chuàng)建自己的項目
現(xiàn)在,你應(yīng)該對大多數(shù)技術(shù)都有了深入的了解,剩下的就是開始構(gòu)建一些東西,并深入?yún)^(qū)塊鏈社區(qū)。
首先,開始建立自己的項目。如果你對某個點子很感興趣,那就去實現(xiàn)它,并說服別人和你一起破解它! 如果你還沒有特定的想法,或者不愿意動手,有許多高質(zhì)量的開源項目歡迎你的貢獻。OpenZeppelin可能是上手智能合約的一個好的起點。
更好的是,我建議從尋找一個你喜歡的正在積極開發(fā)的項目開始。去他們的Slack或者Rocketcha – 開發(fā)人員通常都在那里。告訴他們你愿意幫忙,并要求完成一些小的任務(wù)(或者在他們的Github上發(fā)現(xiàn)一些尚未解決的問題)。
注意,雖然我一直關(guān)注協(xié)議(protocols)和智能合約的開發(fā),但區(qū)塊鏈公司需要web開發(fā)人員來構(gòu)建它們的核心功能。這些角色經(jīng)常需要與區(qū)塊鏈(們)進行交互,所以要有一個區(qū)塊鏈是如何工作的良好心理模型,但對于許多區(qū)塊鏈初創(chuàng)公司的工程師,你的工作將在Python構(gòu)建一個網(wǎng)絡(luò)服務(wù)器,或者設(shè)計一個前端的React, 與區(qū)塊鏈交互可能只是一小部分的工作。你不必專門從事智能合約開發(fā) — 實際上,這只是成熟的區(qū)塊鏈堆棧的一部分。
除了對開源項目的貢獻,還有許多區(qū)塊鏈黑客馬拉松不斷涌現(xiàn)。大多數(shù)項目都有一個免費的Slack,你可以加入其中,而且Ethereum本身有一個非?;钴S的Gitter channel,在那里有很多開發(fā)者。當你深入到這個空間,你最終會找到你的同伴,無論是在Slack頻道,Telegram,還是Gitter channel。無論在哪里,找到和你趣味相投的人并繼續(xù)學(xué)習(xí)。
瀏覽區(qū)塊鏈社區(qū)
真正了解區(qū)塊鏈世界的最好方法是讓自己沉浸在其中。閱讀和傾聽最聰明的人,特別是他們過去寫的東西。當我嘗試學(xué)習(xí)一個新的領(lǐng)域時,這一直是我的策略,它為我?guī)砹嘶貓蟆?/p>
有很多好的區(qū)塊鏈內(nèi)容,但也有很多垃圾。這是我推薦的信息節(jié)食法。
媒體
在這里我推薦三個不錯的播客,Software Engineering Daily Blockchain,他們對許多主題和加密貨幣提供了很好的技術(shù)介紹,以及Epicenter和Unchained — 他們過去推出的很多都系列值得一聽。另一個有趣的新興技術(shù)播客是Conspiratus。以上的博客建議你們都訂閱。
YouTube上也有幾個不錯的頻道(盡管YouTube上有很多垃圾)。訂閱以太坊基金會并觀看DEVCON3演示文稿。伯克利大學(xué)的區(qū)塊鏈記錄了他們的許多講座,其中大部分都是優(yōu)秀的技術(shù)概述。Decypher媒體還發(fā)布了訪談、白皮書評級和教程。Jackson Palmer有精彩的每周概述,內(nèi)容里面雖然技術(shù)部分較少但是涵蓋內(nèi)容較全面。
在線閱讀
對于實時區(qū)塊鏈聊天來說,它主要存在于兩個地方:Reddit和Twitter。對于reddit來說,大多數(shù)欄目的質(zhì)量都很差。r/ethereum的質(zhì)量一直不錯(并且有一些適合特定加密貨幣的欄目)。不過,大多數(shù)欄目都被投機者占領(lǐng),并不能對得起你的注意力。遠離比特幣相關(guān)的欄目。眾所周知,比特幣是最有毒性的社區(qū)之一,而Reddit只會放大這一點。
Twitter上的內(nèi)容更是參差不齊了。不管好壞,大多數(shù)區(qū)塊鏈用戶都生活在Twitter上。區(qū)塊鏈Twitter起初對我來說有些神秘,但最終我建了一個非正式的Twitter區(qū)塊鏈人物分類。根據(jù)我的經(jīng)驗,有五種類型的區(qū)塊鏈人物:建設(shè)者、企業(yè)家、記者、交易員和“思想領(lǐng)袖”。
避免像瘟疫一樣的“思想領(lǐng)袖”。企業(yè)家除外,他們大多扮演炒作者的角色,或者在Twitter上宣傳自己的項目。投資者大多在Twitter上談?wù)搩r格和炒作類項目,如果你也是這樣的,那你繼續(xù)吧。記者們傾向于在推特上發(fā)布當天的主要新聞。我建議你遠離這些消息,除非你需要實時信息,但是通常這些信息你都不是必須要接受的。如果你是一個活躍的交易者,這可能很重要,但如果你試圖在區(qū)塊鏈技術(shù)上有所建樹,大多數(shù)實時的東西都會分散你的注意力。
把注意力放在區(qū)塊鏈建設(shè)者身上。他們是當前最重要的人,也是推動科技進步的人。
每個類別中都有幾個代表(如果你想把你的Twitter信息流塞滿,請先關(guān)注這些人):
建設(shè)者
Vitalik Buterin, Ethereum
Zooko Wilcox, ZCash
Nick Szabo, inventor of smart contracts
Vlad Zamfir, Ethereum
Marco Santori, Cooley LLP
Riccardo “fluffypony” Spagni, Monero
Matt Liston, Gnosis
企業(yè)家
Balaji Srinivasan, Earn.com
Erik Voorhees, Shapeshift
投資人
Naval Ravikant, MetaStable
Ari Paul, Blocktower Capital
Linda Xie, Scalar Capital
Chris Burniske, Placeholder
記者
Tuur Demeester, Adamant Research
Laura Shin, Forbes
總而言之,我建議盡量減少您對Twitter和Reddit的曝光率。 如果你不是記者或日常交易者,很可能,你不需要實時聊天。 重要信息將以異步方式向您顯示,你可以關(guān)注重點信息摘要,而不是時刻獲取市場的信息并受其影響。
我建議訂閱Inside Bitcoin 以獲取最重要的加密新聞的每日摘要(它涵蓋的不僅僅是比特幣)。對于代幣項目,Token Economy(代幣經(jīng)濟)每周都有出色的內(nèi)容,而Week in Ethereum(每周以太坊)則對以太坊生態(tài)系統(tǒng)中以開發(fā)人員為重點的事件提供了很好的摘要。
除此之外,您可能不需要監(jiān)控實時新聞。 請專注于建設(shè)和學(xué)習(xí)。
你會想關(guān)注最好的博客。深度內(nèi)容往往是最有價值的。我建議如下:
V神博客(Vitalik Buterin)提供優(yōu)秀的區(qū)塊鏈和密碼經(jīng)濟分析(閱讀他所有的舊博客文章,Vitalik被廣泛認為是百年一遇的思想家)
破解,分布式(Hacking, Distributed)由康奈爾研究人員發(fā)表的區(qū)塊鏈安全性分析
未枚舉(Unenumerated),Nick Szabo發(fā)表關(guān)于加密貨幣在社會中作用的挑戰(zhàn)性和折衷性論文的著名博客
金錢物質(zhì)(Money Stuff),馬特·萊文(Matt Levine)的Bloomberg的供稿,針對市場、金融和區(qū)塊鏈新聞交叉點深刻的分析
弗拉德·贊菲爾(Vlad Zamfir) 對國家和公共區(qū)塊鏈適中謹慎的觀點
克里斯·伯尼斯克(Chris Burniske)撰寫了一系列關(guān)于如何評估加密資產(chǎn)的優(yōu)秀博客文章
詹姆森洛普 (Jameson Lopp) 從構(gòu)建區(qū)塊鏈生態(tài)系統(tǒng)軟件工程師的角度發(fā)表他出色的技術(shù)文章
數(shù)字長城(Great Wall of Numbers)由蒂姆斯旺森 (Tim Swanson)撰寫,關(guān)于他對區(qū)塊鏈狂熱的冷靜而堅定的解構(gòu),特別是在企業(yè)領(lǐng)域
如果你想要一種更有條理的方法來學(xué)習(xí)這些材料,有一些高質(zhì)量的書籍和課程(以及許多低質(zhì)量的書籍和課程)。
如果你想用更結(jié)構(gòu)化的方法來學(xué)習(xí)這些材料,有一些高質(zhì)量的課程(還有很多低質(zhì)量的課程)。我已經(jīng)鏈接到了普林斯頓大學(xué)Coursera課程(視頻也在YouTube上)和加州大學(xué)伯克利分校(UC Berkeley)的一些講座。我也聽說了針對那些想進入智能合約開發(fā)的人員關(guān)于康森斯學(xué)院(Consensys Academy )的好消息。
我還在舊金山布拉德菲爾德計算機科學(xué)學(xué)院( Bradfield School of Computer Science)為軟件開發(fā)人員舉辦為期4周的加密貨幣研討會。本課程僅限于舊金山地區(qū),座位有限,因為它是一個小型的、深入的研討班。但如果你是名位于舊金山的軟件工程師,想了解更多有關(guān)加密貨幣背后的理論和實踐,那么它可能很適合你。
但在我看來,加入一個公司最好方法是找到一個你感興趣的項目并直接聯(lián)系他們。大多數(shù)區(qū)塊鏈團隊都愿意為合適的人才提供遠程辦公職位。許多開發(fā)人員可以在Twitter、Github或他們公共的Slack頻道上輕松的聯(lián)系上。假如你有扎實的作品集并能展示技術(shù)專長,如果你表現(xiàn)出一些主動性。就會讓很多人印象深刻。
這就是我能給你的。如果你做了以上所有的事情,你應(yīng)該做好準備,不久你可能會比我走得更遠。
兔子蟲洞
因為兔子洞不會真的結(jié)束。我給你展示的只是一個開始。加密貨幣仍處于早級階段,我真的相信這是你可以工作的最快速發(fā)展的領(lǐng)域。我相信這本指南將在一年內(nèi)過時,還有很多令人驚嘆的項目我還沒有機會談?wù)?。但如果你進入這個空間,你會在適當?shù)臅r候找到他們。
保持探索。保持越來越好。保持學(xué)習(xí)。
本文來源:NPC社區(qū)