iT邦幫忙

2019 iT 邦幫忙鐵人賽

DAY 5
0

https://ithelp.ithome.com.tw/upload/images/20181005/20111706fK7E6YbdGO.png
小美昨天在一知半解下學習了密碼學的專有名詞後,聯想到曾看過的電影《模仿遊戲》,《模仿遊戲》講的是「電腦之父」艾倫.圖靈(Alan Turing)的故事,二戰時圖靈在破譯截獲的編碼信息方面發揮了關鍵作用,使盟軍能夠在包括大西洋戰役在內的許多重要交戰中擊敗納粹,並因此幫助贏得了戰爭。然而因為其性傾向而遭到當時的英國政府迫害,職業生涯盡毀,甚至自殺身亡。

雖然真實世界就是這麼不公平,人性造成了了不公不義的事件。但在數學搭建的比特幣世界裡,人人平等。

Hash Functions

比特幣大量使用了雜湊函式 SHA256,它代表256位元的安全雜湊演算法。簡單來說,雜湊函式只是一種數學算法,它接受資料輸入並輸出運算過後的資料。

Hash(雜湊)算法,又常被稱為指紋(fingerprint)或摘要(digest)算法,是非常基礎也非常重要的一類算法。可以將任意長度的二進制明文字串轉換為較短的(通常是固定長度的)二進制字串(Hash 值),並且不同的明文很難轉換為相同的 Hash 值。

而一個優秀的 Hash 算法,必須滿足:

  • 正向快速:給定原文和 Hash 算法,在有限時間和有限資源內能計算得到 Hash 值。
  • 逆向困難:給定(若干)Hash 值,在有限時間內無法(基本不可能)逆推出原文。
  • 輸入敏感:原始輸入信息發生任何改變,新產生的 Hash 值都應該發生很大變化。
  • 碰撞避免:很難找到兩段內容不同的明文,使得它們的 Hash 值一致(即發生碰撞)。

由於比特幣交易會被傳遞到網路中的每個節點,而礦工們會收集這些交易,並執行檢查以確保它們有效。然後儲存到記憶體中,接著便開始了創建一個區塊的處理過程。

在過去,礦工們只在他們個人電腦的 CPU 上執行 SHA256 計算。但是,每秒可以執行的 Hash 越多,挖礦並獲得區塊獎勵的可能性就越大。所以 CPU 挖礦很快就被 GPU 礦機取代,因為 GPU 在計算雜湊函式方面更有效。目前,礦工們更進一步使用搭載了 ASIC(專用集成電路)晶片的礦機來開採比特幣。ASIC 是專門特別設計的計算機晶片,設計目的只為了最大效率執行 SHA256 計算。

小美感覺怎麼後面的單元越來越難呀,整個大腦已經難以思考。還好 CBP 不需要理解技術實作細節,否則她真的已經開始到了學習的撞牆期,一開始的新鮮感已經消磨殆盡。不行了,一定要想想辦法。
啊!想到了,可以試試像大學考試前同學們都會組讀書會一起組隊,互相支持打氣與互相監督。真是好主意,趕快來敲敲同學們看有沒有人願意一起加入準備 CBP。

本文同時發佈於作者部落格:https://www.bdetw.com/hash-functions/


上一篇
04. Price Derivation & Basic Cryptography Terms
下一篇
06. Symmetric and Asymmetric Encryption
系列文
C4 CBP 區塊鏈專家認證考試實戰14

尚未有邦友留言

立即登入留言