在深入研究之前,先加強對基本原理的理解。
區塊鏈建立在計算機科學、密碼學和經濟學數十年研究的基礎上。中本聰是一個“反叛者”,但他也很清楚之前的歷史。為了理解區塊鏈的工作原理,您需要了解先于區塊鏈產生的區塊,以及為什么他們不起作用。
以下是一些需要熟悉的預備知識,按重要性排序。
(注意,以下內容里的鏈接只是一個學習起點,您可能會想深入了解更多。)
計算機科學
數據結構
您需要熟悉主要數據結構的特性和復雜性保證:linked lists, binary search trees, hash maps, 以及 graphs (特別是在區塊鏈中具有顯著特征的有向非循環圖)。從頭開始構建它們有助于更好地理解它們的工作方式和屬性。
密碼學
密碼學是
加密貨幣的代名詞和基礎。所有加密貨幣都使用公鑰/私鑰加密(public/private key cryptography)作為身份和身份驗證的基礎。我建議學習 RSA( RSA)(它很容易學習,不需要很強的數學背景),然后看看 ecdsa( ECDSA)。橢圓曲線密碼需要更抽象的數學——理解所有細節并不重要,但要知道,這是大多數加密貨幣(包括
比特幣)使用的密碼。
另一個重要的密碼原語是密碼散列函數(哈希函數)。這些可用于承諾機制,并且是 merkle 樹的構建塊。Merkle trees 支持 Merkle proofs,這是區塊鏈用于可擴展性的關鍵優化之一。
分布式系統
關于分布式系統有一些很好的教科書,但這是一個龐大而困難的研究領域。分布式系統對于區塊鏈的論證是絕對必要的,因此在處理區塊鏈編程之前必須在此建立基礎。
一旦你的系統不再運行在一臺機器上,就必須開始論證一致性和共識。您需要了解可線性化和最終一致性模型之間的區別。您還需要了解容錯一致性算法的保證,例如 Paxos 和 RAFT。了解在分布式系統中論證時間的困難,理解安全與活性之間的權衡。
有了這樣的背景,你將能夠理解拜占庭容錯共識的難點,這是公共區塊鏈的主要安全要求。您將需要了解 PBFT,這是首個提供拜占庭容錯共識的可擴展算法之一。PBFT 是許多非工作證明區塊鏈一致性算法的基礎。再次提醒,你不需要了解 PBFT 太多的細節,而是總體的思路及其安全性保障機制。
理解傳統的分布式數據庫也是非常有用的(其核心思想是,區塊鏈本質上是數據庫)。了解分片(例如通過一致性哈希),主從復制(leader-follower replication),分布式哈希表 (DHTs),例如 Chord 或 Kademlia。
網絡
區塊鏈的分布式在很大程度上源于其點對點網絡拓撲結構。因此,區塊鏈是過去 p2p 網絡的直接產物。
要了解區塊鏈通信模型,您需要了解計算機網絡的基礎知識:如 TCP 與 UDP、數據包模型、IP數據包,以及大致的網絡路由工作方式。
公共區塊鏈傾向于通過 gossip protocols 和 flooding 來傳播信息。學習p2p網絡設計的歷史,包括 Napster to Gnutella, BitTorrent,Tor,都具有一定的指導意義。區塊鏈有自己的特點,但它們借鑒了這些網絡的經驗教訓以及它們是如何設計的。
經濟學
加密貨幣本質上是多學科的 - 這是使它們如此迷人和激進的主要原因。除了計算機科學,密碼學和網絡,它們還與經濟學密切相關。加密貨幣可以通過其經濟結構獲得許多安全屬性,這通常被稱為加密經濟學。因此,經濟學對于理解加密貨幣至關重要。
博弈論
對加密貨幣最重要的經濟學分支是博弈論,即研究多個主體之間的收益和激勵。你不需要深入到很細節,但你需要了解博弈論分析的基本工具,以及如何使用它們來分析一次性和持續性游戲中的激勵因素。
你需要掌握兩個關鍵的概念:納什均衡點和謝林點,因為它們在密碼學分析中具有突出的特點。
宏觀經濟學
加密貨幣不僅是協議,也是貨幣的形式。因此,它們響應宏觀經濟規律(如果它們可以被稱為規律的話)。加密貨幣受制于不同的貨幣政策,并對通貨膨脹和通貨緊縮作出可預見的反應。你應該了解這些過程以及它們對支出、儲蓄等的影響。
另一個有價值的經濟概念是貨幣的流通速度,特別是當它與貨幣的價值相對應時。
微觀經濟學
加密貨幣也深深地與市場交織在一起,這需要了解微觀經濟學。你需要對供求曲線有很強的直覺。你應該能夠解釋競爭和機會成本(它們將經常應用于挖礦領域)。在許多硬幣發行和密碼經濟系統中,拍賣理論具有突出的特點。
我希望你已經熟悉了其中的一些話題。如果是的話,請隨意瀏覽或跳過它們。
好吧,到現在為止,你已經完成并鞏固了你的基礎知識,現在您已經掌握了以上的理論,讓我們來開始區塊鏈開發吧。
版權申明:本內容來自于互聯網,屬第三方匯集推薦平臺。本文的版權歸原作者所有,文章言論不代表鏈門戶的觀點,鏈門戶不承擔任何法律責任。如有侵權請聯系QQ:3341927519進行反饋。