補腦算算鍋「去中心化」

補腦算算鍋「去中心化」

文/曾慶良(阿亮老師)

想像一下:每次小考後,老師都會拿出那本厚厚的成績冊,一筆筆寫上每個人的分數。在這樣的「中心化」做法裡,只有老師擁有完整資料。

可是如果有一天,老師的成績冊不見了,整班的成績是不是跟著消失?為了避免這樣的「資料消失危機」,有同學提出一個點子:「乾脆每排自己記錄成績吧!」

於是,每排都有一位排長負責登記全排的分數,等大家都核對好後,再由小老師彙整成全班版本交給老師,這樣一來,即使某一排的紀錄不小心遺失,其他排仍能提供副本來比對修正,這個做法就是「去中心化」的一種小縮影:不再由老師單方面掌控資料,而是讓每一位參與者都擁有一部分紀錄、共同維護整體的正確性。

你可以再想像它像是傳紙條:若是「中心化」傳遞,你把紙條交給班長,再由班長傳給全班;而「去中心化」傳遞則是你直接告訴幾位同學,再由他們繼續傳播。雖然路徑可能更複雜,但即使班長請假,消息仍能傳到每個人手上。所以中心化就像是「全班只靠班長轉達老師的通知」,去中心化則像「大家都在班級群組裡」,有人沒看到,其他人會提醒他。這樣的系統雖然看似複雜,但卻更穩、更公平,也更「民主」。

它讓資訊不再依賴單一來源,更能防止錯誤或遺失造成全面崩壞——這也是許多現代科技(像區塊鏈)背後的數學基礎。接下來,我們就從數學的角度,看看這樣的系統是怎麼維持「一致性」與「安全性」吧!

●分散式網路 多點連結防單點故障

有沒有玩過線上遊戲?如果伺服器突然掛掉、積分不見、角色退回昨天,那就是「中心化系統」的典型問題:所有資料都存在一個地方,只要中心出狀況,整個世界就當機。在數學上,我們可以想像這個中心是一個「節點(Node)」,所有資訊都須經過它、由它確認。這樣的好處是效率高、決策快;但壞處也明顯——只要這個節點出錯,全系統就像把雞蛋放在同一個籃子裡,一摔全沒。

那「去中心化」又是什麼?可以想成「大家一起當伺服器」。每個人手上都有一份資料副本,彼此連成網狀,這樣一來,就算有一兩個節點掛掉,其他人也能幫忙補上。這種結構稱為「分散式網路(Distributed Network)」,它讓節點之間互相連線,不再依賴唯一中心的資料,每個節點都是一個點(vertex),連線就是邊(edge)(這裡其實蘊含了數學中圖論(Graph Theory)的概念),當邊夠多、結構夠穩,就能避免「單點故障」。所以去中心化不只是技術,也是一種數學的思維方式——用多點連結取代單一依賴,用分散合作取代集中控制。

●雜湊值 資料指紋機 遭竄改 數值就不同

去中心化的核心,其實圍繞在兩個關鍵字上:正確性與信任。

在傳統的中心化系統裡,我們習慣「相信」一個權威:相信老師不會算錯成績、相信銀行不會記錯帳、相信系統會自動幫我們保存資料。這是一種「由上而下」的信任方式,一切交給中心節點決定。

但在去中心化的世界裡,信任不再來自單一個人或機構,而是來自群體共識。每個人都能參與驗證資料,當多數人都同意某個結果,這個結果就被視為正確。這就像數學裡的「多數決原理」或「機率信賴」:當多數樣本得出相同答案時,我們便能對整體結果有更高的信心。也因此,去中心化的信任是一種「由下而上」建立的信任——透過群體參與和驗證,形成穩定的共識。

不過光是「一起驗證」還不夠,還要能夠防止有人偷偷竄改資料。這時就需要數學界的「超級守門員」:雜湊函數(Hash Function)。它就像資料的「指紋機」:不論輸入多長、多複雜,都能透過公式算出一串固定長度的代碼。這串代碼,就是資料的「指紋」,我們稱為「雜湊值」。這個過程其實就是數學裡的「函數關係」:每一個輸入(Input)都對應到唯一的輸出(Output)。只要有人動過資料,雜湊值立刻就會不同,竄改行為無所遁形。

整個去中心化系統就靠這兩種數學思維運作:一是「多數人的一致」,確保結果值得信任;二是「函數的嚴謹對應」,保護資料不被改動。這樣的組合就像邏輯推理(Logical Reasoning)一樣,從一個個條件出發,經過嚴密的驗證,最終得出可信的結論。

●多點保存 不怕遺失 可以比對 不怕竄改

輸入什麼,它都會用一個公式幫你「壓縮」成一串固定的數字。而這串數字就像是資料的「指紋」,獨一無二。

【例題】班級成績的「指紋值」

假設有3位同學的數學小考分數如下:

小明:90分

小美:85分

阿亮:95分

老師想用一個簡單的「雜湊公式」來確認紀錄沒有被改動。因此我們先設計一個超簡化版「雜湊函數」:

f(x)=(各分數加總) mod 7

其中「mod」代表「取餘數」(就是除完之後剩下的數)

取值的步驟:

①把分數加總:90 + 85 + 95 = 270

②用公式取餘數:270 ÷ 7 = 38餘4

③所以「雜湊值」是4(我們將此數值存下之後比對)

現在如果有人偷偷改了分數呢?

假設小明從90改成91:

這新的加總 = 91 + 85 + 95 = 271

271 ÷ 7 = 38餘5

雜湊值立刻改變,就能馬上發現資料被動過!所以在去中心化的過程中,我們不僅不必擔心資料的遺失(因為資料存在許多人的手上),更不必擔心資料被竄改(可以利用雜湊值函數來加以比對)。

●共識機制 數學民主 多數同意 視作真相

即使每個人都有成績副本,還是可能有人抄錯。那該怎麼決定哪一份才是「真」的呢?這就要靠「共識機制」──用數學的方法找出大家都同意的答案。

【例題】班級投票找出正確成績

假設5位同學各自記下了「小明」的小考分數:

小華:88分

小美:88分

阿亮:87分

陳方:88分

葉問:89分

步驟:

①統計每個分數出現的次數→88出現3次、87出現1次、89出現1次。

②採用「多數決原則」→ 出現最多次的數值88,為共識結果。

③若分數差異太大(如出現70、99等離群值),可以再加上「誤差範圍±1」的判定機制(統計概念)。

這就是「數學式的民主」:多數同意的答案,被視為最可能的真相。這也正是區塊鏈中「共識機制」的原理,就是在不同的區塊鏈中,使用不同方式達成共識。

●區塊鏈 像數學接龍 每一項 有連鎖關係

區塊鏈說穿了就是「數學接龍」。每一塊資料都記得上一塊的「樣子」,這種連鎖關係其實就是數列遞推(Recurrence Sequence)的概念。

【例題】班級成績鏈

假設班級每次考試後都要記錄一個「成績值」,並把前一次的紀錄也一起加進去。我們設計一個簡單的公式:

an =(an-1+當次平均分數)mod10

第一周平均分數是82,我們取a1 =82mod10=2 (82除以10餘數為2)

解數學鏈步驟:

第二周平均85: a2 =(2+85)mod10=7

(第一周的值2加上本周成績平均85成為87,再除以10餘數為7)

第三周平均90:a3 =(7+90)mod10=7

(第二周的值7加上本周成績平均90成為97,再除以10餘數為7)

第四周平均88:a4 =(7+88)mod10=5

(第三周的值7加上本周成績平均88成為95,再除以10餘數為5)

所以目前的數學鏈是:2 → 7 → 7 → 5

因此,如果有人竄改了第二周的分數,整串鏈後面的結果都會變!這就是區塊鏈「前後相依」的數學結構:每一個區塊都像數列中的一項,而每一項都「記得」上一項,這樣的鏈條一旦被改動,就會像數學遞推式出錯一樣,整個系統無法對上,這樣就可以讓資料的「前後連貫」變成一種安全鎖。

●多人驗證 過程稍慢 運算龐大 耗電量高

去中心化之所以受到全球關注,是因為它讓系統變得更穩、更透明,也更「信得過」。在傳統的中心化架構裡,只要有一個「關鍵伺服器」出問題,整個網路就可能癱瘓;而在去中心化系統中,即使某台電腦離線,其他節點仍能維持運作,就像班上有人請假,其他同學依舊能完成分工的任務。這樣的架構,使得整個系統更穩定、更可靠。

同時,去中心化讓資訊變得更加公開透明。所有資料都能被任何人驗證,沒有誰能暗中偷偷修改數據或操控結果。再加上雜湊函數與共識機制的雙重保障,幾乎沒有造假的空間。這樣的機制讓人們第一次能在「沒有中央機構」的情況下,也能建立起彼此之間的信任。更棒的是,它還讓決策變得更民主——不再是由單一權威拍板,而是透過群體討論與投票,形成多數人共同認可的結論。

當然,任何系統都有代價。去中心化雖然公平,但速度卻不如中心化那樣迅速。因為每一筆資料都要經過多人驗證,整個過程自然會慢一些,就像班級開會時,要等大家都點頭才能通過決議。此外,一些去中心化系統需要龐大的運算能量來維持運作,耗電量甚至能比一個小國家還高。

要設計去中心化系統的操作也不算簡單。所以如果想要自己設計一條「鏈」來發行「加密貨幣」,需要一定的數學與程式基礎。然而,也正是這些挑戰,讓去中心化的世界不斷進步。全球有成千上萬的數學家、資料科學家與工程師正持續研究新的演算法與架構,試圖讓去中心化更快、更節能、更容易使用。可以說,去中心化的發展過程,本身就是一場「數學與邏輯信任的進化實驗」,在不斷試錯與修正中,朝著更自由、更公平的未來前進。

如果你未來也想要有自己的「加密貨幣」,那麼可以把握現在,學好中學和大學階段的數學,開發出屬於自己的「數學鏈」。

●作者為教育部高中數學學科中心研究教師、台北市3A教學基地中心主任,獲北市特殊優良教師