Introducing-Bitcoin
應該學習哪些技術才能在加密貨幣中變得成熟
我是一名網路開發人員。我一直在讀一本關於比特幣、去中心化和區塊鏈的書,這讓我大吃一驚,激起了我的好奇心。我現在正在考慮乘坐 CryptoCurrency 火車。
我的目標是全面了解未來的區塊鏈技術,以及與之相關的所有技術;能夠理解問題並找到解決方案,並為開源軟體做出貢獻。
我知道這個領域包括密碼學、安全性、程式和網路,儘管我在這些領域的經驗非常有限。
如果有人能指出我需要首先學習的最核心和最具體的東西,以便更快地學習這些主題,我將不勝感激。
如果你想搭上“區塊鏈火車”,研究比特幣及其核心協議是最好的起點。今天幾乎所有的加密貨幣都是比特幣程式碼分叉並針對其各自的實現進行了更改但是,對於理解比特幣所需的概念,我建議以下先決條件。
數學
- 機率:基本機率論,用於理解關於使用蠻力派生私鑰的機率的計算。儘管您可能無法完全理解白皮書中給出的內容,但您可能需要更多的知識。
- 排列和組合:計算找到機率所涉及的數字的基本知識。
- 拜占庭將軍的問題:了解問題和可能的解決方案
密碼學
- 加密雜湊函式(SHA-2、RIPEMD160):深入了解顯然會有所幫助,但只要了解它們的功能就足夠了
- 數字簽名:在了解它們是什麼之後,您應該深入研究 ECDSA,這將幫助您了解數學和底層算法的“無敵”,並在比特幣實現中進一步加強相同
資料結構
- 鍊錶:鍊錶基礎知識
- 樹木:樹木的基本知識,不同種類的樹木。更多地關註二叉樹,然後再關注什麼是默克爾樹
- 堆棧:堆棧的工作原理及其一些基本實現
聯網
- 網路基礎知識,如 IP、廣播/多播、P2P 網路(種子)就足夠了
在掌握了上述主題後,您可以繼續閱讀您提到的書,或者如果您想要影片,那麼普林斯頓大學的 youtube 上有一個關於比特幣和加密貨幣的播放列表,前三堂課足以讓您使用比特幣核心軟體開始程式並動手