2008年1月26日 星期六

電腦與貨幣的虛擬世界

ps.1/26抱歉,最近晚上都失眠。越寫腦袋越不清楚,今天來debug一下:
今有所思。

電腦的世界裡,早期要控制電腦,要寫機器碼。

機器碼太難寫。於是有人發明了組合語言,把01二進位數字指令對應成特定的英文例如:
mov ax,11

組合語言還是太不人性,於是又有人發明了編譯式語言例如C。例如:
printf("hello",%d);

編譯式語言太複雜,又發明了直譯式語言。

直譯式語言逐步翻譯成機器語言速度太慢,編譯式語言雖然快還是太與機器相關,於是又有人發明折衷的虛擬機器式程式語言,如forth、Lisp、java。

然而java運作時的虛擬機底層運作的是什麼?C編譯出來的程式。C編譯器又是基礎於什麼之上?組譯器。最終電腦實際執行的,還是01組成的機器碼,電腦軟體的世界,就是人類為了讓不人性的電腦看起來人性,一層又一層虛擬出來的世界。

**********************************************************
看看貨幣的歷史。

遠古人與人交易是以物易物。例如甲用釣的魚跟種田的乙交換東西。

多少魚可以換多少的米呢?衡量價值自古以來一直是重大課題,這需要一個大家認同的標準單位。

所以後來發展了用貝殼來當交易的媒介的體系,你的魚值多少貝?我的米又值多少貝?

可是努力去撿很多的貝殼,是不是就可以坐擁永遠吃也吃不完的魚和米?(搞不好真有某最早投機客炒作貝殼呢)所以,這交換的媒介,必須是某種稀有的物質。

所以金、銀等貴重金屬就登場了,因為它們很稀有,而且金光閃閃大家都很搶著要。所以金、銀等貴金屬就變成新的交易買賣單位。

然而金、銀畢竟太重了,用次一等的銅造幣帶太多還是很重,攜帶、運送不便,於是古代中國人發明了飛錢。什麼是飛錢?就是最早的支票。從南方漳州帶錢要去北方光州,在漳州可以先把金屬幣換成飛錢,帶上路。到了光州,再找從飛錢換回等值的錢幣。


可是人家為什麼要相信你的飛錢沒有問題?會不會是自己畫一畫偽造來騙真的錢幣?這就涉及到了信用。你的信用,以及你的票行(銀行)的信用。

本來飛錢只是拿來兌換真正錢幣的作用(可以說是一張借據),但由於有官方支持又銅錢短缺,大家夠信賴飛錢,買賣時,買家乾脆改用飛錢支付,賣家也有信心飛錢可以換到有價值的錢幣。這也是為什麼有人說飛錢是鈔票的祖先(參考中國古代貨幣)。

當銀行有足夠的信用,大家夠相信,支票紙卷再進化成不用自己手寫,標助上各種不同價值面額,成為銀行卷。

國家發現,某銀行信譽很好,你們的銀行卷就升級吧!於是法定貨幣就出現了。(我們台灣可能比較沒感覺,有機會去香港走走,港幣就有三間不同銀行在印喔)

何謂法定貨幣?就是國家用法律來保證某個銀行發行的鈔票,確實有價值、有信用大家可以信賴,這也就是你家大富翁遊戲盒裡的玩具鈔上街買不到東西的原因,因為沒人背書。

紙鈔太多還是很重,所以又發明了塑膠貨幣。

繼塑膠貨幣之後,進入數位時代,在網路上,又衍生出各種電子貨幣,例如說天幣。

然而,要能做進行交易,塑膠貨幣必須能被證明可以兌換成等值的法定貨幣。而這個貨幣,還得是真正有效的有價證券。魔法設計師,你怎麼亂扯到證券?證券是用來證明持有人享有的某種特定權益的憑證的。我們一般知道的證券就是股票啦、債券啦、本票、匯票、支票等等,嚴格來說甚至百貨公司的貴夫人優待券也是。那法定貨幣為什麼也是?因為法定貨幣是否真有價值,必須被證明能被兌換成實際的金、銀等稀有金屬,而黃金保證可以交換成實際商品,這也是歷史上所謂的金準位。

貨幣的世界也是一層虛擬一層疊上去。

--------------------------------------------------------------------------------
如果電腦的世界,高階語言寫的程式最終沒有辦法轉換成機器代碼,電腦就無法運作。
它看不懂人類虛擬出來的高階程式語言。

如果現實世界,不斷虛擬的貨幣,最終無法兌換成真正有價值的黃金,那社會將如何?當然會這樣時,一定也是那個國家的法定貨幣信用掃地了。

也就是說:
我們能安心的用高階語言人性化的編寫程式,因為我們信賴它的虛擬機、編譯器、直譯器、組譯器能編出電腦能正確運作的有效機器碼。

我們能安心刷卡買東西、把鈔票存到銀行等等,因為我們信任不同虛擬層次的錢可以一路換換換成有價值的東西。

信任,真是社會良善運作的基石。

2 則留言:

petertc 提到...

這篇還蠻多bug的...
不過我喜歡xd

魔法設計的藝術 提到...

謝謝你的提醒,業已debug,為了不讓靈感跑掉,所以連夜打出,錯字頗多還請閣下繼續監督指正。

count