『壹』 小白如何學習區塊鏈,怎麼入門區塊鏈
大學生想接觸區塊鏈,從哪入手比較好?如果只是接觸的話,那我建議可以採用如下方法(主要針對非相關專業的小白學生,不包括准備從事區塊鏈行業的朋友們)
首先,你關注到這個問題,說明你對區塊鏈產生了極大的好奇心或者有了濃厚的興趣,那麼,我不建議大家一上來直接去看專業性很高的《白皮書》,因為大量的專業術語和名詞讓人頭大。
換個方式,我們從年輕人的角度來想,在學習區塊鏈知識之前,先從最基礎的開始了解。
1.超大流量的DouYin平台,在搜索框內輸入「區塊鏈」,會出現很多「紅人」老師用生動形象的超短視頻為你講解什麼是區塊鏈。雖然視頻內容不能說百分之一百正確,但是對於簡單的基礎理解完全足夠的。畢竟「一千個觀眾眼中有一千個哈姆雷特,每個人都會對區塊鏈有不同的理解和看法,將來的你也會有不同的見解。
2.現在的你可能對區塊鏈半知半解或者只是有個輪廓,那麼,請帶著你這份淺印象來閱讀《區塊鏈100問》(網路直接可以搜到),依舊是很短的視頻,但是基本上區塊鏈相關知識都有涉及,包括密碼學背景知識、區塊鏈的歷史、什麼是區塊鏈、比特幣及以太坊相關介紹、區塊鏈技術的應用場景等內容。
注意,不用細究每個名詞,全部瀏覽一遍,將讀懂的和不懂的區分。
3.在碎片時間可以讀一讀網路小說《區塊鏈修仙》,大概是一顆韭菜魂穿後獲得區塊鏈修仙系統,開掛人生,由挖礦開始的故事。在這本小說中,你將會看到大量的名詞(礦工、節點、數字貨幣、區塊鏈系統等等),將你前面學到的知識帶入書中,會有奇效。
節選——「所有諸天萬界,居然凝聚成了一個巨大區塊鏈……所有的人都可以通過區塊鏈進行……需要的不過是虛擬幣而已。我們用自己的法力精華……獻祭給區塊鏈……就會得到虛擬幣,從而在現實中,代替貨幣,買賣一切,甚至能夠用區塊鏈來直接修煉,從區塊鏈物聯網之中獲得丹葯、功法。」
看到這里,是不是覺得比《白皮書》有意思的多。
4.建議回看《區塊鏈100問》,再去讀《比特幣白皮書》。
5.如果面臨實習的同學,可以到相關企業體驗,學以致用才是良方。
6.當然,關注幣秘書也是個不錯的選擇
[看]
怎麼學習區塊鏈
兩步走,第一步確定方向,第二步確定細節。
方向有以下幾個:
我只是想了解它大概是什麼的小白。
我想從事區塊鏈行業,做開發、運營、產品、甚至是進行區塊鏈創業。
每個方向的細節是醬紫的:
方向1
我想了解區塊鏈是什麼,以及各種幣是幹嘛的。
這就從比特幣了解起。這里推薦李鈞,長鋏,等編著的《比特幣》,可以帶你了解比特幣背後的共識機智、去中心化原理、比特幣的歷史等。接下來去研究各類幣種。較大的國產鏈有QTUM,NEO,較大的國外鏈有EOS、ETH等。去研究他們的白皮書、團隊、歷史、twitter、telegram群等可以接觸的地方。
同時,你還需要一個可以看行情、交流想法、看文章的地方。這里推薦一些常用APP。比如常用的看價格的APPblockfolio;看資訊、塊訊、新聞、甚至是找到吹牛逼的地方可用巴比特APP;幣種資料可以參考非小號APP,裡面內容也挺多。其中巴比特APP是我最常用的,因為它的新聞可靠,不會造假。
方向2
區塊鏈從業
據我了解,區塊鏈行業當前的從業者從金融或計算機專業轉過來的比較多。如果你是在校大學生,如果要在區塊鏈行業工作,可以考慮讀金融或計算機行業的專業。如果是已經工作,想要加入區塊鏈行業,那麼以下內容需要學習。一本《區塊鏈:從數字貨幣到信用社會》長鋏、韓峰著帶你入門區塊鏈基礎知識。《區塊鏈技術指南》可以讓你加深對區塊鏈技術的理解。《區塊鏈革命》可以帶你走進一場即將發生的革命。總的來說需要學習的內容比較多。
小白如何學習區塊鏈技術?按照學習順序會較為系統和高效:
(1)通過較為通俗的讀物建立對區塊鏈的輪廓式認識;
(2)了解元老:比特幣;
(3)學習:以太坊和EOS;
(4)學習幾個自己感興趣的項目,並認真吃透至少一個項目白皮書;
(5)通過相關媒體渠道擴展學習,不斷豐富自己的相關知識。
在很多新人眼中,區塊鏈幾乎等於比特幣,所以有必要先了解區塊鏈概貌,就像拿過一本書,先看一下目錄,知道大概包括什麼內容,而不是翻開第一頁就讀。經過第一步的學習,對比特幣、區塊鏈以及交易所和錢包有了一個模糊的概念。動手實踐,是提高學習動力及效率的最佳方式,也能在實踐中提出更有實際意義的問題,帶著問題去尋找答案,學習效果將更好。因此:
(1)選擇一個交易所,比如:huobi.pro,okex.com,bigone,OTCBTC等等,注冊賬戶,在此過程中需要注意的是谷歌驗證器的使用;
(2)買入一點,比如0.03個比特幣,建議分別通過C2C場外交易和通過USDT交易對形式購買,熟悉兩種購買途徑;
(3)下載安裝錢包,比如比特派,注意助記詞的保管;
(4)從交易所轉移一點比特幣到錢包。
完成以上過程的操作,會對交易所、錢包、私鑰、場外交易等有切身的體會了。
鏈喬教育在線旗下學碩創新區塊鏈技術工作站是中國教育部學校規劃建設發展中心開展的「智慧學習工場2020-學碩創新工作站」唯一獲準的「區塊鏈技術專業」試點工作站。專業站立足為學生提供多樣化成長路徑,推進專業學位研究生產學研結合培養模式改革,構建應用型、復合型人才培養體系。
如何學習區塊鏈技術?區塊鏈具備六大技術特徵,即去中心化、開放性、自治性、匿名性、可編程和可追溯。正是這六大技術特徵使得區塊鏈具備了革命性顛覆性技術的特質,也使其成為元宇宙的重要支撐。
宇宙是否需要區塊鏈?需要首先理解區塊鏈的技術特性,同時不能跳脫於區塊鏈自身發展的趨勢。結合區塊鏈的技術特徵與發展趨勢,我們不妨探索元宇宙與區塊鏈深度協同的可能。
黑龍江省「十四五」數字政府建設規劃近日出台。在區塊鏈方面,《規劃》指出,加快區塊鏈等關鍵技術應用,探索應用量子通信、區塊鏈網路等新技術。依託區塊鏈技術,按需建設與省級部門、市(地)數據高速共享通道,實現數據分鍾級共享,加強全鏈路數據質量監控,建成高保障、高可用的數據供應鏈體系。基於區塊鏈技術,建設電子證照管理應用平台。積極部署區塊鏈服務網路節點,構建場景化區塊鏈應用體系,持續推動數字身份認證鏈、可信電子證照鏈、存證公正鏈、數據共享交換鏈等數字政府公共支撐鏈的建設。探索「區塊鏈+市場監管」,推進「區塊鏈+法治」國家試點建設。
從技術層面來看,小度科技依託於網路公司的AI技術和區塊鏈技術上線數字藏品也是水到渠成,據了解,網路區塊鏈技術有在司法、醫療、金融、政務等十多個領域成功案例,而小度數字藏品平台運用「自家」區塊鏈技術,也為小度數字藏品平台帶來了技術背書。
小白如何秒懂區塊鏈中的哈希計算小白如何秒懂區塊鏈中的哈希計算
當我在區塊鏈的學習過程中,發現有一個詞像幽靈一樣反復出現,「哈希」,英文寫作「HASH」。
那位說「拉稀」同學你給我出去!!
這個「哈希」據說是來源於密碼學的一個函數,嘗試搜一搜,論文出來一堆一堆的,不是橫式就是豎式,不是表格就是圖片,還有一堆看不懂得xyzabc。大哥,我就是想了解一下區塊鏈的基礎知識,給我弄那麼難幹啥呀?!我最長的密碼就是123456,復雜一點的就是654321,最復雜的時候在最後加個a,你給我寫的那麼復雜明顯感覺腦力被榨乾,僅有的腦細胞成批成批的死亡!為了讓和我一樣的小白同學了解這點,我就勉為其難,努力用傻瓜式的語言講解一下哈希計算,不求最准確但求最簡單最易懂。下面我們開始:
#一、什麼是哈希演算法
##1、定義:哈希演算法是將任意長度的字元串變換為固定長度的字元串。
從這里可以看出,可以理解為給**「哈希運算」輸入一串數字,它會輸出一串數字**。
如果我們自己定義「增一演算法」,那麼輸入1,就輸出2;輸入100就輸出101。
如果我我們自己定義「變大寫演算法」,那麼輸入「abc」輸出「ABC」。
呵呵,先別打我啊!這確實就只是一個函數的概念。
##2、特點:
這個哈希演算法和我的「增一演算法」和「變大寫演算法」相比有什麼特點呢?
1)**確定性,算得快**:咋算結果都一樣,算起來效率高。
2)**不可逆**:就是知道輸出推不出輸入的值。
3)**結果不可測**:就是輸入變一點,結果天翻地覆毫無規律。
總之,這個哈希運算就是個黑箱,是加密的好幫手!你說「11111」,它給你加密成「」,你說「11112」它給你弄成「」。反正輸入和輸出一個天上一個地下,即使輸入相關但兩個輸出毫不相關。
#二、哈希運算在區塊鏈中的使用
##1、數據加密
**交易數據是通過哈希運算進行加密,並把相應的哈希值寫入區塊頭**。如下圖所示,一個區塊頭包含了上一個區塊的hash值,還包含下一個區塊的hash值。
1)、**識別區塊數據是否被篡改**:區塊鏈的哈希值能夠唯一而精準地標識一個區塊,區塊鏈中任意節點通過簡單的哈希計算都可以獲得這個區塊的哈希值,計算出的哈希值沒有變化也就意味著區塊鏈中的信息沒有被篡改。
2)、**把各個區塊串聯成區塊鏈**:每個區塊都包含上一個區塊的哈希值和下一個區塊的值,就相當於通過上一個區塊的哈希值掛鉤到上一個區塊尾,通過下一個區塊的哈希值掛鉤到下一個區塊鏈的頭,就自然而然形成一個鏈式結構的區塊鏈。
##2、加密交易地址及哈希
在上圖的區塊頭中,有一個Merkleroot(默克爾根)的哈希值,它是用來做什麼的呢?
首先了解啥叫Merkleroot?它就是個二叉樹結構的根。啥叫二叉樹?啥叫根?看看下面的圖就知道了。一分二,二分四,四分八可以一直分下去就叫二叉樹。根就是最上面的節點就叫根。
這個根的數據是怎麼來的呢?是把一個區塊中的每筆交易的哈希值得出後,再兩兩哈希值再哈希,再哈希,再哈希,直到最頂層的數值。
這么哈希了半天,搞什麼事情?有啥作用呢?
1)、**快速定位每筆交易**:由於交易在存儲上是線性存儲,定位到某筆交易會需要遍歷,效率低時間慢,通過這樣的二叉樹可以快速定位到想要找的交易。
舉個不恰當的例子:怎麼找到0-100之間的一個任意整數?(假設答案是88)那比較好的一個方法就是問:1、比50大還是小?2、比75大還是小?3、比88大還是小?僅僅通過幾個問題就可以快速定位到答案。
2)、**核實交易數據是否被篡改**:從交易到每個二叉樹的哈希值,有任何一個數字有變化都會導致Merkleroot值的變化。同時,如果有錯誤發生的情況,也可以快速定位錯誤的地方。
##3、挖礦
?在我們的區塊頭中有個參數叫**隨機數Nonce,尋找這個隨機數的過程就叫做「挖礦」**!網路上任何一台機器只要找到一個合適的數字填到自己的這個區塊的Nonce位置,使得區塊頭這6個欄位(80個位元組)的數據的哈希值的哈希值以18個以上的0開頭,誰就找到了「挖到了那個金子」!既然我們沒有辦法事先寫好一個滿足18個0的數字然後反推Nounce,唯一的做法就是從0開始一個一個的嘗試,看結果是不是滿足要求,不滿足就再試下一個,直到找到。
找這個數字是弄啥呢?做這個有什麼作用呢?
1)、**公平的找到計算能力最強的計算機**:這個有點像我這里有個沙子,再告訴你它也那一個沙灘的中的一粒相同,你把相同的那粒找出來一樣。那可行的辦法就是把每一粒都拿起來都比較一下!那麼比較速度最快的那個人是最有可能先早到那個沙子。這就是所謂的「工作量證明pow」,你先找到這個沙子,我就認為你比較的次數最多,乾的工作最多。
2)、**動態調整難度**:比特幣為了保證10分鍾出一個區塊,就會每2016個塊(2周)的時間計算一下找到這個nonce數字的難度,如果這2016個塊平均時間低於10分鍾則調高難度,如高於十分鍾則調低難度。這樣,不管全網的挖礦算力是怎麼變化,都可以保證10分鍾的算出這個隨機數nonce。
#三、哈希運算有哪些?
說了這么多哈希運算,好像哈希運算就是一種似的,其實不是!作為密碼學中的哈希運算在不斷的發展中衍生出很多流派。我看了」滿頭包」還是覺得內在機理也太復雜了,暫時羅列如下,小白們有印象知道是怎麼回事就好。
從下表中也可以看得出,哈希運算也在不斷的發展中,有著各種各樣的演算法,各種不同的應用也在靈活應用著單個或者多個演算法。比特幣系統中,哈希運算基本都是使用的SHA256演算法,而萊特幣是使用SCRYPT演算法,誇克幣(Quark)達世幣(DASH)是把很多演算法一層層串聯上使用,Heavycoin(HAV)卻又是把一下演算法並聯起來,各取部分混起來使用。以太坊的POW階段使用ETHASH演算法,ZCASH使用EQUIHASH。
需要說明的是,哈希運算的各種演算法都是在不斷升級完善中,而各種幣種使用的演算法也並非一成不變,也在不斷地優化中。
**總結**:哈希運算在區塊鏈的各個項目中都有著廣泛的應用,我們以比特幣為例就能看到在**數據加密、交易數據定位、挖礦等等各個方面都有著極其重要的作用**。而哈希運算作為加密學的一門方向不斷的發展和延伸,身為普通小白的我們,想理解區塊鏈的一些基礎概念,了解到這個層面也已經足夠。
『貳』 小白如何秒懂區塊鏈中的哈希計算
小白如何秒懂區塊鏈中的哈希計算
當我在區塊鏈的學習過程中,發現有一個詞像幽靈一樣反復出現,「哈希」,英文寫作「HASH」。
那位說「拉稀」同學你給我出去!!
這個「哈希」據說是來源於密碼學的一個函數,嘗試搜一搜,論文出來一堆一堆的,不是橫式就是豎式,不是表格就是圖片,還有一堆看不懂得xyzabc。大哥,我就是想了解一下區塊鏈的基礎知識,給我弄那麼難幹啥呀?!我最長的密碼就是123456,復雜一點的就是654321,最復雜的時候在最後加個a,你給我寫的那麼復雜明顯感覺腦力被榨乾,僅有的腦細胞成批成批的死亡!為了讓和我一樣的小白同學了解這點,我就勉為其難,努力用傻瓜式的語言講解一下哈希計算,不求最准確但求最簡單最易懂。下面我們開始:
# 一、什麼是哈希演算法
## 1、定義:哈希演算法是將任意長度的字元串變換為固定長度的字元串。
從這里可以看出,可以理解為給**「哈希運算」輸入一串數字,它會輸出一串數字**。
如果我們自己定義 「增一演算法」,那麼輸入1,就輸出2;輸入100就輸出101。
如果我我們自己定義「變大寫演算法」,那麼輸入「abc」輸出「ABC」。
呵呵,先別打我啊!這確實就只是一個函數的概念。
## 2、特點:
這個哈希演算法和我的「增一演算法」和「變大寫演算法」相比有什麼特點呢?
1)**確定性,算得快**:咋算結果都一樣,算起來效率高。
2)**不可逆**:就是知道輸出推不出輸入的值。
3)**結果不可測**:就是輸入變一點,結果天翻地覆毫無規律。
總之,這個哈希運算就是個黑箱,是加密的好幫手!你說「11111」,它給你加密成「」,你說「11112」它給你弄成「」。反正輸入和輸出一個天上一個地下,即使輸入相關但兩個輸出毫不相關。
# 二、哈希運算在區塊鏈中的使用
## 1、數據加密
**交易數據是通過哈希運算進行加密,並把相應的哈希值寫入區塊頭**。如下圖所示,一個區塊頭包含了上一個區塊的hash值,還包含下一個區塊的hash值。
1)、**識別區塊數據是否被篡改**:區塊鏈的哈希值能夠唯一而精準地標識一個區塊,區塊鏈中任意節點通過簡單的哈希計算都可以獲得這個區塊的哈希值,計算出的哈希值沒有變化也就意味著區塊鏈中的信息沒有被篡改。
2)、**把各個區塊串聯成區塊鏈**:每個區塊都包含上一個區塊的哈希值和下一個區塊的值,就相當於通過上一個區塊的哈希值掛鉤到上一個區塊尾,通過下一個區塊的哈希值掛鉤到下一個區塊鏈的頭,就自然而然形成一個鏈式結構的區塊鏈。
## 2、加密交易地址及哈希
在上圖的區塊頭中,有一個Merkle root(默克爾根)的哈希值,它是用來做什麼的呢?
首先了解啥叫Merkle root? 它就是個二叉樹結構的根。啥叫二叉樹?啥叫根?看看下面的圖就知道了。一分二,二分四,四分八可以一直分下去就叫二叉樹。根就是最上面的節點就叫 根。
這個根的數據是怎麼來的呢?是把一個區塊中的每筆交易的哈希值得出後,再兩兩哈希值再哈希,再哈希,再哈希,直到最頂層的數值。
這么哈希了半天,搞什麼事情?有啥作用呢?
1)、**快速定位每筆交易**:由於交易在存儲上是線性存儲,定位到某筆交易會需要遍歷,效率低時間慢,通過這樣的二叉樹可以快速定位到想要找的交易。
舉個不恰當的例子:怎麼找到0-100之間的一個任意整數?(假設答案是88)那比較好的一個方法就是問:1、比50大還是小?2、比75大還是小?3、比88大還是小? 僅僅通過幾個問題就可以快速定位到答案。
2)、**核實交易數據是否被篡改**:從交易到每個二叉樹的哈希值,有任何一個數字有變化都會導致Merkle root值的變化。同時,如果有錯誤發生的情況,也可以快速定位錯誤的地方。
## 3、挖礦
在我們的區塊頭中有個參數叫**隨機數Nonce,尋找這個隨機數的過程就叫做「挖礦」**!網路上任何一台機器只要找到一個合適的數字填到自己的這個區塊的Nonce位置,使得區塊頭這6個欄位(80個位元組)的數據的哈希值的哈希值以18個以上的0開頭,誰就找到了「挖到了那個金子」!既然我們沒有辦法事先寫好一個滿足18個0的數字然後反推Nounce,唯一的做法就是從0開始一個一個的嘗試,看結果是不是滿足要求,不滿足就再試下一個,直到找到。
找這個數字是弄啥呢?做這個有什麼作用呢?
1)、**公平的找到計算能力最強的計算機**:這個有點像我這里有個沙子,再告訴你它也那一個沙灘的中的一粒相同,你把相同的那粒找出來一樣。那可行的辦法就是把每一粒都拿起來都比較一下!那麼比較速度最快的那個人是最有可能先早到那個沙子。這就是所謂的「工作量證明pow」,你先找到這個沙子,我就認為你比較的次數最多,乾的工作最多。
2)、**動態調整難度**:比特幣為了保證10分鍾出一個區塊,就會每2016個塊(2周)的時間計算一下找到這個nonce數字的難度,如果這2016個塊平均時間低於10分鍾則調高難度,如高於十分鍾則調低難度。這樣,不管全網的挖礦算力是怎麼變化,都可以保證10分鍾的算出這個隨機數nonce。
# 三、哈希運算有哪些?
說了這么多哈希運算,好像哈希運算就是一種似的,其實不是!作為密碼學中的哈希運算在不斷的發展中衍生出很多流派。我看了」滿頭包」還是覺得內在機理也太復雜了,暫時羅列如下,小白們有印象知道是怎麼回事就好。
從下表中也可以看得出,哈希運算也在不斷的發展中,有著各種各樣的演算法,各種不同的應用也在靈活應用著單個或者多個演算法。比特幣系統中,哈希運算基本都是使用的SHA256演算法,而萊特幣是使用SCRYPT演算法,誇克幣(Quark)達世幣(DASH)是把很多演算法一層層串聯上使用,Heavycoin(HAV)卻又是把一下演算法並聯起來,各取部分混起來使用。以太坊的POW階段使用ETHASH演算法,ZCASH使用EQUIHASH。
需要說明的是,哈希運算的各種演算法都是在不斷升級完善中,而各種幣種使用的演算法也並非一成不變,也在不斷地優化中。
**總結**:哈希運算在區塊鏈的各個項目中都有著廣泛的應用,我們以比特幣為例就能看到在**數據加密、交易數據定位、挖礦等等各個方面都有著極其重要的作用**。而哈希運算作為加密學的一門方向不斷的發展和延伸,身為普通小白的我們,想理解區塊鏈的一些基礎概念,了解到這個層面也已經足夠。