查看完整版本: 〈你知道「挖礦賺錢」嗎?和學生聊聊「比特幣」〉〈Knowing〉〈2017-08-08〉
頁: [1]

iiifgh 發表於 2017-8-9 09:37 AM

〈你知道「挖礦賺錢」嗎?和學生聊聊「比特幣」〉〈Knowing〉〈2017-08-08〉

本帖最後由 iiifgh 於 2017-8-9 09:39 AM 編輯

你知道「挖礦賺錢」嗎?和學生聊聊「比特幣」(上)
Knowing
專欄作家黃柏翰 2017-08-08 13:40


(圖片來源為Pixabay)

前幾天我的學生才在問我:「老師,你知道『挖礦賺錢』嗎?」 顯然在網路遊戲的玩家圈子裡,這個話題正熱門。  那麼,就來聊聊比特幣吧......

這麼說吧,如果你存款被銀行記在一本簿子上,那你,或者小偷,只要想辦法找到那本簿子、改一下上面的數字,就可以更動你的存款金額了,對吧

-- 當然,你要改的不是你手上這本存款簿,而是銀行那邊的紀錄,而這並不容易……但還是有可能的。

但如果,銀行根本沒有記下你的存款金額,而是讓每個人留下他這一輩子所有的交易記錄;例如「爸爸給你零用錢」是一筆記錄,你和你爸都要各自記起來、「你拿錢買早餐」是一筆記錄、「早餐店老闆進貨雞蛋」也是一筆、「你到文具店買筆」、「你把錢存進銀行」這些也都記起來。

當你想知道自己有多少錢時,銀行並不是直接查看檔案(簿子)裡的某個數字,而是讓電腦快速查核所有的交易記錄,確認過有多少人給你錢、你又花了多少,加加減減之後,就知道你現在還有多少。

如此一來,你想要宣稱自己的存款不是1000,而是1001,那銀行就要知道「多的那1塊,是誰給你的? 沒有記錄啊……」 電腦查到的、所有的交易記錄後合計,你就是剩1000。

又,也許你想說:「假如我是駭客,我就去改掉我的交易記錄,在我拿到老爸給的零用錢時,多拿到1塊」;

不要忘了,電腦會同時去查和你交易的人、確認他是不是有給你。

那你可能會想「既然我是駭客,就連我連我爸那邊的交易記錄一起改就好啦」,嗯…… 很聰明;

但比特幣所使用的「區塊鏈」技術比你更聰明;它事實上不是像上面講的那樣,把交易記在單一的檔案裡 (本子上)。

想像一下,如果規定你爸給你零用錢的時候,他必須在FB上說「我給我兒子1000塊零用錢」,看到這則訊息的人,電腦裡都會留下記錄;

然後你花錢買早餐時,老闆也必須大喊「火腿蛋土司,小明給我30塊!」所有聽到的人也都留下記錄……

諸如此類的,只要拿錢作交易,就要在網路上對所有人宣佈;而且大家也不是聽聽就算了,所有人的電腦都會幫忙記下他們聽到的訊息

-- 而事後,銀行就會去查他們的記錄,來確認當時你爸究竟給你多少。

那麼,當你想要竄改、讓自己多1塊錢時,你要怎麼改?駭進所有人的電腦嗎?

所謂「分散式網絡」,就是指你的存款不是記在一本簿子上、或一筆電腦檔案裡,而是網絡中每一個會記載事件的「節點 (伺服器)」都會可能會記下你的交易記錄; 因此而擁有「去中心化」的優點,就是你無法找到單一的簿子去竄改。

上面提到的每一筆交易事件,被記錄下來後就稱為一個「區塊」;節點記住的交易記錄,就是這些交易一個接著一個串起來的,所以被稱為「區塊鏈」。

那我如果直接發送「不存在的交易」呢?  

也就是偽造一段「我爸給我2000塊零用錢」的事件、也把它在FB上講出來、讓大家記住呢?

當節點「聽到」你發送的這則交易訊息後,他會向你爸的「電子錢包」要求確認,也就是所謂的「數位簽章」;

那如果你打算直接竄改「已經通過認證」的交易,那就要挑戰區塊練的技術核心,一個名叫「雜湊函數」的數學式。

「雜湊函數」是一種「把原始文件經過函數轉換成亂碼」的方法,「所有人都知道它是怎麼算的」,但它的轉換,在缺少密碼時不是一對一的。

比如說 102÷31 = 3餘9,319÷31 = 10也餘9 ,

當你攔截到、知道我的資料在轉換後是變成「9」時,你明明知道我是「除以31,取餘數」;

但你沒有我手上的密碼「3」你怎麼知道我是102,還是40,還是319,還是908呢?

-- 你如果有我的密碼「3」,那一下子就可以算出來。

當然,雜湊函數比這個複雜許多,以至於「換成亂碼之後,缺少密碼 (私鑰) 的話,沒有人能直接轉回去 」;以目前的電腦科技來說,暴力破解 (快速地一直猜)也需要幾百年;這就確保了資料的安全性。

**延伸一個問題:

當你拿到一個加密檔案時,「正確密碼是什麼」這個檔案本身不是應該要記住嗎?  要不然我輸入後,他怎麼知道我輸的對不對?

那既然如此,我能不能從未解密的檔案本身,那些亂碼裡,找到線索、發現 密碼被它記在何處呢?

嘿嘿,這個問題當然已經被解決了,如果想知道「公鑰加密」、RSA加密 的計算技巧,可以去找「密碼學」、「資訊安全」的相關教科書、網路文章來看,在這裡就先不介紹啦。

那挖礦又是什麼?

上面提到,你的錢無法竄改,但每一塊錢總有一開始吧,現實中,台灣的每一塊錢都是「台灣銀行發行」的; 之所以要「印鈔」,主要並不是政府想要「平白無故變出好多錢來花」。

錢被視為是「交易籌碼」、「流通的貨幣」,如果錢太少,那大家要買東西卻沒有錢可以用來交易,就會乾脆「把商品價格都調低一點」:

因為「錢太少,(紙鈔印太少)」,本來國中學費5000、便當一個50塊的,後來都改成「學費500、便當5塊就好」;

那學費還是相當於買100個便當,交易的雙方其實都沒有吃虧,但就是「錢變貴」或者說便當「變得不值錢」了。

這樣一來,會造成民眾「拿到錢的,不想花了,因為錢還會再變更貴; 50塊本來只能買一個便當、後來可以買十個、未來可以買更多便當」 -- 這就叫作「通貨緊縮」。而「挖礦」就是比特幣為了避免通貨緊縮而設想出來的一個「遊戲」;至於怎麼挖,我們下一篇再來介紹。


揭秘比特幣和區塊鏈:挖礦的本質是什麼? --  壹 讀

理解區塊鏈,不能不知道密碼學

道高一尺 魔高一丈:比特幣是怎麼回事? -- 科學月科

區塊鏈如何運作?

比特幣 -- 維基

雜湊函數   Hash Function <哈希函數> -- 維基

RSA 加密 -- 維基

用實例給新手講解RSA加密算法



你知道「挖礦賺錢」嗎?和學生聊聊「比特幣」(下)
Knowing
專欄作家黃柏翰 2017-08-08 14:15


(圖片來源為Pixabay)

如上篇所述,比特幣是一種利用「區塊鏈」技術流通的貨幣;因為它沒有央行,如果比特幣的需求變大、或它真的因為技術問題而變少,那就會出現通貨緊縮。

「錢太少」不一定是因為「錢變少了」,也有可能是因為「加入用錢來交易」的商品、服務變多了,所以對於交易籌碼的需求增加了。

或是有人拿了錢卻不花、或是有人遺失了電子錢包密碼 -- 那不好意思,這些錢就再也拿不回來了,因為沒有人知道它們的資料是記在網路上何處。

總而言之,比特幣會「越來越不夠用」;所以比特幣的設計者,提供了一個「大家來挖礦」的遊戲機制,可以緩慢地生產出新的比特幣,以免它「不夠用」。

上一篇提到,雜湊函數可以難到「現在的科技很難破解它」;但它的難度可以調整 (類似把密碼縮短,會比較好猜中這樣);

比特幣系統會定時釋出一道道「難度適中的雜湊函數問題」,請所有的電腦一起來破解它。

解開來的話,系統就會同意給你 25元 (比特幣) -- 你可以發佈在網路上,讓節點知道、記住這件事。

要單靠一台電腦去破解這種問題,仍然是很難的,所以網路上所有的電腦會合作、互相通知「我現在,正在一個一個猜10000~19999」、「那我負責猜20000~29999這一段」像這樣不斷聯繫、共同破解,你猜的這一段都沒中,就再去找還沒被人猜到的一段來猜。

誰運氣好,剛好猜中答案,他就得到25塊錢; 然後大家再接著去猜別題的答案。

透過調整題目的難度,比特幣控制住「大約每10分鐘會被解開一題」;也就是世界上每十分鐘會多25塊比特幣。

因為它就像一群礦工進入礦山,大家都不知道金礦在那裡,於是各自挑一個方向開始往前挖(一直猜答案),看誰會先挖到金礦就恭喜他這樣,所以被稱作「挖礦」。

所以簡單來說,所謂的「挖礦」就是用電腦去參與破解比特幣系統的謎題,以獲取比特幣。

為什麼網遊社群,會突然流行「挖礦賺錢」呢?

上面提到,單靠你的電腦,要破解題目太慢,所以要和網路上其他人一起分工;但如果你的電腦性能好一點、運算效能是別人的N倍,

或是你買N台電腦一起跑,它們就可以同時分到N個「破解區段」的工作來做、而「剛好分到中獎的那的那段」的機會也就會提高N倍。

那還等什麼? 升級電腦配備啊……  呵呵,傻傻的,買電腦不用錢嗎? 讓電腦一直維持高效運算,也要花電費啊。

其實嘛,就是因為愛玩電腦遊戲的人,會去砸錢買高等配備;他們往往不喜歡家人覺得這是浪費錢、只是為了玩,所以一但聽到「幫電腦升級,可以靠挖礦賺錢」的時候,當然就會很有興趣。

所以這半年來,陸續有玩家分享他的挖礦心得,和他新架設的「挖礦機」 。

呃…站在一個求知者的角度來說,我要小抱怨一下,這些分享大多都集中在「買什麼機台,花多少、挖多快、賺多少」上面;

對於比特幣的機制、區塊鏈的技術、雜湊函數的原理大多都沒有提及

-- 他們可以在網路上下載到用來破解比特幣謎題的軟體,包括與其他網路上的電腦合作的軟體,所以不需要本身去學習密碼學。

要提醒一點,因為這幾年挖礦的人越來越多了,上面提到,比特幣官方限制,全世界每分鐘釋出的就只有25元

-- 當挖礦的人越多、大家的電腦越好,比特幣系統出的題目就會越難。

其實現在已經有不少礦工開始表示,計算自己投入在挖礦花的設備經費和電費後,感覺並不算划算。

尤其是電費很高 -- 如果要加速挖礦,那就不能買一般的電腦,而是架設專用的伺服器、準系統;那可能還要為它的散熱一直開著冷氣吹…… 就更耗電 (還要接高速網路)。

而且啊,這樣的準系統,它就是特別為了挖礦設計的,「你沒辦法拿來玩遊戲哦……」;如果你要組一台可以用來玩、用來上網的電腦,只是在你不用它的時候,讓它參與比特幣挖礦,那你一定挖得比別人慢啦。

不過,如果有學生堅持「我沒有要玩遊戲啊,就是要買一台挖礦機」那它值不值得父母投資呢?

嗯,目前還沒辦法斷言比特幣挖礦究竟划不划算;主要是受到比特幣「幣值」波動的影響;

上面講到,猜中謎底的人得到的是25元的「比特幣」,究竟這25元,能換成多少美金 (台幣),其實是不一定的。

像上面說的,如果挖礦的人越多、電腦運算能力越好,題目就會越難,買設備挖礦也就會變得越不划算;

但上面也說了,如果未來使用比特幣能買的東西變多了、大家對比特幣這個「交易籌碼」的需求變高了,那它兌換美元的匯率也許就會上升 (當然反之,也可能會跌)。

所以,到底要不要投資、去體驗一下挖礦潮,比如說「既然是熱衷的事,就去投入一下」之類的,這個就由大家自己去決定啦~~

區塊鏈還有很多特色、優點,和「雜湊函數」、「字節長度/功用」、「避免重複交易」有關;

例如,當小明爸給小明1000塊,把它跟別人講,我聽到了這件事;半小時後,我又聽到別人跟我說「小明爸給小明1000」,我要怎麼知道小明爸是不是給了第二次?  -- 這就是所謂的「重複交易」。

它所使用的技術,我沒辦法用日常舉例去說明,想知道的話,可以google相關文章,如果看一個還不太懂,可以再看看第二個篇文章有沒有不同的說法。



...<div class='locked'><em>瀏覽完整內容,請先 <a href='member.php?mod=register'>註冊</a> 或 <a href='javascript:;' onclick="lsSubmit()">登入會員</a></em></div><div></div>

alojajaja 發表於 2017-8-12 10:41 PM

謝謝大大分享資訊 實在是搞不懂比特幣

73258620 發表於 2017-8-13 07:09 AM

花更多錢的設備.來賺錢.在換算現金比一比.真的會賺錢嗎

ton918 發表於 2017-8-20 03:11 AM

這種虛擬貨幣被人為炒作投機哄抬的氣氛太濃厚了,
當沒人要的而暴跌時,也沒有什麼財政單位(各國央行、國際級金融單位)來支撐價位
風險頗高

fell12355 發表於 2017-9-1 07:21 PM

風險頗高但是有利可圖阿
目前上彼特、以太還有很高的成長空間呢<br><br><br><br><br><div></div>

biofisher 發表於 2017-9-2 01:06 PM

感謝大大分享,先前還是不太懂比特幣,但因您有舉些較淺顯易懂的例子,現在有些微了解了!感謝!

bjl1212 發表於 2017-9-8 12:54 PM

這個世界虛擬的東西越來越多
原來貨幣都要有黃金支撐
可是美國說我的國家就可以保證美金的價值
從此美金和黃金脫鉤,現在又來了個更牛的B
頁: [1]