✍️ Gate 廣場「創作者認證激勵計劃」進行中!
我們歡迎優質創作者積極創作,申請認證
贏取豪華代幣獎池、Gate 精美周邊、流量曝光等超過 $10,000+ 豐厚獎勵!
立即報名 👉 https://www.gate.com/questionnaire/7159
📕 認證申請步驟:
1️⃣ App 首頁底部進入【廣場】 → 點擊右上角頭像進入個人主頁
2️⃣ 點擊頭像右下角【申請認證】進入認證頁面,等待審核
讓優質內容被更多人看到,一起共建創作者社區!
活動詳情:https://www.gate.com/announcements/article/47889
曾經想過為什麼區塊鏈能如此安全嗎?大部分的答案都在一個叫做哈希(hash)的基本概念裡。那麼,什麼是真正的哈希呢?
簡單版:哈希是一個將任何大小的輸入通過特定數學公式轉換成固定長度輸出的方法。想像你有一份超長的文件或大文件。利用哈希函數,所有這些都可以壓縮成一串長度固定的數字與字母組合。很酷吧?
那麼,使哈希在加密世界中如此強大的原因是它的確定性特質。也就是說,只要輸入不變,哈希算法就會始終產生完全相同的輸出。如果你用SHA-256 (比特幣所用的算法)來哈希「Binance」這個詞,結果永遠都是f1624fcc63b615ac0e95daf9ab78434ec2e8ffe402144dc631b055f711225191。永遠不會改變。
但只要改變一個字母,比如變成「binance」(第一個字母小寫),輸出就會立即大幅改變,變成59bba357145ca539dcd1ac957abc1ec5833319ddcae7f5e8b5da0c36624784b2。輸入的微小變化,會導致輸出產生巨大差異。這也是哈希在驗證資料完整性方面非常有用的原因。
SHA-256總是產生256-bit (64個字符)的輸出,而SHA-1則產生160-bit。不管輸入多大,輸出都保持一致。這點非常重要,因為它讓系統能在不存儲或記住所有資料的情況下,驗證大量資料的正確性。
那麼,為什麼哈希對加密來說如此關鍵?因為比特幣中的哈希不僅是普通的哈希,而是加密哈希。這是一種單向函數,不能輕易反向運算。很容易從輸出產生結果,但反向求解卻非常困難。攻擊者若要「反向」破解加密哈希,必須進行數百萬次的嘗試,耗時又不實際。
加密哈希具有三個重要的安全特性。第一,抗碰撞性:找到兩個不同輸入卻產生相同哈希值非常困難。第二,抗預映像性:幾乎不可能只憑輸出來找到對應的輸入。第三,抗第二預映像性:找到另一個輸入,使其哈希值與已知輸入相同,也很困難。
在各種SHA算法中,目前仍被認為安全的只有SHA-2和SHA-3。SHA-0和SHA-1已經過時,因為碰撞漏洞已被成功找到。
在比特幣的應用中,哈希無處不在。礦工多次進行哈希運算,尋找符合條件的區塊解。它們必須嘗試不同的輸入,直到產生一個以一定數量零開頭的哈希值。這個零的數量決定了挖礦難度。隨著網路哈希率的提高,比特幣會自動調整難度,讓區塊產出時間維持約10分鐘。反之,當礦工數量減少,難度也會降低。
有趣的是,礦工不需要找到碰撞。只要產生符合閾值的有效哈希值就行了。因此,每個區塊都可能有多個有效解,礦工只需找到一個符合條件的解即可。
由於挖礦成本高昂,礦工沒有動機去作弊,否則會造成巨大的經濟損失。相反地,礦工越多,區塊鏈就越大越安全。
總結來說,哈希是區塊鏈安全的基石。沒有強韌的加密哈希函數,比特幣和其他加密貨幣網路就無法達到如今的完整性與安全水平。對於任何認真學習區塊鏈的人來說,理解哈希的運作方式是基本且必要的知識。