將區塊鏈技術應用在農業與食品供應鏈中,能有效提升生產透明度與食品安全。透過物聯網感應器,蒐集農作物在生長過程(如施肥、灌溉、收成)中,光照、溫度、濕度等環境數據,並將這些資訊存入區塊鏈,確保數據不可篡改,以提升農產品的可追溯性。消費者可透過掃描 QR Code 查閱產品的生產履歷,掌握種植與加工過程,確保食品來源安全透明。
區塊鏈的結構
是甚麼原理,使得紀錄於區塊中的資訊幾乎不能被篡改?首先來看區塊鏈的結構。區塊鏈由一系列相互鏈接的「區塊(Block)」所組成,包含以下三種要素。
1、 區塊頭(Block Header):版本、前驅哈希、默克爾樹根、時間戳記、難度、隨機數。2、 區塊體(Block Body):包含交易記錄及數據。所有數據經過哈希函數計算並組成「默克爾樹(Merkle Tree)」。3、 鏈結機制:每個區塊透過「前驅哈希(Previous Hash)」與前一個區塊相連,形成不可篡改的區塊鏈結構
圖1:區塊鏈(Blockchain)的結構資料來源:How blockchain and serverless processing are impacting event-driven architectures
接著說明何謂「哈希函數(Hash Function)」。哈希函數是一種數學計算方式,它可以將任何大小的資料轉換成固定長度的數字串,這個數字串稱為「哈希值」。哈希函數有以下重要特性:
1. 輸入值不同,輸出值會完全不同:即使輸入值僅變動一個字元,哈希值也會產生劇烈的變化(雪崩效應)。2. 輸出長度固定:無論輸入資料多大,哈希值的長度都不變。例如:SHA-256函數,固定產生256位元的哈希值。3. 單向不可逆:無法從「哈希值」推回原始數據。
數據不可篡改的原理
對「哈希函數」有初步的概念,就可以探討「默克爾樹根」及「前驅哈希」這兩個要素。首先「默克爾樹」是一種樹狀數據結構,用來驗證區塊體內的數據。其運作方式是先對每筆交易計算哈希值,再將哈希值兩兩合併並重新計算哈希,不斷重複直到產生唯一的「默克爾樹根(Merkle Root)」。最終,這個「默克爾樹根」會存入「區塊頭(Block Header)」,用來驗證數據的正確性(見圖2)。
圖2:透過默克爾樹根驗證交易資料來源:Diagram of a blockchain-from the Ethereum whitepaper
每個區塊的頭部,都存有前一個區塊的哈希值,稱之為「前驅哈希(Previous Hash)」,用來鏈接區塊。若任何一個區塊的數據遭到更改,其哈希值將發生變化,導致後續所有區塊的「前驅哈希」失效,此機制使篡改變得極為困難。
結論與挑戰
區塊鏈技術提升食品安全的透明度與可追溯性。然而,技術成本高、系統整合困難及農民對於數位化適應等問題,仍有待解決。未來需克服這些障礙,才能廣泛應用並發揮最大效益。
封面圖片來源:iStock
參考資料來源:
1.區塊鏈技術基本運作原理
2.雜湊函式 - 維基百科,自由的百科全書
3.區塊鏈 - 維基百科,自由的百科全書
4.電子簽章的相關技術介紹|moda — 數位發展部 Ministry of Digital Affairs
5. 比特幣和區塊鏈到底是啥?礦機挖礦咋回事?李永樂老師講比特幣(1) - YouTube
6.區塊鏈Blockchain(下集)加密貨幣如何防止竄改?區塊的內部結構是什麼?比特幣分析加密貨幣技術分析- YouTube