推 KrisNYC : 這是現在的核心問題之一 難度超過多數人的理解能力 12/08 17:28
沒想到我會有一天在股板科普到底什麼是(真正的)加密貨幣
接下來我會盡量的用最簡單的方式說明, 這是什麼玩意
首先, 我們要了解什麼是"幣"
"幣" 是一種價值紀錄體,
好比100元台幣, 約莫等於一個便當, 或是下略幾萬種東西
而這個幣, 在短期內、預期範圍內, 他所記錄的價值變化不大。
所以我們用他來記錄、代表我們的付出,
也用來交換彼此的付出。
簡言之, "價值記錄體" 的功能:
1.紀錄價值
2.交換價值
以及要求:
這兩樣功能必須是可靠、可信賴的
這就是幣, 或是說錢, 他的實際功能,
從古至今都是如此。
如果你能夠發明出一種東西,
不是鈔票、也不是放在銀行的數據,
但可以同時做到這兩件事, 並且可信賴,
那也就可以稱之為幣了。
這時候的問題就是: how?
回到現實。
古時候是用金屬通貨,
後來是用有防偽機制的貨幣。
然而貨幣一但登場, 就會有一個問題:
這貨幣怎樣是可靠? 上面寫100元就100元?
早期政府會說, 你這100元我擔保個什麼給你(好比等量黃金),
後來也不擔保了, 反正你工作領到的100元就是100元,
你可以拿去換便當吃, 便當店老闆沒你這麼多問題, 愛領不領隨你
大家也是用的很愉快, 直到--
政府發現自己可以印鈔票。
就算政府偷偷印, 這些錢最後總是要流動到市場上,
最終引發一件事 - 錢莫名變多, 所以錢代表的價值就下降,
你過去工作累積的價值不就受損了?
那怎麼辦, BTC發明人中本聰就說, 不然這樣吧,
我們不靠渾蛋政府, 自己來發行幣;
反正你政府也沒有擔保什麼, 那我們也不需要擔保,
只要可靠就好。
這誰能說了算?
既然誰都不能說了算,
那麼這個幣的架構, 必然是絕對扁平的、去中心化的,
也就是眾人可以參與這個貨幣的運行的,
包括他的紀錄、交換。
那這個幣要怎樣紀錄價值、交換價值、可靠可信賴、
還同時能去中心化的?
於是 "區塊鏈" 技術就被拿來用了。
什麼是區塊鏈?
你可以把他想成一個記帳本, 有第一頁,
後面的頁數則是不停的新增上去的;
然後這個記帳本的資料, 記上去就是記上去了,
"絕對不會被竄改"。
怎麼做到的呢?
上面不是說 "去中心化" 嗎,
帳本這麼多, 人手一份, 誰瞎改就揍他...
可能沒辦法揍他, 但至少可以無視他。
那你怎麼知道有沒有被改、怎麼知道誰的才是對的?
這就是區塊鏈的核心了。
除了多數人的帳本要一致(壞人超過一半, 那啥都會完蛋),
記帳本的每一頁, 都是一個區塊;
然後新的一頁, 都會記錄前一頁的雜湊值,
這樣像鏈條一樣鏈起來, 所以叫區塊鏈。
那, 什麼是雜湊值? 為什麼要紀錄前一頁的雜湊值?
任何資料, 都可以經過雜湊函數處理,
並得到一串固定長度的數值,
然後這串雜湊值有兩個重大特性:
1. 接近隨機值, 沒有什麼規律性, 那怕原始資料只改 1bit,
也會得到近乎完全不同的雜湊值
2. 沒辦法從雜湊值反推, 原始資料是什麼
為什麼記帳本為什麼要放入前一頁的雜湊值, 就很明白了:
因為前一頁如果有任何變更, 就會與下一頁的雜湊值對不上了,
連帶後面所有的雜湊值都變掉了。
好了,
現在有了大家一起參與,
有了無法竄改的帳本,
那誰負責記帳呢? 全部人一起記帳,
那保證天下大亂, 一定會有人把一筆錢同時拿去兩個地方花
所以要選一個人出來記帳。
我們這裡只探討最原始的 PoW (工作量證明) 的狀態,
也就是大家耳熟能詳的 "挖礦" 礦工。
我們要設計一個機制, 可以讓參與進來這個幣的人,
有公平的機會可以進行記帳, 怎麼做呢?
還記得上面的雜湊值, 是接近隨機且不可反推, 對吧,
那如果我在帳本中加入一段小資料(nonce),
讓雜湊結果前五個字是0, 可不可能?
可以喔, 只是你必須一直試, 看看加入這個小資料是什麼,
配上該頁要記載的帳, 才會讓雜湊結果前五個字是0....
好比說 A-給-B-10塊 是這次要記的帳,
那就會變成
A-給-B-10塊-001 .... 005F6678... 不對
A-給-B-10塊-999 ... 43205B6F... 不對
A-給-B-10塊-@#T* ... 0000053A ... 噫!好!我中了!快跟全世界說
這就是挖礦。
誰先找到這個關鍵小資料, 誰就取得了這次的記帳權,
把資料公布出去, 大家檢驗確認合理無誤,
就會把這次的區塊打包上帳本, 也就是區塊鏈。
那, 挖礦這麼辛苦, 為什麼還要搶著挖?
當然是因為挖到礦有獎勵啊, BTC 怎麼來的, 就這麼來的
所以一個完整的區塊, 最基本的概念大概是長這樣:
====
第100塊 猴年馬月豬日xxxx
wahaha99記的帳領1塊
A-給-B-10塊
C-給-D-5塊
...
...
上一區塊雜湊: 000245678...
nonce:#$YW$G#
====
這時候你會有一個疑問,
如果只要5個0, 用我滑鼠的算力,
一下就都算出來了不是? 都給我領就好?
對, 所以當出塊時間變快時,
會要求越來越多的0(或是說符合的條件), 反之亦然,
如果你用了不合時宜的條件也是不行的,
其他還有些細微的, 好比網路連線有延遲或落差、
導致合理的區塊被雙重挖出怎麼辦,
也是有解法的, 就是以最長鏈為最終解....
這也是為什麼交易所入金, 都要累積一定的區塊數量驗證
等等你想的到的問題, 也有一一對應的解法,
這些都是寫在白皮書、寫成運行程式碼的,
誰違反就無視他。
而要改變遊戲規則, 要一半以上的礦工同意。
那麼這個系統已經運作了十多年,
他去中心化, 不可竄改, 不可作弊, 不亂印鈔票,
目前為止非常可靠。
這就是加密貨幣最粗略、最基本的原理了,
後面還衍伸出EVM(在帳本上寫程式)、PoS(不挖礦改成質押)、
那又是其他故事了....
看到這邊, 你還覺得他是龐氏騙局嗎,
如果他是, 那現代貨幣也好不到哪去...
只是以股市房市物價的方式展現而已
--